
:root {
  --white: #fff;
   --darkbrown: #010a3a;
  --green: #026400;
  --red: #3d5fbb;
  --grey: #a19d9d;
  --dunkelrot: #060711;
}
html {
  box-sizing: border-box;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
*,
:after,
:before {
  box-sizing: inherit;
}
body {
  margin: 0 auto;
  color: var(--gray-2);
  font-family: museo-sans, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  max-width: 2980px;
}
a {
  text-decoration: none;
  color: inherit;
}
a:active,
a:hover {
  outline: 0;
  text-decoration: none;
}
ul {
  padding: 0;
}

.hamburger-menu {
  display: none;
  cursor: pointer;
  margin-top: 5%;
  margin-left: 3%;
}

.hamburger-menu span {
  display: block;
  height: 3px;
  width: 7%;
  background: black;
  margin: 2%;
}


.navbar {
  position: relative;
  z-index: 10;
}

.image-container {
  position: absolute;
  width: 100%;
  height: 50vh; 
  background-image: url('../img/wm_2026_1.jpeg');
  background-size: cover;
  background-position: center;
  z-index: -1;
  
}


.main {
  /* background-color: var(--darkbrown); */
  color: white;
  padding: 3% 5%;
  margin-top: 50vh;
}


.main_login, .main_registrieren {
  background-color: white;
  color: var(--darkbrown);
  border: none;
  padding: 10px 20px;
}

.main_login {
  margin-bottom: 10px;
  background-color: var(--red);
  color: white;

}

button {
  cursor: pointer;
}

.main_login:hover {
  margin-bottom: 10px;
  background-color: white;
  color: var(--red);
}



.login_button {
  margin-top: 2%;
  margin-bottom: 10px;
}

.login_button:hover, .registrieren_button:hover {
  background-color: white;
  color: var(--red);
}

.registrieren_button {
  margin-top: 1%;
  margin-bottom: 10px;
  padding: 1% 3%;
}


.tipp-button-invisible {
  opacity: 0;
  pointer-events: none;
}

.registersuccess_link:hover {
  color: var(--red)
}

.quiz-completed {
  background-color: var(--green);
  color: var(--white)
}

.quiz-notoday {
  background-color: var(--grey);
  color: var(--white)
}

.quiz-down {
  background-color: black;
  color: var(--white)
}

.quiz-pending {
  background-color: var(--red);
  color: var(--white)
}

@media screen and (min-width: 1981px) {


  .main {
    background-color: var(--darkbrown); 
    color: var(--white);
    padding: 3% 5%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .main_desktop_version {
    display: none;
  }

  .main_login, .main_registrieren {
    background-color: white;
    color: var(--darkbrown);
    border: none;
    height: 4vh;;
    width: 30%;
    font-size: 12pt;
  }

  .image-container {
    position: absolute;
    width: 100%;
  
    background-image: url('../img/wm_2026_1.jpeg');
    background-size: auto;
    background-position: center;
    z-index: -1;
    
  }

  .main_login {
    background-color: var(--red);
    color: white;
  }

  .main_registrieren:hover {
    color: var(--red)
  }

  .login_text {
    width: 70%;
    margin: auto;
  }

  .login_button {
    background-color: var(--red);
    color: white;
    border: none;
    height: auto;
    width: 16.5%;
  }

  .registrieren_button {
    background-color: var(--red);
    color: white;
    border: none;
    height: auto;
    width: 20%;
  }


 
  /*bonusfragen.html */

.bonusfragen {
  margin: auto;
}


#prediction-form {
  display: flex;
  flex-direction: column;
  margin-top: 5%;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.form-row {
  display: grid;
  grid-template-columns: 60% auto; /* Feste Breite für Labels und Rest für Antwortfelder */
  align-items: center;
  gap: 20px; /* Abstand zwischen den Spalten */
  margin-bottom: 5%
}

.form-row label {
  font-size: 14pt;
}

/* Optional: Stil für Select und Input für Konsistenz */
select, input[type="number"] {
  width: 100%; /* Antwortfelder füllen den verfügbaren Platz aus */
  padding: 3%;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 12pt;
}

.button-container {
  text-align: left; /* Zentriert den Button im Container */
}

.button-container button {
  width: auto;
  padding: 1.5% 4%;
  font-size: 12pt; 
  display: inline-block; 
  border:none
}

.button-container button:hover {
  width: auto;
  padding: 1.5% 4%;
  font-size: 12pt; 
  display: inline-block; 
  color: white;
  background-color: var(--darkbrown);
  border: 2px solid white
}

#bonusfragen_ausgabetext {
  width: 80%;
  margin-left:15%;
  margin-top: 2%;
}

.titel_bonusfragen {
  margin-left: 15%;
}



  
#deadline-info {
  width: 70%;
  margin: auto;
  margin-top: 2%;
}

.points-display-flex-container {
  display: flex;
  flex-direction: column; 
  align-items: center; 
  text-align: center; 
  margin-top: 20px; 
}

.points-box {
  padding: 3% 12%; /* Innenabstand */
  border: 2px solid white;
  font-size: 34pt;
  height: auto;
  justify-content: center;
  align-items: center;
  color: white;
  margin-bottom: 1%; /* Abstand zwischen Box und Text "PUNKTE" */
}

.points-label {
  font-size: 14pt;
  margin-bottom: 3%;
}

.punkte-nachricht  {
  color: white;
  border: 1px solid white;
  padding: 2% 10%;
  width: fit-content; /* Breite passt sich dem Inhalt an */
  margin-bottom: 3%;
  text-align: center;
}

  


  
  .hamburger-menu {
    display: none;
  }

  .nav {
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding: 0;
    margin: 0;
    list-style-type: none;
    color: var(--darkbrown);
  }

  .main {
    padding-top: 20px; 
  }

  .nav li {
  padding-left: 4%;
    padding-top: 2%;
    padding-bottom: 2%;
    font-size: 12pt;
    
}


.anfrage-annehmen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 11pt;
  padding: 1% 3%;
  border: none;
  margin-right: 1%
}

.anfrage-ablehnen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 11pt;
  padding: 1% 3%;
  border: none;
}

.anfrage-annehmen-btn:hover, .anfrage-ablehnen-btn:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 1px solid white;
}


.anfrage-item {
  width: 70%;
  margin: auto;
}


.nav a {
  text-decoration: none; 
  color: inherit; 
  transition: color 0.3s ease, text-decoration-color 0.3s ease;
}

.nav a:hover, .nav a:focus {
  color: var(--red);
}

/* Login.html */

.userinput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.label_login {
  font-size: 11pt;
}

.checkbox-container {
  margin: 1% 0%;
}

.emailInput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  
}

.passwort {
  font-size: 12pt;
}

.emailInput label, .emailInput input {
  margin-bottom: 10px; 
}

#firstname, #name, #emailInput, #passwordInput, #passwordInputRepeat, #username {
  width: 60%;
  height: 3vh;
  font-size: 12pt;
}

.input-container {
  display: flex;
  align-items: center; /* Zentriert die Items vertikal */
  gap: 10px; /* Abstand zwischen Label und Input */
}

.input-container label {
  margin-bottom: 0; /* Entfernt den unteren Abstand des Labels, falls vorhanden */
}


.input-group {
  margin-top: 2%;
  display: flex;
  align-items: center; 
  margin-bottom: 10px; 
  width: 50%;

}

.input-group label {
  width: 120px;
  margin-right: 10px;
}

.userinput input {
  padding: 5px;
  margin-right: 10px; 
  border: 1px solid #ccc; 
}

#ausgabefeld {

  color: red;

}

.text_login {
  font-size: 12pt;
  margin-bottom: 3%;
}

.passwort_vergessen {
  font-size: 10pt;
  margin-bottom: 3%;
}

.verlinkung_login:hover, .teilnahmebedingungen_login:hover, .passwort:hover  {
  color: var(--red);
}


.index_text {
  width: 70%;
  margin: auto;
}

/* startseite.html */
.tippspiel_overall {
  display: flex;
  justify-content: center;
  gap: 20px; 
  width: 70%;
  margin: auto;
}


.rahmen_container {
  text-align: center;
  width: 40%; 
}

.rahmen {
  border: 2px solid white;
  padding: 12% 0%;
  height: auto; 
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 34pt;
}

.beschriftung {
  margin-top:5%;
  margin-bottom: 5%;
  font-size: 16pt;
}


.weitere_boxen {
  background-color: white;
  color: black;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  padding-top: 10%;
  padding-bottom: 10%;
  width: 70%;
  margin: auto;
}

.box_container {
  flex-basis: 40%; 
  max-width: 40%; 
  box-sizing: border-box; 
  text-align: center;
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center;
  position: relative; 
}

.beschriftung_aussen {
  position: absolute; 
  top: -25%; 
  left: 0%;
  font-size: 14pt;
}

.box {
  border: 2px solid white; 
  padding: 20px; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: auto; 
  min-width: 100%; 
  border: 2px solid var(--darkbrown)
}

.zahl {
  padding-top: 5%;
  font-size: 26pt;
}

.text {
  padding-top: 5%;
  padding-bottom: 5%;
  font-size: 14pt;
}

.quizpunkte {
  margin-top: 10%;
}

#quiz-container {
  background-color: var(--white);
  color: var(--darkbrown);
  text-align: center;
  padding: 3%;
  width: 70%;
  margin: auto;
}

#start-quiz-btn {
  font-size: 12pt;
  margin: 3% auto;
}

.button_braun {
  background-color: var(--darkbrown);
  padding: 2% 7%;
  text-align: center;
  height: auto;
  color: var(--white);
}

.button_braun:hover {
  background-color: var(--white);
  color: var(--darkbrown);
  border: 3px solid var(--darkbrown);
}




.willkommen_user {
  font-size: 18pt;
  margin-left: 15%;
}

.eingabe {
  width: 100%;
}


#resetPasswordForm {
  display: flex;
  flex-direction: column;
  width: 60%;
  
}

#emailpasswordreset {
  margin-bottom: 20px; 
  height: 1.5vw;
  font-size: 12pt;
  width: 40%;
  padding-left: 2%;
  
}

#passwordreset {
  background-color: var(--white);
  padding: 2% 0%;
  text-align: center;
  width: 30%;
  height: auto;
  color: var(--darkbrown);
  font-size: 12pt;
}

#passwordreset:hover {
  background-color: var(--darkbrown);
  text-align: center;
  height: auto;
  border: 2px solid var(--white);
  color: var(--white);
  
}


#spieleContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px; 
  width: 70%;
  margin: auto;

}

.spiele-container {
  flex: 1 1 calc(50% - 10px); /* Nimmt bis zu 50% der Breite minus dem halben Gap */
  max-width: calc(50% - 10px); 
  box-sizing: border-box;

}

#createFormContainer {
  width: 70%;
  margin: auto;
}

.password_change {
  background-color: var(--white);
  color: var(--darkbrown);
  padding: 1% 3%;
  width: 35%;
  font-size: 11pt;
}

.password_change:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid white
}



.teilnahmebedingungen_text {
  width: 70%;
  font-size: 11pt;
  margin: auto;
}

.abschnitt {
  width: 70%;
  margin: auto;
}



.tipps_speichern {
  margin: 3% 15%;
  font-size: 12pt;
  padding: 1% 5%;
}

.abstand_quizpunkte {
  margin-top: 3%;
}

.spiele-zeile-container {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--dunkelrot);
  padding: 10px;
  margin: 2% 0px 0px 0px;
  width: 100%;
}

