.navigation{
    background: #fff;
    position: fixed !important;
    width: 100% !important;
    height:100% !important;
    z-index: 10000 !important;
    top:0 !important;
    padding-top:35px !important;
    display: none;
}
.navigation * {
    color:#000 !important;
}
.navigation__close{
    cursor: pointer !important;
}
.navigation__close *{
    color:#fff !important;
}
.navigation__list a{
    font-size: 20px !important;
    font-weight: bold !important;
    margin-bottom: 12px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color:#fff !important;
    display: block !important;
}
.list__vertical li {
    display: block;
    margin-bottom: 6px;
}
.navigation__list a.current,
.navigation__list a.section{
        color:blue;
}

.navcontainer .header-top .header__gabel .nav__icon i:hover{
    background-color: transparent !important;
}

@media (max-width: 768px) {
    .navigation__list,
    .navigation__contact{
        text-align: center !important;
    }

    .navigation{
        padding-top:98px;
    }
}

@media (max-width: 991.98px) {
    .navi_firstlevel {
        padding-top: 0px !important;
        padding-bottom: 10px !important;
    }
    .nav-link::before {
        top:23px;
    }
}
@media (max-width: 767.98px) {
    .navi_upperelement i {
        margin-top: 17px;
    }
    .nav__list .link a{
        display: block;
        color:#005684;
        font-size: 22px;
        margin-bottom: 18px;
        transition:color 0.3s ease;
        text-decoration: none !important;
        font-weight: 700;
        line-height: 1;
        text-align: left;
        text-transform: uppercase;
    }
    .nav__list .nav__hidden a{
        display: block;
        color:#000;
        font-size: 18px;
        margin-bottom: 18px;
        transition:color 0.3s ease;
        text-decoration: none !important;
        text-transform: none;
        font-weight: 500;
        line-height: 1;
        text-align: left;
    }
}

.fixed_top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    transition: 0.5s ease all;
    z-index: 100;
}

.mainnavi_container form{
    position: relative;
    top:-6px;
}

.mainnavi_container input.text{
    padding: 6px 10px !important;
    text-transform: uppercase;
    height:auto !important;
}

.search_button{
    position: absolute;
    right: 10px;
    top: -5px;
}

.flag__image{
    height:28px;
    width:28px;
}

.header__logo{
    margin-top: 10px;
    transition: all 0.3s ease;
}

.navi_firstlevel a{
    font-size: 20px;
    margin-left:20px;
    color:#000;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    text-transform: uppercase;
    padding-right: 0px;
    padding-bottom: 0px;
}
/*
.navi_firstlevel a:hover,
.navi_firstlevel a.has_children.opener{
    border-bottom:3px solid #005684;
}
*/
.navi_firstlevel a.has_children{
    padding-right:0px;
    padding-bottom: 0px;
}

/*.navi_firstlevel a.has_children:after{
    content:"\f107";
    font-family: "Font Awesome 5 Pro";
    position: absolute;
    right:0px;
    top: 0;
    font-weight: normal;
}*/


/*.navi_firstlevel a.has_children.opener:after{*/
    /*content:"\f106";*/
/*}*/

.navi_firstlevel a.has_children.opener{
    color: #005684;
}

/* Navigation level 2 (box) */
.subnav_container{
    border-top:1px solid #eee;
    background-color: #fff;
}

.navigation__blogpost{
    background: #9ba9af;
    color:#fff;
}

.navigation__blogpost a:before{
    color:#fff !important;
}

.navigation__blogpost h2,
.navigation__blogpost a{
    color:#fff !important;
}

.subnav_container a:hover{
    color:#005684;
    text-decoration: none;
}

span.navi_upperelement{
    height: 35px;
}

.navi_upperelement i {
    color: #005684;
}

.navi_upperelement *{
    font-size: 14px;
}

@media (min-width: 768px) {
}

@media (max-width: 767.98px) {
    .header__logo{
        width: 140px;
    }

}

@media (min-width: 768px) and (max-width: 991.98px) {
    .navi_firstlevel a {
        font-size: 14px;
        padding-right: 0 !important;
        margin-left: 10px;
    }


    .navi_firstlevel a:after {
        display: none;
    }
}

