/* latin-ext */
@font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* latin-ext */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QytlBfK.woff2") format('woff2');

    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Spartan';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("fonts/l7gfbjR61M69yt8Z2QKtlA.woff2") format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Spartan', sans-serif;
}

h1 {
    font-size: 50px;
    line-height: 64px;
    color: #222;
}

h2 {
    font-size:46px;
    line-height: 54px;
    color: #222;
}

h4 {
    font-size: 20px;
    color: #222;
}

h6{
    font-weight: 700;
    font-size: 16px;
}

p{
    font-size: 16px;
    color: #272727;
    margin: 15px 0 20px 0;
}

.section-p1 {
    padding: 40px 80px;
}

.section-m1 {
    margin: 40px 0;
}

body {
    width: 100%;
}

#header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 80px;
    background: #f6f6f6;
    box-shadow: 0 5px 15px rgba(0,0,0,0.06);
    z-index: 999;
    position: sticky;
    top:0;
    left:0;
}

#navbar{
    display: flex;
    align-items: center;
    justify-content: center;
}

#navbar li{
    position: relative;
    list-style: none;
    padding: 0 20px;
}

#navbar li a{
    text-decoration: none;
    font-size: 22px;
    font-weight: 600;
    color: #1a1a1a;
    transition: 0.3s ease;
}

#navbar li a:hover,
#navbar li a.active{
    color: #0c7772;
}

#navbar li a.active::after,
#navbar li a:hover::after{
    content: "";
    width: 30%;
    height: 2px;
    background: #0c7772;
    position: absolute;
    bottom: -4px;
    left: 20px;
}

/*Home Page*/
#hero,#subhero,#hero2{
    background-color: #f6f6f6;
    
    width: 100%;
    
    background-size: 100%; 
    background-repeat: no-repeat;
    padding: 0 80px; 
    display: flex;
}
#subhero{
    height: auto; 
    padding: 30px; 
}

#hero{
    background-image: url("img/cloud-blue-sky.jpg");
    height: 90vh;
    background-position: center;
}

#hero .inhero{
    display: flex; 
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
#hero2 .inhero{
    display: flex; 
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 30%;
}

#hero h4{
    padding-bottom: 15px;
    
}
#hero h1,#hero h2, #hero h4, #hero p{
    background-color: #f6f6f6;
    border-radius: 4px;
    border: 3px;
    border-color: #f6f6f6;
    padding: 5px;
}
#hero h1,#hero h2, #subhero h2{
    color: #0c7772;
}

#hero2 h1,#hero2 h2, #hero2 h4, #hero2 p{
    background-color: #f6f6f6;
    border-radius: 4px;
    border: 3px;
    border-color: #f6f6f6;
    padding: 5px;
}
#hero2 h1,#hero2 h2{
    color: #0c7772;
}
#hero2 h2{
    font-size: 25px;
}

#hero button{
    background-image: url("img/buttonbackground.png");
    background-color: transparent;
    border-radius: 50px;
    color: #0c7772;
    border: 0;
    padding: 14px 15px 16px 15px;
    background-repeat: no-repeat;
    cursor: pointer;
    font-weight: 700;
    font-size: 17px;
}
#hero button:hover{
    
    box-shadow: 1px 1px 50px rgba(255, 255, 255, 0.9);
}

#hero img{
    width: 200wh;
    padding-left: 50wh; 
}

#feature{
    background-color: #f6f6f6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

}
#feature .fe-box{
    width: 250px;
    text-align: center;
    padding: 25px 15px;
    box-shadow: 20px 20px 34px rgba(0,0,0,0.03);
    border: 1px solid #a7c2f6;
    border-radius: 4px;
    margin: 15px 0;
}
#feature .fe-box:hover{
    box-shadow: 10px 10px 54px rgba(70,62,221,0.1);
}
#feature .fe-box h6{
    display: inline-block;
    padding: 9px 8px 6px 8px;
    line-height:1;
    border-radius: 4px;
    color: #0c7772;
    background-color:#a7c2f6;
}
#feature .fe-box img{
    width: 100%;
    margin-bottom: 10px;
}

#feature .fe-box:nth-child(2) h6,
#feature .fe-box:nth-child(4) h6,
#feature .fe-box:nth-child(6) h6{
    background-color:#024a72 ;
    color:#e6e6e6;
}

