* {box-sizing: border-box}

/* Google Font */
.figtree {
    font-family: "Figtree", sans-serif;
    font-optical-sizing: auto;
    font-weight:300;
    font-style: normal;
  }


:root {
    
--hellgrün:#c1cfba;            /* Highlight Hintergrundfarbe  */
--graugrün:#9faa9a;	        /* Highlightfarbe „Naturqualitätssiegel“  */	
--hellgrau:#f4f4f4;	        /* Highlight Linie	 */
--hellgrau2:#e6e6e6;		    /* Highlight Rechtecke */
--weiß:#ffffff;	            /* Hintergrund Primary, Button/Secondary, Text in Button / Primary		 */
--dunkelbraun-grau:#2b2a2b;	/* Txt / Primary	 */
--dunkelgrau-grün:#5a6055;	    /* Txt / Secondary	 */
--dunkelbraun-grau:#2b2a2b;	/* Txt in Button / Secondary	 */
--dunkelgrün:#0d4007;	        /* Button / Primary	 */
--dunkelbraun-grau:#2b2a2b;	/* Footer	 */
--grün_background:#9eb493;

}

/* Aufrufen der Variablen z.B. background-color: var(--hellgrün); */
section{

  width: min(90vw,80rem);
  margin:0 auto;
}

h1,h2,h3{

  font-weight: 600;
}
body{
    margin: 0 auto;
    font-family: 'Roboto';
    font-style: normal;
    scroll-behavior: smooth;
    overflow-x: hidden;
    font-family:"Figtree", sans-serif;
}
html{
   overflow-x: hidden;
}


.head_intro{
    width: 100%;
    display: flex;
    justify-content: center;
    justify-items: center;
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    box-sizing: border-box;
}

.navmain{
        width: min(90vw,80rem);
        display: flex;
        justify-items: center;
        align-items: center;
}
.navbar{
    width: min(90vw,80rem);
    display: flex;
    justify-items: center;
    gap:1rem;
    align-items: center;
}
.logoside{
    display: flex;
    justify-content: flex-start;
    justify-items: center;
    align-items: center;
    gap: .5rem;
}
.logo_img{
    width: 10rem;
}
.logotext{
    display: flex;
    justify-content: center;
    justify-items: center;
    align-items: flex-start;
    flex-direction: column;
}
.logoheader{
    margin: 0;
    font-size: 1rem;
    color: #545454;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.logounderliner{
    margin: 0;
    font-size: .8rem;
    color: #545454;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.linkside{
    display: flex;
    justify-content: center;
    justify-items: center;
    align-items: center;
    gap: 3rem;
}



.linkcontainer{
    display: flex;
    font-weight: 600;
    justify-content: center;
    justify-items: center;
    align-items: center;
    gap: 1.9rem;
}
.linktextnav{
    font-size: .8rem;
    color: #545454;
    cursor: pointer;
}
.topbut{
    display: flex;
    justify-content: center;
    justify-items: center;
    align-items: center;
   font-weight: 600;
    height:3rem;
    white-space: nowrap;
    border-radius: 5px;
    font-size: 0.9rem;
    padding: .8rem;
    padding-left: 2rem;
    padding-right: 2rem;
    background-color: var(--dunkelgrün);
    color: white;
    cursor: pointer;
    transition: .6s all linear;
    border: 1px solid var(--dunkelgrün);
}
.topbut:hover{
    box-shadow: inset 400px 0px white;
    color: #4C8077;
}

.button_green{

  display: flex;
  justify-content: center;
   height:3rem;
  justify-items: center;
  align-items: center;
  white-space: nowrap;
  text-decoration: none;
  border-radius: 5px;
  font-size: 0.9rem;
  font-weight: 600;
  padding: .8rem;
  padding-left: 2rem;
  padding-right: 2rem;
  background-color: var(--dunkelgrün);
  color: white;
  cursor: pointer;
  transition: .6s all linear;
  border: 1px solid var(--dunkelgrün);
}
.button_green:hover{
  box-shadow: inset 1500px 0px white;
  color: var(--dunkelgrün);
}