.spiele-zeile-oben {
  text-align: center;
  font-size: 13pt;
  margin-bottom: 3%;
  margin-top: 2%;
}

.spiele-zeile-mitte {
  display: flex;
  justify-content: space-between;
}

.spiele-zeile-unten {
  text-align: center;
  font-size: 12pt;
}

.spiele-zelle {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}


.heimbild, .gastbild {
  height: 100px;
  justify-content: center;
  align-items: center;
}

.heimteamtext, .gastteamtext {
  margin-top: 15%;
  font-size: 14pt;
}

.tipp-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.tipp-button {
  font-size: 28px;
  margin: 5px 0;
  background-color: white;
  color: var(--darkbrown);
  border: none;
  cursor: pointer;
}

.tipp-button-up {
  margin-bottom: 10px;
}

.tipp-button-down {
  margin-top: 10px;
}


.spiel-datum-zeit {
  font-size: 14px;
}

.spiel-tipp-count {
  font-size: 22pt;
}

.countdown {
  background-color: var(--darkbrown);
  color: white;
  margin-top: 50vh;
  text-align: center; 
}

.countdown_spiel {
  display: flex;
  justify-content: center; 
  align-items: center;
  text-align: center;
  width: 70%;
  margin: auto;
}

.countdown_text {
  text-align: center;
  padding-top: 2%;
  padding-bottom: 2%;
  font-size: 20px
}

.custom-alert {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-alert-content {
  background: white;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.custom-alert-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.countdown-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20%; 
  margin: 2% 3%;

}

.countdown-number {
  font-size: 42px;
  margin-bottom: 5px;
}

.countdown-label {
  font-size: 18px;
}


#spieltagButton {
  display: flex;
  flex-wrap: wrap; 
  justify-content: center; /* Zentriert die Buttons horizontal */
  font-size: 12pt;
  width: 50%;
  margin: 1% auto; /* Sorgt für horizontale Zentrierung und vertikalen Abstand */
}

.hidden {
  display:none;
}

.filterSpieltag {
  background-color: var(--dunkelrot);
  color: var(--white);
  padding: 1%;
  width: calc(25% - 10px); /* Berechnung berücksichtigt den rechten Margin */
  margin-right: 10px;
  margin-bottom: 10px; /* Abstand zwischen den Buttons */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12pt;
}

#difficulty-selection button {
  display: inline-block; 
  margin-right: 10px; 
  background-color: var(--darkbrown);
  padding: 2%;
  color: var(--white);
  min-width: 30%;
  margin: 3% 0%;
}

#quiz-results-container p {
  margin-left: 15%
}

.info_zeit {
  margin-left: 15%;
  margin-top: 2%;
  margin-bottom: 1%;

}

.filterSpieltag.active {
  background-color: var(--white); 
  color: var(--dunkelrot); 
}

.logout-link {
  font-size: 9pt;
  color: white; 
}

.admin-spiel-ergebnis {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px;
  background-color: var(--dunkelrot);
}

.admin-spiel-ergebnis input[type='number'] {
  width: 25%;
  height: 2vw;
  padding: 5px;
  margin-right: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
}

.admin-spiel-ergebnis button {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 15px 25px;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.admin-spiel-ergebnis button:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.spiel-ergebnis {
  background-color: var(--dunkelrot);
  text-align: center;
  padding: 10px; 
  font-size: 18pt;
  color: var(--white)
}



.punkte-berechnen-div, .anzahl-punkte {
  background-color: var(--dunkelrot);
  text-align: center;
}

.punkte_berechnen {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 10px 15px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  margin: 2% 0%;
}


.punkte_berechnen:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.anzahl-punkte {
  padding: 2% 0%;
  font-size: 18pt;
  color: var(--white);
}



/* rangliste.html */

.rangliste-tabelle {
  width: 70%;
  font-size: 14pt;
  margin: auto;
}

tbody {
  text-align: center;
}

.rangliste-tabelle td {
  padding:1% 0%;
}

.rangliste-tabelle th {
  padding-bottom: 2%;
}

.dein-rang-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10%;
  margin: 3% auto;
  width: 70%;

}


.rang-info {
  border: 2px solid var(--white); 
  padding: 2% 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1; 
  min-width: 30%;
}

.rang-zahl {
  font-size: 28pt;
  margin: 10% 0%;
  font-weight:initial
  
}

.rang-text {
  font-size: 14pt;
  
}

.rangliste_buttons {
  background-color: var(--white);
  color: var(--dunkelrot);
  border: 2px solid var(--dunkelrot);
  width: auto; 
  min-width: 300px;
  height: auto;
  font-size: 12pt;
  padding: 4% 6%;
  cursor: pointer;  
}

.rangliste_alle {
  width: 70%;
  margin: auto;
  display: flex; 
  justify-content: center; 
  gap: 20px; 
  margin-bottom: 3%;
}

.rangliste_buttons:hover {

  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}


/*quiz.html */

.antworten {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.antworten li {
  flex-basis: calc(50% - 10px);
}

.antwortmoeglichkeiten {
width: 100%;
height: 3vw;
padding: 10px;
font-size: 18px;
cursor: pointer;
border: none;
background-color: var(--dunkelrot);
color: white;
}

.antwortmoeglichkeiten:hover {
  border: 2px solid var(--dunkelrot);
  background-color: var(--white);
  color: var(--dunkelrot);
  }

  .header-container {
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    width: 100%;
}

  .frage {
    font-size: 16pt;
  }

  .timer {
    font-size: 17pt;
  }

  #next-question-btn {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: var(--dunkelrot);
color: var(--white);
font-size: 12pt;
width: 40%;
border: none;
padding: 2% 0%;
}

.quiz-auswertung-tabelle {
  width: 70%;
  margin: auto;
}

.position {
  margin-left: 15%;
}

.quiz-auswertung-tabelle td {
  padding: 1% 0%;
}

#next-question-btn:hover {
  background-color: var(--white);
color: var(--dunkelrot);
width: 40%;

border: 2px solid var(--dunkelrot);
}

.quiz-results-table {
  width: 100%;
  border-collapse: collapse;
}

.quiz-results-table th, .quiz-results-table td {
  padding: 8px;
}

.eigener-benutzer td {
  font-weight: bold;
}

.quiz-status {
  padding: 10px;
  width:100%;
  text-align: center;
  font-weight: bold;
  font-size: 14pt;
  padding: 2% 3%;
}



.quiz-button {
  width: 30%;
  padding: 1% 0%;
  font-size: 12pt;
  background-color: var(--white);
  margin-top: 4%;
  border: none;
  color: var(--red);
  display:block;
  margin: auto;
  margin-top: 2%;
}

.quiz-button:hover {
  background-color: var(--red);
  border: 2px solid var(--white);
  color: var(--white)
}


/* tippgruppe.html */


.form-group {
  display: flex;
  margin-bottom: 15px;
  align-items: center; 
}

.form-group label {
  flex: 0 0 120px; 
  margin-right: 20px;
}

.form-control {
  flex: 1;
  height: 2.5vw;
  font-size: 12pt;
  padding-left: 2%;
}


.radio-group {
  display: flex;
  flex-direction: column;
}

.radio-group label {
  display: flex;
  align-items: center;
}

.radio-group label:last-child {
  margin-bottom: 0;
}

.radio-description {
  margin-left: 24px; 
  font-size: 0.9em; 
  color: #666;
  margin-top: -4px; 
}

#meineTippgruppenListe {
  width: 70%;
  margin: auto
}

#submit-button { 
  padding: 1% 8%;
  font-size: 12pt;
  background-color: var(--white);
  color: var(--darkbrown); 
  border: 2px solid var(--white);
  cursor: pointer;
}

#submit-button:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white)
}

.alle_tippgruppen {
  width: 70%;
  margin: auto;
  font-size: 13pt;
}

.alle_tippgruppen td {
  padding: 1%;
}


.gruppenname {
  cursor:pointer;
}

.close {
  cursor:pointer;
  font-size: 36px;
  float: right;

}


#toggleFormButton {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white);
  padding: 1% 3%;
  font-size: 11pt;
  min-width: 30%;

}

#toggleFormButton:hover {
  background-color: var(--white);
  color: var(--darkbrown);
}


.modal {
  display: none;
  position: fixed;
  z-index: 20;
  left: 0;
  top: 40%;
  width: 100%; 
  height: 100%;
  overflow: auto; 
  background-color: rgba(0,0,0,0);
}

.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 3%;
  border: 1px solid var(--darkbrown); 
  animation-name: animatetop;
  animation-duration: 0.4s;
  width: 50%;
}

/* Add Animation */
@keyframes animatetop {
  from {top: -300px; opacity: 0} 
  to {top: 0; opacity: 1}
}


#tippgruppe_beitreten {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: var(--darkbrown);
  border: 1px solid var(--darkbrown);
  color: var(--white)
}

#tippgruppe_beitreten:hover {
  background-color: var(--white);
  border: 1px solid var(--darkbrown);
  color: var(--darkbrown)
}

.bereits_mitglied_gruppe {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: grey;
  border: 1px solid grey;
}

.tabelle-mitglieder-rangliste {
  width: 100%;
}


.tippgruppen-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; 
}

.tippgruppe-item {
  background-color: var(--white);
  color: var(--darkbrown);
  width: calc(50% - 10px);
  border: 1px solid #ccc;
  padding: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  gap: 10px;
  cursor: pointer;
}

.tippgruppe-item:hover {
  background-color: var(--darkbrown);
  color: var(--white);
}

.tippgruppe-name {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 40px; 
  flex-grow: 0; 
  font-size: 14pt;
}


.tippgruppe-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}


.tippgruppe-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-grow: 1;
  min-height: 60px;
}

.tippgruppe-rang {
  display: flex;
  align-items: center; /* Vertikale Zentrierung */
  justify-content: center; /* Horizontale Zentrierung */
  flex-grow: 1;
  font-size: 22pt;

  min-height: 60px;
}

.tippgruppe-details p {
  margin: 0;
  line-height: 1.4;
}





}








