/*-- MAINMENU STYLES --*/
.mainmenu {
    position: relative;
    float: right;
    display: block;
    overflow: visible !important;
}

.mainmenu ul {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    list-style-type: none;
    -ms-transition: all 1s ease-in-out;
    -webkit-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}

.mainmenu ul.level_1 {
    width: 100%;
    height: 30px;
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
}

.mainmenu ul.level_1 li {
    position: relative;
    float: left;
    display: block;
    -webkit-transition: background .4s;
    -o-transition: background .4s;
    transition: background .4s;
}

.mainmenu ul.level_1 > li > a,.mainmenu ul.level_1 > li > span.active, .mainmenu ul.level_1 > li > span.forward, .mainmenu ul.level_1 > li > strong {
    height: 22px;
    position: relative;
    display: inline-block;
    white-space: nowrap;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    color: #b3b3b3;
    font-weight: 700;
    letter-spacing: .02em;
}
.mainmenu ul.level_1 > li,.mainmenu ul.level_1 > li.active, .mainmenu ul.level_1 > li.forward {
    padding: 5px 15px 20px;
}
/*.mainmenu ul.level_1 > li.first,.mainmenu ul.level_1 > li.active.first, .mainmenu ul.level_1 > li.forward.first {
    padding-left: 0;
}*/

/*.mainmenu ul.level_1 > li.last,.mainmenu ul.level_1 > li.active.last, .mainmenu ul.level_1 > li.forward.last {
    padding-right: 0;
}*/

.mainmenu ul.level_1 li a:hover,.mainmenu ul.level_1 li span.active,.mainmenu ul.level_1 li.submenu:hover > a,.mainmenu ul.level_1 li a.trail, .mainmenu ul.level_1 > li > strong { /*,.mainmenu ul.level_1 li span.forward*/
    color: #004f9f;
}
.mainmenu ul.level_1 li span.forward, .mainmenu ul.level_1 li strong.forward {
    color: #004f9f;
    -webkit-transition: color .4s;
    -o-transition: color .4s;
    transition: color .4s;
}
.mainmenu ul.level_1 li:hover span.forward, .mainmenu ul.level_1 li:hover strong.forward {
    color: #fff;
}

.mainmenu ul.level_1 > li:hover {
    background: #004f9f;
}
.mainmenu ul.level_1 > li.active:hover {
    background: transparent;
}
.mainmenu ul.level_1 > li:hover > a, .mainmenu ul.level_1 > li > a:hover, .mainmenu ul.level_1 li.submenu:hover > a {
    color: #fff;
}

.mainmenu ul.level_1 li > ul {
    position: absolute;
    background-color: #28639e;
    z-index: 999;
}

.mainmenu ul.level_1 li > ul {
    visibility: hidden;
    opacity: 0;
    -webkit-transition-property: opacity, visibility;
    -moz-transition-property: opacity, visibility;
    -o-transition-property: opacity, visibility;
    transition-property: opacity, visibility;
    -webkit-transition-duration: .2s, 0s;
    -moz-transition-duration: .2s, 0s;
    -o-transition-duration: .2s, 0s;
    transition-duration: .2s, 0s;
    -webkit-transition-delay: 0s, .2s;
    -moz-transition-delay: 0s, .2s;
    -o-transition-delay: 0s, .2s;
    transition-delay: 0s, .2s;
}

.mainmenu ul li:hover > ul {
    opacity: 1;
    visibility: visible;
    -webkit-transition-delay: 0s, 0s;
    -moz-transition-delay: 0s, 0s;
    -o-transition-delay: 0s, 0s;
    transition-delay: 0s, 0s;
}

.mainmenu ul.level_2 {
    min-width: 150px;
    top: 50px;
    left: 0;
    width: auto;
}

.mainmenu ul.level_2 li {
    width: 100%;
    position: relative;
    float: none;
    display: inline-block;
    margin: 0;
    padding: 0;
}