.button{

  display: flex;
  justify-content: center;
  justify-items: center;
  align-items: center;
  height:3rem;
  white-space: nowrap;
  text-decoration: none;
  border-radius: 5px;
  font-size: 0.9rem;
  font-weight: 600;
  padding: .8rem;
  padding-left: 2rem;
  padding-right: 2rem;
  background-color: var(--weiß);
  color: black;
  cursor: pointer;
  transition: .6s all linear;
  border: 1px solid var(--hellgrau2);
}
.button:hover{
  box-shadow: inset 500px 0px var(--dunkelgrün);
  color: var(--weiß);
}

.premium .button {
  background-color: var(--dunkelgrün);
  color: white;
  border: none;
  width:100%;
}

/* .button:hover {
  background-color: var(--dunkelgrün);
  color: white;
} */


.header_style{

    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    color:var(--dunkelgrün);
    padding-right:2rem;
}

@media only screen and (max-width: 1050px) {
    .header_style {
     font-size: 0.6rem
    }
  }

  .ham{
    width: 2rem;
    height: 3px;
    background-color: var(--dunkelgrün);
    margin: 5px 0;
    
  }

  #hamburger{
    display: none;
    margin-top: .5rem;
    border-style: none;
    background-color: white;
    }
  




.ham_div{

    background-color: var(--hellgrün);
    width:35vw;
    height:100vh;
    /* transform: translateX(250%); */
    transition: all 1.5s ease;
    position: absolute;
    z-index: 10;
    top:0%;
    left:65%;
    opacity: 0;
    display: none;
 
    
}

.closeClick{
    
    display: flex;
    padding-top: 2rem;
    gap: 2rem;
    flex-direction: column;
    position: fixed;
    animation: fade-out 1.5s forwards;
 
    align-items: center;

}

.clicked{

    /* transform: translateX(95%); */
    display: flex;
    padding-top: 2rem;
    gap: 2rem;
    flex-direction: column;
    position: fixed;
    animation: fade-in 1.5s forwards;
    border: 1px solid var(--dunkelgrau-grün);
    border-radius: 1rem;
    align-items: center;

}
@keyframes fade-in {
    0% {
      opacity: 0;
    } 100% {

        opacity: 1;
    }  
    }

    @keyframes fade-out {
        0% {
          opacity: 1;
        } 100% {
    
            opacity: 0;
        }  
        }


 .close {
  
    width: 32px;
    height: 32px;
    opacity: 0.3;
    
    
  } 
  .close:hover {
    opacity: 1;
  } 
  .close:before, .close:after {
    top: 1.5rem;
    position: absolute;
    left: 2rem;
    content: ' ';
    height: 33px;
    width: 2px;
    background-color: var(--dunkelgrün);
  }
  .close:before {
    transform: rotate(45deg);
  }
  .close:after {
    transform: rotate(-45deg);
  }


  .link{
    cursor:pointer;
  }

