/* MARK: Generelles */

:root {
  --hell-gruen: #d5e3cc;
  --gruen: #92a58a;
  --dunkel-gruen: #4c6b55;
  --braun: #5a3e2b;
  --rot:#a33232;
  --weiss: #fff;
  --schwarz: #000;
}

* {
  box-sizing: border-box; 
  margin: 0;
  padding: 0;
}

html {
  font-size: 18px;
  margin: 0 0 0 0;
  width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0 0 0 0;
  font-family: Arial, sans-serif;
  width: 100%;
  overflow-x: hidden;
}

h1 {
  font-size: 35px;
  text-transform: uppercase;
  padding-bottom: 15px;
  color: var(--schwarz);
}

h2 {
  font-size: 25px;
  text-transform: uppercase;
  padding-bottom: 10px;
  color: var(--schwarz);
}

p {
  padding-bottom: 10px;
  color: var(--schwarz);
}

/* MARK: Button */

.btn1 {
  background-color: var(--dunkel-gruen); 
  color: var(--weiss) !important;
  padding: 12px 28px;
  text-decoration: none;
  display: inline-block;
  box-shadow: 0 4px 8px rgba(0,0,0,0.6);
}

.btn1:hover {
  background-color: var(--gruen);
}


/* Spans */

.wichtig {
  font-weight: bold;
}

.highlight {
  text-shadow: 2px 2px 5px rgba(0,0,0,0.3);
  color: var(--rot);
  font-weight: bold;
  padding: 0.2em 0.4em;
  border-radius: 0.3em;
}

/* MARK: Abschnitte */

.intro {
  text-align: center;
  margin: 0px auto;
}

@media (max-width: 1620px) {

  .intro {
    margin-bottom: 0px;
  }

}

.intro2 {
  text-align: center;
  margin: 0px auto;
}

.intro2 h1 {
  font-size: 25px;
}

.info {
  display: flex;
  align-items: center; /* Zentriert den Text vertikal zum Bild */
  justify-content: space-between; /* Platz zwischen Text und Bild */
}

.info-text {
  display: flex;
  flex-direction: column;
}

.info img {
  border-radius: 10%;
  margin-left: 20px;
}

@media (max-width: 860px) {

  .info img {
    padding-top: 15px;
    margin-left: 0px; 
  }

}

.info video {
  margin-left: 20px;
  width: 25%;
}

@media (max-width: 860px) {

  .info {
    flex-direction: column; /* Stapelt Text und Bild */
    align-items: center; /* Zentriert Inhalt */
    text-align: center; /* Zentriert den Text */
  }

}

.info2-text > ul {
  margin-left: 16px;
}

@media (max-width: 860px) {

  .info2-text > .btn1 {
    margin-top: 15px;
  }

}


/* MARK: Nav */

#navigation {
  width: 100%;
  height: 50px;
  background-color: var(--hell-gruen);
  position: relative;
  font-weight: bold;
  z-index: 5;
}

#navigation ul {
  margin: 0;
  padding: 0;
  text-align: center;
  height: 94%;
}

#navigation ul > li {
  display: inline-block;
  height: 100%;
  padding: 0.2rem 0.4rem 0 0.4rem;
}

#navigation ul > li > a {
  display: inline-block;
}

#navigation ul > li > a:link {
  color: var(--schwarz);
  text-decoration: none;
}

#navigation ul > li > a:visited {
  color: var(--schwarz);
  text-decoration: none;
}

#navigation ul > li > a:active {
  color: var(--schwarz);
  text-decoration: none;
}

#navigation ul > li > a:hover {
  color: var(--braun);
  text-decoration: none;
} 

#navigation > .container >.item {
  padding: 0;
}

/* MARK: Nav-mobile */

#mobile-nav {
  display: block; /* Stelle sicher, dass es sichtbar ist */
}

#mobile-nav-btn {
  color: var(--weiss);
  float: right;
  font-size: 35px;
  width: 37px;
  height: 37px;
  top: -4px;
  position: relative;
  cursor: pointer;
  text-align: center;
}

#mobile-nav-content {
  position: absolute;
  right: 40px;
  top: 40px;
  display: none;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  background-color: white;
  z-index: 1000;
}

#mobile-nav-content > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#mobile-nav-content > ul > li {
  display: block;
  background-color: var(--hell-gruen);
  height: 50px;
  width: 150px;
  padding: 10px;
  text-align: center;
}