@media screen and (min-width: 1025px) and (max-width: 1980px) {

  .main {
    background-color: var(--dunkelrot);
    color: white;
    padding: 3% 5%;
  }

  .main_desktop_version {
    display: none;
  }

  .main_login, .main_registrieren {
    background-color: white;
    color: var(--darkbrown);
    border: none;
    height: auto;
    width: 30%;
  }

  .main_login {
    background-color: var(--red);
    color: white;
  }

  .main_registrieren:hover {
    color: var(--red)
  }

  .login_text {
    width: 70%;
    margin: auto;
  }

  .login_button {
    background-color: var(--red);
    color: white;
    border: none;
    height: 3.5vh;
    width: 30%;
  }

  .registrieren_button {
    background-color: var(--red);
    color: white;
    border: none;
    height: auto;
    padding: 1.5% 3%;
    width: 30%;
  }

  .startseite_erwartung {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .startseite_erwartung_titel {
    margin-bottom: 20px; /* Abstand zum Titel */
  }
  
  .erwartungen {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .erwartung {
    width: 150px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px;
    background-color: white;
    color: black;
    border-radius: 50%; /* Runde Ecken */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Schatten für bessere Abhebung */
    position: relative;
  }
  
  .erwartung_1 {
    align-self: flex-start;
  }
  
  .erwartung_2 {
    align-self: flex-end;
    margin-top: 220px; /* Versatz nach unten */
  }
  
  .erwartung_3 {
    align-self: flex-start;
    margin-top: 30px; /* Weiterer Versatz nach unten */
  }
  
  .erwartung_4 {
    align-self: flex-end;
    margin-top: 200px; /* Maximale Versetzung nach unten */
  }

  .keineergebnisse {
    font-size: 12pt;
  }
  


  .preise {
    display: flex;
    flex-direction: column; /* Boxen untereinander statt nebeneinander */
    align-items: center; /* Zentriert die Boxen horizontal */
  }
  
  .preis {
    width: 50%;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    background-color: #fff;
    color: black;
    margin-bottom: 20px;
    display: flex;
    flex-direction: row; /* Elemente nebeneinander anordnen */
    justify-content: center;
    align-items: center;
  }
  
  .preis img {
    flex: 1; /* Bild nimmt flexiblen Teil des Containers ein */
    max-width: 40%; /* Maximale Bildbreite */
    height: auto; /* Höhe automatisch an Breite anpassen */
    margin-right: 5%; /* Abstand zwischen Bild und Text */
  }
  
  /* Container für den Text (Platz und Wert) */
  .preis-text {
    flex: 2; /* Text nimmt flexiblen Teil des Containers ein */
    text-align: left; /* Text linksbündig ausrichten */
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .platz, .preis-wert {
    margin: 0;
  }

  .platz {
    font-size: 20pt;
  }

  .beschreibung {
    font-size: 11pt;
    margin-top: 8%;
  }

  .preis-wert {
    font-size: 14pt;
    margin-top: 3%;
  }
  

  /* Container für spezielle Preise nebeneinander */
.preise-spezial {
  display: flex;
  margin:auto;
  justify-content: space-around; /* Zentriert die Boxen und gibt ihnen etwas Abstand */
  width: 53%;
}

.preis.spezial {
  flex-direction: column; /* Inhalt vertikal stapeln */
  align-items: center; /* Inhalt zentrieren */
  width: 45%; /* Anpassung der Breite für spezielle Preisboxen */
  margin-bottom: 20px; /* Abstand nach unten */
}

.preis.spezial img {
  width: 60%; /* Breite des Bildes anpassen */
  margin: 0 auto; /* Zentriert das Bild horizontal */
}

/* Stil für den Titel, die Beschreibung und den Wert im spezialen Preis */
.preis.spezial .platz, .preis.spezial .preis-wert, .preis.spezial .beschreibung {
  width: 100%;
  text-align: center; /* Zentriert den Text */
  margin-top: 10px; /* Abstand zwischen den Textelementen */
}

/* Zusätzliche Stile für spezielle Preisbeschreibungen */
.preis.spezial .beschreibung {
  font-size: 14pt; /* Größere Schrift für die Beschreibung */
}

  
  
/*bonusfragen.html */

.bonusfragen {
  margin: auto;
}


#prediction-form {
  display: flex;
  flex-direction: column;
  margin-top: 5%;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.form-row {
  display: grid;
  grid-template-columns: 60% auto; /* Feste Breite für Labels und Rest für Antwortfelder */
  align-items: center;
  gap: 20px; /* Abstand zwischen den Spalten */
  margin-bottom: 5%
}

.form-row label {
  font-size: 14pt;
}

/* Optional: Stil für Select und Input für Konsistenz */
select, input[type="number"] {
  width: 100%; /* Antwortfelder füllen den verfügbaren Platz aus */
  padding: 3%;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 12pt;
}
	
	

.button-container {
  text-align: left; /* Zentriert den Button im Container */
}

.button-container button {
  width: auto;
  padding: 1.5% 4%;
  font-size: 12pt; 
  display: inline-block; 
  border:none
}

.button-container button:hover {
  width: auto;
  padding: 1.5% 4%;
  font-size: 12pt; 
  display: inline-block; 
  color: white;
  background-color: var(--darkbrown);
  border: 2px solid white
}

#bonusfragen_ausgabetext {
  width: 80%;
  margin-left:15%;
  margin-top: 2%;
}

.titel_bonusfragen {
  margin-left: 15%;
}


  
#deadline-info {
  width: 70%;
  margin: auto;
  margin-top: 2%;
}

.points-display-flex-container {
  display: flex;
  flex-direction: column; 
  align-items: center; 
  text-align: center; 
  margin-top: 20px; 
}

.points-box {
  padding: 3% 12%; /* Innenabstand */
  border: 2px solid white;
  font-size: 34pt;
  height: auto;
  justify-content: center;
  align-items: center;
  color: white;
  margin-bottom: 1%; /* Abstand zwischen Box und Text "PUNKTE" */
}

.points-label {
  font-size: 14pt;
  margin-bottom: 5%;
}

.punkte-nachricht  {
  color: white;
  border: 1px solid white;
  padding: 2% 10%;
  width: fit-content; /* Breite passt sich dem Inhalt an */
  margin-bottom: 3%;
  text-align: center;
}


  
  .hamburger-menu {
    display: none;
  }

  .nav {
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding: 0;
    margin: 0;
    list-style-type: none;
    color: var(--darkbrown);
  }

  .main {
    padding-top: 20px; 
  }

  .nav li {
  padding-left: 4%;
    padding-top: 2%;
    padding-bottom: 2%;
    font-size: 12pt;
    
}


.anfrage-annehmen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 11pt;
  padding: 1% 3%;
  border: none;
  margin-right: 1%
}

.anfrage-ablehnen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 11pt;
  padding: 1% 3%;
  border: none;
}

.anfrage-annehmen-btn:hover, .anfrage-ablehnen-btn:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 1px solid white;
}


.anfrage-item {
  width: 70%;
  margin: auto;
}


.nav a {
  text-decoration: none; 
  color: inherit; 
  transition: color 0.3s ease, text-decoration-color 0.3s ease;
}

.nav a:hover, .nav a:focus {
  color: var(--red);
}

/* Login.html */

.userinput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.label_login {
  font-size: 11pt;
}

.checkbox-container {
  margin: 1% 0%;
}

#firstname, #name, #emailInput, #passwordInput, #passwordInputRepeat, #username {
  width: 60%;
  height: 3vh;
  font-size: 12pt;
}

.input-container {
  display: flex;
  align-items: center; /* Zentriert die Items vertikal */
  gap: 10px; /* Abstand zwischen Label und Input */
}

.input-container label {
  margin-bottom: 0; /* Entfernt den unteren Abstand des Labels, falls vorhanden */
}


.input-group {
  margin-top: 2%;
  display: flex;
  align-items: center; 
  margin-bottom: 10px; 
  width: 50%;

}

.input-group label {
  width: 120px;
  margin-right: 10px;
}

.userinput input {
  padding: 5px;
  margin-right: 10px; 
  border: 1px solid #ccc; 
}

#ausgabefeld {

  color: red;

}

.text_login {
  font-size: 12pt;
  margin-bottom: 3%;
}

.passwort_vergessen {
  font-size: 12pt;
  margin-bottom: 3%;
}

.verlinkung_login:hover, .teilnahmebedingungen_login:hover, .passwort:hover  {
  color: var(--red);
}


.index_text {
  width: 70%;
  margin: auto;
}

/* startseite.html */
.tippspiel_overall {
  display: flex;
  justify-content: center;
  gap: 20px; 
  width: 70%;
  margin: auto;
}


.rahmen_container {
  text-align: center;
  width: 40%; 
}

.rahmen {
  border: 2px solid white;
  padding: 15% 0%;
  height: auto; 
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 34pt;
}

.beschriftung {
  margin-top:5%;
  margin-bottom: 5%;
  font-size: 16pt;
}


.weitere_boxen {
  background-color: white;
  color: black;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
  padding-top: 10%;
  padding-bottom: 10%;
  width: 70%;
  margin: auto;
}

.box_container {
  flex-basis: 40%; 
  max-width: 40%; 
  box-sizing: border-box; 
  text-align: center;
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center;
  position: relative; 
}

.beschriftung_aussen {
  position: absolute; 
  top: -25%; 
  left: 0%;
  font-size: 14pt;
}

.box {
  border: 2px solid white; 
  padding: 20px; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: auto; 
  min-width: 100%; 
  border: 2px solid var(--darkbrown)
}

.zahl {
  padding-top: 5%;
  font-size: 26pt;
}

.text {
  padding-top: 5%;
  padding-bottom: 5%;
  font-size: 14pt;
}

.quizpunkte {
  margin-top: 10%;
}

#quiz-container {
  background-color: var(--white);
  color: var(--darkbrown);
  text-align: center;
  padding: 3%;
  width: 70%;
  margin: auto;
}

#start-quiz-btn {
  font-size: 12pt;
  margin: 3% auto;
}

.button_braun {
  background-color: var(--darkbrown);
  padding: 2% 7%;
  text-align: center;
  height: auto;
  color: var(--white);
}

.button_braun:hover {
  background-color: var(--white);
  color: var(--darkbrown);
  border: 3px solid var(--darkbrown);
}

.info_quiz {
  width: 70%;
  margin-left: 15%;
  font-size: 10pt;
}



.willkommen_user {
  font-size: 18pt;
  margin-left: 15%;
}


.emailInput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;


}

.emailInput label, .emailInput input {
  margin-bottom: 10px; 
}

#resetPasswordForm {
  display: flex;
  flex-direction: column;
  width: 60%;
  
}

#emailpasswordreset {
  margin-bottom: 20px; 
  height: 2vw;
  font-size: 12pt;
  width: 50%;
  padding-left: 2%;
  
}

#passwordreset {
  background-color: var(--white);
  padding: 2% 0%;
  text-align: center;
  width: 40%;
  height: auto;
  color: var(--darkbrown);
  font-size: 12pt;
}

#passwordreset:hover {
  background-color: var(--darkbrown);
  text-align: center;
  height: auto;
  border: 2px solid var(--white);
  color: var(--white);
  
}

.eingabe {
  width: 100%;
}

.passwordInputVergessen {
  width: 25%;
  font-size: 12pt;
}

.password_change {
  background-color: var(--white);
  color: var(--darkbrown);
  padding: 1% 3%;
  width: 35%;
  font-size: 11pt;
}

.password_change:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid white
}


.info_zeit {
  margin-left: 6%;
  margin-top: 2%;
  margin-bottom: 1%;
}

#spieleContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px; 
  width: 90%;
  margin: auto;

}

.spiele-container {
  flex: 1 1 calc(50% - 10px); /* Nimmt bis zu 50% der Breite minus dem halben Gap */
  max-width: calc(50% - 10px); 
  box-sizing: border-box;

}



.teilnahmebedingungen_text {
  width: 70%;
  font-size: 11pt;
  margin: auto;
}

.abschnitt {
  width: 70%;
  margin: auto;
}



.tipps_speichern {
  margin: 3% 5%;
  font-size: 12pt;
  padding: 1.5% 6%;
}

.abstand_quizpunkte {
  margin-top: 3%;
}

.spiele-zeile-container {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--dunkelrot);
  padding: 10px;
  margin: 2% 0px 0px 0px;
  width: 100%;
}

.spiele-zeile-oben {
  text-align: center;
  font-size: 13pt;
  margin-bottom: 3%;
  margin-top: 2%;
}

.spiele-zeile-mitte {
  display: flex;
  justify-content: space-between;
}

.spiele-zeile-unten {
  text-align: center;
  font-size: 12pt;
}

.spiele-zelle {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}


.heimbild, .gastbild {
  height: 100px;
  justify-content: center;
  align-items: center;
}