#links{

    margin-top:2rem;
}


  /* CSS Landing */

  section.green_bg{

    position: relative;
    width: 100%;
    background-color: var(--hellgrün);
    height: auto;
    overflow: hidden; /* wichtig, damit nichts überlappt */
    
  }
  .container{
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap:4rem;
        padding-top: 4rem;

  }

  .landing{

    padding-bottom: 4rem;
  }

  .container_item{
    display: flex;
    flex-direction: column;
    gap:1rem;
  }
  
  .welle-unter {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    display: block;
    z-index: 2;
  }

  .item_header{
    display: flex;
    flex-direction: column;


  }

  .headline{

        font-size: clamp(1.5rem, 3vw,3rem);
        margin-bottom: 0rem;
        
  }

  .underline{
    color:var(--dunkelgrau-grün);
  }

 #special{
    position: relative;
  display: inline-block;
  z-index: 1;
 }

 #special::after{
    content: "";
  position: absolute;
  left: 0;
  bottom: 0.2em; /* wie weit die Linie in den Text ragt */
  width: 105%;
  height: 0.4em; /* Dicke der Linie */
  background-color:var(--graugrün); /* z. B. hellgrün */
  z-index: -1; /* liegt hinter dem Text */
  border-radius: 2px; /* optional: weiche Kante */
    left: 50%; /* in die Mitte */
  transform: translateX(-50%); /* nach links verschieben */
 }


  .startpic{
    height:clamp(15rem, 22vw, 27rem);
    border-radius: 1rem;
  }
  .more{
  
        display: flex;
        justify-content: center;
        justify-items: center;
        align-items: center;
        color: white;
        height: 3rem;
        background-color: var(--dunkelgrün);
        width: 15rem;
        border-radius: 3px;

  }

  .lies{
    display: flex;
    gap:.5rem;
    flex-direction: row;
    font-weight:600;
  }

  .lie{

    display: flex;
    flex-direction: row;
    gap:0.5rem;
    margin-right: 0.5rem;
    align-items: center;
  }

  .star{
    width:1rem;
    height:1rem;
  }
  

  /* Infobereich  */

  .top-wave{
    display: block;
    width: 100%;
    height: auto;
    
  }

  .flex_main{
    display: flex;
    flex-direction: row;
    gap:6rem;

  }

  .flex_left{

    display: flex;
    flex-direction: column;
    gap:1rem;
    width:70rem;
  }

    .flex_right{

    display: flex;
    flex-direction: column;
    gap:.5rem;
    justify-content: center;
  }

  .line{

    height:2px;
    background-color: var(--hellgrau);
    width: 100%;
  }

  .flex_left--header{
    font-size: clamp(1.5rem, 3vw, 42px);
    margin-bottom: 0rem;
  }

.leer{
  height: 50vh;
}

.flex_right--subhead{
  font-weight: 600;
  margin-bottom: 0;
}

.flex_right--info{
  margin-bottom: 0;
}

/* Section LOGO */

.logo_section{

  margin-top: 5rem;
}
.logo_flex_main{

  display: flex;
  flex-direction: row;
  gap:6rem;

}

.descrip{

  display: flex;
  flex-direction: column;
  gap:1rem;
  align-items: flex-start;

}

.descrip_header{
font-size: clamp(1.5rem, 3vw, 42px);
  margin-bottom: 0;
}


/* Section Boxes  */
.boxes{

  margin-top: 5rem;
  margin-bottom: 5rem;
}
.boxes_mainflex{
  display: flex;
  flex-direction: row;
  gap:2rem;
  align-items: center;
  justify-content: center;
}

.boxes_flex--left{
  display: flex;
  flex-direction: column;
  gap:1rem;
  width:100%;

} 

.boxes_left--item{
  display: flex;
  flex-direction: column;
  border: 1px solid var(--hellgrau2);
  padding: 1rem 2rem 1rem 2rem;
}

.boxes_flex--right{
  display: flex;
  flex-direction: column;
  gap:1rem;
  width:100%;
}

.boxes_right--item{
  display: flex;
  flex-direction: column;
  border: 1px solid var(--hellgrau2);
  padding: 1rem 2rem 1rem 2rem;

}

.boxes_heading{

  margin-bottom: 0;

}


/* Section Jetzt Kontakt aufnehmen */

.zertifi_flex--main{

  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap:5rem;
}

.zertifi_flex--up{
  display: flex;
  flex-direction: column;
  align-items: center;

}

.zertifi_up--heading{

  font-size: clamp(1.5rem, 3vw, 42px);
  width:55%;
  margin-top: 5rem;
  margin-bottom: 0rem;

}

.zertifi_flex--down{
  display: flex;
  flex-direction: row;
  gap:2rem;
  width: 100%;

}

.zertifi_up_info{
  width:70%;
}
.triplet{
  display: flex;
  flex-direction: column;
  width:33%;
  gap:2rem;
  align-items: center;
  justify-content: center;
}

.triplet_subheading{
  white-space: nowrap;
  margin-bottom: -1rem;
}
.triplet{
position: relative;
}

.triplet::before{  
  content: "";
  position: absolute;
  top: -1.1rem;
  width: 5rem;
  height: 5rem;
  background-color: var(--grün_background);
  border-radius: 50%;
  z-index: 0;

}
.triplet_png{
  width:3rem;
    border-radius: 50%;
  position: relative;
  z-index: 1;
  object-fit: cover;
}