.firefox .mainmenu ul.level_2 li {
    display: inline-table;
}

.mainmenu ul.level_2 li a,.mainmenu ul.level_2 li span.active, .mainmenu ul.level_2 li strong.active, .mainmenu ul.level_2 li span.forward {
    position: relative;
    float: none;
    display: block;
    white-space: nowrap;
    color: #fff;
    padding: 12px 22px;
    border-top: 1px solid #b2b2b2;
    font-size: 16px;
    -webkit-transition: background .4s;
    -o-transition: background .4s;
    transition: background .4s;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .02em;
}
.mainmenu ul.level_2 li:first-child a,.mainmenu ul.level_2 li:first-child span.active,.mainmenu ul.level_2 li:first-child span.forward, .mainmenu ul.level_2 li:first-child strong.active,.mainmenu ul.level_2 li:first-child strong.forward {
    border-top: none;
}

.mainmenu ul.level_2 li a:hover,.mainmenu ul.level_2 li span.active, .mainmenu ul.level_2 li strong.active, .mainmenu ul.level_2 li a.trail,.mainmenu ul.level_2 li.submenu:hover > a {
    background-color: #004f9f;
    color: #fff;
}

.mainmenu ul.level_2 li > ul {
    min-width: 150px;
    left: 0;
    top: 0;
    margin-left: 100%;
    width: auto;
}

.mainmenu a.mobile_handle {
    display: none;
}

