/* libre-franklin-regular - latin */
@font-face {
    font-family: 'Libre Franklin';
    font-style: normal;
    font-weight: 400;
    src: url('../webfonts/libre-franklin-v7-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../webfonts/libre-franklin-v7-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../webfonts/libre-franklin-v7-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-regular.woff') format('woff'), /* Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('../webfonts/libre-franklin-v7-latin-regular.svg#LibreFranklin') format('svg'); /* Legacy iOS */
}

/* libre-franklin-800 - latin */
@font-face {
    font-family: 'Libre Franklin';
    font-style: normal;
    font-weight: 800;
    src: url('../webfonts/libre-franklin-v7-latin-800.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../webfonts/libre-franklin-v7-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../webfonts/libre-franklin-v7-latin-800.woff2') format('woff2'), /* Super Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-800.woff') format('woff'), /* Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */ url('../webfonts/libre-franklin-v7-latin-800.svg#LibreFranklin') format('svg'); /* Legacy iOS */
}

/* libre-franklin-italic - latin */
@font-face {
    font-family: 'Libre Franklin';
    font-style: italic;
    font-weight: 400;
    src: url('../webfonts/libre-franklin-v7-latin-italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../webfonts/libre-franklin-v7-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../webfonts/libre-franklin-v7-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-italic.woff') format('woff'), /* Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('../webfonts/libre-franklin-v7-latin-italic.svg#LibreFranklin') format('svg'); /* Legacy iOS */
}

/* libre-franklin-800italic - latin */
@font-face {
    font-family: 'Libre Franklin';
    font-style: italic;
    font-weight: 800;
    src: url('../webfonts/libre-franklin-v7-latin-800italic.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../webfonts/libre-franklin-v7-latin-800italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../webfonts/libre-franklin-v7-latin-800italic.woff2') format('woff2'), /* Super Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-800italic.woff') format('woff'), /* Modern Browsers */ url('../webfonts/libre-franklin-v7-latin-800italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('../webfonts/libre-franklin-v7-latin-800italic.svg#LibreFranklin') format('svg'); /* Legacy iOS */
}

.clearfix * {
    zoom: 1;
}

.clearfix:before,
.clearfix:after {
    display: table;
    content: "";
    line-height: 0;
}

.clearfix:after {
    clear: both;
}

html {
    font-size: 10px;
    overflow-x: hidden;
}

@media (max-width: 767px) {
    body, html {
        -ms-overflow-style: scrollbar;
        max-width: 100% !important;
    }
}

body {
    position: relative;
    background: #fff;
    color: #454545;
    font-weight: 300;
    font-size: 1.6rem;
    font-family: 'Libre Franklin';
}

html,
body {
    width: 100%;
}

b, strong {
    font-weight: 800;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body section p {
    text-align: justify
}

button, input, select, input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
    border-radius: 0 !important;
    border: 0;
}

.container-fluid {
    max-width: 1630px
}


hr {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #fff;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: #454545
}

a:hover,
a:focus {
    color: #666;
    text-decoration: none;
    outline: none;
}

/** BASICS **/
#wrapper {
    position: relative;
    z-index: 10;
}


/* HEADER */
h1, h2, h3, h4, h5, h6, .page-hero span,
.h1, .h2, .h3, .h4, .h5, .h6, .page-hero span {
    clear: both;
    font-weight: 800;
    line-height: 1.3;
    color: #212346
}

h1, .h1 {
    font-size: 2.4rem;
}

h2, .h2 {
    font-size: 2.2rem;
}

h3, .h3 {
    font-size: 2rem;
}

h4, .h4 {
    font-size: 1.9rem;
}

h5, .h5 {
    font-size: 1.8rem;
}


@media (min-width: 768px) {
    h1, .h1 {
        font-size: 2.6rem;
    }

    h2, .h2 {
        font-size: 2.4rem;
    }

    h3, .h3 {
        font-size: 2.2rem;
    }

    h4, .h4 {
        font-size: 2rem;
    }

    h5, .h5 {
        font-size: 1.9rem;
    }
}

@media (min-width: 992px) {
    h1, .h1 {
        font-size: 2.8rem;
    }

    h2, .h2 {
        font-size: 2.6rem;
    }

    h3, .h3 {
        font-size: 2.4rem;
    }

    h4, .h4 {
        font-size: 2.1rem;
    }

    h5, .h5 {
        font-size: 2rem;
    }
}

@media (min-width: 1200px) {
    h1, .h1 {
        font-size: 4rem;
    }

    h2, .h2 {
        font-size: 3.8rem;
    }

    h3, .h3 {
        font-size: 2.6rem;
    }

    h4, .h4 {
        font-size: 2.2rem;
    }

    h5, .h5 {
        font-size: 2.1rem;
    }
}

@media (min-width: 1900px) {
    h1, .h1 {
        font-size: 4.5rem;
    }

    h2, .h2 {
        font-size: 4rem;
    }

    h3, .h3 {
        font-size: 2.8rem;
    }

    h4, .h4 {
        font-size: 2.3rem;
    }

    h5, .h5 {
        font-size: 2.2rem;
    }
}

/** BREADCRUMB**/
#breadCrumb {
    position: relative;
    z-index: 3;
    font-size: 10px;
}

.breadcrumbmenu {
    padding: 15px;
    border-bottom: 2px solid #212346
}

ol.breadcrumb {
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important
}

section#simpleheader + #breadCrumb,
div#main-slider + #breadCrumb {
    margin-top: 0
}

#breadCrumb + #cta {
    margin-top: 0
}

#breadCrumb p {
    margin: 0;
    padding: 0;
}

#breadCrumb i {
    margin: 0px 7px;
}

.breadCrumb strong {
    color: #212346;
}

#breadCrumb a, #breadCrumb i, #breadCrumb p, #breadCrumb p a {
    font-size: 10px;
    text-decoration: none !important;
    color: #454545;
}

/* Large desktops and laptops */
@media (min-width: 1200px) {

}

/* Landscape tablets and medium desktops */
@media (min-width: 992px) and (max-width: 1199px) {

}

/* Portrait tablets and small desktops */
@media (min-width: 768px) and (max-width: 991px) {

}

/* Landscape phones and portrait tablets */
@media (max-width: 767px) {

}

/* Portrait phones and smaller */
@media (max-width: 480px) {


    .breadcrumbholder {
        padding: 15px;
        margin: 0 -15px;
        font-size: 10px;
    }

    .breadcrumbholder i {
        margin: 0 2px
    }
}

/** HELPERS**/

iframe {
    max-width: 100%;
}

.thetabler {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
}

.caption .thetabler {
    left: 15px;
    top: 0;
    right: 15px;
    bottom: 0;
}

.thetable {
    display: table;
    margin-bottom: 0;
    height: 100%;
    width: 100%;
    max-width: 100%;
}

.thetable .inner {
    display: table-cell;
    vertical-align: middle;
}

.small-gap {
    margin-bottom: 15px !important;
}

.gap {
    margin-bottom: 30px !important;
}

.big-gap {
    margin-bottom: 60px !important;
}

.no-margin {
    margin: 0;
    padding: 0;
}

.tcenter {
    text-align: center;
}

.tright {
    text-align: right;
}

.versteckt {
    opacity: 0
}

.sichtbar {
    opacity: 1
}

.shadow {
    box-shadow: 0px 0px 3px 1px #333;
    -moz-box-shadow: 0px 0px 3px 1px #333;
    -webkit-box-shadow: 0px 0px 3px 1px #333;
}

.inner-shadow {
    -moz-box-shadow: inset 0 8px 8px -8px #000,
    inset 0 -8px 8px -8px #000;
    -webkit-box-shadow: inset 0 8px 8px -8px #000,
    inset 0 -8px 8px -8px #000;
    box-shadow: inset 0 8px 8px -8px #000,
    inset 0 -8px 8px -8px #000;
}