#mobile-nav {
  display: none;
}

/* Dropdown anzeigen, wenn der Button oder das MenÃ¼ aktiv ist */
#mobile-nav-dropdown:hover #mobile-nav-content,
#mobile-nav-dropdown:focus-within #mobile-nav-content {
  display: block;
}

@media (max-width: 900px) {

  #desktop-nav {
    display: none;
  }

  #mobile-nav {
    display: block;
  }

}

/* MARK: Banner + Slogan */

#banner {
  width: 100%;
  height: 0;
  padding-top: 20.83%;
  background: url("../img/banner.jpeg") no-repeat;
  background-size: contain;
}

#slogan {
  background-color: var(--hell-gruen);
  color: var(--braun);
  text-transform: uppercase;
  font-weight: bold;
  text-align: center;
  height: 50px;
}

#slogan > .container {
  margin-top: 0;
}

#slogan > .container > .item1 {
  padding-top: 7px;
}

#slogan > .container > .item1 > p {
  padding: 0;
}

@media (max-width: 950px) {

  #slogan{
    font-size: 17px;
  }

}

@media (max-width: 670px) {

  #slogan{
    font-size: 15px;
  }

}

/* MARK: Logo */

@-webkit-keyframes logoMove {
  0%        { transform: rotateZ(0deg);   }
  11.111%   { transform: rotateZ(0deg);   }
  22.222%   { transform: rotateZ(90deg);  }
  33.333%   { transform: rotateZ(90deg);  }
  44.444%   { transform: rotateZ(180deg); }
  55.555%   { transform: rotateZ(180deg); }
  66.666%   { transform: rotateZ(270deg); }
  77.777%   { transform: rotateZ(270deg); }
  88.888%   { transform: rotateZ(360deg); }
  100%      { transform: rotateZ(360deg); }
}

@keyframes logoMove {
  0%        { transform: rotateZ(0deg);   }
  11.111%   { transform: rotateZ(0deg);   }
  22.222%   { transform: rotateZ(90deg);  }
  33.333%   { transform: rotateZ(90deg);  }
  44.444%   { transform: rotateZ(180deg); }
  55.555%   { transform: rotateZ(180deg); }
  66.666%   { transform: rotateZ(270deg); }
  77.777%   { transform: rotateZ(270deg); }
  88.888%   { transform: rotateZ(360deg); }
  100%      { transform: rotateZ(360deg); }
}

#logo-move {
  background-color: var(--weiss);
  height: 200px;
  width: 200px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
}

#logo-move > img {
  display: block;
  width: 200px;
  height: 200px;
  margin-left: auto;
  margin-right: auto;
  -webkit-animation: logoMove 5s ease-in-out infinite alternate;
          animation: logoMove 5s ease-in-out infinite alternate;
}

@media (max-width: 900px) {

  #logo-move {
    height: 150px;
    width: 150px;
  }
  
  #logo-move > img {
    width: 150px;
    height: 150px;
  }  

}

/* MARK: Angebote */

#angebots-bereich {
  text-align: center;
  background-color: var(--weiss);
}

/* Boxen */

.angebot-box {
  color: var(--weiss);
  background-color: var(--gruen);
  padding: 18px 54px 45px;
  border-radius: 10px;
  margin-bottom: 20px;
  width: 90%;
}

#angebots-bereich > .container > .item2 > .angebot-box{
  margin-right: 0;
  margin-left: auto;
}

#angebots-bereich > .container > .item3 > .angebot-box {
  margin-left: 0;
  margin-right: auto;
}

.angebot-box > h2 {
  padding: 10px 0px;
}

.angebot-box > ul> li::before {
  margin-right: 4px;
  font-weight: bold;
}

.angebot-box> ul {
  padding: 15px 0px;
  list-style: none;
}

#angebots-bereich > .container > .item:last-of-type {
  padding-top: 0;
}

@media (max-width: 1640px) {

  .angebot-box {
    width: 100%;
  }

}

/* MARK: Standard Programm */

.a1 {
  min-height: 305px;
}

.a1 > ul> li::before {
  content: "✔";
}

.a1 > ul> li > a {
  color: #3a6f84;
}

@media (max-width: 1780px) {

  .a1 {
    min-height: 340px;
  }

}

@media (max-width: 1700px) {

  .a1 {
    min-height: 360px;
  }

}

@media (max-width: 1400px) {

  .a1 {
    min-height: 440px;
  }

  .a2 {
    min-height: 440px;
  }

}