#product1 {
    text-align: center;
    background-color: #f6f6f6;
}
#product1 .pro-container{
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    flex-wrap: wrap;

}
#product1 a{
    width: 23%;
    min-width: 250px;
    padding: 10px 12px;
    border: 1px solid #a7c2f6;
    border-radius: 25px;
    cursor: pointer;
    box-shadow: 20px 20px 30px rgba(0,0,0,0.05);
    margin: 15px 0;
    transition: 0.2s ease;
    text-decoration: none;
}
#product1 .pro img{
    width: 100%;
    border-radius: 20px;
}
#product1 .pro img:hover{
    box-shadow: 5px 5px 30px rgba(99, 167, 255, 0.44);

}
#product1 .a:hover{
    box-shadow: 20px 20px 30px rgba(0,0,0,0.1);
}
#product1 .pro .des{
    text-align: start;
    padding: 10px 0;
}
#product1 .pro .des span{
    color: #1a1a1a;
    font-size: 16px; 
}
#product1 .pro .des h5{
    padding-top: 7px;
    color: #1a1a1a;
    font-size: 20px;
    
}
#product1 .pro .des h4{
    padding-top: 7px;
    font-size: 18px;
    font-weight: 700;
    color: #0c7772;
}

#kontaktaufnahme{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    background-color: #041e42;
}
#kontaktaufnahme h4{
    font-size: 26px;
    font-weight: 700;
    color: #f6f6f6;
}
#kontaktaufnahme p{
    font-size: 22px;
    font-weight: 600;
    color: #818ea0;
}
#kontaktaufnahme span{
    color: #0e74f9;
}

#kontaktaufnahme button{
    background-image: url("img/arrow_forward.png");
    border-radius: 5px;
    background-color: #0e74f9;
    color: transparent;
    border: 0;
    padding: 20px 10px 5px 20px;
    background-repeat: no-repeat;
    cursor: pointer;
    font-weight: 700;
    font-size: 45px;
}
#kontaktaufnahme button:hover{
    box-shadow: 5px 5px 20px rgba(109, 172, 255, 0.872);
}

footer{
    align-items: center;
    padding-left: 10%;
    padding-right: 10%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

footer .col{
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px; 
}
footer .logo {
    margin-bottom: 30px;
}

footer h4{
    font-size: 14px;
    padding-bottom: 20px;
}

footer p{
    font-size: 16px;
    margin: 0 0 8px 0
}

footer a{
    font-size: 16px;
    text-decoration: none;
    color: #222;
    margin-bottom: 10px; 
}

footer .copyright{
    width: 100%;
    text-align: center;
}

/*Anlagen Page*/
#subhero{
    display: flex;
    flex-direction: row;
    align-items: center;
}
#subhero .title{
    padding-right: 100px;
}

#subhero .infotext {
    width: 50%;
    padding-left: 50px;
}

#subhero .infotext h4,
#hero2 .kontaktformular h4{
    text-align: center;
    font-size: 30px;
    flex-wrap: nowrap;
}
#subhero .infotext p{
    
    font-size: 100%;
    text-align: center;
    flex-wrap: wrap; 

}

#subhero h2{
    font-size: 150%;
}

#product1 .anlagenselection a{
    width: 30%;
}


/*Kontaktformular Page*/
/* Kontaktformular modernisiert */
/* ==============================
   KONTAKTFORMULAR - Power2peak
   ============================== */

#hero2 {
  background: linear-gradient(180deg, #e9f5f4 0%, #f6f6f6 100%);
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 80px 20px;
}

/* Container des Formulars */
.kontaktformular {
  background-color: #ffffff;
  max-width: 720px;
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  padding: 40px 50px;
  font-family: 'Spartan', sans-serif;
  color: #222;
}

/* Überschrift */
.kontaktformular h4 {
  text-align: center;
  font-size: 28px;
  color: #0c7772;
  margin-bottom: 30px;
}

/* Labels */
.kontaktformular label {
  display: block;
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 8px;
  color: #333;
}

/* Input + Textarea */
.kontaktformular input,
.kontaktformular textarea {
  width: 100%;
  border: 2px solid #d8d8d8;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: 16px;
  transition: border-color 0.3s, box-shadow 0.3s;
  background-color: #fafafa;
  resize: vertical;
}
.kontaktformular textarea#message {
  height: 200px;   /* oder 220px, wenn du’s luftiger willst */
}
.kontaktformular input:focus,
.kontaktformular textarea:focus {
  border-color: #088178;
  box-shadow: 0 0 6px rgba(8, 129, 120, 0.3);
  outline: none;
  background-color: #fff;
}