.img-responsive {
    margin: 0 auto;
}

p {
    margin-bottom: 1.2em;
}

p a {
    text-decoration: underline;
}

section {
    padding: 65px 0
}

section.vc_section {
    padding: 30px 15px;
}

section section.vc_section:first-of-type {
    padding-top: 0 !important
}

/* Landscape tablets and medium desktops */
@media (min-width: 992px) and (max-width: 1199px) {

}

/* Portrait tablets and small desktops */
@media (min-width: 768px) and (max-width: 991px) {

}

/* Landscape phones and portrait tablets */
@media (max-width: 767px) {
    section {
        padding: 50px 0
    }
}

/* Portrait phones and smaller */
@media (max-width: 565px) {
    section {
        padding: 50px 0
    }
}

/** HEADER & SLIDERS **/

#simpleheader {
    background-color: #212346;
    padding: 50px 15px;
}

#simpleheader p.h1 {
    color: #fff;
    line-height: 1;
    margin: 0
}


.slider {
    padding-top: 115px;
}

.main-slider {
    position: relative;
    height: auto;
    z-index: 5;
    min-height: 150px;
    overflow:hidden
}


.main-slider .carousel-inner {
    height: auto;
}

.carousel p:last-child {
    margin-bottom: 0
}

.main-slider .carousel-item {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    width: 100%;
    padding-bottom: 70%
}


@media (max-width: 575px) {
    .slidercaption p, .slidercaption .btn-default {
        font-size: 1.1rem
    }
}

@media (min-width: 576px) {
    .main-slider .carousel-item {
        padding-bottom: 60%
    }


}

@media (min-width: 768px) {
    .main-slider .carousel-item {
        padding-bottom: 50%
    }


}

@media (min-width: 992px) {
    .main-slider .carousel-item {
        padding-bottom: 46%
    }


}

@media (min-width: 1200px) {
    .main-slider .carousel-item {
        padding-bottom: 46%
    }


}

@media (min-width: 1600px) {
    .main-slider .carousel-item {
        padding-bottom: 42%
    }


}

@media (min-width: 1921px) {
    .main-slider .carousel-item {
        padding-bottom: 40%
    }
}


.sliderbild img {
    transition: transform linear 7s;
    transform: scale(1.15);
    transform-origin: center bottom;
    max-height: 55vH;
}

.slidercaption {
    background-color: #fff;
    padding: 1.15rem;
    margin-bottom: 0px;
    box-shadow: 20px 15px 35px rgba(0, 34, 65, .07)
}

@media (max-width: 575px) {
    .main-slider p.h2 {
        font-size: 1.1rem;
    }

    .main-slider p.h3 {
        font-size: .9rem;
    }

    .slidercaption p {
        font-size: 75%;
    }

    .slidercaption .btn {
        padding: 7px 8px 8px
    }
}

.captionouter {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 0 15px 45px 0;
    overflow: hidden;
    z-index: 2;
}

@media (min-width: 768px) {
    .captionouter {
        padding: 0 45px 45px 0;
    }

}

.carousel-indicators {
    position: relative;
    margin: 0;
}

.carousel-indicators-holder {
    display: none;
}

@media (min-width: 768px) {
    .carousel-indicators-holder {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 60px;
    }
}

.carousel-indicators .carousel-indicator {
    width: auto !important;
    margin: 0 !important;
    float: left !important;
    opacity: .5;
    position: relative;
    cursor: pointer;
}

.carousel-indicators .carousel-indicator:hover {
    opacity: .75 !important;
}

.carousel-indicators .carousel-indicator:hover i {
    transform: rotate(90deg);
}

.carousel-indicators .carousel-indicator.active {
    opacity: 1;
}


.indicator {
    border-top: 2px solid #fff;
    padding: 4px 0 0;
    font-size: 86%;
    font-weight: bold;
    color: #fff;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.carousel-indicator i {
    position: absolute;
    top: 7px;
    font-size: 12px;
    right: 15px;
    color: #fff;
    transition: transform ease .25s
}

.carousel-inner {
    position: relative;
    left: 0;
    top: 0;
    height: auto;
}

.carousel .caption {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 2;
    color: #fff;

}

.carousel .captionBG {
    background-color: #fab30f;
    mix-blend-mode: color;
    z-index: 3;
    transform: skewX(15deg);
    transform-origin: left bottom
}


.carousel .caption:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
}

.carousel .captionBG:after {
    content: '';
    position: absolute;
    left: 100%;
    top: 0;
    bottom: 0;
    right: auto;
    background-color: #fab30f;
    width: 100%;
}


.carousel .caption p {
    color: #fff;
}

.carousel .caption p.h1 span {
    background-color: #ffF;
    padding: 5px 10px;
    color: #002241
}

.carousel .caption p.h1 + p {
    margin-top: 15px;
    font-weight: bold;
}

.carousel .caption p.h1 + p span {
    color: #ffF;
    padding: 5px 10px;
    background-color: #002241
}

.sub-slider {
    position: relative;
    height: auto;
    z-index: 5;
    background-color: #fff;
    overflow: hidden;
}

.carousel-control-next, .carousel-control-prev {
    z-index: 100;
}


.sub-slider .carousel-inner {
    height: auto;
}

.sub-slider .carousel-item {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    width: 100%;
    padding-bottom: 60%
}

@media (min-width: 576px) {
    .sub-slider .carousel-item {
        padding-bottom: 55%
    }
}

@media (min-width: 768px) {
    .sub-slider .carousel-item {
        padding-bottom: 50%
    }
}

@media (min-width: 1200px) {
    .sub-slider .carousel-item {
        padding-bottom: 45%
    }
}

@media (min-width: 1600px) {
    .sub-slider .carousel-item {
        padding-bottom: 40%
    }
}

@media (min-width: 1921px) {
    .sub-slider .carousel-item {
        padding-bottom: 35%
    }
}

.carousel-inner {
    position: relative;
    left: 0;
    top: 0;
    height: auto;
}

.sub-slider .caption {
    position: absolute;
    left: 0;
    bottom: 5%;
    max-height: 90%;
    right: 0;
    z-index: 2;
    color: #fff;
}

.sub-slider .caption p {
    color: #fff;
}


.headervideo {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
    width: 100%;
}

.carousel-item.hasVideo .caption {
    top: 50%;
    opacity: 1;
    transition: opacity ease .3s;
}

.carousel-item.hasVideo:hover .caption {
    opacity: .15;
}

.claimholder {
    position: absolute;
    left: 0px;
    bottom: 0;
    right: 0px;
    top: 0;
    background-color: rgba(33, 35, 70, .33);
    overflow: hidden;
    padding: 0 15px;
}

@media (min-width: 768px) {
    .claimholder {
    }
}

.toggleVidVol {
    position: absolute;
    left: 15px;
    top: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    color: #fff;
    text-shadow: 0 0 3px rgba(0, 0, 0, .25);
    cursor: pointer;
    z-index: 10000;
    text-align: center;
    line-height: 30px;
}

.toggleVidVol .fa-volume-off,
.toggleVidVol.volumeOff .fa-volume {
    display: none;
}

.toggleVidVol.volumeOff .fa-volume-off,
.toggleVidVol .fa-volume {
    display: block;
    line-height: 30px;
}


.sub-slider .container.headcover {
    position: absolute;
    left: 0;
    bottom: -1px;
    right: 0;
}

.sub-slider .container.headcover .headtitle {
    position: relative;
    height: 100px;
    width: 100%;
    z-index: 1;
}

.sub-slider .container.headcover .headtitle:before {
    content: '';
    position: absolute;
    right: -60px;
    top: 0px;
    height: 100%;
    background-color: #fff;
    width: 10000px;
}

.sub-slider + section.maincontent {
    padding-top: 0 !important
}

@media (max-width: 1400px) {
    .sub-slider .container.headcover {
        position: relative;
        height: 20px
    }

    .sub-slider .container.headcover .headtitle:before {
        right: -1000px;
    }
}


