
@media (min-width: 1251px) {
    /*
    ul.hnavi {
        float: left; 
        width: auto;
        max-width: calc(100% - 450px);
        margin: 20px 0 0 var(--abst105px); 
        padding: 0;
        list-style: none;   
        font-size: 22px;
        position: relative;
    }
    */
    /* -- NEu: 2022-09-12 -- */
    ul.hnavi {
        float: left; 
        clear: both;
        width: 100%;
        max-width: none;
        margin: 20px 0 0 -35px; 
        padding: 0;
        list-style: none;   
        font-size: 22px;
        position: relative;
        display: flex;
        justify-content: space-between;
    }
    /*
    ul.hnavi > li {
        display: inline-block;
        vertical-align: top;
        margin: 0 var(--abst35px) 0 0;
    }
    */
    /* -- NEU: 2022-09-12 -- */
    ul.hnavi > li {
        display: inline-block;
        vertical-align: top;
        /*margin: 0 var(--abst35px) 0 var(--abst35px);*/
        margin: 0;
    }

    .mobpfeil {
        display: none;
    }

    ul.hnavi > li a {
        display: block;
        text-decoration: none;
        color: var(--grau);
        transition: var(--transformer);
    }

    ul.hnavi > li > .link > a {
        /* padding: 0 var(--abst35px) 45px var(--abst35px); */
        padding: 0 35px 45px;
    }

    ul.hnavi > li.ifsub {
        cursor: pointer;
    }  

    ul.hnavi > li:hover > a {
        /*text-shadow: 1px 0px 0 var(--grau);*/
        text-shadow: none;
    }

    ul.hnavi > li.ifsub[data-toggled="on"] > a,
    ul.hnavi > li.act > a {
        color: var(--rot);
        /*text-shadow: 1px 0px 0 var(--rot);*/
    }

    /* -- Ebene 2 -- 
    .klappnavi {
        position: absolute;
        background: var(--hellgrau);
        left: var(--abst35pxminus);
        top: auto;
        padding: 0 calc(33% + var(--abst35px))  0 0;
        box-shadow: 0 0 5px rgba(0,0,0,0.10);
        display: none;
        width: 67%;
        opacity: 0.7;
    }
    */
    /* -- NEU: 2022-09-12 -- */
    .klappnavi {
        position: absolute;
        /*background: var(--hellgrau);*/
        background: var(--weiss);
        left: 0;
        right: 0;
        top: auto;
        padding: 0 33%  0 0;
        /*box-shadow: 0 0 5px rgba(0,0,0,0.10);*/
        /* -- NEU: 2022-10-17 -- */
        box-shadow: inset 0 0 5px 0 rgba(0,0,0,0.10);
        /* box-shadow: inset 0 0 5px rgba(0,0,0,0.05); */

        display: none;
        width: 67%;
        opacity: 1;
        /* -- NEU: 2022-09-20 -- */
        font-size: 20px;
    }

    .hnavi > li.ifsub:hover .klappnavi {
        display: block;
        animation: fade_in_show 1s;
    }

    .klappnavi > ul {
        padding: 0;
        list-style: none;
        /*margin: var(--abst17px) 0 var(--abst17px) var(--abst35px); */
        margin: 0 0 0 var(--abst35px);
        width: calc(50% - var(--abst35px));
        float: left;
    }

    .klappnavi > ul li {
        display: block; 
        /*border-top: 1px solid var(--weiss);*/
        border-top: 1px solid var(--hellgrau);
    }

    .klappnavi > ul li:first-child {
        border: 0;
    }

    .klappnavi > ul + ul li:first-child {
        border-top: 1px solid var(--hellgrau);
    }

    .klappnavi > ul > li a {
        display: block;    
        padding: var(--abst17px) var(--abst17px) var(--abst17px) 0;
    /* -- NEU: 2022-09-12 -- */
        transition: none;
    }

    .klappnavi > .unavi > li.ifsub > .link {
        position: relative;    
        display: block;
    }

    .klappnavi > .unavi > li.ifsub > .link span.subpfeil {
        background: url(../images/pfeil_dunkelgrau.svg) left center no-repeat;
        background-size: 10px auto;
        display: block;
        position: absolute;
        width: 15px;
        height: 22px;
        right: var(--abst17px);
        top: calc(50% - 11px);
    }

    .klappnavi > ul li:hover a {
        color: var(--rot);
        text-shadow: none;
    }

    .klappnavi > ul li:hover.ifsub > .link span.subpfeil {
        background: url(../images/pfeil_rot.svg) left center no-repeat;
        background-size: 10px auto;   
    } 

    .klappnavi > ul li.act a {
        /*background: var(--weiss);*/
        background: var(--hellgrau);
        position: relative;
    }

    .klappnavi > ul li.act a::before {
        content: '';
        display: block;
        position: absolute;
        left: var(--abst35pxminus);
        /*background: var(--weiss);
        top: -1px;
        bottom: -1px;*/
        background: var(--hellgrau);
        top: -1px;
        bottom: -1px;
        width: var(--abst35px);
        border-top: 1px solid var(--hellgrau);
    }

    .klappnavi > ul li:first-child.act a::before {
        top: 0;
    }

    /* -- Ebene 3 -- */
    .klappnavi_weiss {
        /*background: var(--weiss);*/
        background: var(--hellgrau);
        display: none;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: calc(67% + 20px);
    }

    .uunavi {
        width: calc(100% - var(--abst70px));
        /*margin: var(--abst17px) var(--abst35px) ;*/
        margin: 0 var(--abst35px) var(--abst17px) var(--abst35px);
        padding: 0;
    }

    .klappnavi li.ifsub:hover .klappnavi_weiss .uunavi li a,
    .klappnavi_weiss .uunavi li a {
        color: var(--grau);
    }

    .klappnavi li.ifsub .klappnavi_weiss .uunavi li:hover a,
    .klappnavi li.ifsub .klappnavi_weiss .uunavi li.act a {
        color: var(--rot); 
    } 

    .klappnavi > ul li.act .uunavi li a {
        background: none;
    }

    .klappnavi > ul li.act .uunavi li a::before {
        display: none;
    }

    .klappnavi li.ifsub.act > .klappnavi_weiss {
        display: block !important;
    }
}