.triplet_info{
  color:var(--dunkelgrau-grün);
}



/* Sektion Formular  */
/* ------------------------------------------------------ */
.formular{
  margin-top: 5rem;
  padding-bottom: 5rem;
}

form {

  margin: auto;
  background: var(--hellgrün);
  padding: 1rem;
}

#anfrageForm{
  border: 1px solid var(--dunkelgrau-grün);
    border-radius: 1rem;
    padding: 4rem;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.form-group {
  flex: 1 1 45%;
  gap:.75rem;
  display: flex;
  flex-direction: column;
}

.form-group label {
  margin-bottom: 0.3rem;
  font-weight: 600;
}

.iti {
 
}

.iti__country-list {
  max-height: 250px; /* begrenzt die Höhe des Dropdowns */
  overflow-y: auto;  /* Scrollbar bei Bedarf */
  width: 100%;       /* passt sich dem Input an */
  box-sizing: border-box;
  border-radius: 3rem;
}


input[type="text"],
input[type="email"],
input[type="tel"] {
  padding: 0.8rem;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
}

input.error {
  border-color: red;
}

.checkbox-group {
  display: flex;
  flex-direction: column;
  margin: 1rem 0;
}

.checkbox {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid var(--dunkelbraun-grau, #555);
  border-radius: 4px;
  background-color: var(--dunkelgrau-grün, #2a3c2f);
  cursor: pointer;
  opacity: 0.2;
  position: relative;
  display: inline-block;
  margin-right: 0.5rem;
}

/* Sichtbarer Haken */
.checkbox:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  width: 6px;
  opacity: 1;
  height: 12px;
  border: solid var(--weiß);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}



.group{
  display: flex;
  flex-direction: row;
  gap:5rem;
}

.checkbox-group label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.form-group-full {
  flex: 1 1 100%;
}

.submit-button {
  background-color: var(--dunkelgrün);
  color: white;
  border: none;
  padding: 1rem;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  width: 100%;
  margin-top: 1rem;
}

.error-message {
  color: red;
  font-size: 0.9rem;
  margin-top: 0.3rem;
}


.addFlex{
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

input[type="checkbox"] {

  min-width:1.3rem;
  min-height: 1.3rem;
}

/* Sektion Zertifizierung nach Maß */
/* ---------------------------------------------------------- */

.cards {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  margin-top: 5rem;
  margin-bottom: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  width:min(80vw,68rem);
}

.cards_heading{
  font-size: clamp(1.5rem, 3vw,42px);
}

.cards_subheading{

  font-size: clamp(1.2rem, 2vw, 2.2rem);;
}

.section h2 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.section p {
  max-width: 700px;
  margin: 0 auto 2rem;
  color: var(--hellgrau2);
  font-size: 1rem;
}

.options {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: center;
  width:90%;
}

.card {
  flex: 1 1 300px;
  background-color: var(--weiß);
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0,0,0,0.03);
  text-align: left;
}

.cards_info{
  width:55rem;
  margin-top:0rem;
  margin-bottom:3rem;
}
.card.premium {
  background-color: var(--hellgrün);
  border: none;
}

.card h3 {
  margin-top: 0;
  font-size: 1.3rem;
}

.card .preis {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 1rem 0;
}

.card p {
  color: var(--grau);
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
}

.card ul {
  list-style: none;
  padding-top: 2rem;
  margin: 0;
  padding-left: 0;

}

.card ul li {
  display: flex;
  align-items: center;
  margin-bottom: 1.7rem;
  font-size: 0.95rem;
  font-weight: 600;
}

.checkimg{

  width:1.5rem;
  margin-right: 1rem;
}


/* Footer */
/* ----------------------------------------------------------- */

.footer {
  background-color:var(--dunkelbraun-grau);
  color: #fff;
  padding: 1rem 1rem;
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: space-evenly;
}

.footer-column h4 {
  font-size: 1.1rem;
  margin-bottom: 0rem;
  border-bottom: 1px solid #333;
  padding-bottom: 1.5rem;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
  padding-top: 1rem;
}

.footer_flex{
  display: flex;
  flex-direction: row;
  gap:12rem;

}
.footer-column ul li {
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.footer-column ul li a {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}

.footer-column ul li a:hover {
  border-color: #fff;
}

.footer-column span {
  margin-right: 0.5rem;
}

.footer-column p {
  font-size: 0.9rem;
  line-height: 1.5;
  margin-top: 1rem;
  color: #ccc;
}

.footer-column a {
  color: #ccc;
  text-decoration: none;
}

.footer-column a:hover {
  color: #fff;
}

.datenschutz{

  margin-top: 5rem;
  margin-bottom: 5rem;
}

.impressum{
  margin-top: 5rem;
  margin-bottom: 5rem;
}



/* Breakpoints */

/* @media only screen and (max-width: px) {
  . {

  }
} */


@media only screen and (max-width: 1200px) {
   .container{
    padding-top: 2rem;
  }

  .flex_main{
    margin-top: 2rem;
  }

  .zertifi_flex--down{
    flex-wrap: wrap;
    justify-content: center;

  }

  .eins{
    width:33%;
  }

  .one{

    width:100%;
    order:1;
  }

  .two{
    order:2;
  }

  .three{
    order:3;
  }
}

/* ----------------------------------- */

@media only screen and (max-width: 950px) {
  #hamburger {
  display:block;
  }

  .topbut{
      display: none;
  }

  .navbar{
      width: auto;
  }

  .linkside {
    display: none;
   }

  .cards_info{
    width:auto;
  }
}

/* ----------------------------------- */

@media only screen and (max-width: 850px) {
  #links {
  display:none;
  }

  .zertifi_flex--down{
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
  }
  
  .triplet{
  
    width: 45%;
  
  }
  
  .eins{
    width: auto;
  }
  
}


