/* ------------------------------ */
/* ----------- Header ----------- */
/* ------------------------------ */

/* --------- Allgemein ---------- */

header {
    min-height: var(--height-header); 
}
 
.site_header {
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--height-header);
    padding: 1.25rem 0;
    background-color: var(--brand-white);
    -webkit-transition: top var(--transition-2);
    -o-transition: top var(--transition-2);
    transition: top var(--transition-2);
}
 
.page-scrolled .site_header {
    top: calc(-1* var(--height-header));
    background-color: var(--brand-white);
    -webkit-box-shadow: var(--box-shadow-2);
    -moz-box-shadow: var(--box-shadow-2);
    box-shadow: var(--box-shadow-2);
}

.logged-in.page-scrolled .site_header {
    top: calc(-1* var(--height-header));
}

.page-scrolled.header-fixed .site_header, .page-scrolled.menu-open .site_header  {
    top: 0;
}

.logged-in .site_header, .logged-in.page-scrolled.header-fixed .site_header {
    top: 50px;
}
 
.site_header__inside {
    width: 100%;
}
 
.site_header__row {
    margin-left: 0;
    margin-right: 0;
}

.site_logo {
    line-height: 0;
}
   
.site_logo a {
    display: inline-block;
}



/* ---- Headerimage / -video ---- */

.site_cover {
    position: relative;
    z-index: 1;
    margin-top: var(--height-header);
}

.site_cover__container {
   position: relative;
   height: 100%;
   width: 100%;
}

.header--cover-big .site_cover {
    height: 90vh;
    height: 90svh;
    min-height: 650px;
}

.header--cover-small .site_cover {
    height: 55vh;
    height: 55svh;
    min-height: 400px;
}

.site_cover__headline {
    position: relative;
    z-index: 1;
    height: 100%;
    margin: 0;
}

.headline__container {
    width: 100%;
    padding: 0 0 var(--spacing-7);
}

.headline__container span, .headline__container h1, .headline__container .button {
    max-width: 800px;
}

.headline__container h1 {
    font-size: 3.2rem;
    line-height: 1;
    margin-top: var(--spacing-1);
}


/* Bottom */
.site_cover__bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}



/* --------- Navigation --------- */

/* General */
.site_nav li a {
    font-weight: 500;
    -webkit-transition: var(--transition-1);
    -o-transition: var(--transition-1);
    transition: var(--transition-1);
}


/* Main */
.site_nav__main > li > a {
    position: relative;
    display: inline-block;
    padding: var(--spacing-1) 0;
}

.site_nav__main > li.nav__item--active > a, .page-id-21 li.legal-notice a, .page-id-23 li.privacy-statement a {
    font-weight: bold;
}

.no-touchevents .site_nav__main > li.nav__item--active > a:hover {
    opacity: 1;
}




/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */


@media all and (min-width: 992px) {

    /* General */
    .site_nav li {
        display: inline-block;
    }

    /* Main */
    .site_nav__main > li {
        margin-right: var(--spacing-5);
    }

    .site_nav__main li:last-child {
        margin-right: 0;
    }


    /* Sub */
    .nav__sub {
        visibility: hidden;
        opacity: 0;
        position: absolute;
        -webkit-box-shadow: var(--box-shadow-2);
        -moz-box-shadow: var(--box-shadow-2);
        box-shadow: var(--box-shadow-2);
        -webkit-transition: top var(--transition-2);
            -o-transition: top var(--transition-2);
                transition: top var(--transition-2);
    }

    .page-scrolled .site_header .nav__sub {
        top: 0;
    }

    .nav__sub, .page-scrolled.header-fixed .nav__sub {
        top: var(--height-header);
    }

    .logged-in .nav__sub, .logged-in.page-scrolled.header-fixed .nav__sub {
        top: calc(var(--height-header) + 50px);
    }

    li:not(.wpml-ls-item) .nav__sub {
        left: 0;
        width: 100%;
        background-color: var(--brand-white);
    }

    li:not(.wpml-ls-item) .nav__sub__nav li {
        margin-right: var(--spacing-5);
    }

    li.wpml-ls-item .nav__sub .inside {
        padding: 8px 15px;
    }

    .nav__sub__nav li:last-child {
        margin-right: 0;
    }

    li:not(.wpml-ls-item) .nav__sub__nav li a {
        position: relative;
        display: block;
        padding: var(--spacing-4) var(--spacing-4) var(--spacing-4) 0;
        font-size: var(--font-size-5);
    }

}