/* ----------------------------------------------------------------------------------------- */

@media (max-width: 1850px) {
    #oben > .rahmen > .rahmen {
        max-width: 1100px;
    }

    ul.hnavi > li > .link > a {
        padding: 0 25px 45px;
    }
}

@media (max-width: 1730px) {
    #oben > .rahmen > .rahmen {
        max-width: 1000px;
    }

    ul.hnavi {
        font-size: 18px;
        display: block;
        margin-left: 40px;
    }

    ul.hnavi > li > .link > a {
        padding-left: 20px;
        padding-right: 20px;
    }

    .klappnavi {
        font-size: 16px !important;
        left: -25px;
    }

    .klappnavi > ul li a {
        padding: 10px 10px 10px 0 !important;
    }

    .klappnavi > .unavi > li.ifsub > a::after {
        background-size: 8px auto;        
        width: 8px;
        height: 15px;
        right: 10px;
        top: calc(50% - 7px);
    }

    .klappnavi > ul li:hover.ifsub > a::after {
        background-size: 8px auto;   
    } 
}

@media (max-width: 1550px) {
    #oben > .rahmen > .rahmen {
        max-width: 950px;
    }

    ul.hnavi {
        margin-left: 50px;
    }
}

@media (max-width: 1400px) {
    #oben > .rahmen > .rahmen {
        max-width: 920px;
    }
}

@media (max-width: 1355px) {
    ul.hnavi {
        font-size: 16px;
    }
    
    #oben > .rahmen > .rahmen {
        max-width: 850px;
    }
}

@media (max-width: 1300px) {
    #oben > .rahmen > .rahmen {
        max-width: 830px;
    }

    ul.hnavi > li > .link > a {
        padding-left: 15px;
        padding-right: 15px;
    }

    ul.hnavi {
        margin-left: 40px;
    }
}

