/* =========================================================
   Fonts
========================================================= */

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeueLight.otf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeueMedium.otf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


/* =========================================================
   Base
========================================================= */

:root {
  --font-light: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --color-text: #111111;
  --color-background: #ffffff;
  --em-green: #042a22;
  --em-yellow: #f9b342;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-light);
  font-weight: 300;
  color: var(--lumore-blue);
  background: var(--color-background);
  line-height: 1.5;
}


/* =========================================================
   Typography
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
   font-family: var(--font-light);
  font-weight: 300;
  line-height: 1.1;
}
h1{
    font-size:2.5rem;
}
h2{
    font-size:2.5rem;
    margin-bottom:1rem;
}

h3{
    font-size:1.5rem;
    padding-top:1rem;
}

p{
       font-family: var(--font-light);
font-weight:300;
  margin-bottom:1rem;
  font-size:1.25em;
  opacity:0.7;
}
.content ul{
    padding:0;
}
.content li{
    font-family: var(--font-light);
font-weight:300;
  font-size:1.25em;
  opacity:0.7;
  list-style:none;
  padding-left:1.75rem;
  position:relative;
}

.content li:before{
    content:"...";
    display:block;
    color:var(--em-yellow);
    font-weight:400;
    font-size:1.25rem;
    display:inline-block;
    padding-right:0.5rem;
    position:absolute;
    left:0rem;
    top:0px;
}
.dark li, .dark p, .dark a, .dark h1, .dark h2, .dark h3, .dark h4{
    color:white;
}
.dark p{
    opacity:0.7;
}
a {
  color: inherit;
  text-decoration: none;
  font-family:var(--font-light);
  font-weight:300;
}

a:hover{
    color:inherit;
}

footer a, .content a{
    font-size:1.25rem;
    font-weight:400;
    font-family:var(--font-light);
        transition:0.5s cubic-bezier(.8,0,.38,1);

}

footer a:hover, .content a:hover{
    transform:scale(1.1);
        transition:0.5s cubic-bezier(.8,0,.38,1);
        color:white;

}

strong,
b {
  font-weight: 400;
  color:var(--em-yellow);
}

span.cap{
    color:var(--em-yellow);
    font-size:1.5rem;
}


/**** KEYFRAME ANIMATIONS *****/
@keyframes flow{
    0%{ transform:translateX(0);opacity:0.00;}
    2%{ transform:translateX(-4%);opacity:0.05;}
    98%{ transform:translateX(-196%);opacity:0.05}
    100%{transform:translateX(-200%);opacity:0}
}

@keyframes blurInSlow{
    0%{transform:translateY(-50px)scale(1.5);filter:blur(20px);opacity:0}
    100%{transform:translateY(0)scale(1);filter:blur(0);opacity:1}
}
.blurInSlow{
    animation:blurInSlow 1s cubic-bezier(.8,0,.38,1);
}
@keyframes fadeInTopSlow{
    0%{transform:translateY(40px)scale(1.1);opacity:0}
    100%{transform:translateY(0)scale(1);opacity:1}
}
@keyframes fadeInDownSlow{
    0%{transform:translateY(-40px)scale(1.1);opacity:0}
    100%{transform:translateY(0)scale(1);opacity:1}
}
@keyframes fadeInLeftSlow{
    0%{transform:translateX(-40px)scale(1.1);opacity:0}
    100%{transform:translateY(0)scale(1);opacity:1}
}
.fadeInTopSlow{
    animation:fadeInTopSlow 1s cubic-bezier(.8,0,.38,1);
}
.fadeInDownSlow{
    animation:fadeInDownSlow 1s cubic-bezier(.8,0,.38,1);
}
.fadeInTopMed{
    animation:fadeInTopSlow 0.6s cubic-bezier(.8,0,.38,1);
}
.fadeInDownMed{
    animation:fadeInDownSlow 0.6s cubic-bezier(.8,0,.38,1);
}
.fadeInLeftMed{
    animation:fadeInLeftSlow 0.6s cubic-bezier(.8,0,.38,1);
}
/* =========================================================
   Media
========================================================= */

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}


/* =========================================================
   Layout
========================================================= */
nav{
    position:fixed;
    top:0;
    left:0;
    display:flex;
    padding: 2rem 8rem !important;
    width: 100%;
    justify-content:space-between;
    align-items:center;
    z-index:99;
    transition:0.5s cubic-bezier(.8,0,.38,1);
}

.nav--scrolled{
    background-color:var(--em-green);
    transition:0.5s cubic-bezier(.8,0,.38,1);
    padding:1.5rem 8rem;
}
.logo{
    width:15rem;
        transition:0.5s cubic-bezier(.8,0,.38,1);
}

.logo:hover{
    transform:scale(1.05);
        transition:0.5s cubic-bezier(.8,0,.38,1);

}


.main-nav{
    padding:0;
    margin:0;
    display:flex;
    gap:calc(1rem + 36px);
}

.main-nav li{
    list-style:none;
    display:flex;

    align-items:center;
    position:relative;
}

.main-nav li a:before{
    content:"";
    width:0px;
    height:1px;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    left:-26px;
    background-color:var(--em-yellow);
            transition:0.5s cubic-bezier(.8,0,.38,1);

}