.heimteamtext, .gastteamtext {
  margin-top: 15%;
  font-size: 14pt;
}

.tipp-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.tipp-button {
  font-size: 28px;
  margin: 5px 0;
  background-color: white;
  color: var(--darkbrown);
  border: none;
  cursor: pointer;
}

.tipp-button-up {
  margin-bottom: 10px;
}

.tipp-button-down {
  margin-top: 10px;
}


.spiel-datum-zeit {
  font-size: 14px;
}

.spiel-tipp-count {
  font-size: 22pt;
}

.countdown {
  background-color: var(--darkbrown);
  color: white;
  margin-top: 50vh;
  text-align: center; 
}

.countdown_spiel {
  display: flex;
  justify-content: center; 
  align-items: center;
  text-align: center;
  width: 70%;
  margin: auto;
}

.countdown_text {
  text-align: center;
  padding-top: 2%;
  padding-bottom: 2%;
  font-size: 20px
}

.custom-alert {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-alert-content {
  background: white;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.custom-alert-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.countdown-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20%; 
  margin: 2% 3%;

}

.countdown-number {
  font-size: 42px;
  margin-bottom: 5px;
}

.countdown-label {
  font-size: 18px;
}


#spieltagButton {
  display: flex;
  flex-wrap: wrap; 
  justify-content: center; /* Zentriert die Buttons horizontal */
  font-size: 12pt;
  width: 70%;
  margin: 1% auto; /* Sorgt für horizontale Zentrierung und vertikalen Abstand */
}

.hidden {
  display:none;
}

.filterSpieltag {
  background-color: var(--dunkelrot);
  color: var(--white);
  padding: 1%;
  width: calc(25% - 10px); /* Berechnung berücksichtigt den rechten Margin */
  margin-right: 10px;
  margin-bottom: 10px; /* Abstand zwischen den Buttons */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12pt;
}

#difficulty-selection button {
  display: inline-block; 
  margin-right: 10px; 
  background-color: var(--darkbrown);
  padding: 2%;
  color: var(--white);
  min-width: 30%;
  margin: 3% 0%;
}



.filterSpieltag.active {
  background-color: var(--white); 
  color: var(--dunkelrot); 
}

.logout-link {
  font-size: 9pt;
  color: white; 
}

.admin-spiel-ergebnis {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px;
  background-color: var(--dunkelrot);
}

.admin-spiel-ergebnis input[type='number'] {
  width: 25%;
  height: 3vw;
  padding: 5px;
  margin-right: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
}

.admin-spiel-ergebnis button {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 15px 25px;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.admin-spiel-ergebnis button:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.spiel-ergebnis {
  background-color: var(--dunkelrot);
  text-align: center;
  padding: 10px; 
  font-size: 18pt;
  color: var(--white)
}



.punkte-berechnen-div, .anzahl-punkte {
  background-color: var(--dunkelrot);
  text-align: center;
}

.punkte_berechnen {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 10px 15px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  margin: 2% 0%;
}


.punkte_berechnen:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.anzahl-punkte {
  padding: 2% 0%;
  font-size: 18pt;
  color: var(--white);
}



/* rangliste.html */

.rangliste-tabelle {
  width: 70%;
  font-size: 14pt;
  margin: auto;
}

tbody {
  text-align: center;
}

.rangliste-tabelle td {
  padding:1% 0%;
}

.rangliste-tabelle th {
  padding-bottom: 2%;
}

.dein-rang-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10%;
  margin: 3% auto;
  width: 70%;

}

.rang-info {
  border: 2px solid var(--white); 
  padding: 2% 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1; 
  min-width: 30%;
}

.rang-zahl {
  font-size: 28pt;
  margin: 10% 0%;
  font-weight:initial
  
}

.rang-text {
  font-size: 14pt;
  
}

.rangliste_buttons {
  background-color: var(--white);
  color: var(--dunkelrot);
  border: 2px solid var(--dunkelrot);
  width: auto; 
  min-width: 200px; 
  height: auto;
  font-size: 12pt;
  padding: 4% 2%;
  cursor: pointer; 
}

.rangliste_alle {
  width: 70%;
  margin: auto;
  display: flex; 
  justify-content: center;
  gap: 20px;
  margin-bottom: 3%;
}

.rangliste_buttons:hover {

  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}


/*quiz.html */

.antworten {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.antworten li {
  flex-basis: calc(50% - 10px);
}

.antwortmoeglichkeiten {
width: 100%;
height: 5vw;
padding: 10px;
font-size: 18px;
cursor: pointer;
border: none;
background-color: var(--dunkelrot);
color: white;
}

.antwortmoeglichkeiten:hover {
  border: 2px solid var(--dunkelrot);
  background-color: var(--white);
  color: var(--dunkelrot);
  }

  .header-container {
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    width: 100%;
}

  .frage {
    font-size: 16pt;
  }

  .timer {
    font-size: 17pt;
  }

  #next-question-btn {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: var(--dunkelrot);
color: var(--white);
width: 40%;
border: none;
padding: 2% 0%;
}

.quiz-auswertung-tabelle {
  width: 70%;
  margin: auto;
}

.position {
  margin-left: 15%;
}

.quiz-auswertung-tabelle td {
  padding: 1% 0%;
}


#next-question-btn:hover {
  background-color: var(--white);
color: var(--dunkelrot);
width: 40%;

border: 2px solid var(--dunkelrot);
}

.quiz-results-table {
  width: 100%;
  border-collapse: collapse;
}

#quiz-results-container p {
  margin-left: 15%
}

.quiz-results-table th, .quiz-results-table td {
  padding: 8px;
}

.eigener-benutzer td {
  font-weight: bold;
}

.quiz-status {
  padding: 10px;
  width:100%;
  text-align: center;
  font-weight: bold;
  font-size: 14pt;
  padding: 2% 3%;
}


.quiz-button {
  width: 30%;
  padding: 1% 0%;
  font-size: 12pt;
  background-color: var(--white);
  margin-top: 4%;
  border: none;
  color: var(--red);
  display:block;
  margin: auto;
  margin-top: 2%;
}

.quiz-button:hover {
  background-color: var(--red);
  border: 2px solid var(--white);
  color: var(--white)
}


/* tippgruppe.html */


.form-group {
  display: flex;
  margin-bottom: 15px;
  align-items: center; 
}

.form-group label {
  flex: 0 0 120px; 
  margin-right: 20px;
}

.form-control {
  flex: 1;
  height: 3vw;
  font-size: 12pt;
  padding-left: 2%;
}

#createFormContainer {
  width: 70%;
  margin: auto;
}

#createGroupResult {
  width: 70%;
  margin: auto;
  margin-top: 1.5%;
  margin-bottom: 3%;
}


.radio-group {
  display: flex;
  flex-direction: column;
}

.radio-group label {
  display: flex;
  align-items: center;
}

.radio-group label:last-child {
  margin-bottom: 0;
}

.radio-description {
  margin-left: 24px; 
  font-size: 0.9em; 
  color: #666;
  margin-top: -4px; 
}

#meineTippgruppenListe {
  width: 70%;
  margin: auto
}

#submit-button { 
  padding: 1% 8%;
  font-size: 12pt;
  background-color: var(--white);
  color: var(--darkbrown); 
  border: 2px solid var(--white);
  cursor: pointer;
}


#submit-button:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white)
}

.alle_tippgruppen {
  width: 70%;
  margin: auto;
  font-size: 13pt;
}

.alle_tippgruppen td {
  padding: 1%;
}


.gruppenname {
  cursor:pointer;
}

.close {
  cursor:pointer;
  font-size: 36px;
  float: right;

}


#toggleFormButton {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white);
  padding: 1% 3%;
  font-size: 11pt;
  min-width: 30%;

}

#toggleFormButton:hover {
  background-color: var(--white);
  color: var(--darkbrown);
}


.modal {
  display: none;
  position: fixed;
  z-index: 20;
  left: 0;
  top: 40%;
  width: 100%; 
  height: 100%;
  overflow: auto; 
  background-color: rgba(0,0,0,0);
}

.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 3%;
  border: 1px solid var(--darkbrown); 
  animation-name: animatetop;
  animation-duration: 0.4s;
  width: 50%;
}

/* Add Animation */
@keyframes animatetop {
  from {top: -300px; opacity: 0} 
  to {top: 0; opacity: 1}
}


#tippgruppe_beitreten {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: var(--darkbrown);
  border: 1px solid var(--darkbrown);
  color: var(--white)
}

#tippgruppe_beitreten:hover {
  background-color: var(--white);
  border: 1px solid var(--darkbrown);
  color: var(--darkbrown)
}

.bereits_mitglied_gruppe {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: grey;
  border: 1px solid grey;
}

.tabelle-mitglieder-rangliste {
  width: 100%;
}


.tippgruppen-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; 
}

.tippgruppe-item {
  background-color: var(--white);
  color: var(--darkbrown);
  width: calc(50% - 10px);
  border: 1px solid #ccc;
  padding: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  gap: 10px;
  cursor: pointer;
}

.tippgruppe-item:hover {
  background-color: var(--darkbrown);
  color: var(--white);
}

.tippgruppe-name {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 40px; 
  flex-grow: 0; 
  font-size: 14pt;
}


.tippgruppe-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}


.tippgruppe-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-grow: 1;
  min-height: 60px;
}

.tippgruppe-rang {
  display: flex;
  align-items: center; /* Vertikale Zentrierung */
  justify-content: center; /* Horizontale Zentrierung */
  flex-grow: 1;
  font-size: 22pt;

  min-height: 60px;
}

.tippgruppe-details p {
  margin: 0;
  line-height: 1.4;
}


.features-container {
  display: flex;
  justify-content: space-around; 
  align-items: flex-start; /* Aligns the items to the start of the flex container */
  margin-top: 5%; 
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  gap: 30px;
}

.feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* Aligns content to the top */
  flex: 1;
  border: 2px solid white;
  min-height: 22vh; /* Adjust if more height is needed */
  padding: 10px 0; /* Adds padding at top and bottom for spacing */
}

.feature-icon {
  width: 25%;
  height: auto;
  margin-bottom: auto; /* Pushes the text to the bottom */
}

.feature-icon-tippgruppe {
  width:40%;
}

.feature-text {
  margin-top: 10px; /* Consistent space between icon and text */
  text-align: center;
  padding: 3% 5%; /* Padding inside text for better alignment */
}



.footer_content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 2%; 
  width: 70%;
  margin-left: auto; 
  margin-right: auto;
  gap: 30px; 
  color: black;
}

.footer_text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* Start alignment der Inhalte innerhalb der footer_text */
  flex: 1;
  padding: 10px; /* Geringfügige Polsterung hinzugefügt */
  color: black;
  text-align: center; /* Zentriert den Text */
}
.footer_text h3, .footer_text h4 {
  margin-bottom: 10px; /* Abstand unter den Überschriften */
}

ul {
  padding: 0;
  list-style: none; /* Entfernt Bulletpoints */
}

ul li a {
  text-decoration: none; /* Entfernt Unterstreichungen von Links */
  color: inherit; /* Erbt die Farbe vom Elternelement */
}

.social-media a {
  display: inline-block; /* Ermöglicht das Anwenden von Rand und Polsterung auf die Links */
  margin: 0 5px; /* Fügt einen horizontalen Abstand zwischen Icons hinzu */
}

.instagram {
  width: 20%;
}

