#header_main .inner-container > nav.main_menu{display: none !important;}


#header_main nav.header-menu .header-meta a::before{
    content: '\e800';
    font-family: 'nenninger-icons';
    margin: 0 0.75em 0 0;
    color: var(--accent-color);
    display: inline-block;
}

#header_main nav.header-menu > ul#header-menu-ul > li.menu-item-has-children > a:after{
    content: '\e877';
    font-family: 'entypo-fontello';
    margin: 0 0 0 .5em;
    display: inline-block;
    transition: .2s;
}

#header_main nav.header-menu > ul#header-menu-ul > li.menu-item-has-children > a.active:after,
#header_main nav.header-menu > ul#header-menu-ul > li.menu-item-has-children > a.mobile-submenu-active:after{
    translate: 0 .2em;
}

#header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > a{
    font-size: var(--step-0);
    display: block;
    font-weight: 700;
    text-transform: uppercase;
    padding: 1em;
    border-radius: .5em;
    color: var(--primary-color);
    transition: background-color .2s;
}

#header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li.current-menu-item > a{
    background-color: var(--light-color);
}

#header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > a:hover{
    background-color: var(--accent-color);
}

#header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > a span{
    display: block;
    text-transform: initial;
    font-weight: 400;
    font-size: var(--step--1);
    color: #000;
    margin: 0;
}




@media (max-width: 989px){

    #header_main .inner-container > #mobile-menu-trigger{
        line-height: 1;
        position: absolute;
        right: 0;
        top: 50%;
        translate: 0 -50%;
        width: 40px;
        height: 24px;
        background-color: transparent;
        cursor: pointer;
        border: 0;
    }

    #header_main .inner-container > #mobile-menu-trigger span{
        height: 2px;
        width: 100%;
        background-color: var(--primary-color);
        position: absolute;
        left: 50%;
        display: block;
        transition: .2s;
        translate: -50% 0;
    }
    #header_main .inner-container > #mobile-menu-trigger span:nth-child(1){content: ''; top: 0;}
    #header_main .inner-container > #mobile-menu-trigger span:nth-child(2){top: calc(50% - 1px);}
    #header_main .inner-container > #mobile-menu-trigger span:nth-child(3){content: ''; bottom: 0;}
    html.mobile-menu-active #header_main .inner-container > #mobile-menu-trigger span:nth-child(1){
        top: 50%; 
        rotate: 45deg;
        width: 70%;
        translate: -50% -50%;
    }
    html.mobile-menu-active #header_main .inner-container > #mobile-menu-trigger span:nth-child(2){opacity: 0;}
    html.mobile-menu-active #header_main .inner-container > #mobile-menu-trigger span:nth-child(3){
        top: 50%; 
        rotate: -45deg;
        width: 70%;
        translate: -50% -50%;
    }

    #header_main nav.header-menu{
        display: none;
        position: fixed;
        top: 80px;
        left: 0;
        width: 100%;
        height: calc(100vh - 80px);
        background: #fff;
        color: var(--primary-color);
        padding: 0 0 12rem 0;
        line-height: 1.6;
        overflow: auto;
        scrollbar-width: 0;
        overscroll-behavior: contain;
        animation: animateMobilemenu .2s;
    }

    @keyframes animateMobilemenu{
        0%   {opacity: 0; translate: -100% 0;}
        100% {opacity: 1; translate: 0 0;}
    }

    html.mobile-menu-active{
        height: 100%;
        position: fixed;
        overflow: hidden;
    }

    html.mobile-menu-active #header_main nav.header-menu{
        display: block;
    }


    /* Haupt-Menu */
    #header_main nav.header-menu > ul#header-menu-ul{
        margin: 0;
        padding: 2em 5%;
        display: flex;
        flex-direction: column;
        gap: .5em;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > .close{
        display: none;
    }

    #header_main nav.header-menu > ul#header-menu-ul a{
        color: var(--primary-color);
    }

    #header_main nav.header-menu > ul#header-menu-ul > li{
        margin: 0;
    }
    
    #header_main nav.header-menu > ul#header-menu-ul > li > a{
        font-family: var(--menu-font);
        padding: .25em .75em;
        border-radius: .25em;
        display: inline-block;
        position: relative;
        font-weight: 400;
        font-size: var(--step-1);
        text-transform: uppercase;
        color: var(--primary-color);
        transition: .2s;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > a.mobile-submenu-active,
    #header_main nav.header-menu > ul#header-menu-ul > li.current-menu-item > a,
    #header_main nav.header-menu > ul#header-menu-ul > li.current-menu-ancestor > a{
        background-color: var(--light-color);
    }

    #header_main nav.header-menu > ul#header-menu-ul > li.menu-item-has-children > a + div{
        display: none;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li.menu-item-has-children > a.mobile-submenu-active + div{
        display: block !important;
        padding:  1em 0;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > div.__description{
        display: none;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div ul{
        margin: 0;
    }
    
    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li{
        margin: 0;
    }

    /* Meta-Menu */
    #header_main nav.header-menu > .header-meta{
        background-color: var(--primary-color);
        padding: 2em 5%;
    }
    #header_main nav.header-menu > .header-meta > ul#header-metamenu-ul{
        display: flex;
        flex-wrap: wrap;
        gap: .5em 2em;
        margin: 0;
    }
    #header_main nav.header-menu > .header-meta > ul#header-metamenu-ul a{
        color: #fff; 
        font-size: var(--step--1);
    }

}