@media (max-width: 1055px) {

  .a1 {
    min-height: 450px;
  }

}

@media (max-width: 900px) {

  .a1 {
    min-height: 0px;
  }

  #angebots-bereich > .container > .item:last-of-type {
    padding-top: 0;
  }

}

/* MARK: Ferienprogramm */

.a2 {
  min-height: 380px;
}

.a2 > ul> li::before {
  content: "⏰";
  filter: grayscale(100%);
}

@media (max-width: 1315px) {

  .a2 {
    min-height: 415px;
  }

}

@media (max-width: 1335px) {

  .a2 {
    min-height: 400px;
  }

}


@media (max-width: 1300px) {

  .a2 {
    min-height: 440px;
  }

}

@media (max-width: 1230px) {

  .a2 {
    min-height: 465px;
  }

}

@media (max-width: 1100px) {

  .a2 {
    min-height: 490px;
  }

}

@media (max-width: 1045px) {

  .a2 {
    min-height: 510px;
  }

}

@media (max-width: 1023px) {

  .a2 {
    min-height: 480px;
  }

}

@media (max-width: 900px) {

  .a2 {
    min-height: 530px;
  }

}

@media (max-width: 900px) {

  .a2 {
    min-height: 0px;
  }

}

/* MARK: Konzept */

#konzept-bereich {
  background-color: var(--hell-gruen);
}

#konzept-bereich img {
  width: 250px;
}

@media (max-width: 1500px) {

  #konzept-bereich img {
    width: 280px;
  }

}

@media (max-width: 1300px) {

  #konzept-bereich img {
    width: 300px;
  }

}

@media (max-width: 1100px) {

  #konzept-bereich img {
    width: 330px;
  }

}

@media (max-width: 1100px) {

  #konzept-bereich img {
    width: 330px;
  }

}

@media (max-width: 860px) {

  #konzept-bereich img {
    width: 200px;
  }

}

/*  MARK: Feedbackbogen*/




#raum {
  background-color: var(--weiss);
  text-align: center;
}

#raum > .container > .item:nth-of-type(1) {
  padding-bottom: 0;
}

#raum video {
  width: 350px;
}

@media (max-width: 1400px) {

  #raum video {
    width: 300px;
  }

}

@media (max-width: 900px) {

  #raum video {
    width: 250px;
  }

}

/* MARK: ueber mich */

#ueber-mich-bereich {
  background-color: var(--hell-gruen);
}

#ueber-mich-bereich img {
  width: 195px;

}

@media (max-width: 1100px) {

  #ueber-mich-bereich img {
    width: 220px;
  }

}

/* MARK: Kontakt */

#kontakt {
  background-color: var(--weiss);
  margin-right: auto;
  margin-left: auto;
}

#kontakt > .container > .item1:first-of-type > .info > img {
  width: 200px;
  border-radius: 30%;
}

#kontakt > .container > .item1:last-of-type > .info > img {
  width: 150px;
  border-radius: 10%;
}

#kontakt a:link {
  color: var(--dunkel-gruen);
}

#kontakt a:visited {
  color: var(--dunkel-gruen);
}

#kontakt a:hover {
  color: var(--gruen);
}

/* MARK: Impressum */

#footer {
  font-size: 14px;
  color: var(--weiss);
  background-color: var(--braun);
}

#footer .item1 p:last-child {
  padding-bottom: 0;
}

#footer a:link {
  color: var(--hell-gruen);
}

#footer a:visited {
  color: var(--hell-gruen);
}

#footer a:hover {
  color: var(--gruen);
}

/* MARK: Grid-Struktur */

.container {
  display: grid; /* block */
  grid-template-columns: repeat(4, 1fr);
  gap: 10px; 
  width: 80%;
  margin: 0px auto;
  padding: 10px;
}

.item { /* DINGE DIE ALLE ITEM GEMEINSAM HABEN */
  padding: 20px 20px;
}

.item1 { grid-column: 1 / 5; } /* Über alle 4 Spalten */

.item2 { grid-column: 1 / 3; } /* Über 2 Spalten */
.item3 { grid-column: 3 / 5; } /* Über 2 Spalten */

@media (max-width: 1024px) {
  .container {
      width: 95%;
  }
}

@media (max-width: 900px) {
  .item {
    padding: 15px 10px;
  }
  .item2 { grid-column: 1 / 5; } 
  .item3 { grid-column: 1 / 5; } 
}