.navigation__root {
    margin-bottom: 0!important;
}

.nav__shadow{
    position: fixed;
    z-index: 900;
    top:0;
    width: 100%;
    height: 100%;
    display: none;
}

.nav__container{
    position: fixed;
    width: 100%;
    z-index: 1000;
    height: 100%;
    transition:right 0.3s ease;
    display: none;
    background-color: #fff;
}
.nav__container{
    position: fixed;
    width: 100%;
    z-index: 1000;
    height: 100%;
    transition:right 0.3s ease;
    display: none;
}

.nav__container.open{
    right:0;
}

.nav__close{
    cursor: pointer;
    color:#000;
}

.nav__shadow{
    position: fixed;
    z-index: 900;
    top:0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    display: none;
}

.nav__list {
    text-align: right;
    padding-left: 10px;
    padding-right: 10px;
    counter-reset: li;
    list-style: none !important;
}

.nav__list a{
    display: block;
    color:#000;
    font-size: 22px;
    margin-bottom: 18px;
    transition:color 0.3s ease;
    text-decoration: none !important;
    font-weight: 500;
    line-height: 1;
    text-align: left;
}

.nav__list li{
    position: relative;
}

.nav__list li.haschildren a{
    margin-bottom: 20px;
}

.nav__list > li:after{
    counter-increment: li;
    color:#fff;
    position: absolute;
    right: -60px;
    top:8px;
    font-size: 22px;
    font-weight: normal;
    line-height: 1;
}

.nav__list ul{
    margin-bottom: 24px;
}

.nav__list ul a{
    font-size: 16px;
    line-height: 1;
    margin-bottom: 0;
    padding-left: 20px;
}

/* navigation levels */
.nav__level--1{
    display: block;
    width: 100%;
    font-size: 26px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 6px 0px;
    border-bottom: 2px solid #eee;
    text-decoration: none !important;
}

.nav__level--2{
    font-size: 20px;
}

.nav__level--1:hover,
.nav__level--2:hover{
    color:#958969 !important;
}

.nav__level--1 a,
.nav__level--2 a{
    color: #000;
    text-decoration: none !important;
    display: inline-block;
    position: relative;
    width: 100%;
    line-height: 1.1;
}

@media (min-width: 768px) {
    .nav__level--1 a{
        white-space: nowrap;
    }
}

@media (max-width: 767.98px) {
    .nav__level--1 a,
    .nav__level--2 a{
        text-align: left;
    }
}

.nav__level--1 a:after{
    background: none repeat scroll 0 0 transparent;
    bottom: -13px;
    content: "";
    display: block;
    height: 2px;
    left: 0%;
    position: absolute;
    background: #958969;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
}


.nav__level--2 a:after{
    background: none repeat scroll 0 0 transparent;
    bottom: -2px;
    content: "";
    display: block;
    height: 1px;
    left: 0%;
    position: absolute;
    background: #958969;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
}

.nav__level--1 a:hover:after{
    width: 100%;
    left: 0;
}

.nav__level--2 a:hover:after{
    width: 20%;
    left: 0;
}

.nav__level--1 a:hover,
.nav__level--2 a:hover {
    color: #958969 !important;
}

.nav__hidden{
    display: none;
    list-style: none;
    padding-left: 0;
}

.nav__unfold{
    background: #005684;
    color:#fff;
    height:24px;
    width: 24px;
    border-radius:24px;
    right: 0;
    top:0px;
    position: absolute;
    display: inline-block;
    text-align: center;
    line-height: 1.8;
    cursor: pointer;
    font-weight: 300;
}

.nav__unfold:after{
    content:"\f078";
    color:#fff;
    font-family: "Font Awesome\ 5 Pro";
    font-size: 16px;
}

.nav__unfolded:after{
    content:"\f077" !important;
    font-size: 16px;
    line-height: 0.3;
}

.navigation__contact *{
    color:#fff !important;
}

.navigation__contact .button i:before{
    color:#fff !important;
}