/* ----------------------------------------- */

@media (max-width: 768px) {
  .options {
    flex-direction: column;
    align-items: stretch;
  }

  .footer-container {
    gap: 2rem;
  }
}

/* ----------------------------------------- */


@media only screen and (max-width: 700px) {
  .container {
     flex-direction: column;
     padding-top: 2rem;
     gap:2rem;
      }

  .item_header{
    text-align: center;
  }

  .container_item{

   align-items: center;
  }

  .startpic{
    margin-bottom: 4rem;
  }

  .flex_main{

    flex-direction: column;
    gap:1rem;
  }

  .flex_left{
    width:auto;
  }

  .logo_flex_main{

    flex-direction: column;
    align-items: center;
    gap:3rem;
  }

  .zert_pic{

    width:20rem;
}

.logo_section{

  margin-top: 3rem;
}

.boxes{
  margin-top: 3rem;
}

.boxes_mainflex{

  flex-direction: column;
}

.triplet{
  width:100%;
}

.cards{
  width: min(90vw,80rem);
}

.triplet_subheading{
  margin-top: 2rem;
}

.triplet_info{
  margin-top: 0rem;
  margin-bottom: 2rem;
}

section.green_bg{
  padding-bottom: 0rem;
}

.landing{
  padding-bottom: 0rem;
}

.datenschutz{

  margin-top: 2rem;
  margin-bottom: 2rem;
}

.impressum{

  margin-top: 2rem;
  margin-bottom: 2rem;
}

}

/* ------------------------------------------ */

@media only screen and (max-width: 580px) {
  #hamburger {
     margin-left:5rem;
      }

      .form-group {
        flex: 1 1 100%;
      }

      .zertifi_up--heading{
        width: auto;
      }

      .zertifi_up_info{
        width: auto;
      }
      .group{
        flex-direction: column;
        gap:2rem;
      }

      #anfrageForm{
        padding:1rem;
      }

      .zertifi_flex--main{
        gap:4rem;
      }

      .descrip{
        text-align: center;
        align-items: center;
      }
  }


  /* ---------------------------------------------- */



  @media only screen and (max-width: 450px) {
    .container{
        gap:1rem;
        }
  
      .head_intro{
  
        padding-top: 1rem;
        padding-bottom: 1rem;
      }

      .footer-container{

        justify-content: center;
      }
    }
  