.ce-uploads-fileName {
    display: inline-block;
    padding-right: 35px;
    word-break: break-all;
}

.bg-banner {
    margin-top: 145px;
}

header nav {
    height: auto;
    position: relative;
    left: -100px;
    height: 100%;
}

header ul {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .navi1 {
    height: 100%;
}

header nav li {
    margin-left: auto;
    border-top: none;
    width: auto;
    margin: 0 10px;
    height: 100%;
    display: flex;
    align-items: center;
}

header > nav > ul > li > a {
    font-size: 18px;
    line-height: 27px;
    font-family: Opensans, sans-serif;
    text-transform: uppercase;
    color: black;

}

header > nav > ul > li:hover {
    border-bottom: none;
}

header > nav > ul > li:hover > a, .navi2 li.sub > a:hover, .navi2 li a:hover {
    color: #24aae1 !important;
}

.navi1 li:hover a, .navi1 li.active a {
    color: black;
}

header .navi2 {
    background-color: white;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 36px 27px 54px 27px;
    margin-left: 0px;
    width: auto;
    border-radius: 9px;
    box-shadow: 0 9px 18px rgba(0, 0, 0, .2);
    top: 80px;
    padding-right: 0px;
}

.navi2 li.sub > a, .navi2 li a {
    border-top: none;
    width: 100%;
    margin-right: 0px;
    color: black;
    font-size: 22px;
    line-height: 33px;
    font-family: Opensans, sans-serif;
    cursor: pointer;
}

.navi2 li.sub, .navi2 > li {
    background: none !important;
    width: 100% !important;
    border-top: 0px;
    margin-right: 0px;
    position: static;
    flex-flow: column;
    height: auto;
}

.navi2-produkt > li.sub a:after {
    content: '';
    position: relative;
    width: 12px;
    height: 12px;
    display: block;
    top: 15px;
    margin-left: 20px;
    background: url('../../../fileadmin/templates/img/icons_pfeile_neutral_rechts.png') no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
    transform: rotate(90deg);
}

li.sub.hover > a:after {
    transform: rotate(-90deg) !important;
    top: 12px ;
}

.navi4 > li a:after {
    display: none !important;
}

.navi2 > li > a {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.navi3 > li.sub > a {
    font-size: 1.2em;
}

/*
    header .navi3 {
        display: none !important;
    }
    */

header > nav > ul > li:first-child {
    margin-left: 10px !important;
}

#header-new {
    width: 100%;
    height: 90px;
    background-color: white;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid #9f9f9f;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#header-logo {
    width: 300px;
    height: auto;
    padding-left: 55px;
}

#langnav {
    height: 100%;
    width: 100px;
    border-left: 1px solid #9f9f9f;
    text-align: center;
    position: relative;
    /*padding-top: 85px;*/
}

#langnav .language {
    height: 100%;
    flex-direction: column;
    position: relative;
    top: 75px;
}

#langnav .language li:not(.active) {
    display: none;
    height: 30px;
    width: 100%;
}

#langnav .language li:not(.active) a {
    color: #000;
    text-align: center;
    padding: 5px 15px;
    text-decoration: none;
    font-size: 18px;
    line-height: 27px;
    font-weight: 700;
    font-family: Opensans, sans-serif;
    text-transform: uppercase;
    padding: 5px 15px;
    background-color: white;
    display: block;
}

#langnav .language li:not(.active) a:hover {
    color: #24ABE1;
}

#langnav .language .active {
    font-size: 25px;
    line-height: 38px;
    font-weight: 700;
    color: rgb(34, 34, 34);
    display: block;
    position: relative;
    position: absolute;
    top: -55px;
}

#langnav .language .active::after {
    content: "";
    height: 30px;
    width: 30px;
    position: absolute;
    left: 0;
    bottom: -20px;
    background-image: url(/fileadmin/templates/img/arrow_extranet.svg);
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: center;
    transform: rotate(90deg);
}

