html, body {
  margin: 0;
  padding: 0;
  background-color: #a3301d;
  width: 100%;
  min-height: 100vh;
}

body {
  display: flex;
  flex-direction: column;
  align-items: center;
}

main {
  flex: 1;
}

footer {
  text-align: center;
  color: white;
  padding: 0 15px;
}

.impressum  {
  color: white;
}

.flex-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

#festContainer, #partyContainer, #desktopContainer, #partydeskContainer {
  position: relative;
  width: 100%;
  max-width: 100%; /* oder was du willst */
  height: auto;
}

/* --- Startseite --- */
#festContainer {
  position: relative;
  width: 100%;
  background: url("Festwoche Aham_Programm_A3.jpg") no-repeat center top;
  background-size: contain;
  aspect-ratio: 2480 / 3508;
  overflow: visible;
}

/* --- Partyseite --- */
#partyContainer {
  position: relative;
  width: 100%;
  background: url("PARTY.jpg") no-repeat center top;
  background-size: contain;
  aspect-ratio: 2480 / 3508;
  overflow: visible;
}

/* --- Startseite Desktop --- */
#desktopContainer {
  position: relative;
  width: 100%;
  background: url("Festwoche_Bau.jpg") no-repeat center top;
  background-size: contain;
  aspect-ratio: 7680 / 3840;
  overflow: hidden;
}

/* --- Startseite Desktop --- */
#partydeskContainer {
  position: relative;
  width: 95%;
  background: url("PARTY.jpg") no-repeat center top;
  background-size: contain;
  aspect-ratio: 2480 / 3508;
  overflow: hidden;
}

/* Gemeinsame Hotspot-Styles */
.hotspot {
  position: absolute;
  display: block;
  cursor: pointer;
  text-indent: -9999px;
  transform-origin: center;
}

/* Debug */
/*.hotspot {
  outline: 2px dashed yellow;
  background: rgba(255, 255, 0, 0.2);
}*/