.footer_bottom {
  text-align: center; /* Zentriert den Text im unteren Bereich */
  padding: 10px 0; /* Fügt Polster oben und unten hinzu */
  font-size: 0.9em; /* Kleinere Schriftgröße für urheberrechtliche Hinweise */
  color: black; /* Stellt sicher, dass der Text lesbar ist */
  width: 100%;
  margin-bottom: 2%; /* Volle Breite */
}


}

















@media screen and (min-width: 1025px) and (max-width: 1450px) {
  #emailpasswordreset {
    margin-bottom: 20px; 
    height: 2.5vw;
    font-size: 12pt;
    width: 60%;
    padding-left: 2%;
    
  }
  
  #passwordreset {
    background-color: var(--white);
    padding: 2% 0%;
    text-align: center;
    width: 50%;
    height: auto;
    color: var(--darkbrown);
    font-size: 12pt;
  }
}










/* Stil für die Anzeige unter 600px */
@media screen and (max-width: 1024px) {

  .main {
    background-color: var(--darkbrown);
    color: white;
    padding: 3% 5%;
  }

  .main_desktop_version {
    display: none;
  }

  .main_login, .main_registrieren {
    background-color: white;
    color: var(--darkbrown);
    border: none;
    height: auto;
    width: 35%;
  }

  .main_login {
    background-color: var(--red);
    color: white;
  }

  .main_registrieren:hover {
    color: var(--red)
  }

  


  
  .hamburger-menu {
      display: block;
      color: white;
  }

  .nav {
      display: none;
  }

  .main {
    padding-top: 20px; 
  }

  .nav li {
    margin-bottom: 20px;
  padding-left: 7%;
    padding-top: 2%;
    padding-bottom: 2%;
    font-size: 12pt;
}

  .nav.active {
      display: block;
      background-color: var(--darkbrown);
      color: white;
      padding-top: 3%;
      padding-bottom: 1%;
  }



/* Login.html */

.userinput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.label_login {
  font-size: 11pt;
}

.checkbox-container {
  margin: 2% 0%;
}

#firstname, #name, #emailInput, #passwordInput, #passwordInputRepeat, #username {
  width: 60%;
  height: 2.5vh;
  font-size: 11pt;
}

.input-group {
  margin-top: 2%;
  display: flex;
  align-items: center; 
  margin-bottom: 10px; 
  width: 60%;
}

.input-group label {
  width: 120px;
  margin-right: 10px;
}

.userinput input {
  padding: 5px;
  margin-right: 10px; 
  border: 1px solid #ccc; 
}

#ausgabefeld {

  color: red;

}

.text_login {
  font-size: 10pt;
  margin-bottom: 3%;
}

.login_button {
  background-color: var(--red);
  color: white;
  border: none;
  height: 3vh;
  width: 35%;
}

.registrieren_button {
  background-color: var(--red);
  color: white;
  border: none;
  height: auto;
  padding: 2% 3%;
  width: 35%;
}

.passwort_vergessen {
  font-size: 10pt;
  margin-bottom: 5%;
}

.verlinkung_login:hover, .teilnahmebedingungen_login:hover, .passwort:hover  {
  color: var(--red);
}


/* startseite.html */
.tippspiel_overall {
  display: flex;
  justify-content: center;
  gap: 10px; 

}




  /*bonusfragen.html */
  
  
  .bonusfragen {
    margin: auto;
  }
  
  
  #prediction-form {
    display: flex;
    flex-direction: column;
    margin-top: 5%;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  
  .form-row {
    display: grid;
    grid-template-columns: 65% auto; /* Feste Breite für Labels und Rest für Antwortfelder */
    align-items: center;
    gap: 20px; /* Abstand zwischen den Spalten */
    margin-bottom: 3%
  }
  
  .form-row label {
    font-size: 12pt;
  }
  
  /* Optional: Stil für Select und Input für Konsistenz */
  select, input[type="number"] {
    width: 100%; /* Antwortfelder füllen den verfügbaren Platz aus */
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 11pt;
  }
  
  .button-container {
    text-align: left; /* Zentriert den Button im Container */
  }
  
  .button-container button {
    width: auto;
    padding: 1.5% 4%;
    font-size: 12pt; 
    display: inline-block; 
    border:none
  }
  
  .button-container button:hover {
    width: auto;
    padding: 1.5% 4%;
    font-size: 12pt; 
    display: inline-block; 
    color: white;
    background-color: var(--darkbrown);
    border: 2px solid white
  }
  
  #bonusfragen_ausgabetext {
    width: 80%;
    margin-left: 10%;
    margin-top: 2%;
  }
  
  .titel_bonusfragen {
    margin-left: 5%;
    margin-top: 5%;
  }


  .points-display-flex-container {
    display: flex;
    flex-direction: column; 
    align-items: center; 
    text-align: center; 
    margin-top: 20px; 
  }
  
  .points-box {
    padding: 3% 12%; /* Innenabstand */
    border: 2px solid white;
    font-size: 34pt;
    height: auto;
    justify-content: center;
    align-items: center;
    color: white;
    margin-bottom: 1%; /* Abstand zwischen Box und Text "PUNKTE" */
  }
  
  .points-label {
    font-size: 14pt;
    margin-bottom: 5%;
  }
  
  #deadline-info {
    width: 80%;
    margin: auto;
    margin-top: 2%;
  }

  .punkte-nachricht  {
    color: white;
    border: 1px solid white;
    padding: 2% 10%;
    width: fit-content; /* Breite passt sich dem Inhalt an */
    margin-bottom: 3%;
    text-align: center;
  }
  
  





.rahmen_container {
  text-align: center;
  width: 40%; 
}

.rahmen {
  border: 2px solid white;
  padding: 18% 2%;
  height: auto; 
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 34pt;
}

.beschriftung {
  margin-top: 10%;
  margin-bottom: 10%;
  font-size: 16pt;
}


.weitere_boxen {
  background-color: white;
  color: black;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  padding-top: 10%;
  padding-bottom: 10%;

}

.box_container {
  flex-basis: 40%; 
  max-width: 40%; 
  box-sizing: border-box; 
  text-align: center;
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center;
  position: relative; 
}

.beschriftung_aussen {
  position: absolute; 
  top: -25%; 
  left: 0%;
  font-size: 14pt;
}

.box {
  border: 2px solid white; 
  padding: 20px; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: auto; 
  min-width: 100%; 
  border: 2px solid var(--darkbrown)
}

.zahl {
  padding-top: 5%;
  font-size: 26pt;
}

.text {
  padding-top: 5%;
  padding-bottom: 5%;
  font-size: 14pt;
}

.quizpunkte {
  margin-top: 10%;
}

#quiz-container {
  background-color: var(--white);
  color: var(--darkbrown);
  text-align: center;
  padding: 3%;
}

#start-quiz-btn {
  font-size: 12pt;
  margin: 3% auto;
}

.button_braun {
  background-color: var(--darkbrown);
  padding: 3% 7%;
  text-align: center;
  height: auto;
  color: var(--white)
}

.button_braun:hover {
  background-color: var(--white);
  color: var(--darkbrown);
  border: 3px solid var(--darkbrown);
}


.anfrage-annehmen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 11pt;
  padding: 1% 3%;
  border: none;
  margin-right: 1%
}

.anfrage-ablehnen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 11pt;
  padding: 1% 3%;
  border: none;
}

.anfrage-annehmen-btn:hover, .anfrage-ablehnen-btn:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 1px solid white;
}


.info_quiz {
  width: 85%;
  font-size: 9pt;
}



.willkommen_user {
  font-size: 16pt;
}


.emailInput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

}

.emailInput label, .emailInput input {
  margin-bottom: 10px; 
}

#resetPasswordForm {
  display: flex;
  flex-direction: column;
  width: 60%;
  
}

#emailpasswordreset {
  margin-bottom: 20px; 
  height: 4vw;
  font-size: 11pt;
  width: 60%;
  padding-left: 3%;
  
}

#passwordreset {
  background-color: var(--white);
  padding: 2% 0%;
  text-align: center;
  width: 60%;
  height: auto;
  color: var(--darkbrown);
  font-size: 12pt;
}

#passwordreset:hover {
  background-color: var(--darkbrown);
  border: 2px solid var(--white);
  color: var(--white);
  
}


#spieleContainer {
  margin: auto;
  width: 70%;
}


.eingabe {
  width: 100%;
}

.passwordInputVergessen {
  width: 30%;
  font-size: 12pt;
}

.password_change {
  background-color: var(--white);
  color: var(--darkbrown);
  padding: 1% 3%;
  width: 35%;
  font-size: 11pt;
}

.password_change:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid white
}

.input-container {
  display: flex;
  align-items: center; 
  gap: 10px; 
}

.input-container label {
  margin-bottom: 0; 
}


.input-group {
  margin-top: 2%;
  display: flex;
  align-items: center; 
  margin-bottom: 10px; 
  width: 100%;
}

.input-group label {
  width: 20%;
  margin-right: 10px;
}





.tipps_speichern {
  margin: 5% 15%;
  font-size: 12pt;
  padding: 2% 6%
}

.abstand_quizpunkte {
  margin-top: 3%;
}

.spiele-zeile-container {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--dunkelrot);
  padding: 10px;
  margin: 5% 0px 0px 0px;
  width: 100%;
}

.spiele-zeile-oben {
  text-align: center;
  font-size: 13pt;
  margin-bottom: 3%;
  margin-top: 2%;
}

.spiele-zeile-mitte {
  display: flex;
  justify-content: space-between;
}

.spiele-zeile-unten {
  text-align: center;
  font-size: 12pt;
}

.spiele-zelle {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}


.heimbild, .gastbild {
  height: 100px;
  justify-content: center;
  align-items: center;
}

.heimteamtext, .gastteamtext {
  margin-top: 15%;
  font-size: 14pt;
}

.tipp-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.tipp-button {
  font-size: 28px;
  margin: 5px 0;
  background-color: white;
  color: var(--darkbrown);
  border: none;
  cursor: pointer;
}

.tipp-button-up {
  margin-bottom: 10px;
}

.tipp-button-down {
  margin-top: 10px;
}


.spiel-datum-zeit {
  font-size: 14px;
}

.spiel-tipp-count {
  font-size: 24pt;
}

.countdown {
  background-color: var(--darkbrown);
  color: white;
  margin-top: 50vh;
  text-align: center; 
}

.countdown_spiel {
  display: flex;
  justify-content: center; 
  align-items: center;
  text-align: center;
}

.countdown_text {
  text-align: center;
  padding-top: 8%;
  padding-bottom: 3%;
  font-size: 20px
}

.custom-alert {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-alert-content {
  background: white;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.custom-alert-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.countdown-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20%; 
  margin: 5% 3%;

}

.countdown-number {
  font-size: 42px;
  margin-bottom: 5px;
}

.countdown-label {
  font-size: 18px;
}


#spieltagButton {
  display: flex;
  flex-wrap: wrap; 
  justify-content: center; /* Zentriert die Buttons horizontal */
  font-size: 12pt;
  width: 80%;
  margin: 3% auto; /* Sorgt für horizontale Zentrierung und vertikalen Abstand */
}

.hidden {
  display:none;
}

.filterSpieltag {
  background-color: var(--dunkelrot);
  color: var(--white);
  padding: 1%;
  width: calc(30% - 10px); /* Berechnung berücksichtigt den rechten Margin */
  margin-right: 10px;
  margin-bottom: 10px; /* Abstand zwischen den Buttons */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12pt;
}