/** NAVBAR **/
header.megamenuopened .navbar {
    box-shadow: 0 0 10px rgba(0, 0, 0, .25);
    background-color: rgba(255, 255, 255, 1);
}


header .container-fluid {
    max-width: 1630px;

}

header {
    transition: transform ease .3s;
}

.navbar {
    z-index: 999;
    border-radius: 0 !Important;
    margin-bottom: 0;
    font-weight: 300;
    border-top: 30px solid #212346;
    background-color: rgba(255, 255, 255, 0);
    padding: 0 15px;
    transition: box-shadow ease .3s, transform ease .3s, border-top-width ease .3s;
    -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

body.navaffix .navbar {
    -webkit-box-shadow: 0 0 20px rgb(0 0 0 / 10%);
    -moz-box-shadow: 0 0 20px rgb(0 0 0 / 10%);
    box-shadow: 0 0 20px rgb(0 0 0 / 10%);
    background-color: rgba(255, 255, 255, 1);
    border-top-width: 0px;
}

.navbar-nav > li > a {
    font-size: 16px;
    color: #212346;
    padding: 0 10px !important;
    border-bottom: 2px solid transparent;
    font-weight: bold;
}

.navbar-nav > li.menu-item-has-children:hover .dropdown-menu {
    display: block;
}

.dropdown-item { font-size:1.4rem}

.navbar-nav li.active a, .navbar-nav li.current-menu-item > a, .navbar-nav li.current-menu-parent > a,
.dropdown-item.active, .dropdown-item:active, .navbar-nav li.current-page-ancestor > a, .navbar-nav li.current-post-ancestor > a {
    border-bottom-color: #ffbc00;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: #212346
}

.navbar-nav > li > a:hover {
    color: #666 !important
}

.navbar-brand {
    height: auto;
    z-index: 1000;
}

.navbar-brand img {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    height: 80px;
    max-width: 250px;
}

#metanav {
    position: absolute;
    right: 0;
    top: 0;
}

@media (min-width: 576px) and (max-width: 991px) {
    .navbar-brand img {
        max-width: 450px;
    }
}

@media (min-width: 576px) {

}

@media (min-width: 768px) {

}

@media (min-width: 992px) {
    .navbar-brand img {
        max-width: 600px;
    }
}

@media (min-width: 1200px) {
}

@media (min-width: 1600px) {

}

.dropdown-toggle::after {
    margin-left: 0;
    vertical-align: 0;
    content: "\f107";
    font-family: "Font Awesome 5 Pro";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    border: 0;
    margin-left: 5px;
}

nav .meta {
    position: absolute;
    top: 100%;
    right: 45px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .25);
    margin-top: -10px;
    background-color: #333;
}

nav .meta li a {
    display: block;
    font-size: 12px;
    color: #fff;
}

nav .btn-default {
    font-size: 12px;
    padding: 10px 15px;
}


/** NAVBAR **/
/** FULL SIZE NAV **/

@media (min-width: 992px) {
    .mobilenav {
        display: none;
    }
}

@media (max-width: 991px) {
    .megamenuwrap {
        display: none !important
    }

    #secondNav .mainNav {
        padding: 5px 30px;
    }

    .menui {
        background: #fff;
        transition: transform ease 0.3s;
        margin-top: 10px;
        position: absolute;
    }


    body.navaffix .menuicon {
        top: 0;
    }

    body.navaffix .menuicon, .menuicon {
        top: 0;
    }

    footer {
        margin-bottom: 0 !important
    }


    body #wrapper {
        transition: transform ease .3s;
    }

    body.menuopen #wrapper, body.menuopen header.fixed-top {
        transform: translateX(-450px);
        -webkit-transform: translateX(-450px);
        -moz-transform: translateX(-450px);
        -ms-transform: translateX(-450px);
        -o-transform: translateX(-450px);
        transform: translateX(-450px);
    }

    body.menuopen.navaffix #secondNav {
        transform: translateY(0) translateX(-450px);
        -webkit-transform: translateY(0) translateX(-450px);
        -moz-transform: translateY(0) translateX(-450px);
        -ms-transform: translateY(0) translateX(-450px);
        -o-transform: translateY(0) translateX(-450px);
        transform: translateY(0) translateX(-450px);
    }

    body.menuopen {
        overflow: hidden
    }


    body.menuopen .mobilenav {
        right: 0px;
        box-shadow: inset 3px 0 5px rgba(0, 0, 0, .15);
    }

    .mobilenav {
        top: 0;
        bottom: 0;
        min-width: 140px;
        z-index: 999;
        padding: 50px;
        position: fixed;
        height: 100%;
        overflow: auto;
        border-left: 2px solid #212346;
        transition: right ease .3s;
        text-align: left;
        width: 450px;
        right: -450px;
        background-color: #f4f4f6;
        box-shadow: inset 3px 0 5px rgba(0, 0, 0, 0);
    }

    .mobilenav .search-form {
        margin-top: 50px;
    }

    .mobilenav .search-form input {
        width: 100%;
    }

    .mobilenav .table {
        display: table;
        margin-bottom: 0;
        height: 100%;
        width: 100%;
        max-width: 100%;
        padding: 50px 0
    }

    .mobilenav .table .inner {
        display: table-cell;
        vertical-align: middle;
    }

    .mobilenav.in {
        display: table;
    }

    .mobilenav ul {
        margin: 0;
        padding: 0;
    }

    .mobilenav ul.clearfix > li {
        display: block;
        width: 100%;
    }

    .mobilenav li {
        list-style-type: none;
        list-style-image: none;
        list-style: none;
        text-align: left;
        margin: 4px 0;
        position: relative;
        clear: both;
        z-index: 2;
    }

    .mobilenav li ul {
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        transition: all 0.5s;
        display: none;
        padding: 0 0 0 15px;
        clear: both;
        width: 100%;
    }

    .mobilenav li ul:before, .mobilenav li ul:after {
        display: table;
        content: "";
        line-height: 0;
    }

    .mobilenav li.menu-item-has-children > a:after {
        display: inline-block;
        margin-left: auto;
        vertical-align: .255em;
        content: "";
        /* border-top: .3em solid;
         border-right: .3em solid transparent;
         border-bottom: 0;
         border-left: .3em solid transparent;*/
        right: 15px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 0;
        vertical-align: 0;
        content: "\f107";
        font-family: "Font Awesome 5 Pro";
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        border: 0;
        margin-left: 5px;
    }

    .mobilenav li.parent-clicked ul, .mobilenav li.current-menu-parent ul {
        display: block
    }


    .mobilenav li ul:hover {
        opacity: 1;
    }

    .mobilenav li ul li ul li {
        position: relative;
    }

    .mobilenav li a {
        padding: 10px 15px;
        font-size: 20px;
        display: block;
        text-decoration: none;
        font-weight: bold;
        position: relative;
        border-bottom: 2px solid transparent;
        line-height: 1;
    }

    .mobilenav li ul li a {
        font-size: 90%;
        display: block;
        padding: 5px 15px;
    }

    .mobilenav li.active a, .mobilenav li.current-menu-item > a, .mobilenav li.current-menu-parent > a, .mobilenav li:hover > a {
        border-bottom: 2px solid #ffbc00
    }


    .menuicon {
        z-index: 99999;
        position: relative;
        display: block;
        padding: 12px 11px;
        height: 50px;
        width: 50px;
        margin: 0px;
        top: 0px;
        right: 0;
        background-color: #fff;
        margin-left: 15px;
    }

    .top-animate {
        border-color: #212346 !important;
        background-color: #212346 !important;
        top: 14px !important;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .mid-animate {
        opacity: 0;
    }

    .bottom-animate {
        border-color: #212346 !important;
        background-color: #212346 !important;
        top: 14px !important;
        -webkit-transform: rotate(-225deg);
        transform: rotate(-225deg);
    }


    .top-menu {
        top: 4px;
        width: 28px;
        height: 2px;
        border-radius: 0;
        background-color: #212346;
        border: 2px solid #212346;
    }

    .mid-menu {
        top: 14px;
        width: 28px;
        height: 2px;
        border-radius: 0;
        background-color: #212346;
        border: 2px solid #212346
    }

    /*.mid-animate {

      top: 3px !important; border:4px solid #000;
      border-radius: 50%; width:25px; height:25px; background:transparent;
    }*/
    .bottom-menu {
        top: 24px;
        width: 28px;
        height: 2px;
        border-radius: 0;
        background-color: #212346;
        border: 2px solid #212346
    }

}