/* Button */
.kontaktformular button {
  background-color: #088178;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  border: none;
  border-radius: 30px;
  padding: 14px 36px;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
  display: block;
  margin: 10px auto 0;
}

.kontaktformular button:hover {
  background-color: #0c7772;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(12, 119, 114, 0.3);
}

/* DSGVO-Hinweis */
.kontaktformular .datenschutz-hinweis {
  text-align: center;
  font-size: 0.9em;
  color: #555;
  margin-top: 20px;
  line-height: 1.4;
}

.kontaktformular .datenschutz-hinweis a {
  color: #088178;
  text-decoration: underline;
}

/* Mobile Ansicht */
@media (max-width: 768px) {
  #hero2 {
    padding: 60px 10px;
  }

  .kontaktformular {
    padding: 30px 25px;
  }

  .kontaktformular h4 {
    font-size: 24px;
  }
}



.grid-container {
    display: grid;
    padding: 30px;

  }
  .grid-item {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(0, 0, 0, 0.5);
    padding: 15px;
    font-size: 20px;
    text-align: center;
  }

  #anlagenbeispiel{
    background-color: #ccd2da;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto; 
  }

  #anlagenbeispiel .leftwing{
    width: 70%;
  }
  #anlagenbeispiel .rightwing{
    width: 30%;
  }

  #anlagenbeispiel .leftwing img{
    width: 40vw; 
  }

  #anlagenbeispiel .grid-container{
    grid-template-columns: auto auto;
  }
  #anlagenbeispiel h2{
    color: #0c7772;
    font-size: 25px; 
    padding: 10px; 
    margin-top: 40px; 
  }

  #anlagenvergleich{
    background-color: #ccd2da;
    height: auto; 
    justify-content: center;
    align-items: center;
  }

  #anlagenvergleich h2{
    text-align: center;
    color: #0c7772;
    font-size: 30px; 
    padding: 10px; 
    margin-top: 40px; 
  }

#anlagenvergleich .grid-container{
    grid-template-columns: auto auto auto auto auto auto auto auto;
  }

@media screen {
    


    #anlagenvergleich .grid-container {
        align-self: center; 
        margin: 10px;
        grid-gap: 1px;
        max-width: max-content;
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        grid-auto-flow: row dense;
        }
        #anlagenvergleich .grid-item:nth-child(-n + 8 ) {
        grid-column: 1;
        }
        #anlagenvergleich .grid-item:nth-child(n + 9) {
        grid-column: 2;
        }
        #anlagenvergleich .grid-item:nth-child(n + 17) {
        grid-column: 3;
        }
        #anlagenvergleich .grid-item:nth-child(n + 25) {
        grid-column: 4;
        }  
               
  }


#aboutcontent {
    background-color: #e6e6e6;
}

#aboutcontent h2{
    text-align: center;
    padding: 30px; 
    color: #088178; 
}

#aboutcontent .aboutlist{
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto; 
}
#aboutcontent .aboutlist li{
    display: flex;  
    width: 600px; 
    
}
#aboutcontent .aboutlist li img{
    width: 200px;
    padding: 10px; 
}
#aboutcontent .aboutlist li p,
#aboutcontent .aboutlist li h4{
    padding: 10px; 
    margin: 0px; 
}

#aboutcontent .aboutlist li h4{
    color: #088178; 
    
}


#aboutcontent .aboutlist div{
    width: 400px; 
}

#servicecontent {
    background-color: #e6e6e6;
    padding: 50px; 
}

#servicecontent h2{
    text-align: center;
    padding: 30px; 
    color: #088178; 
}
#servicecontent  p,
#servicecontent  h4{
    padding: 10px; 
    margin: 0px; 
    text-align: center;
}
#servicecontent h4{
    color: #088178;
}

#impressumstext {
    background-color: #e6e6e6;
    padding: 50px; 
}

#impressumstext h2{
    text-align: center;
    padding: 30px; 
    color: #088178; 
}
#impressumstext  p,
#impressumstext  h4{
    padding: 10px; 
    margin: 0px; 
    text-align: center;
}
#impressumstext h4{
    color: #088178;
}
.center-wrapper {
    display: flex;
    justify-content: center; /* horizontal zentrieren */
    align-items: center;     /* vertikal zentrieren optional */
    padding: 50px 20px;      /* Abstand oben/unten, optional links/rechts */
    width: 100%;
}