#difficulty-selection button {
  display: inline-block; 
  margin-right: 10px; 
  background-color: var(--darkbrown);
  padding: 2%;
  color: var(--white);
  min-width: 30%;
  margin: 3% 0%;
}



.filterSpieltag.active {
  background-color: var(--white); 
  color: var(--dunkelrot); 
}

.logout-link {
  font-size: 9pt;
  color: white; 
}

.admin-spiel-ergebnis {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px;
  background-color: var(--dunkelrot);
}

.admin-spiel-ergebnis input[type='number'] {
  width: 25%;
  height: 5vw;
  padding: 5px;
  margin-right: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
}

.admin-spiel-ergebnis button {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 15px 25px;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.admin-spiel-ergebnis button:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.spiel-ergebnis {
  background-color: var(--dunkelrot);
  text-align: center;
  padding: 10px; 
  font-size: 18pt;
  color: var(--white)
}

.info_zeit {
  width: 69%;
  margin-left: 16%;
  margin-top: 2%;

}

.punkte-berechnen-div, .anzahl-punkte {
  background-color: var(--dunkelrot);
  text-align: center;
}

.punkte_berechnen {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 10px 15px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  margin: 2% 0%;
}


.punkte_berechnen:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.anzahl-punkte {
  padding: 2% 0%;
  font-size: 18pt;
  color: var(--white);
}



/* rangliste.html */

.rangliste-tabelle {
  width: 100%;
  font-size: 14pt;
}

tbody {
  text-align: center;
}

.rangliste-tabelle td {
  padding:1% 0%;
}

.rangliste-tabelle th {
  padding-bottom: 2%;
}

.dein-rang-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10%;
  margin: 4% 0%;

}

.rang-info {
  border: 2px solid var(--white); 
  padding: 2% 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1; 
  min-width: 30%;
}

.rang-zahl {
  font-size: 22pt;
  margin: 10% 0%;
  font-weight:initial
  
}

.rang-text {
  font-size: 14pt;
  
}

.rangliste_buttons {
  background-color: var(--white);
  color: var(--dunkelrot);
  border: 2px solid var(--dunkelrot);
  width: auto; /* Passt die Breite automatisch an den Inhalt an */
  min-width: 160px; /* Mindestbreite, um sicherzustellen, dass die Buttons nicht zu klein werden */
  height: auto;
  font-size: 12pt;
  padding: 4% 2%;
  cursor: pointer; /* Fügt einen Zeiger-Cursor hinzu, um die Interaktivität zu verdeutlichen */
}

.rangliste_alle {
  width: 70%;
  margin: auto;
  display: flex; /* Verwendet Flexbox, um die Buttons zu zentrieren */
  justify-content: center; /* Zentriert die Buttons horizontal */
  gap: 20px; /* Fügt Abstand zwischen den Buttons hinzu */
  margin-bottom: 3%;
}

.rangliste_buttons:hover {

  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}


/*quiz.html */

.antworten {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.antworten li {
  flex-basis: calc(50% - 10px);
}

.antwortmoeglichkeiten {
width: 100%;
height: 6vw;
padding: 10px;
font-size: 16px;
cursor: pointer;
border: none;
background-color: var(--dunkelrot);
color: white;
}

.antwortmoeglichkeiten:hover {
  border: 2px solid var(--dunkelrot);
  background-color: var(--white);
  color: var(--dunkelrot);
  }

  .header-container {
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    width: 100%;
}

  .frage {
    font-size: 16pt;
  }

  .timer {
    font-size: 17pt;
  }

  #next-question-btn {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: var(--dunkelrot);
color: var(--white);
width: 40%;
border: none;
padding: 2% 0%;
}

.quiz-auswertung-tabelle {
  width: 100%;
}

.quiz-auswertung-tabelle td {
  padding: 1% 0%;
}

#next-question-btn:hover {
  background-color: var(--white);
color: var(--dunkelrot);
width: 40%;

border: 2px solid var(--dunkelrot);
}

.quiz-results-table {
  width: 100%;
  border-collapse: collapse;
}

.quiz-results-table th, .quiz-results-table td {
  padding: 8px;
}

.eigener-benutzer td {
  font-weight: bold;
}

.quiz-status {
  padding: 10px;
  width:100%;
  text-align: center;
  font-weight: bold;
  font-size: 14pt;
  padding: 3% 3%;
}


.quiz-button {
  width: 30%;
  padding: 1% 0%;
  font-size: 12pt;
  background-color: var(--white);
  margin-top: 4%;
  border: none;
  color: var(--red);
  display:block;
  margin: auto;
  margin-top: 2%;
}

.quiz-button:hover {
  background-color: var(--red);
  border: 2px solid var(--white);
  color: var(--white)
}


/* tippgruppe.html */


.form-group {
  display: flex;
  margin-bottom: 15px;
  align-items: center; 
}

.form-group label {
  flex: 0 0 120px; 
  margin-right: 20px;
}

.form-control {
  flex: 1;
  height: 5vw;
  font-size: 12pt;
  padding-left: 2%;
}


.radio-group {
  display: flex;
  flex-direction: column;
}

.radio-group label {
  display: flex;
  align-items: center;
}

.radio-group label:last-child {
  margin-bottom: 0;
}

.radio-description {
  margin-left: 24px; 
  font-size: 0.9em; 
  color: #666;
  margin-top: -4px; 
}


#submit-button { 
  padding: 1.5% 8%;
  font-size: 11pt;
  background-color: var(--white);
  color: var(--darkbrown); 
  border: 2px solid var(--white);
  cursor: pointer;
}

#submit-button:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white)
}

.alle_tippgruppen {
  width: 100%;
}

.alle_tippgruppen td {
  padding: 1%;
}


.gruppenname {
  cursor:pointer;
}

.close {
  cursor:pointer;
  font-size: 36px;
  float: right;

}


#toggleFormButton {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white);
  padding:2%;
  font-size: 11pt;
  min-width: 30%

}

#toggleFormButton:hover {
  background-color: var(--white);
  color: var(--darkbrown);
}


.modal {
  display: none;
  position: fixed;
  z-index: 20;
  left: 0;
  top: 40%;
  width: 100%; 
  height: 100%;
  overflow: auto; 
  background-color: rgba(0,0,0,0);
}

.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 5%;
  border: 1px solid var(--darkbrown); 
  animation-name: animatetop;
  animation-duration: 0.4s;

}

/* Add Animation */
@keyframes animatetop {
  from {top: -300px; opacity: 0} 
  to {top: 0; opacity: 1}
}


#tippgruppe_beitreten {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: var(--darkbrown);
  border: 1px solid var(--darkbrown);
  color: var(--white)
}

#tippgruppe_beitreten:hover {
  background-color: var(--white);
  border: 1px solid var(--darkbrown);
  color: var(--darkbrown)
}

.bereits_mitglied_gruppe {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: grey;
  border: 1px solid grey;
}

.tabelle-mitglieder-rangliste {
  width: 100%;
}


.tippgruppen-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; 
}

.tippgruppe-item {
  background-color: var(--white);
  color: var(--darkbrown);
  width: calc(50% - 10px);
  border: 1px solid #ccc;
  padding: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  gap: 10px;
  cursor: pointer;
}

.tippgruppe-item:hover {
  background-color: var(--darkbrown);
  color: var(--white);
}

.tippgruppe-name {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 40px; 
  flex-grow: 0; 
  font-size: 14pt;
}


.tippgruppe-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}


.tippgruppe-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-grow: 1;
  min-height: 60px;
}

.tippgruppe-rang {
  display: flex;
  align-items: center; /* Vertikale Zentrierung */
  justify-content: center; /* Horizontale Zentrierung */
  flex-grow: 1;
  font-size: 22pt;

  min-height: 60px;
}

.tippgruppe-details p {
  margin: 0;
  line-height: 1.4;
}


.features-container {
  display: flex;
  justify-content: space-around; 
  align-items: flex-start; 
  margin-top: 5%; 
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  gap: 30px;
}

.feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; 
  flex: 1;
  border: 2px solid white;
  min-height: 22vh; 
  padding: 10px 0; 
}

.feature-icon {
  width: 25%;
  height: auto;
  margin-bottom: auto; /* Pushes the text to the bottom */
}

.feature-icon-tippgruppe {
  width:40%;
}

.feature-text {
  margin-top: 10px; /* Consistent space between icon and text */
  text-align: center;
  padding: 3% 5%; /* Padding inside text for better alignment */
}



.footer_content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 2%; 
  width: 70%;
  margin-left: auto; 
  margin-right: auto;
  gap: 30px; 
  color: black;
}

.footer_text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* Start alignment der Inhalte innerhalb der footer_text */
  flex: 1;
  padding: 10px; /* Geringfügige Polsterung hinzugefügt */
  color: black;
  text-align: center; /* Zentriert den Text */
}
.footer_text h3, .footer_text h4 {
  margin-bottom: 10px; /* Abstand unter den Überschriften */
}

ul {
  padding: 0;
  list-style: none; /* Entfernt Bulletpoints */
}

ul li a {
  text-decoration: none; /* Entfernt Unterstreichungen von Links */
  color: inherit; /* Erbt die Farbe vom Elternelement */
}

.social-media a {
  display: inline-block; /* Ermöglicht das Anwenden von Rand und Polsterung auf die Links */
  margin: 0 5px; /* Fügt einen horizontalen Abstand zwischen Icons hinzu */
}

.instagram {
  width: 40%;
}

.footer_bottom {
  text-align: center; /* Zentriert den Text im unteren Bereich */
  padding: 10px 0; /* Fügt Polster oben und unten hinzu */
  font-size: 0.9em; /* Kleinere Schriftgröße für urheberrechtliche Hinweise */
  color: black; /* Stellt sicher, dass der Text lesbar ist */
  width: 100%;
  margin-bottom: 2%; /* Volle Breite */
}






}









@media screen and (max-width: 760px) {
.bonusfragen {
  margin: auto;
}


#prediction-form {
  display: flex;
  flex-direction: column;
  margin-top: 5%;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.form-row {
  display: grid;
  grid-template-columns: 55% auto; /* Feste Breite für Labels und Rest für Antwortfelder */
  align-items: center;
  gap: 20px; /* Abstand zwischen den Spalten */
  margin-bottom: 3%
}

.form-row label {
  font-size: 12pt;
}

#deadline-info {
  width: 90%;
  margin: auto;
  margin-top: 2%;
}

select, input[type="number"] {
  width: 100%; 
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 11pt;
}

.button-container {
  text-align: left; /* Zentriert den Button im Container */
}

.button-container button {
  width: auto;
  padding: 1.5% 4%;
  font-size: 12pt; 
  display: inline-block; 
  border:none
}

.button-container button:hover {
  width: auto;
  padding: 1.5% 4%;
  font-size: 12pt; 
  display: inline-block; 
  color: white;
  background-color: var(--darkbrown);
  border: 2px solid white
}

#bonusfragen_ausgabetext {
  width: 80%;
  margin-left: 5%;
  margin-top: 2%;
}

.titel_bonusfragen {
  margin-left: 5%;
  margin-top: 5%;
}

.eingabe {
  width: 100%;
}

.passwordInputVergessen {
  width: 40%;
  font-size: 12pt;
}

.password_change {
  background-color: var(--white);
  color: var(--darkbrown);
  padding: 1.5% 3%;
  width: 40%;
  font-size: 11pt;
}

.password_change:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid white
}

.punkte-nachricht  {
  color: white;
  border: 1px solid white;
  padding: 2.5% 10%;
  width: fit-content; /* Breite passt sich dem Inhalt an */
  margin-bottom: 3%;
  text-align: center;
  font-size: 11pt;
}



