/* ------------------------------ */
/* --------- Navigation --------- */
/* ------------------------------ */

/* General */
.site_nav li a, .site_meta a {
    -webkit-transition: var(--transition-2);
    -o-transition: var(--transition-2);
    transition: var(--transition-2);
}

.no-touchevents .site_nav li a:hover, .no-touchevents .site_meta a:hover {
    opacity: var(--opacity-1);
}


/* Main */
.site_nav__main__nav > li {
    position: relative;
}

.site_nav__main__nav > li > a {
    position: relative;
    display: block;
}

li.nav__item--active > a, .nav__item--current_ancestor > a,
.single-magazin .site_nav__main__nav > li.nav__item--magazine > a, .tax-thema .site_nav__main__nav > li.nav__item--magazine > a, .single-news .site_nav__main__nav > li.nav__item--news > a {
    font-weight: 700;
}

.site_meta li {
    display: inline-block;
}

.site_nav__footer__logo a {
    display: inline-block;
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 1440px) {

    .site_nav__main__nav > li > a {
        padding-top: 22px;
        padding-bottom: 22px;
    }

}


@media all and (max-width: 1439.98px) and (min-width: 1280px) {

    .site_nav__main__nav > li > a {
        padding-top: 18px;
        padding-bottom: 18px;
    }

}


@media all and (max-width: 1279.98px) and (min-width: 992px) {

    .site_nav__main__nav > li > a {
        padding-top: 14px;
        padding-bottom: 14px;
    }

}


@media all and (min-width: 992px) {

    /* General */
    .site_header__row, .site_nav {
        position: relative;
    }

    .site_nav__main__nav, .site_nav li, .site_meta__nav, .site_meta__nav li {
        display: inline-block;
    }


    /* Main */
    .site_header__nav {
        border-top: 1px solid #E0E4E9;
        border-bottom: 1px solid #E0E4E9;
    }

    .site_nav__main__nav > li {
        margin-right: var(--spacing-6);
    }

    .site_nav__main__nav li:last-child, .site_nav__main__nav li.nav__item--company {
        margin-right: 0;
    }   

    .site_nav__main__nav > li > .nav__sub {
        position: absolute;
        left: calc(-1 * var(--spacing-4));
        width: 208px;
        background: var(--brand-white);
        opacity: 0;
        visibility: hidden;
        z-index: -1;
        -webkit-transform: translateY(-15px);
        -ms-transform: translateY(-15px);
        transform: translateY(-15px); 
        -webkit-transition: all var(--transition-1);
        -o-transition: all var(--transition-1);
        transition: all var(--transition-1);
    }

    .lang--fr .site_nav__main__nav > li > .nav__sub {
        width: 250px;
    }

    .lang--en .site_nav__main__nav > li > .nav__sub {
        width: 236px;
    }

    .no-touchevents .site_nav__main__nav > li:hover > .nav__sub, .touchevents .site_nav__main__nav > li.is-active > .nav__sub {
        opacity: 1;
        visibility: visible;
        z-index: 10;
        -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
        transform: translateY(0px);
    }

    .site_nav__main__nav > li > .nav__sub li, .site_nav__main__nav > li > .nav__sub li a {
        display: block;
    }

    .site_nav__main__nav > li > .nav__sub li a {
        padding: var(--spacing-1) var(--spacing-4);
    }

    .site_nav__main__nav > li > .nav__sub li:first-child a {
        padding-top: var(--spacing-4);
    }

    .site_nav__main__nav > li > .nav__sub li:last-child a {
        padding-bottom: var(--spacing-4);
    }


    /* CTA */
    .site_cta .button {
        margin-top: 35px;
    }

    /* Meta */
    .site_meta {
        position: absolute;
        z-index: 11;
        top: -3px;
        right: 0;
    }

    .site_meta a {
        font-size: var(--font-size-1-5);
    }

    .site_meta li {
        margin-right: var(--spacing-2);
    }

    .site_meta li:last-child {
        margin-right: 0;
    }

}


@media all and (max-width: 991.98px) and (min-width: 768px) {

    .site_cta {
        padding: var(--spacing-4) var(--spacing-5) 0;
    }

    .site_nav__footer {
        position: relative;
        padding: 0 var(--spacing-5-5);
    }

    .site_nav__footer__lang {
        margin: var(--spacing-6) 0 var(--spacing-5-5);
    }

    .site_nav__footer__logo {
        display: block;
        padding: var(--spacing-6) 0;
        border-top: 1px solid var(--brand-black);
    }

    .site_nav__icon__text > span {
        position: relative;
        top: -1px;
    }

}