body.menuopen {
    overflow: hidden
}

@media (max-width: 768px) {

    body.menuopen #wrapper, body.menuopen header.fixed-top {
        transform: translateX(-325px);
        -webkit-transform: translateX(-325px);
        -moz-transform: translateX(-325px);
        -ms-transform: translateX(-325px);
        -o-transform: translateX(-325px);
        transform: translateX(-325px);
    }

    body.menuopen.navaffix #secondNav, body.menuopen header.fixed-top {
        transform: translateY(0) translateX(-325px);
        -webkit-transform: translateY(0) translateX(-325px);
        -moz-transform: translateY(0) translateX(-325px);
        -ms-transform: translateY(0) translateX(-325px);
        -o-transform: translateY(0) translateX(-325px);
        transform: translateY(0) translateX(-325px);
    }

    .mobilenav {
        max-width: 325px
    }
}


@media (max-width: 576px) {

    body.menuopen #wrapper, body.menuopen header.fixed-top {
        transform: translateX(-280px);
        -webkit-transform: translateX(-280px);
        -moz-transform: translateX(-280px);
        -ms-transform: translateX(-280px);
        -o-transform: translateX(-280px);
        transform: translateX(-280px);
    }

    .mobilenav {
        max-width: 280px;
        padding: 15px;
    }
}


/** SLICKS **/

.slick-list {
    padding: 0px 0 !important;
    margin: 5px 0 !important;
}

.slick-slider .slick-prev, .slick-slider .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    line-height: 20px;
    text-align: center;
    border-radius: 50% !important;
    color: #000;
    background-color: #fff;
    outline: none !important;
    z-index: 19;
    font-size: 16px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

@media (min-width: 768px) {
    .slick-slider .slick-prev, .slick-slider .slick-next {

        width: 60px;
        height: 60px;
        line-height: 70px;

    }
}


.slick-slider .slick-prev:hover, .slick-slider .slick-next:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, .15);
}

.slick-slider.dark .slick-prev, .slick-slider.dark .slick-next {
    background-color: rgba(255, 255, 255, .15);
}

.slick-slider.dark .slick-prev:hover, .slick-slider.dark .slick-next:hover {
    background-color: rgba(255, 255, 255, .05);
}

.slick-prev {
    left: -10px;
}

.slick-next {
    right: -10px
}

@media (min-width: 768px) {
    .slick-slider .slick-prev {
        left: -20px;

    }

    .slick-slider .slick-next {
        right: -20px;
    }
}

@media (min-width: 1200px) {
    .slick-slider .slick-prev {
        left: -30px;

    }

    .slick-slider .slick-next {
        right: -30px;
    }
}

.slick-track {
    display: flex;
}

.slick-track .slick-slide {
    height: inherit;
}

.slick-track .slick-slide > div {
    height: 100%
}

.slick-track .slick-slide > div .slickitem {
    height: 100%;
    padding: 15px 0;
}


/** FORMS **/

.form-control, #newsletter input[type=text], input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea, textarea.form-control {
    color: #454545 !important;
    border-radius: 0;
    border: 1px solid #666;
    background: transparent;
    box-shadow: none !important;
    margin-bottom: 15px !important;
    padding: 22px 9px 5px;
    height: auto !important;
    line-height: 1;
    position: relative;
    z-index: 1;
    font-size: 1.6rem;
}

.newsletterelement .form-control,
.calltoactionelement .form-control {
    color: #212346 !important;
    border-color: #fff !Important;
}

.wpcf7-form-control-wrap {
    position: relative
}

.form-control:focus {
    background-color: transparent
}

input[type="file"].form-control {
    padding: 12px 9px;
}

textarea.form-control {
    height: auto;
}

.form-group {
    position: relative;
    margin-bottom: 1rem !important;
}

/* AK86 CF7 */
form label,
form label.small {
    font-weight: bold !important;
    font-size: 1.6rem;
}

div.wpcf7 .ajax-loader {
    position: absolute;
    left: 0%;
    top: 50%;
    margin-top: -8px;

}

.form-group label {
    position: absolute;
    left: 15px;
    top: 50%;
    font-size: 16px;
    z-index: 2;
    color: rgba(0, 0, 0, .33);
    transition: all ease .3s;
    pointer-events: none;
    transform: translateY(-50%);
    font-weight: normal !important;
}

.newsletterelement .form-group label,
.calltoactionelement .form-group label {
    color: rgba(255, 255, 255, .6);
}

textarea.form-control {
}

.form-group.active label {
    position: absolute;
    left: 9px;
    top: 3px;
    font-size: 12px;
    font-weight: bold !important;
    z-index: 2;
    transform: translateY(0);
    color: #ffbc00
}

.form-control:focus {
    border-color: #ffbc00 !important;
}

.calltoactionelement .form-control:focus {
    border-color: #212346 !important;
}

.calltoactionelement .form-group.active label {
    color: #212346 !important;
}

.wpcf7-list-item {
    display: block
}

.wpcf7-list-item-label { font-weight: 400;}

p.form-row.filled label,
.form-group.filled label {
    position: absolute;
    left: 9px;
    top: 3px;
    font-size: 12px;
    font-weight: bold !Important;
    z-index: 2;
    color: green !important;
    transform: translateY(0);
}

.form-group.invalid .form-control,
.form-group.invalid label {
    color: darkred !important;
}

.form-group.invalid .form-control,
.form-group.filled.invalid .form-control {
    border-color: darkred !important;
}

.form-group.filled .form-control {
    border-color: green !important;
}

.form-group.filled.invalid label {
    color: darkred !important;
}

.wpcf7-form-control-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0 0 45px;
}

.form-control .wpcf7-not-valid {
    color: darkred !important
}

span.wpcf7-not-valid-tip {
    display: none
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: darkred;
    background-color: darkred;
    color: #fff;
    font-weight: bold;
}

.form-group.invalid span.wpcf7-not-valid-tip {
    color: darkred !important;
    display: block;
    font-style: italic;
    font-size: 12px;
    font-weight: 600;
    margin-top: -10px;
    padding: 5px;
    position: absolute;
    top: 8px;
    right: 0;
}

div.wpcf7-mail-sent-ok,
.wpcf7-response-output, .wpcf7 form.sent .wpcf7-response-output {
    border-color: green;
    background-color: green;
    color: #fff;
    font-weight: 700;
    font-style: italic;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    color: #fff;
    font-weight: 700;
    font-style: italic;
    background: darkred;
    border-color: darkred;
    margin-left: 0;
    margin-right: 0;
}

/** BUTTONS **/

.btn-default, #newsletter input[type=submit], input[type="button"], input[type="submit"], #artikelanfrage-gruppe button {

    border: 2px solid #212346;
    text-decoration: none;
    background-color: #fff;
    color: #212346;
    padding: 15px 25px;
    box-shadow: none !important;
    border-radius: 0 !Important;
    position: relative;
    line-height: 1;
    z-index: 1;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 1.6rem;
    transition: color ease .15s, border ease .15s;
}