.main-nav li a:hover:before{
    width:20px;
            transition:0.5s cubic-bezier(.8,0,.38,1);


}

.main-nav li:last-child:after{
    display:none;
}

.main-nav li a{
    color:white;
    font-size:1.25em;
    transition:0.5s cubic-bezier(.8,0,.38,1);
    position:relative;
}

.main-nav li a:hover{
    transform:scale(1.1);
   transition:0.5s cubic-bezier(.8,0,.38,1);
}


/* TEST */
/* =========================================================
   Mobile Menu
========================================================= */

.mobile-toggle {
  position: relative;
  z-index: 1001;

  display: none;

  width: 54px;
  height: 54px;

  border: 0;
  background: transparent;
  cursor: pointer;
}

.mobile-toggle span {
  position: absolute;
  right:1rem;

  width: 30px;
  height: 2px;

  background: #ffffff;

  transition: all 0.3s ease;
}

.mobile-toggle span:nth-child(1) {
  top: 18px;
}

.mobile-toggle span:nth-child(2) {
  top: 26px;
}

.mobile-toggle span:nth-child(3) {
  top: 34px;
}


/* Active */

.mobile-toggle.active span:nth-child(1) {
  top: 26px;
  transform: rotate(45deg);
}

.mobile-toggle.active span:nth-child(2) {
  opacity: 0;
}

.mobile-toggle.active span:nth-child(3) {
  top: 26px;
  transform: rotate(-45deg);
}


/* =========================================================
   Mobile Nav
========================================================= */
.content{
    padding:8rem 12rem;
    width:80%;
    margin:0px auto;
    max-width:1600px;
}
.dark{
    background-color:var(--em-green);
}

.trenner{
    width:100px;
    height:1px;
    background-color:var(--em-yellow);
}
header{
    height:600px;
    width:100%;
    display:flex;
    background-color:var(--em-green);
    align-items:center;
    position:relative;
    background: linear-gradient(90deg,rgba(4, 42, 34, 1) 0%, rgba(0, 20, 16, 1) 100%);
    position:relative;
    padding-top:140px;
    }

    img.ansprechpartner{
        position:absolute;
        bottom:-80px;
        right:18rem;
        width:300px;
        height:auto;
        border:3px solid white;
        box-shadow:0px 0px 30px rgba(0,0,0,0.5);
    }

    .textcaption-50{
        width:60%;
    }
    .contactlink{
        gap:1rem;
    }
.icon{
    width:20px;
    height:20px;
}

.right-container{
    gap:3.5rem;
}

.contact-icons{
    gap:1rem;
}

.copyright{
    text-align:right;
}

footer a:last-child{
    padding-left:1rem;
}
section{
    position:relative;
}
.anchor {
    position: absolute;
    top: -143px;
    left: 0;
}

section.white a:hover{
    color:inherit;
}


@media only screen and (max-width:1650px){
    .content{
    padding:8rem 12rem;
    width:90%;
}

img.ansprechpartner{
    right:10rem;
}
}

@media only screen and (max-width:1450px){
    .logo{
        width:13rem;
    }

    .anchor {
    top: -132px;
}
        .content{
    padding:8rem 10rem;
    width:95%;
}
}

@media only screen and (max-width:1250px){

    nav{
        padding:2rem 3rem !important;
    }
            .content{
    padding:5rem 10rem;
    width:100%;
}

img.ansprechpartner{
    right:5rem;
}
}

@media only screen and (max-width:1080px){

    .right-container {
        position: fixed;
        inset: 0;
        z-index: 1000;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background: var(--em-green);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
        .right-container.active {
        opacity: 1;
        visibility: visible;
    }

    .right-container.active .main-nav{
            flex-wrap: wrap;
    flex-direction: column;
    text-align: center;
    }
        .right-container.active .main-nav li{
            display:block;
        }
        .mobile-toggle {
        display: block;
    }

                .content{
    padding:4rem 6rem;
    width:100%;
}

img.ansprechpartner{
    right:4rem;
}

.textcaption-50{
    width:50%;
}
}

@media only screen and (max-width:820px){
                .content{
    padding:3rem 4rem;
    width:100%;
}

    img.ansprechpartner {
        bottom:-3rem;
        right: -1rem;
            width: 250px;
    }

    h1, h2{
        font-size:2rem;
    }
        .copyright{
        text-align:left;
        margin-top:1rem;
    }

    .row > *{
        width:100%;
        flex-wrap:wrap;
    }
}

@media only screen and (max-width:767px){

}
@media only screen and (max-width:600px){
                .content{
    padding:3rem 2rem;
    width:100%;
}

img.ansprechpartner{
    right:unset;
    left:2rem;
    height:400px;
    bottom:-200px;
}

header.startseite{
    padding-top:140px;
    padding-bottom:200px;
    height:auto;
}
section.first{
    padding-top:200px;
}

.textcaption-50{
    width:100%;
}
}

@media only screen and (max-width:450px){
                .content{
    padding:3rem 2rem;
    width:100%;
}

header.startseite{
    padding-top:140px;
    padding-bottom:200px;
    height:auto;
}

    nav {
        padding: 2rem 2rem !important;
    }
    .logo{
        width:150px;
    }
}