@media all and (max-width: 1239.98px) and (min-width: 992px) {



}


@media all and (max-width: 991.98px) and (min-width: 768px) {



}


@media all and (max-width: 991.98px) {

    /* General */
    body.menu-open {
        overflow: hidden
    }

    /* Icon */
    .site_nav__icon {
        cursor: pointer;
        position: absolute;
        top: 0;
        right: 0;
        width: var(--height-header);
        height: var(--height-header);
    }

    .site_nav__icon__hamburger {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }

    .site_nav__icon__hamburger .line {
        width: 24px;
        height: 2px;
        background-color: var(--brand-black);
        display: block;
        margin: 5px auto;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .menu-open .site_nav__icon .line:nth-child(1) {
        -webkit-transform: translateY(7px) rotate(45deg);
            -ms-transform: translateY(7px) rotate(45deg);
                transform: translateY(7px) rotate(45deg);
    }

    .menu-open .site_nav__icon .line:nth-child(2) {
        opacity: 0;
    }

    .menu-open .site_nav__icon .line:nth-child(3) {
        -webkit-transform: translateY(-7px) rotate(-45deg);
            -ms-transform: translateY(-7px) rotate(-45deg);
                transform: translateY(-7px) rotate(-45deg);
    }

    .menu-open.close-animation .site_nav__icon .line:nth-child(1), .menu-open.close-animation .site_nav__icon .line:nth-child(3) {
        transform: none;
        transition-delay: .25s;
    }

    .menu-open.close-animation .site_nav__icon .line:nth-child(2) {
        opacity: 1;
        transition-delay: .25s;
    }

    
    /* Main */
    .site_nav__container {
        position: fixed;
        top: var(--height-header);
        left: 0;
        width: 100%;
        height: calc(100vh - var(--height-header));
        height: calc(var(--app-height) - var(--height-header));
        background-color: var(--brand-white);
        transition: .5s;

        z-index: -1;
        opacity: 0;
        visibility: hidden;
    }
    
    body.menu-open .site_nav__container {
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    body.open-animation .site_nav__container {
        z-index: 101;
        opacity: 1;
        visibility: visible;
    }

    body.open-animation.close-animation .site_nav__container {
        opacity: 0;
        transition-delay: .5s !important;
    }

    body.open-animation.close-animation .site_nav__container {
        opacity: 0;
    }

    .site_nav__main {
        -webkit-transform-origin: center;
        -ms-transform-origin: center;
        transform-origin: center;
    }

    .site_nav__main, body.open-animation.close-animation .site_nav__main {
        opacity: 0;
        -webkit-transform: translate3d(0, var(--spacing-5), 0);
        transform: translate3d(0, var(--spacing-5), 0);
    }

    .site_nav__main {
        transition-delay: .25s !important;
    }

    body.open-animation .site_nav__main {
        opacity: 1;
        -webkit-transition: transform 1s cubic-bezier(0, .55, .45, 1), opacity 1s;
        -o-transition: transform 1s cubic-bezier(0,.55,.45,1), opacity 1s;
        transition: transform 1s cubic-bezier(0, .55, .45, 1), opacity 1s;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        will-change: opacity, transform;
    }

    body.open-animation.close-animation .site_nav__main {
        transition-delay: unset !important;
    }
    
    

    /* Sub */
    

}