.btn-default:after {
    content: "\f30b";
    position: relative;
    float: right;
    padding-left: 35px;
    transition: padding ease .15s;
    font-family: "Font Awesome 5 Pro";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

.btn-default-left:after {
    content: "\f30a";
    position: relative;
    float: left;
    padding-left: 0;
    padding-right: 35px;
    transition: padding ease .15s;
    font-family: "Font Awesome 5 Pro";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

.carousel .btn-default:hover { border-color: #ffbc00 !important; color:#ffbc00 !important}
.btn-default:hover { background-color: #ffbc00; color:#fff}
.btn-default.btn-trans:hover {
    color: #212346;
    border-color: #212346
}

.btn-default.btn-invert {
    border: 2px solid #fff !important;
    color: #fff;
}

.btn-default.btn-trans {
    border: 2px solid #fff;
    color: #fff;
    background-color: transparent !Important
}

@media (max-width: 767px) {
    .carousel .btn-default.btn-trans {
        font-size: 86%;
        padding: 10px 15px;
    }
}

/** FOOTER **/

footer {
    padding-top: 65px
}

footer .container-fluid {
    z-index: 20;
    position: relative;
    max-width: 1630px;
}

footer.smallfooter {
    padding: 15px 0 0
}


.totop {
    position: fixed;
    bottom: -100px;
    left: 0px;
    background: #213957;
    z-index: 25;
    color: #fff;
    width: 50px;
    height: 50px;
    text-align: center;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.totop.in {
    bottom: 0px;
}

.totop a {
    display: block;
    color: #fff;
    line-height: 50px;
}

/** NEWS **/

#magazin {
    position: relative;
    margin-bottom: 60px;
}

#magazin .container {
    position: relative;
    z-index: 2
}

#magazin .books {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    left: 0;
}

#magazin .books .book {
    border: 1px solid #f4f4f6;
    background-color: #f4f4f6;
    height: 100%;
    float: right;
    width: 2vW;
    margin-left: 1vW;
    min-width: 40px;
}

#magazin .books .book:last-of-type {
    transform: rotateZ(15deg);
    transform-origin: left 1vW
}

#magazin .books .book:nth-of-type(3) {
    background-color: #fff;
}

#magazin .books .book:first-of-type {
    width: 6vW;
    min-width: 80px;
}


.relateditem {
    position: relative;
    height: 100%;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .05);
    transition: box-shadow ease .3s;
    display: block;
    padding: 30px;
}

.relateditem:hover {
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, .1)
}


.newsitem {
    position: relative;
    height: 100%;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .05);

    transition: box-shadow ease .3s;
    display: flex;
    flex-direction: column;
}

.slickitem .newsitem,
.slickitem .relateditem {
    margin: 0px 7px;
}

.newsitem:hover {
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, .1)
}

.newsheader {
    background-position: center;
    background-size: cover;
    background-color: #ffbc00;
    flex-grow: 1;
}

.newsheader:after {
    content: '';
    position: relative;
    display: block;
    padding-bottom: 55%
}

.newsbody {
    padding: 30px;
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 2;
}

.newsmeta {
    font-size: 10px;
    border-top: 1px solid #ddd;
    padding-top: 15px;
}

.newsmeta p {
    margin-bottom: 0
}

/** REFERENZEN **/
.refitem {
    position: relative;
    background-color: #7789a6;
    color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .05);
    transition: box-shadow ease .3s;
    border: 2px solid #7789a6;
    transition: background-color ease .15s;
    height: 100%;
    display: block;
    flex-grow: 1;

}

.slick-list .refitem {
    margin: 0px 7px;
}

.refitem:hover {
    background-color: #fff;
    color: #7789a6;
}



.refbody {
    padding: 30px 30px 15px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    height: 100%;
    background-color: rgba(119, 137, 166,.86);
}

.refitem:hover .refbody{
    background-color: rgba(255,255,255,.86);
}

span.branchleistung {
    padding: 2px 4px 2px 0;
}

.refbody p,
.refbody h1,
.refbody h2,
.refbody h3,
.refbody h4,
.refbody h5,
.refbody h6 {
    color: #fff;
    font-weight: 300;
    transition: color ease .15s;
}

.refbody:hover p,
.refbody:hover h1,
.refbody:hover h2,
.refbody:hover h3,
.refbody:hover h4,
.refbody:hover h5,
.refbody:hover h6 {
    color: #7789a6;
}

.refmeta {
    font-size: 10px;
    border-top: 1px solid #ddd;
    padding-top: 5px;
    margin-top: 15px;
}

.refmeta p {
    display: inline;
    margin-bottom: 0
}

.refmeta p + p {
    margin-left: 15px;
}

/** Footer > Calltoaction */
section.calltoaction {
    margin-bottom: 30px;
    padding: 0;
    position: relative;
    z-index: 2;
}

.calltoactionelement, .footerinner {
    position: relative;
    padding: 30px 0;
    color: #fff;
    margin-bottom: 30px;
    padding-right: 15px;
}

.footerinner {
    padding: 30px;background-color: #212346;
}

@media (min-width: 576px) {
    .calltoactionelement, .footerinner, .newsletterelement {
        padding: 45px 0;
        padding-right: 15px;
    }

    .footerinner {
        padding: 45px;
    }
}

@media (min-width: 768px) {
    .calltoactionelement, .footerinner, .newsletterelement {
        padding: 60px 0px;
        padding-right: 30px;
    }

    .footerinner {
        padding: 60px 90px;
    }
}


body.single-leistung .calltoactionelement {
    background-color: #244486;
}


.calltoactionelement .h1,
.calltoactionelement .h2,
.calltoactionelement .h3,
.calltoactionelement .h4,
.calltoactionelement .h5,
.calltoactionelement .h6,
.calltoactionelement p,
.newsletterelement .h1,
.newsletterelement .h2,
.newsletterelement .h3,
.newsletterelement .h4,
.newsletterelement .h5,
.newsletterelement .h6,
.newsletterelement p {
    font-weight: bold;
    color: #fff;
}

.newsletterelement .btn-default:hover {
    color: #212346;
    border-color: #212346;
}

.calltoactionelement a, .newsletterelement a {
    color: #666;
}

.legal {
    padding: 15px;
    font-size: 12px;
}

@media (min-width: 768px) {
    .legal {
        padding: 15px 90px;
    }
}

.legal p:last-child {
    margin-bottom: 0
}

.legal ul li a {
    color: #000;
    font-size: 12px;
}

.calltoactionelement p:last-child {
    margin-bottom: 0
}

.newsletterelement {
    position: relative;
    padding: 30px 15px;
    color: #fff;
    margin-bottom: 30px;
}

.calltoactionelement:before {
    content: '';
    position: absolute;
    lefT: -1000px;
    top: 0;
    bottom: 0;
    right: -1000px;
    z-index: -1;
    background-color: #ffbc00
}

.newsletterelement:before {
    content: '';
    position: absolute;
    lefT: -1000px;
    top: 0;
    bottom: 0;
    right: -1000px;
    z-index: -1;
    background-color: #ffbc00
}

@media (min-width: 768px) {
    .calltoactionelement:before {
        content: '';
        position: absolute;
        lefT: -1000px;
        top: 0;
        bottom: 0;
        right: 0;
        z-index: -1;
        background-color: #ffbc00
    }
    .newsletterelement:before {
        content: '';
        position: absolute;
        lefT: -1000px;
        top: 0;
        bottom: 0;
        right: 0;
        z-index: -1;
        background-color: #ffbc00
    }
}


@media (min-width: 768px) {


    .calltoactionelement:after, .newsletterelement:after {
        content: '';
        position: absolute;
        left: calc(100% + 15px);
        bottom: 0;
        width: 30px;
        background-color: #212346;
        transform-origin: top center;
        transform: rotateZ(-5deg);
        max-height: 300px;
        height: 95%;
    }
}


.newsletterelement:after {
    background-color: #212346;

}

.footerinner {
    color: #fff;
    margin-bottom: 0;
}

.footerinner h5 {
    color: #fff
}