.features-container {
  display: flex;
  flex-direction: column; 
  align-items: center; 
  margin-top: 5%; 
  gap: 20px; 
}

.feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  border: 2px solid white;
  min-height: 22vh;
  padding: 10px;
  width: 50%; 
}

.feature-icon {
  width: 25%;
  height: auto;
  margin-bottom: auto;
}

.feature-icon-tippgruppe {
  width: 40%; 
}

.feature-text {
  margin-top: 10px;
  text-align: center;
  padding: 3% 5%;
}




.footer_content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 2%; 
  width: 70%;
  margin-left: auto; 
  margin-right: auto;
  gap: 30px; 
  color: black;
}

.footer_text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* Start alignment der Inhalte innerhalb der footer_text */
  flex: 1;
  padding: 10px; /* Geringfügige Polsterung hinzugefügt */
  color: black;
  text-align: center; /* Zentriert den Text */
}
.footer_text h3, .footer_text h4 {
  margin-bottom: 10px; /* Abstand unter den Überschriften */
}

ul {
  padding: 0;
  list-style: none; /* Entfernt Bulletpoints */
}

ul li a {
  text-decoration: none; /* Entfernt Unterstreichungen von Links */
  color: inherit; /* Erbt die Farbe vom Elternelement */
}

.social-media a {
  display: inline-block; /* Ermöglicht das Anwenden von Rand und Polsterung auf die Links */
  margin: 0 5px; /* Fügt einen horizontalen Abstand zwischen Icons hinzu */
}

.instagram {
  width: 40%;
}

.footer_bottom {
  text-align: center; /* Zentriert den Text im unteren Bereich */
  padding: 10px 0; /* Fügt Polster oben und unten hinzu */
  font-size: 0.9em; /* Kleinere Schriftgröße für urheberrechtliche Hinweise */
  color: black; /* Stellt sicher, dass der Text lesbar ist */
  width: 100%;
  margin-bottom: 2%; /* Volle Breite */
}
}








@media screen and (min-width: 601px) and (max-width: 680px) {
  #emailpasswordreset {
    margin-bottom: 20px; 
    height: 5vw;
    font-size: 11pt;
    width: 75%;
    padding-left: 3%;
    
  }
  
  #passwordreset {
    background-color: var(--white);
    padding: 2% 0%;
    text-align: center;
    width: 75%;
    height: auto;
    color: var(--darkbrown);
    font-size: 12pt;
  }
  
}












/* Stil für die Anzeige unter 600px */
@media screen and (max-width: 600px) {

  .main {
    background-color: var(--darkbrown);
    color: white;
    padding: 3% 5%;
  }

  .main_desktop_version {
    display: none;
  }

  .main_login, .main_registrieren {
    background-color: white;
    color: var(--darkbrown);
    border: none;
    height: auto;
    width: 50%;
  }

  .main_login {
    background-color: var(--red);
    color: white;
  }

  .main_registrieren:hover {
    color: var(--red)
  }

  
  .login_button {
    background-color: var(--red);
    color: white;
    border: none;
    height: auto;
    padding: 2% 0%;
    width: 45%;
  }
  
  .registrieren_button {
    background-color: var(--red);
    color: white;
    border: none;
    height: auto;
    padding: 3% 3%;
    width: 60%;
  }
  

  
  .hamburger-menu {
      display: block;
      color: white;
  }

  .nav {
      display: none;
  }

  .main {
    padding-top: 20px; 
  }

  .nav li {
    margin-bottom: 20px;
padding-left: 7%;
    padding-top: 2%;
    padding-bottom: 2%;
    font-size: 12pt;
}

  .nav.active {
      display: block;
      background-color: var(--darkbrown);
      color: white;
      padding-top: 3%;
      padding-bottom: 1%;
  }


  /*bonusfragen.html */
  
  
  .bonusfragen {
    margin: auto;
  }
  
  
  #prediction-form {
    width: 100%;
  }
  
  .form-row {
    grid-template-columns: 55% auto; 
    margin-bottom: 5%
  }
  
  .form-row label {
    font-size: 11pt;
  }
  
  select, input[type="number"] {
    font-size: 10pt;
  }
  
  
  .button-container button {
    width: auto;
    padding: 1.5% 4%;
    font-size: 11pt; 
    display: inline-block; 
    border:none
  }
  
  .button-container button:hover {
    color: white;
    background-color: var(--darkbrown);
    border: 2px solid white
  }
  
  #bonusfragen_ausgabetext {
    width: 80%;
    margin-left: 0%;
    margin-top: 4%;
  }
  
  .titel_bonusfragen {
    margin-left: 0%;
    margin-top: 5%;
  }

   
  .points-box {
    padding: 4% 15%; /* Innenabstand */
    border: 2px solid white;
    font-size: 28pt;
    height: auto;
    justify-content: center;
    align-items: center;
    color: white;
    margin-bottom: 1%; /* Abstand zwischen Box und Text "PUNKTE" */
  }
  
  .points-label {
    font-size: 12pt;
    margin-bottom: 8%;
  }

  #deadline-info {
    width: 100%;
    margin: auto;
    margin-top: 2%;
  }
  
  


/* Login.html */

.userinput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.label_login {
  font-size: 11pt;
}

.checkbox-container {
  margin: 4% 0%;
}

#firstname, #name, #emailInput, #passwordInput, #passwordInputRepeat, #username {
  width: 60%;
  height: 2.5vh;
}

.eingabe {
  width: 100%;
}

.passwordInputVergessen {
  width: 40%;
  font-size: 12pt;
}

.password_change {
  background-color: var(--white);
  color: var(--darkbrown);
  padding: 1.5% 3%;
  width: 40%;
  font-size: 11pt;
}

.password_change:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid white
}

.input-group {
  margin-top: 2%;
  display: flex;
  align-items: center; 
  margin-bottom: 10px; 
  width: 75%;
}

.input-group label {
  width: 120px;
  margin-right: 10px;
}

.userinput input {
  padding: 5px;
  margin-right: 10px; 
  border: 1px solid #ccc; 
}

#ausgabefeld {

  color: red;

}

.text_login {
  font-size: 10pt;
  margin-bottom: 3%;
}

.passwort_vergessen {
  font-size: 10pt;
  margin-bottom: 5%;
}

.verlinkung_login:hover, .teilnahmebedingungen_login:hover, .passwort:hover  {
  color: var(--red);
}


.anfrage-annehmen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 10pt;
  padding: 2% 4%;
  border: none;
  margin-right: 1%
}

.anfrage-ablehnen-btn {
  background-color: var(--white);
  color: var(--darkbrown);
  font-size: 10pt;
  padding: 2% 4%;
  border: none;
}

.anfrage-annehmen-btn:hover, .anfrage-ablehnen-btn:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 1px solid white;
}



/* startseite.html */
.tippspiel_overall {
  display: flex;
  justify-content: center;
  gap: 20px; 
}


.rahmen_container {
  text-align: center;
  width: 40%; 
}

.rahmen {
  border: 2px solid white;
  padding: 20% 2%;
  height: auto; 
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24pt;
}

.beschriftung {
  margin-top: 10%;
  margin-bottom: 10%;
  font-size: 12pt;
}

.info_quiz {
  width: 95%;
  font-size: 9pt;
}



.weitere_boxen {
  background-color: white;
  color: black;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
  padding-top: 10%;
  padding-bottom: 10%;
}

.box_container {
  flex-basis: 40%; 
  max-width: 40%; 
  box-sizing: border-box; 
  text-align: center;
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center;
  position: relative; 
}

.beschriftung_aussen {
  position: absolute; 
  top: -25%; 
  left: 0%;
  font-size: 12pt;
}

.box {
  border: 2px solid white; 
  padding: 20px; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: auto; 
  min-width: 100%; 
  border: 2px solid var(--darkbrown)
}

.zahl {
  padding-top: 5%;
  font-size: 22pt;
}

.text {
  padding-top: 5%;
  padding-bottom: 5%;
  font-size: 12pt;
}

.quizpunkte {
  margin-top: 10%;
}

#quiz-container {
  background-color: var(--white);
  color: var(--darkbrown);
  text-align: center;
  padding: 3%;
}

#start-quiz-btn {
  font-size: 12pt;
}

.button_braun {
  background-color: var(--darkbrown);
  padding: 3% 7%;
  text-align: center;
  min-width: 35%;
  height: auto;
  color: var(--white)
}

.button_braun:hover {
  background-color: var(--white);
  color: var(--darkbrown);
  border: 3px solid var(--darkbrown);
}





.emailInput {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

}

.emailInput label, .emailInput input {
  margin-bottom: 10px; 
}

#resetPasswordForm {
  display: flex;
  flex-direction: column;
  width: 100%;
  
}

#emailpasswordreset {
  margin-bottom: 20px; 
  height: 6vw;
  font-size: 11pt;
  width: 60%;
  padding-left: 2%;
  
}

#passwordreset {
  background-color: var(--white);
  padding: 3% 7%;
  text-align: center;
  min-width: 35%;
  height: auto;
  color: var(--darkbrown);
  font-size: 10pt;
}

#passwordreset:hover {
  background-color: var(--darkbrown);
  padding: 3% 7%;
  text-align: center;
  min-width: 35%;
  height: auto;
  border: 2px solid var(--white);
  color: var(--white);
  
}







.willkommen_user {
  font-size: 14pt;
}


.tipps_speichern {
  margin: 5% 2%;
  font-size: 10pt;
}

.abstand_quizpunkte {
  margin-top: 3%;
  font-size: 12pt;
}

.spiele-zeile-container {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--dunkelrot);
  padding: 10px;
  margin: 5% 0px 0px 0px;
  width: 100%;
}

.spiele-zeile-oben {
  text-align: center;
  font-size: 12pt;
  margin-bottom: 3%;
}

.spiele-zeile-mitte {
  display: flex;
  justify-content: space-between;
}

.spiele-zeile-unten {
  text-align: center;
  font-size: 10pt;
}

.spiele-zelle {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#spieleContainer {
  margin: auto;
  width: 100%;
}

.heimbild, .gastbild {
  height: 100px;
  justify-content: center;
  align-items: center;
}

.heimteamtext, .gastteamtext {
  margin-top: 15%;
  font-size: 10pt;
}

.tipp-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.tipp-button {
  font-size: 24px;
  margin: 5px 0;
  background-color: white;
  color: var(--darkbrown);
  border: none;
  cursor: pointer;
}

.tipp-button-up {
  margin-bottom: 5px;
}

.tipp-button-down {
  margin-top: 5px;
}


.spiel-datum-zeit {
  font-size: 14px;
}

.spiel-tipp-count {
  font-size: 20pt;
}

.countdown {
  background-color: var(--darkbrown);
  color: white;
  margin-top: 50vh;
  text-align: center; 
}

.countdown_spiel {
  display: flex;
  justify-content: center; 
  align-items: center;
  text-align: center;
}

.countdown_text {
  text-align: center;
  padding-top: 8%;
  padding-bottom: 3%;
  font-size: 16px
}

