body {
  font-family: "Comic Sans MS", "Arial", sans-serif;
  background-color: #f0f0f0;
  color: #333;
  margin: 0;
  padding: 0;
}

h1 {
  animation: glow 1s ease-in-out infinite alternate;
}

@keyframes glow {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #ff5733,
      0 0 40px #ff5733, 0 0 50px #ff5733, 0 0 60px #ff5733, 0 0 70px #ff5733;
  }
  to {
    text-shadow: 0 0 20px #fff, 0 0 30px #ff5733, 0 0 40px #ff5733,
      0 0 50px #ff5733, 0 0 60px #ff5733, 0 0 70px #ff5733, 0 0 80px #ff5733;
  }
}

/* Header und Footer */
header,
footer {
  background-color: #ffa500;
  color: white;
  text-align: center;
  padding: 10px 0;
}

/* Navigation */
nav {
  background-color: #333;
  overflow: hidden;
}

nav a,
#schrittNavigation li {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

#schrittNavigation {
  list-style-type: none;
  padding: 0;
}

/* Sprechblase */
.sprechblase {
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ffffff;
  padding: 10px;
  border-radius: 70px;
  z-index: 10;
  opacity: 0;
  animation: fadeIn 4s forwards;
  max-width: min(35%, 450px);
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

/* Momo Bild */
#momoBereich,
#finishTask {
  position: relative;
}

@keyframes waveHand {
  0%,
  100% {
    transform: rotate(0deg);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: rotate(-10deg);
  }
  20%,
  40%,
  60%,
  80% {
    transform: rotate(10deg);
  }
}

#momoBild {
  position: absolute;
  top: 30%;
  left: 47%;
  transform: translate(-30%, 2%);
  width: 135px;
  height: auto;
  margin-top: 120px;
  animation-name: waveHand;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  transform-origin: bottom center;
}

/* Start Button */
.btn {
  padding: 20px 40px;
  font-size: 24px;
  background-color: orange;
  color: white;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  animation: pulse 1.5s infinite alternate;
}
#startKnopf {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
}

#startKnopf:hover {
  box-shadow: 0px 0px 10px rgba(119, 26, 26, 0.5);
  background-color: #ff9900;
  color: black;
}

/* Aufgabenbereich */
#aufgabenBereich {
  display: none;
}
#berufsbilder {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Drei Spalten */
  grid-gap: 20px; /* Abstand zwischen den Berufen */
}

.beruf {
  max-width: 150px;
}

.beruf img {
  width: 100%; /* Die Bilder füllen die Breite ihrer Container aus */
  height: auto; /* Behält das Seitenverhältnis bei */
}

.container {
  width: 100%;
  height: auto;
  background: #f0f0f0;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  align-items: flex-end;
}

.box {
  width: 20%;
  height: auto;
  margin: 20px;
  box-sizing: border-box;
  text-align: center;
}

.box img {
  width: 100%; /* Passt die Breite an den Container an */
  height: auto; /* Behält das Seitenverhältnis bei */
  display: block; /* Verhindert, dass es auf derselben Linie wie Inline-Elemente erscheint */
  margin-bottom: 0px;
}

.dropzone {
  position: relative;
  /* top: -100px; */
  margin-bottom: 30px;
  width: 100%; /* Passt die Breite an den Container an */
  min-height: 50px; /* Minimale Höhe für die Dropzone */
  border: 2px dashed #aaa; /* Gestrichelte Linie als visueller Hinweis */
  margin-top: -100px; /* Abstand über der Dropzone */
  padding: 30px; /* Innenabstand für den Text oder Inhalt innerhalb der Dropzone */
  box-sizing: border-box; /* Stellt sicher, dass Padding und Border in der Breite enthalten sind */
}

.kartchen-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  padding: 20px;
  padding-top: 0px; /* Reduziert von 50px auf 20px */
  min-height: 100px;
  margin-bottom: 50px;
  /* ... weitere Stile ... */
}

.dropzone {
  width: auto; /* Passt die Breite an den Container an */
  min-height: 50px; /* Minimale Höhe für die Dropzone */
  border: 2px dashed #aaa; /* Gestrichelte Linie als visueller Hinweis */
  margin-top: -115px; /* Verringern Sie diesen Wert, um die Dropzone näher zu bringen */
  padding: 10px; /* Innenabstand für den Text oder Inhalt innerhalb der Dropzone */
  box-sizing: border-box; /* Stellt sicher, dass Padding und Border in der Breite enthalten sind */
}
.dropzone-container {
  /* ... vorhandene Stile ... */
  display: flex; /* Verwenden Sie flexbox für eine einfache Zentrierung */
  flex-direction: column; /* Stapeln Sie die Elemente vertikal */
  align-items: center; /* Zentrieren Sie Elemente horizontal */
  justify-content: center; /* Zentrieren Sie Elemente vertikal */
  position: relative; /* ... weitere Stile ... */
}