footer ul {
    margin: 0;
    padding: 0;
    list-style: none
}

footer ul#menu-quicklinks {
}

footer ul li {
    position: relative;
    padding-left: 0px;
    font-size: 14px;
    line-height: 20px;
    display: block;
}

footer .legal ul li {
    display: inline-block;
    margin-right: 10px
}

footer ul li a {
    color: #ddd;
}


footer #social ul {
    display: block;
    text-align: center;
}

footer #social ul li {
    display: inline;
}

footer #social ul li a {
    padding: 10px;
    display: inline-block;
}

footer hr {
    border-top: 1px solid rgba(255, 255, 255, .1);
    border-bottom: 0;
    margin: 30px 0 15px;
}

footer ul#menu-social-media {
    display: block
}

footer ul#menu-social-media li {
    display: inline-block
}

footer ul#menu-social-media li a {
    padding: 0 10px 0 0
}

footer h1,
footer h2,
footer h4,
footer h5,
footer h6,
footer h5 {
    text-transform: initial;
    font-weight: bold;
    color: #fff
}

header {
    background-color: #fff;
}

.numbers {
    position: relative;
    padding-left: 30px;
    padding-top: 15px;
}

.numbers:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 50%;
    width: 5px;
    background-color: #ffbc00
}

span.number {
    font-weight: bold;
    display: block;
}


.smallchapters {
    position: relative;

    justify-content: center;
}


.smallsmallbookshelfsmall.leistungen .smallchapter {
    clear: both;
    padding: 3px;
    position: relative;
    transition: transform ease .3s, opacity ease .3s;
}

.smallsmallbookshelfsmall.leistungen .smallchapter .smallsmallbooks {
    display: flex;
}


.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook {
    /*padding-bottom: 50%;    /* width: 15px;*/
	padding-bottom: 25%;
    border: 1px solid #212346;
    float: left;
    margin: 0 1px;
    transform-origin: center bottom;
    display: flex;
    align-self: flex-end;
    flex-grow: 1;
    position: relative;
    overflow: hidden;
}

.smallsmallbookshelfsmall.leistungen .smallchapter.leftchapter .smallbook {
    border-color: #244486
}

.smallsmallbookshelfsmall.leistungen .smallchapter.rightchapter .smallbook {
    border-color: #04b799
}

#simpleheader .smallsmallbookshelfsmall .smallchapter .smallbook {
    border-color: #fff;
}

.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook.active {
    background-color: #212346
}

.smallsmallbookshelfsmall.leistungen .smallchapter.leftchapter .smallbook.active {
    background-color: #244486
}

.smallsmallbookshelfsmall.leistungen .smallchapter.rightchapter .smallbook.active {
    background-color: #04b799
}

#simpleheader .smallsmallbookshelfsmall .smallchapter .smallbook.active {
    background-color: #fff
}
/*
.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook:nth-of-type(5n +2) {
    padding-bottom: 47%;
}

.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook:nth-of-type(2n+1) {
    padding-bottom: 44%;
}

.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook:nth-of-type(3n+2) {
    padding-bottom: 41%;
}
*/
.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook:nth-of-type(5n +2) {
    padding-bottom: 37%;
}

.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook:nth-of-type(2n+1) {
    padding-bottom: 34%;
}

.smallsmallbookshelfsmall.leistungen .smallchapter .smallbook:nth-of-type(3n+2) {
    padding-bottom: 31%;
}


.smallchapter.leistung {
    transform-origin: bottom right;
}

.smallchapter.clusterrechts {
    transform-origin: bottom left;
}

.smallsmallbookshelf {
    position: relative;
}

.smallsmallbookshelf:after {
    content: '';
    position: absolute;
    border-bottom: 1px solid #212346;
    top: 100%;
    left: 0px;
    right: 0px;
}

#simpleheader .smallsmallbookshelf:after {
    border-bottom-color: #fff
}
/*
.smallsmallbookshelf:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 30px;
    width: 1px;
    margin-left: -1px;
    background-color: #212346;
}*/

#simpleheader .smallsmallbookshelf:before {
    background-color: #fff
}

.catlink {
    display: inline-block;
    padding: 3px 6px;
    background-color: #f6f6f6;
    margin: 0 2px 4px 0;
}

/** BOOKS **/
.serviceitem {
    text-align: left !important
}

.serviceitem .collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition: height .1s ease;
    -o-transition: height .1s ease;
    transition: height .1s ease;
}

.serviceitem.active .collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition: height .35s ease;
    -o-transition: height .35s ease;
    transition: height .35s ease;
}

/*#bookshelf-leistungen div {
    border: 1px solid #333
}*/

#bookshelf-leistungen {
    overflow: hidden;
    margin: 0 15px;
}

#bookshelf-leistungen .chapters {
    position: relative;

    justify-content: center;
    transition: transform ease .3s;
}


#bookshelf-leistungen .chapter {
    clear: both;
    padding: 7px;
    position: relative;
    transition: transform ease .3s, opacity ease .3s;
}

#bookshelf-leistungen .chapter .books {
    display: flex;
}


#bookshelf-leistungen .chapter .book {
    height: 150px;
    /* width: 15px;*/
    border: 2px solid transparent;
    float: left;
    margin: 0 2px;
    transition: all ease .3s;
    transform-origin: center bottom;
    display: flex;
    align-self: flex-end;
    flex-grow: 1;
    position: relative;
    overflow: hidden;
}

#bookshelf-leistungen .chapter .book:nth-of-type(5n +2) {
    height: 130px;
}

#bookshelf-leistungen .chapter .book:nth-of-type(2n+1) {
    height: 125px;
}

#bookshelf-leistungen .chapter .book:nth-of-type(3n+2) {
    height: 100px;
}

#bookshelf-leistungen .chapter .book.valid.active,
#bookshelf-leistungen .chapter .book.valid:not(.deco):hover {
    /* width: 30px;*/
    background-color: #ffbc00 !important;
    border-color: #ffbc00;
    transform: scale(1.05)
}


@media (min-width: 768px) {
    #bookshelf-leistungen   .chapter .book {
        height: 200px;
        /*width: 20px;*/
        margin: 0 5px;
    }

    #bookshelf-leistungen .chapter .book:nth-of-type(5n +2) {
        height: 180px;
    }

    #bookshelf-leistungen  .chapter .book:nth-of-type(2n+1) {
        height: 175px;
    }

    #bookshelf-leistungen .chapter .book:nth-of-type(3n+2) {
        height: 150px;
    }

    #bookshelf-leistungen .chapter .book.valid.active,
    #bookshelf-leistungen  .chapter .book.valid:not(.deco):hover {
        flex-grow: 2;
    }
}

@media (min-width: 1400px) {
    #bookshelf-leistungen .chapter .book {
        height: 300px;
        /* width: 30px;*/
    }

    #bookshelf-leistungen .chapter .book:nth-of-type(5n +2) {
        height: 280px;
    }

    #bookshelf-leistungen .chapter .book:nth-of-type(2n+1) {
        height: 275px;
    }

    #bookshelf-leistungen .chapter .book:nth-of-type(3n+2) {
        height: 250px;
    }

    #bookshelf-leistungen .chapter .book.valid.active,
    #bookshelf-leistungen .chapter .book.valid:not(.deco):hover {
        flex-grow: 2;
    }
}

#bookshelf-leistungen .chapter.leistung .book {
    background-color: #244486;
    border-color: #244486
}

#bookshelf-leistungen .chapter.clusterrechts .book {
    background-color: #04b799;
    border-color: #04b799
}


#bookshelf-leistungen .chapter.leistung .decoelement {
    align-self: flex-end;
    display: flex;
    position: absolute;
    right: 100%;
    bottom: 0px;
}

#bookshelf-leistungen .chapter.clusterrechts .decoelement {
    align-self: flex-end;
    display: flex;
    position: absolute;
    left: 100%;
    bottom: 0px;
}