#langnav .language li a {
    padding: 0;
    border: none;
}

#touchfield {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 500;
    left: 0px;
    top: 0px;
    z-index: 500;
}

/*
.closed-langnav {
    display: none;
    background-color: white;
    margin-top: 33px;
}

#touchfield {
    position: absolute;
    width: 100%;
    height: 35px;
    bottom: 0;
    z-index: 500;
}


#langnav .closed-langnav  a {
    color: black;
    padding: 5px 15px;
    font-size: 18px;
    line-height: 27px;
    font-weight: 700;
    font-family: Opensans, sans-serif;
    text-transform: uppercase;
    display: block;
}

#langnav a.act {
    font-size: 25px;
    line-height: 38px;
    font-weight: 700;
    color: rgb(34, 34, 34);
    display: block;
    padding-top: 20px;
}

#langnav-opener {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 10px;
    transform: rotate(90deg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#langnav-opener img {
    width: 14px;
    height: 14px;
}
*/

/*
#langnav a.act::after {
    content: "";
    height: 30px;
    width: 30px;
    background-image: url(/fileadmin/templates/img/arrow_extranet.svg);
    position: absolute;
    bottom: -23px;
    transform: rotate(90deg);
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: center;
}
*/

footer {
    background-color: #004281;
    min-height: 100px;
}

footer .footerwrapper {
    max-width: none !important;
}

footer .padding-global {
    padding-left: 45px !important;
    padding-right: 45px;
}

footer .container-large {
    margin-right: auto !important;
    margin-left: auto !important;
    max-width: 1890px;
}

footer .padding-vertical {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

footer .padding-xxlarge {
    padding: 90px;
}

footer .w-layout-grid {
    grid-row-gap: 16px;
    grid-column-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
}

footer .footer_top-wrapper {
    grid-column-gap: 10vw;
    grid-row-gap: 10vw;
    grid-template-rows: auto;
    grid-template-columns: .5fr 1fr;
    align-items: start;
}

footer .footer_top-wrapper {
    grid-column-gap: 90px;
    grid-row-gap: 90px;
}

footer .margin-bottom {
    margin-top: 0px !important;
    margin-right: 0px !important;
    margin-left: 0px !important;
}

footer .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
}

footer .margin-medium {
    margin: 36px;
    float: left;
    width: 100%;
}

footer .footer3_logo-link {
    float: none;
    padding-left: 0;
}

footer .w-nav-brand {
    float: left;
    color: #333;
    text-decoration: none;
    position: relative;
}

.logo_footer {
    width: 360px;
    height: auto;
}

.footer_details-wrapper {
    flex-direction: column;
    display: flex;
}

.footer_link-wrapper {
    grid-column-gap: 18px;
    color: white;
    align-items: center;
    display: flex;
}

/*
.w-inline-block {
    max-width: 100%;
    display: inline-block;
}
*/

.footer_link {
    color: #fff;
    text-transform: uppercase;
    font-size: 23px;
    line-height: 34px;
    font-weight: 400;
}

.embed_arrow {
    width: 7px;
    justify-content: center;
    align-items: center;
    font-size: 270px;
    display: flex;
}

a {
    text-transform: uppercase;
    font-family: Opensans, sans-serif;
    text-decoration: none;
}

.footer_social-list.margin-bottom.margin-medium {
    align-items: center;
}

.footer_social-link {
    color: white;
    align-items: center;
    font-size: 14px;
    text-decoration: none;
    display: flex;
}

footer .footer_social-list {
    grid-column-gap: 0.5rem;
    grid-row-gap: 0.5rem;
    white-space: normal;
    grid-template-rows: auto;
    grid-template-columns: max-content;
    grid-auto-columns: max-content;
    grid-auto-flow: column;
    align-items: start;
    justify-items: start;
    display: grid;
}