.label {
  text-align: center;
  background-color: orange; /* Oder jede gewünschte Farbe */
  padding: 5px 0; /* Polsterung nach Bedarf */
  margin: 0 auto; /* Zentrierung */
  width: 100%; /* Oder eine spezifische Breite */
  /* Weitere Stile nach Bedarf */
}

.kartchen {
  position: relative;
  width: 12%;
  margin: auto;
  padding: 10px;
  background-color: orange;
  border-radius: 5px;
  text-align: center;
  cursor: grab;
  height: auto;
  overflow: visible;
  margin-top: -10px; /* Erhöht den Abstand zur Dropzone */
}

.kartchen:hover {
  transform: scale(1.1); /* Vergrößert das Kärtchen */
  transition: transform 0.2s ease-in-out;
}

.element-ueber-kartchen {
  /* ... andere Stile ... */
  margin-bottom: 10px; /* Verringere diesen Wert, um den Raum über den Kärtchen zu reduzieren */
}

/* Responsive Media Queries */

@media screen and (max-width: 768px) {
  .box {
    width: 40%;
  }
}

@media screen and (max-width: 480px) {
  .kartchen {
    width: calc(100% - 40px);
  }

  .box {
    width: 80%;
  }
}

main {
  padding-bottom: 80px; /* Mindestens so hoch wie die Höhe des Footers */
}

footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 60px; /* Definiere eine feste Höhe für den Footer */
  /* ... weitere Stile ... */
}

#themenBereich {
  text-align: center;
}

.themenButton {
  display: block;
  width: 20%; /* Schmaler */
  margin: 10px auto;
  background-color: orange;
  color: white;
  border: none;
  padding: 10px 20px;
  font-size: 20px;
  cursor: grab;
  overflow: visible;
  border-radius: 20px; /* Kreisförmiger */
  position: relative;
  bottom: 225px;
}

.themenButton:hover {
  transform: scale(1.1); /* Vergrößert das Kärtchen */
  transition: transform 0.2s ease-in-out;
}

.feedback-bubble {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  padding: 10px 20px;
  border-radius: 20px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: none; /* Anfangs unsichtbar */
}

.feedback-bubble.show {
  display: block; /* Bei Bedarf anzeigen */
}
#feedbackImage {
  max-width: 40%; /* oder ein anderer Prozentwert, der für Ihr Layout passend ist */
  height: auto; /* behält das Seitenverhältnis bei */
  display: block;
  margin: 20px auto; /* Zentriert das Bild horizontal mit einem Abstand von oben und unten */
}
/* Modal-Container */
/* Modal-Container */
/* Modal-Container */
.modal {
  display: none; /* Versteckt das Modal standardmäßig */
  position: fixed; /* Bleibt an Ort und Stelle, auch beim Scrollen */
  z-index: 1; /* Liegt über allem anderen */
  left: 0;
  top: 0;
  width: 100%; /* Volle Breite */
  height: 100%; /* Volle Höhe */
  overflow: auto; /* Bei Bedarf Scrollen ermöglichen */
  background-color: rgb(0, 0, 0); /* Fallback-Farbe */
  background-color: rgba(0, 0, 0, 0.4); /* Schwarz mit Transparenz */
}

/* Modal-Inhalt */
.modal-content {
  background-color: #fefefe;
  margin: 7% auto; /* 15% von oben und zentriert */
  padding: 20px;
  border: 1px solid #888;
  width: 20%; /* Kann angepasst werden */
  text-align: center; /* Zentriert den Text im Modal */
  display: flex; /* Aktiviert Flexbox für diesen Container */
  flex-direction: column; /* Ordnet Kinder (Buttons) in einer Reihe an */
  justify-content: center; /* Zentriert die Buttons horizontal */
  align-items: center;
}
.button-group {
  display: flex;
  justify-content: space-around; /* Erzeugt gleichmäßigen Abstand zwischen den Buttons */
  width: 100%; /* Stellt sicher, dass der Container die volle Breite einnimmt */
  flex-wrap: wrap;
}
/* Schließen-Button */
.close {
  color: #aaa;
  float: left;
  font-size: 28px;
  font-weight: bold;
  margin-left: 90%;
  border: 1px solid;
  padding: 0px 5px;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

#playAgain,
#nextTask,
#lobbyBtn {
  margin: 5px; /* Fügt einen kleinen Abstand zwischen den Buttons hinzu */
  flex: 1; /* Lässt die Buttons den verfügbaren Platz ausfüllen */
  padding: 10px 20px; /* Fügt innen Abstand hinzu, ändern Sie es nach Bedarf */
  /* ... vorhandene Stile ... */
}
@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(10deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(10deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  50% {
    transform: rotate(10deg);
  }
  60% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(10deg);
  }
  80% {
    transform: rotate(-10deg);
  }
  90% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.modal.correct #feedbackImage {
  animation: swing 3s ease-in-out;
}