#bookshelf-leistungen .chapter.leistung {
    transform-origin: bottom right;
}

#bookshelf-leistungen .chapter.clusterrechts {
    transform-origin: bottom left;
}

@media (min-width: 1200px) {
    #bookshelf-leistungen .bookshelfouter {
        /*position: absolute;*/
        left: 0;
        right: 0;
        top: 50px;
        /* transform: translateY(-50%)*/
    }
}

#bookshelf-leistungen .bookshelf {
    position: relative;
}

#bookshelf-leistungen .bookshelf:after {
    content: '';
    position: absolute;
    border-bottom: 2px solid #666;
    top: 100%;
    left: -25%;
    right: -25%;
}
/*
#bookshelf-leistungen .bookshelf:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 30px;
    width: 2px;
    margin-left: -1px;
    background-color: #666;
}*/

@media (min-width: 1200px) {
    #bookshelf-leistungen .bookshelf:after {
        left: -25%;
        right: -25%;
    }

    #bookshelf-leistungen .bookshelf:before {
        height: 50px;
    }
}
/*
#bookshelf-leistungen.activeleistung .bookshelf:after {
    right: 0;
    left: -50%;
}

#bookshelf-leistungen.activeclusterrechts .bookshelf:after {
    left: 0;
    right: -50%;
}*/

@media (min-width: 1200px) {
    /*
        #bookshelf-leistungen.activeleistung .chapters {
            transform: translateX(-10%)
        }

        #bookshelf-leistungen.activeclusterrechts .chapters {
            transform: translateX(10%)
        }*/
}

#bookshelf-leistungen.activeleistung .chapter.clusterrechts {
    opacity: .3;
    transform: scale(.5);
    pointer-events: none !Important;
}

#bookshelf-leistungen.activeclusterrechts .chapter.leistung {
    opacity: .3;
    transform: scale(.5);
    pointer-events: none !Important;
}

/*
#bookshelf-leistungen .services {
    display: none;
    height: 0;
    overflow: hidden;
}

#bookshelf-leistungen.activeleistung .services.leistung {
    display: block;
    height: auto;
    overflow: visible;
}

#bookshelf-leistungen.activeclusterrechts .services.clusterrechts {
    display: block;
    height: auto;
    overflow: visible;
}

/*
@media (min-width: 1200px ) {
    .services {
        display: none;
        min-height: 333px;

    }
}

#bookshelf-leistungen.activeleistung .services.leistung {
    display: block;
}

#bookshelf-leistungen.activeclusterrechts .services.clusterrechts {
    display: block;
}

@media (min-width: 1200px) {
    #bookshelf-leistungen .services {
        display: none;
        opacity: 0;
        transition: opacity ease .3s;
        pointer-events: none;
    }

    #bookshelf-leistungen.activeleistung .services.leistung {
        opacity: 1;
        pointer-events: all;
        display: block;
    }

    #bookshelf-leistungen.activeclusterrechts .services.clusterrechts {
        opacity: 1;
        pointer-events: all;
        display: block;
    }
}*/

.decoelement-2 { right: auto !important; left: 100%;}
.decoelement-2 .book,
#bookshelf-leistungen .chapter.clusterrechts .decoelement .book {
    transform: rotate(-3.5deg) !important;
    transform-origin: top right !important;
}

.decoelement-2 .book:last-of-type,
#bookshelf-leistungen .chapter.clusterrechts .decoelement .book:last-of-type {
    transform: rotate(-7deg) !important;
    transform-origin: top right !important;
    height: 150px  !important;
    margin-left: 0px  !important;
}
@media(min-width: 1200px){

.decoelement-2 .book:last-of-type,
#bookshelf-leistungen .chapter.clusterrechts .decoelement .book:last-of-type {
    
    margin-left: 15px  !important;
}
}
.col-12:has(>.decoelement) {
    /* background: red; */
    padding: 0 5px;
}
#bookshelf-leistungen .decoelement .deco {
    width: 15px;
    height: 100px;
    border-color: #eee !Important;
    background-color: #fff !important;
    display: flex;
    align-self: flex-end;
}

#bookshelf-leistungen .chapter .decoelement .deco.book {
    margin: 0
}

@media (min-width: 768px) {
    #bookshelf-leistungen .decoelement .deco {
        height: 150px;
        width: 20px;
    }

    #bookshelf-leistungen .chapter .decoelement .deco.book {
        margin: 0 2px
    }
}

@media (min-width: 1400px) {
    #bookshelf-leistungen .decoelement .deco {
        height: 200px;
        width: 30px;
    }
}

#bookshelf-leistungen .staple {
    float: left;
    width: 120px;
    align-self: flex-end;
}


#bookshelf-leistungen .chapter .decoelement .book.deco.flat {
    height: 15px;
    width: 100px;
    margin-bottom: 5px;
}

#bookshelf-leistungen .chapter .decoelement .staple .book:nth-of-type(2) {
    margin-left: -10px;
}

@media (min-width: 768px) {
    #bookshelf-leistungen .chapter .decoelement .book.deco.flat {
        height: 20px;
        width: 150px;
    }

    #bookshelf-leistungen .staple {
        float: left;
        width: 180px;
    }

}

@media (min-width: 1400px) {
    #bookshelf-leistungen .chapter .decoelement .book.deco.flat {
        height: 30px;
        width: 200px;
    }

    #bookshelf-leistungen .staple {
        float: left;
        width: 230px;
    }

}

#bookshelf-leistungen .chapter.leistung .decoelement > .book {
    transform: rotate(5deg);
    transform-origin: top right
}

#bookshelf-leistungen .chapter .books .book:nth-of-type(2) {
    background:gre4en; min-width:15%
}
#bookshelf-leistungen .chapter .books .book:nth-of-type(6),
#bookshelf-leistungen .chapter .books .book:last-child {
    background: re4d;
    max-width: 5%;
}

.pointer {
    max-width: 50vW;
    padding: 3px 7px;
    line-height: 1;
    position: absolute;
    transform: translateY(-100%);
    margin-left: 30px;
    margin-bottom: 60px;
    z-index: 10;
    font-weight: bold;
    display: none;
    color: #000;
    background-color: #fff;
    border-bottom: 2px solid #212346;
    white-space: nowrap;
}

.pointer.in {
    display: block;
}

.pointer:before {
    content: '';
    position: absolute;
    right: 100%;
    top: 100%;
    width: 45px;
    border-top: 2px solid #212346;
    transform-origin: top right;
    transform: rotate(-65deg);
    pointer-events: none
}

.serviceitem {
    display: block;
    border: 1px solid #f0f0f0;
    border-left: 2px solid #244486;
    padding: 7px 15px;
    transition: transform ease .3s, border-color ease .3s, box-shadow ease .3s;
    margin-bottom: 15px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0);
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;

}

.serviceitem.clusterrechts {
    border-left-color: #04b799
}

@media (min-width: 1200px) {
    .serviceitem {
        margin-bottom: 5px;
        height: auto;
        display: block;
        padding: 15px;
    }

    /*
       .serviceitem.clusterrechts {
           border: 0;
           border-right: 2px solid #04b799;
           transition: transform ease .3s, border-color ease .3s;
       }

           .serviceitem.clusterrechts p, .serviceitem.clusterrechts {
               text-align: right !important
           }

           .serviceitem.clusterrechts.active {
               border-color: #ffbc00;
               transform: translateX(60px);
           }

           .serviceitem.active {
               border-color: #ffbc00;
               transform: translateX(-60px);
           }*/
}

.serviceitem.active,
.serviceitem:hover {
    border-left-color: #ffbc00;
    box-shadow: 0 0 20px rgba(0, 0, 0, .05)
}

.serviceitem.clusterrechts p.h5 {
    color: #04b799;
}

.serviceitem.leistung p.h5 {
    color: #244486;
}