.nav__lang{
    padding: 6px 10px;
    margin-top: -5px;
    font-size: 12px;
    border-radius: 0;
    border: 2px solid #dfdfdf;
    background-color: #fff;
    color: #000;
    text-transform: uppercase;
}

.nav__lang:hover{
    background: #fff!important;
    color: #000!important;
    border: 2px solid #dfdfdf!important;
}

.nav__dropdown{
    border: none;
    border-radius: 0;
    background-color: #fff;
}

.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active,
.show>.btn-secondary.dropdown-toggle{
    background-color: #fff!important;
    color: #000!important;
    border: 2px solid #dfdfdf!important;

}

.ul_inline li {
    display: inline-block;
}

.navcontainer{
    transition: all 0.3s ease;
    background: rgba(255,255,255,0);
    box-shadow: 0px 10px 10px 0px rgba(0,0,0,0);
}

body.minimized .navbar * {
    color:#000 !important;
    border-color: #000;
}
body.minimized .header__logo{
    filter: invert(1);
    height:80px;
    width: auto;
    padding-bottom:15px;
}

body.minimized .navcontainer{
    background: rgba(255,255,255,1);
    box-shadow: 0px 10px 10px 0px rgba(0,0,0,0.15);
}

.header__contact span, .header__contact a {
   font-size: 16px;
    color:#616161;
}

.header__contact{
    color:#616161;
    cursor: default;
}

.header__contact {
    text-align: center;
    padding: 9px 0;
    margin: 0;
    border-bottom:1px solid rgba(255, 255, 255,.15);
}


.nav-link::before {
    content: "";
    position: absolute;
    top:41px;
    left: 0;
    width: 100%;
    height: 6px;
    background: #005684;
    opacity: 0;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.nav-link:hover::before,
.nav-link:hover::before {
    opacity: 1;
}

.top__navi a {
    color: #121212;
}

.top__navi a:hover {
    color: #005684;
    text-decoration: none;
}

.top__navi--mobil a,
.top__navi--mobil span{
    color: #fff !important;
    font-size: 14px;
}

a.parent__nav {
    font-size: 22px;
    text-transform: uppercase;
    font-weight: 700;
    color: #005684 !important;
}




/* MediaQ */

@media (min-width: 1199.99px) {
.minimized .navigation {
        padding-top:30px !important;
    }
}


@media (max-width: 1199.98px) {
    .header__logo{
        margin-top: 15px;
    }
    body.minimized .header__contact {
        background-color: #fff;
    }
    body.minimized .top__navi--mobil a,
    body.minimized .top__navi--mobil span{
        color: #000 !important;
    }
    body.minimized .header__logo {
        height: auto;
        width: 100px;
        padding-bottom: 10px;
    }
    body.minimized .header__contact {
        border-bottom: 1px solid #eee;
    }
}

@media (max-width: 991.98px) {
    .navi_firstlevel {
        padding-top: 0px !important;
        padding-bottom: 10px !important;
    }
    .nav-link::before {
        top:23px;
    }
    .header__logo{
        width: 220px;
        margin-top: 15px;
    }
}

@media (max-width: 767.98px) {
    .header__logo {
        width: 150px;
        margin-top: 0px;
        padding: 10px;
    }
    .navi_upperelement i {
        margin-top: 17px;
    }
    .nav__list .link a{
        display: block;
        color:#005684;
        font-size: 22px;
        margin-bottom: 18px;
        transition:color 0.3s ease;
        text-decoration: none !important;
        font-weight: 700;
        line-height: 1;
        text-align: left;
        text-transform: uppercase;
    }
    .nav__list .nav__hidden a{
        display: block;
        color:#000;
        font-size: 18px;
        margin-bottom: 18px;
        transition:color 0.3s ease;
        text-decoration: none !important;
        text-transform: none;
        font-weight: 500;
        line-height: 1;
        text-align: left;
    }
    .nav__level--2{
        font-size: 18px;
    }

    .nav__container{
        overflow-y: scroll;
    }
}

@media (max-width: 575.98px) {
    .navigation{
        padding-top:15px !important;
    }
}