@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-10px);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(10px);
  }
}

.modal.wrong #feedbackImage {
  animation: shake 3s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}
/* Aufgabenbereich 2 spezifische Stile */
#aufgabenBereich2 {
  text-align: center; /* Zentriert den Inhalt */
  padding: 20px;
  background-color: #fff; /* Hintergrundfarbe, kinderfreundlich wählen */
  border-radius: 15px; /* Abgerundete Ecken */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Leichter Schatten für Tiefe */
  margin-top: 20px; /* Abstand von vorherigen Elementen */
}

#aufgabenBereich2 .container {
  justify-content: center; /* Zentriert das Bild horizontal */
  padding: 20px;
}

#aufgabenBereich2 .box img {
  /* Stile für das Bild */
  max-width: 80%; /* Passt die maximale Breite an und sorgt für Responsive-Design */
  margin-bottom: 20px; /* Abstand zwischen Bild und Frage */
}

#aufgabenBereich2 form {
  display: inline-block; /* Erlaubt das Zentrieren des Formulars */
  text-align: left; /* Linksbündige Anordnung der Radio-Buttons */
}

#aufgabenBereich2 label {
  display: block; /* Jedes Label erhält seine eigene Zeile */
  margin: 10px 0; /* Abstand zwischen den Radio-Button-Optionen */
  cursor: pointer; /* Zeigt an, dass man auf das Label klicken kann */
  font-size: 1.2rem; /* Größere Schrift für bessere Lesbarkeit */
}

#aufgabenBereich2 input[type="radio"] {
  margin-right: 10px; /* Abstand zwischen Radio-Button und Text */
  cursor: pointer; /* Zeigt an, dass der Radio-Button anklickbar ist */
}

/* ... weitere Stile ... */

.radio-boxes {
  display: flex;
  flex-direction: column;
}

.radio-boxes label {
  margin-bottom: 10px;
}

.radio-boxes input[type="radio"] {
  display: none;
}

.radio-boxes .box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 100%;
  border: 2px solid #000;
  cursor: pointer;
}

.radio-boxes input[type="radio"]:checked + .box {
  background-color: #ccc;
}

.intro-sections {
  padding: 0 20px;
}
.intro-sections p {
  font-size: x-large;
}

/* 
img#belohnung2bild {
  position: relative;
  top: -44rem;
  z-index: -2;
}
img#belohnung3bild {
  position: relative;
  top: -58rem;
  z-index: -2;
}
 */
#momoBereich img {
  max-height: 81.5vh;
}

#themenBereich img {
  max-height: 81.5vh;
}

body {
  overflow: hidden;
}
#themenBereich .sprechblase {
  top: 15%;
}
#job {
  text-align: center;
}
#job img {
  height: 81.5vh;
}
#job .sprechblase {
  top: 15%;
}
#job .themenButton {
  bottom: 145px;
}
.task > div:nth-child(1) {
  font-size: x-large !important;
  border: 1px solid #000 !important;
  padding: 0px 7px !important;
}
.dropzone button {
  width: 80%;
}
.radio-boxes {
  margin-top: 100px;
}
.task {
    padding-left: 20px;
}
.modal-content{
  margin: 2% auto;
  width: 30%
}


@media screen and (max-width: 1450px) {
  .sprechblase {
    top: 24%;
    max-width: min(25%, 450px);
    font-size: 10px;
  }
  #momoBild {
    margin: 0;
    top: 45%;
    left: 47%;
    width: 88px;
  }
  #startKnopf {
    bottom: 74px;
  }
  .btn {
    padding: 10px 35px;
    font-size: 16px;
  }
  .themenButton {
    width: 14%;
    margin: 3px auto;
    padding: 7px 2px;
    font-size: 10px;
    position: relative;
    bottom: 120px;
  }
  #themenBereich .sprechblase {
    top: 34%;
  }
  #job .sprechblase {
    top: 24%;
  }
  #job .themenButton {
    bottom: 115px;
  }
  .container {
    margin-top: -100px;
  }
  .dropzone {
    min-height: 40px;
    margin-top: -75px;
    margin-bottom: 10px;
  }
  .intro-sections div:nth-child(2) {
    margin-top: -80px;
  }
  .intro-sections p {
    font-size: 16px;
  }
  .intro-sections div:nth-child(1) h2 {
    position: relative;
    top: 85px;
  }
  header h1 {
    margin: 0;
  }
  footer {
    height: 35px;
  }
}

@media (max-width: 500px) {
  .modal-content {
    width: 30%;
  }
  .themenButton {
    width: 60%;
  }
}

.hinweis-text {
  padding: 10px;
  border-radius: 5px;
  margin: 20px 0;
  font-size: 18px;
  text-align: center;
  color: #000;
  font-weight: bold;
}