@media all and (max-width: 991.98px) {

    /* General */
    body.menu-open {
        overflow: hidden
    }

    .site_logo {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    /* Icon */
    .site_nav__icon {
        position: relative;
        cursor: pointer;
    }

    .site_nav__icon__text {
        display: block;
        padding: 11px 0;
        margin-right: calc(var(--spacing-5) + 30px);
    }

    .site_nav__icon__hamburger {
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
    }

    .site_nav__icon__hamburger .line {
        width: 30px;
        height: 2px;
        background-color: var(--brand-black);
        display: block;
        margin: 6px 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(8px) rotate(45deg);
            -ms-transform: translateY(8px) rotate(45deg);
                transform: translateY(8px) 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(-8px) rotate(-45deg);
            -ms-transform: translateY(-8px) rotate(-45deg);
                transform: translateY(-8px) rotate(-45deg);
    }

    .menu-open.close-animation .site_nav__icon .line:nth-child(1), .menu-open.close-animation .site_nav__icon .line:nth-child(3) {
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        -webkit-transition-delay: .25s;
             -o-transition-delay: .25s;
                transition-delay: .25s;
    }

    .menu-open.close-animation .site_nav__icon .line:nth-child(2) {
        opacity: 1;
        -webkit-transition-delay: .25s;
             -o-transition-delay: .25s;
                transition-delay: .25s;
    }

    
    /* Main */
    .site_nav__container {
        position: fixed;
        top: calc(var(--height-header) - 1px);
        left: 0;
        height: calc(var(--app-height) - var(--height-header) + 1px);
        width: 100%;
        background-color: var(--brand-white);
        overflow-y: auto;
        -webkit-transition: all var(--transition-1);
        -o-transition: all var(--transition-1);
        transition: all var(--transition-1);
    }

    .site_nav__container, .close-animation.menu-open .site_nav__container {
        opacity: 0;
        visibility: hidden;
        -webkit-transform: translateY(-15px);
        -ms-transform: translateY(-15px);
        transform: translateY(-15px);
    }

    .menu-open .site_nav__container {
        z-index: 20;
        opacity: 1;
        visibility: visible;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }

    .menu-open .site_nav__container {
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }

    .site_nav__main {
        margin-bottom: var(--spacing-5);
    }

    .site_nav__main__nav {
        padding: 0;
    }

    .site_nav__main__nav > li > a {
        font-size: var(--font-size-2);
        padding: var(--spacing-2) var(--spacing-5);
        margin: 2px 0;
    }

    .site_nav__main__nav > li:first-child > a {
        padding-top: var(--spacing-5);
    }

    .site_nav__main__nav > li:last-child > a {
        padding-bottom: var(--spacing-5);
    }

    .site_nav__main__nav > .nav__item--has-children > a {
        margin-bottom: 0;
    }


    /* Sub */
    .nav__sub .nav__item a {
        display: block;
        padding: var(--spacing-2) var(--spacing-5) var(--spacing-2) calc(var(--spacing-5) * 2);
    }


    /* CTA */
    .site_cta .button {
        margin-top: 0;
    }


    /* Footer */
    .site_nav__footer {
        position: relative;
    }

    .site_nav__footer__lang ul {
        display: flex;
    }
    
    .site_nav__footer__lang ul li {
        margin-right: var(--spacing-3);
    }

    .site_nav__footer__lang ul li:last-child {
        margin-right: 0;
    }
    

}


@media all and (max-width: 767.98px) {

    .site_cta {
        margin-top: var(--spacing-5);
        padding: 0 var(--spacing-5);
    }

    .site_nav__main__nav {
        padding-top: 0;
    }

    .site_nav__footer {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;

        margin: var(--spacing-8) var(--spacing-5) 0;
        padding-top: var(--spacing-6);
        border-top: 1px solid var(--brand-black);
    }

    .site_nav__footer__logo {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        padding-right: var(--spacing-5);
    }

    .site_nav__footer__lang {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        padding-left: var(--spacing-5);
    }

}