.serviceitem.active p.h5 {
    color: #ffbc00;
}

.serviceitem p {
    text-align: left !important
}

.serviceitem p.h5 {
    font-size: 16px
}
.serviceitem .servicedescription {
    font-size: 14px;
}
.serviceitem.active .servicedescription {
}

@media (pointer: coarse) {
    .servicedescription {
        display: block !important
    }
}

.startchapter:hover {
    font-weight: bold;
    color: #666 !important;
    opacity: 1 !Important;
}

#bookshelf-leistungen.activeclusterrechts .startchapter.startchaptersclusterrechts {
    font-weight: bold;
    color: #04b799
}

#bookshelf-leistungen.activeleistung .startchapter.startchaptersleistung {
    font-weight: bold;
    color: #244486
}

#bookshelf-leistungen.activeclusterrechts .startchapter.startchaptersleistung {
    opacity: 1;
}

#bookshelf-leistungen.activeleistung .startchapter.startchaptersclusterrechts {
    opacity: 1;
}

.bookback {
    position: absolute;
    bottom: 5px;
    font-size: 7px;
    color: #fff;
    left: calc(100% - 6px);
    transform-origin: bottom left;
    transform: rotate(-90deg);
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    padding: 3px;
    white-space: nowrap
}

.smallsmallbookshelfsmall.branchen {
    pointer-events: none !important
}

.smallsmallbookshelfsmall.branchen .books {
    flex-wrap: wrap;
    align-items: flex-end;
    display: flex;
}

.smallsmallbookshelfsmall.branchen .book , .smallsmallbookshelfsmall.branchen .smallbook {
    border: 1px solid #7789a6;

    float: right;
    max-width: 48%;
    margin: 0 1% 1px;
    flex: 1 0 48%;
    padding-bottom: 7%;

}

.smallsmallbookshelfsmall.branchen .smallbook { border-color:#fff}
.smallsmallbookshelfsmall.branchen .smallbook.active { background-color:#fff}

.smallsmallbookshelfsmall.branchen .book.active {
    background-color: #7789a6;
}

.smallsmallbookshelfsmall.branchen .chapter .book:nth-of-type(1n +2) {
    flex: 1 0 46%;
    max-width: 46%;
    margin-left: 2%;
    margin-right: 2%;
}

.smallsmallbookshelfsmall.branchen .chapter .book:nth-of-type(2n+1) {
    flex: 1 0 44%;
    max-width: 44%;
    margin-left: 3%;
    margin-right: 3%;

}

.smallsmallbookshelfsmall.branchen .chapter .book:nth-of-type(3n) {
    flex: 1 0 42%;
    max-width: 42%;
    margin-left: 4%;
    margin-right: 4%;
}

.smallsmallbookshelfsmall.branchen .chapter .smallbook:nth-of-type(1n +2) {
    flex: 1 0 46%;
    max-width: 46%;
    margin-left: 2%;
    margin-right: 2%;
}

.smallsmallbookshelfsmall.branchen .chapter .smallbook:nth-of-type(2n+1) {
    flex: 1 0 44%;
    max-width: 44%;
    margin-left: 3%;
    margin-right: 3%;

}

.smallsmallbookshelfsmall.branchen .chapter .smallbook:nth-of-type(3n) {
    flex: 1 0 42%;
    max-width: 42%;
    margin-left: 4%;
    margin-right: 4%;
}

.smallsmallbookshelfsmall.branchen.activebranche .services.branche {
    display: block;
    opacity: 1;
    height: auto;
    overflow: visible;
    pointer-events: all;
}


.vc_row[data-vc-full-width] {
    left: initial !important;
	max-width:1630px;
}

.card {
    margin-bottom: 5px;
    border-radius: 0 !important
}

.accordion > .card .card-header {
    margin-bottom: 0
}

.card-header {
    font-weight: bold;
    border-radius: 0 !important;
    background-color: #f6f6f6;
    cursor: pointer;
    padding: 0;
}

.card-header a {
    font-weight: bold;
    padding: 10px 15px;
}

.card-header:hover > a {
    background-color: #ffbc00 !important;
    color: #fff !important
}

.card-header > a[aria-expanded="true"] {
    background-color: #212346;
    color: #fff !important
}

.authoritem {
    height: 100%;
    display: block
}

.authoritem p:last-child {
    margin-bottom: 0
}

.authoritem.postitem {
    border: 1px solid #ddd;
    padding: 15px;
    height: 100%;
    display: block
}

.downloaditem {
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 15px 30px;
}

.downloaditem:hover {
    background-color: #ffbc00;
    color: #fff;
}

.downloaditem:hover p,
.downloaditem:hover i,
.downloaditem:hover * {
    color: #fff;
}

.teamimg {
    transition: filter ease .25s
}

.teamimg:hover {
    transition: filter ease .25s
}

.authoritem:hover .teamimg {
    filter: grayscale(0);
    transition: filter ease .25s
}

.anchormenu li.headtype-H4,
.anchormenu li.headtype-H5,
.anchormenu li.headtype-H6 {
    display: none !important
}

.carousel-control-next { top:25%; bottom:25%;}

.pdfemb-viewer { width:100% !Important;}



    .icon-menu {
        z-index: 1100;
        transition: ease right .5s;
        position: fixed;
        top: 50%;
        width: 390px;
        height: auto;
        font-size: 85%;
        transform: translateY(-50%);
        padding: 0;
        margin: 0;
        right: -335px;
        display: block;
    }

    .icon-menu.in {
        right: 0
    }

    .icon-menu ul {
        list-style: none;
        width: 50px;
        position: relative;
        float: left;
        margin: 0;
        padding: 0;
    }

    .content-holder {
        position: absolute;
        left: 55px;
        top: 0;
        right: 0;
        background: #e8500e;
        color: #fff;
        height: 100%;
        overflow: auto;
        padding: 25px;
        min-height: 300px;
        max-height: 50vH;
        box-shadow: 5px 7px 17px rgba(0, 34, 65, .075);
    }


    .content-holder .content {
        display: none;
    }

    .content-holder .content.visible {
        display: block;
    }

    .content-holder a {
        color: #fff;
    }

    .icon-menu li {
        height: 50px;
        /* width: 50px; */
        position: relative;
        float: left;
        padding: 0;
        margin: 0 10px 5px 0;
        text-align: center;
        overflow: visible;
        display: block;
        white-space: nowrap;
        transition: transform ease .5s;
    }

    .icon-menu li .listicon {
        height: 50px;
        width: 50px;
        position: absolute;
        left: 0px;
        top: 0;
        line-height: 50px;
        color: #fff;
    }


    .icon-menu li:before {
        content: '';
        left: 0px;
        top: 0;
        bottom: 0;
        right: calc(100% - 50px);
        position: absolute;

        background-color: #244486 ;
        transition: all ease .3s;
        z-index: -1;
        box-shadow: 5px 7px 17px rgba(0, 34, 65, .075);

    }


    .icon-menu li.active:before {
        background-color: #ffbc00;
    }

    .icon-menu li:hover:before {
        right: 0;
        background-color: #ffbc00 !important;
    }

    .icon-menu li:hover {
        transform: translateX(calc(-100% + 115px));
    }

    .icon-menu li:hover a {
        color: #fff
    }

    .icon-menu li:hover .listicon {
        color: #fff
    }

    .icon-menu li a {
        line-height: 50px;
        color: #fff;
        display: block;
        font-size: 17px;
        white-space: nowrap;
        padding: 0 75px 0 65px;
        text-decoration: none;
    }


    .icon-menu li i {
        font-size: 20px;
    }


    .icon-menu li.active .listicon,
    .icon-menu li.active a {
        color: #fff;
    }

    .icon-menu li a:hover {
    }

    .closeToggle {
        position: absolute;
        top: 15px;
        right: 25px;
        line-height: 30px;
        height: 50px;
        color: #fff;
        z-index: 2
    }