/* ---------------------------------------------------------------------------------------------------------- */
/* ----------------------------------------------- mobile Navi ---------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------- */
@media (max-width: 1250px) {
    .mob_button {
        display: block;
        width: 40px;
        height: 40px;
        float: right;
        margin-top: 3px;
        cursor: pointer;
        position: relative;
    }

    .mob_button span {
        background-color: var(--grau);
        height: 4px;
        left: 0;
        margin-top: -2px;
        position: absolute;
        top: 50%;
        transition: background-color 0.3s ease 0.3s;
        width: 40px;
    }
    
    .mob_button span::after, .mob_button span::before {
        backface-visibility: hidden;
        background-color: var(--grau);
        content: "";
        height: 4px;
        position: absolute;
        transform: translateZ(0px);
        transition: transform 0.3s ease 0.3s;
        width: 100%;
        display: block;
    }
    
    .mob_button span::before {
        transform: translateY(-10px);
    }
    
    .mob_button span::after {
        transform: translateY(10px);
    }
    
    .mobnavvisible.mob_button span {
        background-color: transparent;
    }
    
    .mobnavvisible.mob_button span::before {
        transform: translateY(0px) rotate(-45deg);
    }
    
    .mobnavvisible.mob_button span::after {
        transform: translateY(0px) rotate(45deg);
    }
    
    #oben > .rahmen > .rahmen {
        display: none;
        width: 100%;
        float: left;
        clear: both;
        margin: 0;
        padding: 0 0 40px 0;
        overflow: hidden;
        position: absolute;
        left: 0;
        right: 0;
        top: 85px !important;
        max-width: none;
        height: calc(100vh - 125px) !important;
        overflow-y: auto;
        background: var(--weiss);
        
        border-top: 1px solid var(--hellgrau);
    }
    
    #oben > .rahmen > .rahmen .hnavi {
        display: block;        
        margin: 0;
        padding: 0;
        float: left;
        clear: both;
        width: 100%;
    }

    #oben > .rahmen > .rahmen .hnavi ul {
        margin-bottom: 70px;
    }

    #oben > .rahmen > .rahmen ul {
        float: left;
        clear: both;
        width: 100%;
    }
    ul.hnavi > li {
        display: block;
        width: 100%;
        float: left;
        clear: both;
        margin: 0;
        padding: 0 !important;
        border-bottom: 1px solid var(--hellgrau);
        position: relative;
    }

    ul.hnavi li.ifsub > .link {
        position: relative;
    }

    ul.hnavi li.ifsub > .link .linklayer {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
    }

    ul.hnavi li.ifsub[data-toggled="on"] > .link > .linklayer {
        display: none;
    }

   /*  ul.hnavi > li.ifsub .mobpfeil {
        background: url(../images/pfeil_dunkelgrau.svg) left top no-repeat;
        display: block;
        position: absolute;
        background-size: 12px auto;        
        width: 12px;
        height: 20px;
        right: 5%;
        top: calc(50% - 10px);
    }

    ul.hnavi > li.ifsub.act .mobpfeil {
        background: url(../images/slider_pfeil_rot_klein_next.svg) left top no-repeat;
        background-size: 12px auto;     
    } */

    ul.hnavi li .link {
        display: block;
        position: relative;
        /* padding: 16px 5% !important;
        height: auto !important;
        width: 90% !important; */
    }

    ul.hnavi li .link a {
        display: block;
        position: relative;
        padding: 16px 5% !important;
        height: auto !important;
        width: 90% !important;
    }

    .hnavi > li > .link > a.zoomlink .zoombox {
        position: static;
        display: block;
    }

    .hnavi > li:hover > .link > a.zoomlink .zoombox {
        font-size: 100% !important;
    }

    .klappnavi > ul li.act a::before {
        display: none;
    }

    .hnavi > li.ifsub > .link {
        position: relative;    
    }
    
    .hnavi > li.ifsub > .link span.subpfeil {
        background: url(../images/pfeil_dunkelgrau.svg) left center no-repeat;
        background-size: 10px auto;
        display: block;
        position: absolute;
        width: 15px;
        height: 22px;
        right: 5%;
        top: calc(50% - 11px);
        z-index: 0;
    }
    .hnavi > li.ifsub[data-toggled="on"] > .link span.subpfeil {
        z-index: 2;
    }   
   /*  .hnavi > li.ifsub[data-toggled="on"] > .link span.subpfeil {
        background: url(../images/slider_pfeil_rot_klein_next.svg) left top no-repeat;
        background-size: 15px auto;   
    }  */

    .klappnavi > ul li.act a {
        background: none;
    }

    .klappnavi > ul li:hover a {
        color: var(--dunkelgrau);
    }

    ul.hnavi li[data-toggled="off"] {
        display: none;
    }

    ul.hnavi > li a {
        padding: 0 !important;
        transition: none;
    }

    .hnavi > .ifsub > .klappnavi {
        padding: 0;
        width: 0;
        overflow: hidden;
        white-space: nowrap;
        left: 100vw;
        position: absolute;
        transition: all 0.3s ease;
    }

    .hnavi > .ifsub[data-toggled="on"] .klappnavi {
        left: 0;
        width: 100%;
    }

    ul.hnavi a, ul.hnavi a:hover {
        color: var(--dunkelgrau);
        text-decoration: none;
    }

    .hnavi li[data-toggled="on"] > .link > a {
        color: var(--grau);
        margin: 10px 0 9px calc(5% + 40px);
        display: inline-block;
        border: 1px solid var(--grau);
        padding: 6px 20px !important;
        width: auto !important;
    }

    .hnavi li.act[data-toggled="on"] > .link > a {
        border: 1px solid var(--rot);
    }

    .hnavi li.act > .link > a {
        color: var(--rot);
    }

    ul.hnavi li.ifsub[data-toggled="on"] > .link > .subpfeil,
    .hnavi > li.ifsub[data-toggled="on"] > .link span.subpfeil,
    .klappnavi > ul li.ifsub[data-toggled="on"] > .link span.subpfeil {
        top: 0;
        bottom: 0;
        width: 50px;
        height: unset;
        right: auto;
        left: calc(5% - 20px);
        transform: rotate(180deg);
        background-position: center center;
    }

    .klappnavi > ul {
        margin: 0;
        width: 100%;
    }

    .unavi, .uunavi {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    ul.unavi > li, ul.uunavi > li {
        display: block;
        width: 100%;
        float: left;
        clear: both;
        margin: 0;
        padding: 0;
        border-top: 1px solid var(--hellgrau);
        position: relative;
    }

    .mobklapp {
        background: var(--weiss);
        float: left;
        clear: both;
        width: 100%;
    }

    .klappnavi > .unavi > li.ifsub > .link > a::after {
        background-size: 12px auto;
        width: 12px;
        height: 20px;
        right: 5%;
        top: calc(50% - 10px);
    }

    .klappnavi > ul li:hover.ifsub > .link span.subpfeil,
    .klappnavi > .unavi > li.ifsub > .link span.subpfeil {
        display: block;
        position: absolute;
        width: 15px;
        height: 22px;
        top: calc(50% - 11px);
        right: 5%;
        background: url(../images/pfeil_dunkelgrau.svg) center center no-repeat;
        background-size: 10px auto;
    }

    .klappnavi > .unavi > li.ifsub[data-toggled="on"] > .link span.subpfeil {               
        /* background: url(../images/slider_pfeil_rot_klein_next.svg) center center no-repeat;
        background-size: 15px auto; */
        width: 50px;
    }

    .uunavi {
        float: left;
        clear: both;
        width: 100%;
        background: var(--hellgrau);
    }

    .uunavi li {
        border-bottom: 1px solid var(--weiss);
    }

    .klappnavi > ul li.act > a {
        background: var(--weiss);
        color: var(--rot);
    }

    .klappnavi_weiss {
        background: var(--weiss);
        position: static;
        width: 0;
        height: 0;
        overflow: hidden;
        white-space: nowrap;
        margin-left: 100vw;        
        transition: all 0.3s ease;
    }

    .klappnavi > ul li.ifsub[data-toggled="on"] .klappnavi_weiss {
        width: 100%;        
        height: auto;
        margin-left: 0;
    }

    .uunavi {
        width: 100%;
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 500px) {
    .hnavi > .ifsub > .klappnavi, .klappnavi_weiss {
        white-space: unset;
    }
}