.custom-alert {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom-alert-content {
  background: white;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.custom-alert-close {
  float: right;
  font-size: 20px;
  cursor: pointer;
}

.countdown-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20%; 
  margin: 5% 3%;

}

.countdown-number {
  font-size: 30px;
  margin-bottom: 5px;
}

.countdown-label {
  font-size: 14px;
}


.info_zeit {
  width: 91%;
  margin-left: 6%;
  margin-right: 3%;
  margin-top: 4%;
  font-size: 11pt;
}


#spieltagButton {
  display: flex;
  flex-wrap: wrap; 
  justify-content: center; /* Zentriert die Buttons horizontal */
  font-size: 12pt;
  width: 100%;
  margin: 3% auto; /* Sorgt für horizontale Zentrierung und vertikalen Abstand */
}

.hidden {
  display:none;
}

.filterSpieltag {
  background-color: var(--dunkelrot);
  color: var(--white);
  padding: 1%;
  width: calc(30% - 10px); /* Berechnung berücksichtigt den rechten Margin */
  margin-right: 10px;
  margin-bottom: 10px; /* Abstand zwischen den Buttons */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 10pt;
}


#difficulty-selection button {
  display: inline-block; 
  margin-right: 10px; 
  background-color: var(--darkbrown);
  padding: 2%;
  color: var(--white);
  min-width: 30%;
  margin: 3% 0%;
}



.filterSpieltag.active {
  background-color: var(--white); 
  color: var(--dunkelrot); 
}

.logout-link {
  font-size: 9pt;
  color: white; 
}

.admin-spiel-ergebnis {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px;
  background-color: var(--dunkelrot);
}

.admin-spiel-ergebnis input[type='number'] {
  width: 25%;
  height: 8vw;
  padding: 5px;
  margin-right: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
}

.admin-spiel-ergebnis button {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 10px 15px;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.admin-spiel-ergebnis button:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.spiel-ergebnis {
  background-color: var(--dunkelrot);
  text-align: center;
  padding: 10px; 
  font-size: 14pt;
  color: var(--white)
}



.punkte-berechnen-div, .anzahl-punkte {
  background-color: var(--dunkelrot);
  text-align: center;
}

.punkte_berechnen {
  background-color: var(--white);
  color: var(--dunkelrot);
  padding: 10px 15px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  margin: 2% 0%;
}


.punkte_berechnen:hover {
  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}

.anzahl-punkte {
  padding: 2% 0%;
  font-size: 14pt;
  color: var(--white);
}



/* rangliste.html */

.rangliste-tabelle {
  width: 100%;
  font-size: 13pt;
}

tbody {
  text-align: center;
}

.rangliste-tabelle td {
  padding:1% 0%;
}

.rangliste-tabelle th {
  padding-bottom: 2%;
}

.dein-rang-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10%;
  margin: 4% 0%;

}

.rang-info {
  border: 2px solid var(--white); 
  padding: 2% 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1; 
  min-width: 30%;
}

.rang-zahl {
  font-size: 22pt;
  margin: 10% 0%;
  font-weight:initial
  
}

.rang-text {
  font-size: 14pt;
  
}

.rangliste_buttons {
  background-color: var(--white);
  color: var(--dunkelrot);
  border: 2px solid var(--dunkelrot);
  width: auto; /* Passt die Breite automatisch an den Inhalt an */
  min-width: 80px; /* Mindestbreite, um sicherzustellen, dass die Buttons nicht zu klein werden */
  height: auto;
  font-size: 10pt;
  padding: 10% 2%;
  cursor: pointer; /* Fügt einen Zeiger-Cursor hinzu, um die Interaktivität zu verdeutlichen */
}

.rangliste_alle {
  width: 70%;
  margin: auto;
  display: flex; /* Verwendet Flexbox, um die Buttons zu zentrieren */
  justify-content: center; /* Zentriert die Buttons horizontal */
  gap: 20px; /* Fügt Abstand zwischen den Buttons hinzu */
  margin-bottom: 3%;
}

.rangliste_buttons:hover {

  background-color: var(--dunkelrot);
  color: var(--white);
  border: 2px solid var(--white);
}


/*quiz.html */

.antworten {
  list-style-type: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.antworten li {
  flex-basis: calc(50% - 10px);
}

.antwortmoeglichkeiten {
width: 100%;
height: 10vw;
padding: 10px;
font-size: 16px;
cursor: pointer;
border: none;
background-color: var(--dunkelrot);
color: white;
}

.antwortmoeglichkeiten:hover {
  border: 2px solid var(--dunkelrot);
  background-color: var(--white);
  color: var(--dunkelrot);
  }

  .header-container {
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    width: 100%;
}

  .frage {
    font-size: 16pt;
  }

  .timer {
    font-size: 17pt;
  }

  #next-question-btn {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: var(--dunkelrot);
color: var(--white);
width: 40%;
border: none;

}

.quiz-auswertung-tabelle {
  width: 100%;
}

.quiz-auswertung-tabelle td {
  padding: 1% 0%;
}

#next-question-btn:hover {
  background-color: var(--white);
color: var(--dunkelrot);
width: 40%;

border: 2px solid var(--dunkelrot);
}

.quiz-results-table {
  width: 100%;
  border-collapse: collapse;
}

.quiz-results-table th, .quiz-results-table td {
  padding: 8px;
}

.eigener-benutzer td {
  font-weight: bold;
}

.quiz-status {
  padding: 10px;
  width:100%;
  text-align: center;
  font-weight: bold;
  font-size: 14pt;
  padding: 5% 3%;
}



.quiz-button {
  width: 30%;
  padding: 2% 0%;
  font-size: 12pt;
  background-color: var(--white);
  margin-top: 4%;
  border: none;
  color: var(--red);
  display:block;
  margin: auto;
  margin-top: 3%;
}

.quiz-button:hover {
  width: 30%;
  padding: 2% 0%;
  font-size: 12pt;
  background-color: var(--red);
  margin-top: 4%;
  border: 2px solid var(--white);
  color: var(--white)
}


/* tippgruppe.html */


.form-group {
  display: flex;
  margin-bottom: 15px;
  align-items: center; 
}

.form-group label {
  flex: 0 0 120px; 
  margin-right: 20px;
}

.form-control {
  flex: 1;
  height: 6vw;
  font-size: 11pt;
  padding-left: 2%;
}



#createGroupResult {
  
  margin-top: 1.5%;
  margin-bottom: 3%;
}


.radio-group {
  display: flex;
  flex-direction: column;
}

.radio-group label {
  display: flex;
  align-items: center;
}

.radio-group label:last-child {
  margin-bottom: 0;
}

.radio-description {
  margin-left: 24px; 
  font-size: 0.9em; 
  color: #666;
  margin-top: -4px; 
}


#submit-button { 
  padding: 2% 10%;
  font-size: 10pt;
  background-color: var(--white);
  color: var(--darkbrown); 
  border: 2px solid var(--white);
  cursor: pointer;
}

#submit-button:hover {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white)
}

.alle_tippgruppen {
  width: 100%;
}

.alle_tippgruppen td {
  padding: 1%;
}


.gruppenname {
  cursor:pointer;
}

.close {
  cursor:pointer;
  font-size: 36px;
  float: right;

}


#toggleFormButton {
  background-color: var(--darkbrown);
  color: var(--white);
  border: 2px solid var(--white);
  padding:2% 6%;
  font-size: 11pt;
  min-width: 45%

}

#toggleFormButton:hover {
  background-color: var(--white);
  color: var(--darkbrown);

}


.modal {
  display: none;
  position: fixed;
  z-index: 20;
  left: 0;
  top: 15%;
  right: 0; 
  bottom: 0;
  width: 100%; 
  height: auto; 
  margin: auto; 
  overflow: auto;
}

.modal-content {
  position: relative;
  background-color: #fefefe;
  padding: 4%;
  border: 1px solid var(--darkbrown);
  animation-name: animatetop;
  animation-duration: 0.4s;
  width: auto;
  max-width: 90%; 
  margin: auto; 
  overflow-y: auto; 
  display: block; 
}

/* Add Animation */
@keyframes animatetop {
  from {top: -300px; opacity: 0} 
  to {top: 0; opacity: 1}
}


#tippgruppe_beitreten {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: var(--darkbrown);
  border: 1px solid var(--darkbrown);
  color: var(--white)
}

#tippgruppe_beitreten:hover {
  background-color: var(--white);
  border: 1px solid var(--darkbrown);
  color: var(--darkbrown)
}

.bereits_mitglied_gruppe {
  margin: 5% 0%;
  padding: 3% 5%;
  width: 100%;
  font-size: 11pt;
  background-color: grey;
  border: 1px solid grey;
}

.tabelle-mitglieder-rangliste {
  width: 100%;
}


.tippgruppen-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; 
}

.tippgruppe-item {
  background-color: var(--white);
  color: var(--darkbrown);
  width: 90%;
  border: 1px solid #ccc;
  padding: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  gap: 10px;
  cursor: pointer;
  margin:auto;
}

.tippgruppe-item:hover {
  background-color: var(--darkbrown);
  color: var(--white);
}

.tippgruppe-name {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 40px; 
  flex-grow: 0; 
  font-size: 14pt;
}


.tippgruppe-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}


.tippgruppe-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-grow: 1;
  min-height: 60px;
}

.tippgruppe-rang {
  display: flex;
  align-items: center; /* Vertikale Zentrierung */
  justify-content: center; /* Horizontale Zentrierung */
  flex-grow: 1;
  font-size: 22pt;

  min-height: 60px;
}

.tippgruppe-details p {
  margin: 0;
  line-height: 1.4;
}


.features-container {
  display: flex;
  flex-direction: column; 
  align-items: center; 
  margin-top: 5%; 
  gap: 20px; 
}

.feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  border: 2px solid white;
  min-height: 22vh;
  padding: 10px;
  width: 85%; 
}

.feature-icon {
  width: 20%;
  height: auto;
  margin-bottom: auto;
  padding-top: 2%;
}

.feature-icon-tippgruppe {
  width: 30%; 
  padding-top: 2%;
}

.feature-text {
  margin-top: 10px;
  text-align: center;
  padding: 3% 5%;
}




.footer_content {
  flex-direction: column; 
  width: 100%; 
  gap: 1px; 
  padding: 10px 0; 
}

.footer_text {
  align-items: center; 
  text-align: center; 
  padding: 10px; 
  width: 100%; 
}

.footer_text h3, .footer_text h4 {
  margin-bottom: 10px; 
}

ul {
  padding: 0;
  list-style: none; /* Entfernt Bulletpoints */
}

ul li a {
  text-decoration: none; /* Entfernt Unterstreichungen von Links */
  color: inherit; /* Erbt die Farbe vom Elternelement */
}

.instagram {
  width: 15%;
}

.social-media a {
  margin: 5px; /* Etwas mehr Platz zwischen den Icons */
}

.footer_bottom {
  font-size: 0.8em; /* Etwas kleinere Schriftgröße für besseren Platzgebrauch */
}




}

 @media (max-width: 400px) {
  .input-group {
    margin-top: 2%;
    display: flex;
    align-items: center; 
    margin-bottom: 10px; 
    width: 95%;
  }

  #firstname, #name, #emailInput, #passwordInput, #passwordInputRepeat, #username {
    height:3vh;
  }

  #resetPasswordForm {
    display: flex;
    flex-direction: column;
    width: 100%;
    
  }
  
  #emailpasswordreset {
    margin-bottom: 20px; 
    height: 8vw;
    font-size: 11pt;
    width: 70%;
    padding-left: 2%;
    
  }
  
  #passwordreset {
    background-color: var(--white);
    padding: 3% 7%;
    text-align: center;
    min-width: 35%;
    height: auto;
    color: var(--darkbrown);
    font-size: 10pt;
  }
} 