.social-icon.is-linkedin {
    width: 23px;
    height: 23px;
}

.social-icon {
    width: 27px;
    height: 27px;
}

footer .footer_menu-wrapper {
    grid-column-gap: 135px;
    grid-row-gap: 135px;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
}

footer .footer_link-list {
    flex-direction: column;
    grid-template-rows: auto;
    grid-template-columns: 100%;
    grid-auto-columns: 100%;
    align-items: flex-start;
    justify-items: start;
    display: flex;
}

.footer_link-list-line.is-blue {
    background-color: #24aae1;
}

.footer_link-list-line.is-red {
    background-color: #e62624;
}

.footer_link-list-line.is-purple {
    background-color: #9d2688;
}

.footer_link-list-line.is-l-ften {
    background-color: #b0d8db;
}

.footer_link-list-line {
    width: 100%;
    height: 7px;
}

.footer_link-list-name {
    color: white;
    margin-top: 27px;
    margin-bottom: 27px;
    font-family: Opensans, sans-serif;
    font-size: 23px;
    line-height: 34px;
    font-weight: 600;
}

.footer_plain-text {
    color: white;
    font-family: Opensans, sans-serif;
    font-size: 23px;
    line-height: 34px;
    font-weight: 300;
}

.footer_plain-text a {
    color: white;
}

.margin-small {
    margin-bottom: 18px;
}

.mobile-nav {
    display: none;
}

@media screen and (max-width: 1850px) {
    .footer_plain-text, .footer_link-list-name, .footer_link {
        font-size: 20px;
        line-height: 30px;
    }

    footer .footer_menu-wrapper {
        grid-column-gap: 75px;
        grid-row-gap: 75px;
    }
}

@media screen and (max-width: 1450px) {
    footer .footer_menu-wrapper {
        display: grid;
        grid-column-gap: 40px;
        grid-row-gap: 40px;
    }
}