@media (max-width:1139px) {
    /* Handle */
    .mainmenu a.mobile_handle {
        height: 40px;
        width: 45px;
        position: relative;
        display: block;
        overflow: hidden;
        background: #004f9f;
        padding-top: 6px;
        font-size: 24px;
        text-decoration: none;
        color: #fff;
        text-align: center;
        cursor: pointer;
    }

    .mainmenu a.mobile_handle span {
        font: 18px 'Open Sans','Calibri',Arial,sans-serif;
        display: inline;
        margin-left: 10px;
    }

    /* Res Nav */
    .mainmenu {
        width: 100%;
    }

    .mainmenu ul {
        -ms-transition: all 0s ease-in-out;
        -webkit-transition: all 0s ease-in-out;
        -o-transition: all 0s ease-in-out;
        -moz-transition: all 0s ease-in-out;
        transition: all 0s ease-in-out;
    }

    .mainmenu ul.level_1 {
        height: auto;
    }

    .mainmenu ul.level_1 li {
        float: none;
        width: 100%;
        text-align: center;
    }

    .mainmenu ul.level_1 li a, .mainmenu ul.level_1 li span.active, .mainmenu ul.level_1 li span.forward, .mainmenu ul.level_1 > li > strong {
        width: 100%;
        display: block;
        height: 45px;
        padding: 14px 13px 13px 13px;
        border-top: 1px solid #e6e6e6;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: background .4s;
        -o-transition: background .4s;
        transition: background .4s;
    }

    .mainmenu ul.level_1 li a:hover, .mainmenu ul.level_1 li span.active, .mainmenu ul.level_1 li span.forward {
        background-color: #fff;
        color: #004f9f;
    }

    .mainmenu ul.level_1 > li, .mainmenu ul.level_1 > li.active, .mainmenu ul.level_1 > li.forward {
        padding: 0;
    }

    #kopfzeile .mainmenu ul.level_1 li a.trail, #kopfzeile .mainmenu ul.level_1 li.submenu:hover > a {
        background-color: #fff;
        color: #004f9f;
    }
    .mainmenu ul.level_1 > li:hover > a, .mainmenu ul.level_1 > li > a:hover, .mainmenu ul.level_1 li.submenu:hover > a {
        color: #fff;
        background: #004f9f;
    }

    .mainmenu ul li a:hover {
        background: #fff;
        color: #004f9f;
    }

    .mainmenu ul.level_1 li > ul {
        position: relative;
        background-color: #eee;
        z-index: 99;
    }

    .mainmenu ul.level_1 li > ul {
        padding: 0px;
        display: none;
        -webkit-transition-property: opacity, visibility;
        -moz-transition-property: opacity, visibility;
        -o-transition-property: opacity, visibility;
        transition-property: opacity, visibility;
        -webkit-transition-duration: .2s, 0s;
        -moz-transition-duration: .2s, 0s;
        -o-transition-duration: .2s, 0s;
        transition-duration: .2s, 0s;
        opacity: 1;
        visibility: visible;
        -webkit-transition-delay: 0s, 0s;
        -moz-transition-delay: 0s, 0s;
        -o-transition-delay: 0s, 0s;
        transition-delay: 0s, 0s;
    }

    .mainmenu ul.level_2 {
        min-width: auto;
        top: 0px;
        width: auto;
        background: #eee;
    }

    .mainmenu ul.level_2 li a, .mainmenu ul.level_2 li span.active, .mainmenu ul.level_2 li strong.active, .mainmenu ul.level_2 li span.forward {
        /*background: #fff;*/
        color: #b3b3b3;
    }

    .mainmenu ul.level_2 li a:hover, .mainmenu ul.level_2 li span.active, .mainmenu ul.level_2 li strong.active, .mainmenu ul.level_2 li span.forward {
        background-color: #28639e;
        color: #fff;
    }
    .mainmenu ul.level_2 li span.forward, .mainmenu ul.level_2 li span.forward:hover, .mainmenu ul.level_1 li:hover span.forward {
        background-color: transparent;
        color: #b3b3b3;
    }

    .mainmenu ul.level_2 li a.trail, .mainmenu ul.level_2 li.submenu:hover > a {
        background-color: #e6e6e6;
        color: #004f9f;
    }

    .mainmenu ul.level_2 li > ul {
        min-width: auto;
        width: auto;
        left: 0;
        top: 0;
        margin-left: 0%;
        padding: 0px;
    }

    .mainmenu ul.level_2 li a, .mainmenu ul.level_2 li span.active, .mainmenu ul.level_2 li strong.active, .mainmenu ul.level_2 li span.forward {
        padding-left: 30px !important;
    }

    .mainmenu ul.level_3 li a, .mainmenu ul.level_3 li span.active, .mainmenu ul.level_3 li span.forward {
        padding-left: 45px !important;
    }

    .mainmenu ul.level_4 li a, .mainmenu ul.level_4 li span.active, .mainmenu ul.level_4 li span.forward {
        padding-left: 60px !important;
    }

    .mainmenu ul.level_5 li a, .mainmenu ul.level_5 li span.active, .mainmenu ul.level_5 li span.forward {
        padding-left: 75px !important;
    }

    .mainmenu ul.level_6 li a, .mainmenu ul.level_6 li span.active, .mainmenu ul.level_6 li span.forward {
        padding-left: 90px !important;
    }
    /* Sub Arrow */
    .mainmenu ul li a.sub_nav {
        position: absolute;
        width: 50px;
        height: 45px;
        right: 0px;
        top: 0px;
        margin: 0;
        padding: 0px !important;
        color: #004f9f !important;
        background-color: #f3f3f3 !important;
        text-align: center;
        cursor: pointer;
        border-left: 1px solid #ccc;
    }

    .mainmenu ul li a.sub_nav:hover {
        background-color: #fff !important;
        color: #004f9f !important;
    }

    .mainmenu .icon-down-open-1,  .mainmenu .icon-up-open-1 {
        position: relative;
        display: block;
        padding-top: 5px;
        font-size: 28px;
    }
}

/*-- MEDIA QUERIES --*/
@media (min-width: 1140px) {
/* Style sheet Navigation_Fix */
    .mainmenu ul.level_1 {
        display: block!important;
    }
}

@media (min-width: 1140px) and (max-width: 1156px) {
/* Style sheet Navigation_Fix_2 */
    .mainmenu .submenu a.sub_nav {
        display: none!important;
    }
}