@media (min-width: 990px){

    #header_main .inner-container > #mobile-menu-trigger{
        display: none;
    }

    #header_main nav.header-menu{
        --meta-menu-height: 38px;
        line-height: 1.6;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        margin: 0;
    }


    /* Haupt-Menu */
    #header_main nav.header-menu > ul#header-menu-ul{
        margin: 0;
        flex-grow: 2;
        display: flex;
        gap: .5em;
        padding-top: var(--meta-menu-height);
    }

    #header_main nav.header-menu > ul#header-menu-ul > li{
        margin: 0;
        height: 100%;
        display: flex;
        align-items: center;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > a{
        font-family: var(--menu-font);
        padding: .25em .75em;
        border-radius: .25em;
        display: block;
        position: relative;
        font-weight: 400;
        font-size: var(--step--1);
        text-transform: uppercase;
        color: var(--primary-color);
        transition: background-color .2s;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > a:hover,
    #header_main nav.header-menu > ul#header-menu-ul > li > a.active,
    #header_main nav.header-menu > ul#header-menu-ul > li.current-menu-item > a,
    #header_main nav.header-menu > ul#header-menu-ul > li.current-menu-ancestor > a{
        background-color: var(--light-color);
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div{
        position: absolute;
        top: 100%;
        left: calc( -1* (100vw - 100%) / 2);
        width: 100vw;
        margin: 0;
        padding: 0;
        background: transparent;
        display: none;
        gap: 0;
        animation: animateSubmenu .2s;
        transition: opacity .2s, top .2s;
        color: var(--primary-color);
        max-height: calc(100vh - 120px);
        border-top: 2px solid var(--secondary-color);
        overflow: hidden;
        scrollbar-width: 0;
        overscroll-behavior: contain;
        box-shadow: 0 16px 16px -8px #0000001a;
    }

    @keyframes animateSubmenu{
        0%   {opacity: 0; top: calc(100% + 32px);}
        100% {opacity: 1; top: 100%;}
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > div.__description{
        flex-grow: 1;
        flex-basis: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        gap: .5em;
        padding: 50px;
        background-color: var(--primary-color);
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > div.__description > a{
        display: inline-block;
        font-size: var(--step-3);
        text-transform: uppercase;
        font-weight: 700;
        line-height: 1.2;
        color: #fff;
        transition: color .2s;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > div.__description > a span{
        display: block;
        font-size: var(--step--1);
        text-transform: initial;
        font-weight: 400;
        color: var(--secondary-color);
        transition: color .2s;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > div.__description > a:hover,
    #header_main nav.header-menu > ul#header-menu-ul > li > div > div.__description > a:hover span{
        color: var(--accent-color);
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul{
        margin: 0;
        position: relative;
        flex-grow: 2;
        flex-basis: 0;
        overflow: auto;
        padding: 50px 5%;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
        gap: 0 5%;
        background-color: #fff;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li{
        margin: 0;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > div{
        display: none; 
        position: absolute;
        top: 0;
        left: calc(100% + 4vw);
        animation: animateSubmenuDiv .2s;
    }

    @keyframes animateSubmenuDiv{
        0%   {opacity: 0;}
        100% {opacity: 1;}
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > a.active + div{
        display: block;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li.menu-item-has-children > a::after{
        content: '\e80b';
        font-family: 'tege-fontello';
        position: absolute;
        right: 0;
        color: var(--secondary-color);
        font-size: 1.5em;
        line-height: 1.2;
        transition: .2s;
        translate: -4px 0;
        opacity: 0;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li.menu-item-has-children > a:hover::after,
    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li.menu-item-has-children > a.active::after{
        opacity: 1;
        translate: 0 0;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > div > ul,
    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > div > ul > li{
        margin: 0;
    }
    
    #header_main nav.header-menu > ul#header-menu-ul > li > div > ul > li > div > ul > li > a{
        font-size: var(--step-1);
        white-space: nowrap;
        padding: .4em 2em .2em 0;
        display: block;
        font-weight: 400;
    }

    #header_main nav.header-menu > ul#header-menu-ul > li > div > .close{
        margin-left: auto;
        color: var(--primary-color);
        display: inline-block;
        line-height: 1;
        font-size: 44px;
        cursor: pointer;
        align-self: flex-start;
        padding: .2em .4em;
    }

    /* Meta-Menu */
    #header_main nav.header-menu .header-meta{
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        gap: 0 2em;
        background-color: var(--primary-color);
        padding: 0 .75em 0 1.5em;
        height: var(--meta-menu-height);
        border-bottom-left-radius: calc(var(--meta-menu-height) / 2);
        z-index: 2;
    }

    #header_main nav.header-menu .header-meta::before{
        content: '';
        position: absolute;
        top: 0;
        right: -50px;
        height: 100%;
        width: 50px;
        background: var(--primary-color);
        pointer-events: none;
    }

    #header_main nav.header-menu .header-meta a{
        color: #fff;
        transition: .2s;
    }

    #header_main nav.header-menu .header-meta ul#header-metamenu-ul{
        position: relative;
        margin: 0;
        display: flex;
        gap: 1.5em;
        align-items: center;
        font-size: var(--step--1);
        line-height: 1.2;
        height: 100%;
    }

}

@media (min-width: 1740px){
    #header_main nav.header-menu .header-meta::before{
        right: calc(-1 * ((100vw - 1640px) / 2));
        width: calc((100vw - 1640px) / 2);
    }
    #header_main nav.header-menu > ul#header-menu-ul > li > div > div.__description{
        padding-left: calc((100vw - 1640px) / 2);
    }
}