@media screen and (max-width: 991px) {
    footer .footer_top-wrapper {
        grid-row-gap: 4rem;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 1200px) {
    header nav, #langnav {
        display: none;
    }

    .mobile-nav {
        display: block;
        position: relative;
        height: 60px;
    }

    .mobile-nav .checkbox {
        position: absolute;
        display: block;
        height: 18px;
        width: 22px;
        top: 20px;
        right: 30px;
        z-index: 5;
        opacity: 0;
        cursor: pointer;
    }

    .mobile-nav .hamburger-lines {
        display: block;
        height: 18px;
        width: 22px;
        position: absolute;
        top: 20px;
        right: 30px;
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .mobile-nav .hamburger-lines .line {
        display: block;
        height: 3px;
        width: 100%;
        background: black;
    }

    .mobile-nav .hamburger-lines .line1 {
        transform-origin: 0% 0%;
        transition: transform 0.4s ease-in-out;
    }

    .mobile-nav .hamburger-lines .line2 {
        transition: transform 0.2s ease-in-out;
    }

    .mobile-nav .hamburger-lines .line3 {
        transform-origin: 0% 100%;
        transition: transform 0.4s ease-in-out;
    }

    .mobile-nav input[type="checkbox"]:checked ~ .menu-items {
        transform: translateX(0);
    }

    .mobile-nav input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
        transform: rotate(45deg);
    }

    .mobile-nav input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
        transform: scaleY(0);
    }

    .mobile-nav input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
        transform: rotate(-45deg);
    }

    .mobile-nav input[type="checkbox"]:checked ~ .logo {
        display: none;
    }

    #header-new {
        height: 77px;
    }

    #header-logo {
        max-width: 80%;
        padding-left: 4%;
    }

    header nav {
        position: absolute;
        left: 0;
        top: 77px;
        width: 100%;
        height: calc(100vh - 77px);
        background-color: white;
        padding: 50px 35px;
        overflow-y: scroll;
        padding-bottom: 60px;
        overflow-x: hidden;
    }

    header .navi1 {
        display: block;
        height: auto;
    }

    header nav li, header > nav > ul > li:first-child {
        width: 100%;
        padding-left: 0px !important;
        margin-left: 0px !important;
        margin-bottom: 20px;
        display: flex;
        flex-flow: wrap;
    }

    header .navi2 {
        display: none;
        position: relative;
        flex-flow: column;
        height: auto;
        flex-shrink: 0;
        top: auto;
        box-shadow: none;
        padding: 0;
        float: none;
        width: 100% !important;
        padding-left: 15px;
        margin-top: 5px;
        margin-bottom: 25px;

        margin-left: 0 !important;
        left: 0 !important;
        transform: none;
        max-height: inherit;
        overflow: hidden;
    }

    header nav li {
        border-bottom: 0px;
        display: block;
        clear: both;
    }

    header > nav > ul > li > a {
        font-size: 22px;
        font-weight: 400;
        line-height: 32px;
    }

    /*nav li:after, .navi2 li.sub > a::after, .navi2 li a::after {*/
        /*display: none;*/
    /*}*/

    /*.navi1 .sub a {*/
        /*position: relative;*/
        /*display: inline-block;*/
    /*}*/

    /*.navi1 > .sub a::after {*/
        /*position: absolute;*/
        /*top: 0;*/
        /*right: -25px;*/
        /*color: black;*/
        /*content: "\f105";*/
        /*font-family: FontAwesome;*/
        /*font-size: 18px;*/
        /*font-weight: bold;*/
    /*}*/

    /*.navi1 > .sub.hover a::after {*/
        /*color: #24aae1;*/
        /*transform: rotate(90deg);*/
    /*}*/

    header nav li.hover {
        border-bottom: none !important;
    }

    header nav li.sub > a:after {
        content: '';
        position: relative;
        width: 12px;
        height: 12px;
        display: inline-block;
        right: 0px;
        top: 0px;
        margin-left: 20px;
        background: url(../../../fileadmin/templates/img/icons_pfeile_neutral_rechts.png) no-repeat !important;
        background-position: left center !important;
        background-size: contain !important;

    }

    header nav li.sub.hover > a:after {
        transform: rotate(90deg) !important;
    }
    header .navi1 > li.sub.hover > a:after {
        top: 0;
    }


    .navi1 .sub.hover > ul {
        display: flex;
        opacity: 1;
        visibility: visible;
    }

    .navi2 li.sub, .navi2 > li {
        border-top: none;
        margin-bottom: 0px !important;
    }
    .navi4 {
        padding: 0;
    }
    .navi3 {
        display: block;

    }

    .navi2-produkt .navi4 {
        left: 0 !important;
    }

    .navi3 {
        display: none;
        height: auto;
        left: 0 !important;
        top: auto;
        margin-left: 0;
        margin: 0;
    }

    .navi2 li.sub > a, .navi2 li a {
        font-size: 18px;
        line-height: 30px;
        font-weight: normal;
        padding-bottom: 0px;
        padding-right: 20px;
        position: relative;
        width: fit-content;
    }

    .navi3 li, .navi2 li, .navi3 li.hover, .navi2 li.hover, .navi4 li, .navi4 li.hover {
        border-top: none !important;
    }

    #langnav {
        position: absolute;
        right: 0;
        top: 105px;
        z-index: 100;
        border-left: none;
    }

    #langnav-opener {
        bottom: 5px;
    }

    .closed-langnav {
        margin-top: 15px;
    }

    #langnav a.act {
        font-size: 21px;
        line-height: 31px;
    }

    .bg-banner {
        display: none;
    }

}

@media screen and (max-width: 768px) {
    footer .padding-global {
        padding-left: 4% !important;
        padding-right: 4%;
    }

    footer .footer_menu-wrapper {
        grid-row-gap: 40px;
        grid-template-columns: 1fr;
    }
}