
.container-top {
	background: white;
	height:100%;
	z-index: 99999;
}

.top-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: -100%;
  left: 0;
  bottom: auto;
  right: auto;
  background: #6c567b;
  transition: all 0.9s cubic-bezier(0.6, 0.05, 0.4, 1);
}
.top-layer.active {
  z-index: 999999;
  top: 100%;
}
.top-layer--2 {
  background: #393e46;
  transition-delay: 0.6s;
}
.top-layer--3 {
  background: #6c5b7b;
  transition-delay: 0.4s;
}
.top-layer--4 {
  background: #c06c84;
  transition-delay: 0.2s;
}
.top-layer--5 {
  background: #f67280;
  transition-delay: 0.1s;
}
.hidden{
  display: none;;
}

.anim1, .anim5, .anim2, .anim3 {opacity: 0;}
.anim1.animated {animation-name: fromup; animation-duration: 0.5s; animation-delay: 0.1s;animation-fill-mode: both;}
.anim5.animated {animation-name: fromdown; animation-duration: 0.5s; animation-delay: 0.1s;animation-fill-mode: both;  }
.anim2.animated {animation-name: fromright; animation-duration: 0.5s; animation-delay: 0.1s; animation-fill-mode: both; }
.anim3.animated {animation-name: fromleft; animation-duration: 0.5s; animation-delay: 0.1s; animation-fill-mode: both; }

@keyframes fromup {0% {opacity:0; transform: translatey(80px);} 100% {opacity:1; transform: none;}}
@keyframes fromdown {0% {opacity:0; transform: translatey(-80px);} 100% {opacity:1; transform: none;}}
@keyframes fromright {0% {opacity:0; transform: translatex(50px);} 100% {opacity:1; transform: none;}}
@keyframes fromleft {0% {opacity:0; transform: translatex(-50px);} 100% {opacity:1; transform: none;}}

.anim4.animated {animation-name: alpha; animation-duration: 0.5s; animation-delay: 0s;animation-fill-mode: both; }
.anim13.animated {animation-name: alpha; animation-duration: 0.75s; animation-delay: 0.25s;animation-fill-mode: both; }
.anim14.animated {animation-name: alpha; animation-duration: 0.1s; animation-delay: 0.5s;animation-fill-mode: both; }

@keyframes alpha {0% {opacity:0;} 100% {opacity:1;}}

.anim4a.animated {animation-name: fadefromout; animation-duration: 1s; animation-fill-mode: both; }
.anim4b.animated {animation-name: fadefromin; animation-duration: 1s; animation-fill-mode: both; } 

@keyframes fadefromout {0% {opacity:0; transform: scale(1.08);} 100% {opacity:1; transform: scale(1);}}
@keyframes fadefromin {0% {opacity:0; transform: scale(0.85);} 100% {opacity:1; transform: scale(1);}}

.anim6.animated {animation-name: zoomInLeft; animation-duration: 1s; } 
.anim7.animated {animation-name: zoomInRight; animation-duration: 1s; } 
.anim8.animated {animation-name: zoomInUp; animation-duration: 1s; }

@keyframes zoomInLeft {0% {opacity: 0; transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);} 60% {opacity: 1; transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);  } 100% {opacity:1;transform: none;}}
@keyframes zoomInRight {0% {opacity: 0; transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);  }  60% {opacity: 1;  transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);   animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);  } 100% {opacity:1;transform: none;}}
@keyframes zoomInUp {  0% {  opacity: 0;   transform: scale3d(.1, .1, .1) translate3d(0, -500px, 0);  animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);  }  60% {  opacity: 1;  transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);  animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);  } 100% {opacity:1;transform: none;}}

.anim9.animated {animation-name: flipInY; animation-duration: 1s; animation-fill-mode: both;} 
.anim10.animated {animation-name: flipInX; animation-duration: 1s; animation-fill-mode: both;} 
.anim11.animated {animation-name: pulse; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 2; } 
.anim12.animated {animation-name: tada; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 1;} 
.anim15.animated {animation-name: tada2; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 3;} 
.anim11a.animated {animation-name: pulse2; animation-duration: 0.3s; animation-fill-mode: both; animation-iteration-count: 5; animation-delay: 0.5s;} 
.anim12a.animated {animation-name: tada2; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 1; animation-delay: 0.5s;} 
.anim12b.animated {animation-name: swing; animation-duration: 0.5s; animation-fill-mode: both; animation-iteration-count: 1; animation-delay: 0.5s;} 
.anim12c.animated {animation-name: bounce; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 2; animation-delay: 0.5s;} 
.anim12d.animated {animation-name: shake; animation-duration: 1s; animation-fill-mode: both; animation-iteration-count: 1; animation-delay: 1s;} 
.anim18.animated {animation-name: bounceIn; animation-duration: 1s; animation-fill-mode: both;} 
.anim19.animated {animation-name: alphapulse; animation-duration: 5s; animation-fill-mode: both; animation-iteration-count: infinite; animation-timing-function: Ease-in-out;} 
.anim19a.animated {animation-name: alphapulse2; animation-duration: 4.5s; animation-fill-mode: both; animation-iteration-count: infinite; animation-timing-function: Ease-in-out;} 
.anim19b.animated {animation-name: alphapulse3; animation-duration: 10s; animation-fill-mode: both; animation-iteration-count: infinite; } 
.anim20 {transform: rotate3d(0, 0, 1, -7deg);}
.anim20.animated {animation-name: rotateIn; animation-duration: 0.4s; animation-fill-mode: both; animation-iteration-count: 1; ; animation-delay: 0.5s;} 
.anim21.animated {animation-name: flicker-in; animation-duration: 2s; animation-fill-mode: both; animation-iteration-count: 1;} 
.anim22.animated {animation: shadow-inset-br 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;z-index: 10;}
.anim23.animated {animation-name: blur; animation-duration: 1.2s; animation-fill-mode: forwards; }
.anim24.animated {animation: verbiegen 1800ms cubic-bezier(0.190, 1.000, 0.220, 1.000), color 100ms linear;}
.anim25.animated {animation: verbiegen2 1800ms cubic-bezier(0.190, 1.000, 0.220, 1.000), color 100ms linear;}
.kenburns {animation: kenburns-top 5s ease-out both; overflow: hidden;
}

@keyframes verbiegen2 {0% {opacity:0;transform:translate3d(100px,120px,0) scale(0.8) rotate(12deg) skew(20deg)} 100% {opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0deg) skew(0deg);}}
@keyframes verbiegen {0% {opacity:0;transform:translate3d(-100px,120px,0) scale(0.8) rotate(-12deg) skew(-20deg)} 100% {opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0deg) skew(0deg);}}
@keyframes blur {0% {filter: blur(12px);} 100% {filter: blur(0px);}}

@keyframes bounce {  0%, 20%, 53%, 80%, 100% {  transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);  transform: translate3d(0,0,0);  }  40%, 43% {  transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);  transform: translate3d(0, -30px, 0);  }  70% {  transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
  transform: translate3d(0, -15px, 0);  }  90% { transform: translate3d(0,-4px,0); } 100% {opacity:1;transform: none;}}
@keyframes flipInX {  0% { opacity:0; transform: perspective(400px) rotate3d(1, 0, 0, 90deg);  transition-timing-function: ease-in;  opacity: 0;
  }  40% {  transform: perspective(400px) rotate3d(1, 0, 0, -20deg);  transition-timing-function: ease-in;  }  60% {  transform: perspective(400px) rotate3d(1, 0, 0, 10deg);  opacity: 1;  }  80% {  transform: perspective(400px) rotate3d(1, 0, 0, -5deg);  }
  100% { transform: perspective(400px);opacity:1; }} 
@keyframes flipInY {  0% { opacity:0; transform: perspective(400px) rotate3d(0, 1, 0, 90deg);  transition-timing-function: ease-in;  opacity: 0;
  }  40% {  transform: perspective(400px) rotate3d(0, 1, 0, -20deg);  transition-timing-function: ease-in;  }  60% {  transform: perspective(400px) rotate3d(0, 1, 0, 10deg);  opacity: 1;  }  80% {  transform: perspective(400px) rotate3d(0, 1, 0, -5deg);  }
  100% {  transform: perspective(400px); opacity:1;}} 
@keyframes pulse_save {  0% {  transform: scale3d(1, 1, 1); opacity: 0; } 0% {  transform: scale3d(1, 1, 1); opacity: 1; } 50% {  transform: scale3d(1.05, 1.05, 1.05);  }  100% {  transform: scale3d(1, 1, 1);  opacity: 1; }  } 
@keyframes pulse { from { -webkit-transform: scale(1); transform: scale(1); -webkit-transform-origin: center center; transform-origin: center center; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 10% { -webkit-transform: scale(0.91); transform: scale(0.91); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 17% { -webkit-transform: scale(0.98); transform: scale(0.98); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 33% { -webkit-transform: scale(0.87); transform: scale(0.87); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 45% { -webkit-transform: scale(1); transform: scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } }
@keyframes pulse2 {  0% {  transform: scale3d(1, 1, 1); opacity: 1; }  50% {  transform: scale3d(1.05, 1.05, 1.05);  }  100% {  transform: scale3d(1, 1, 1);  opacity: 1; }  } 
@keyframes tada {  0% {  transform: scale3d(1, 1, 1); opacity: 0; }  10%, 20% {  transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -0.5deg);  }  40%, 60% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, 0.5deg);  }  50%, 75% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, -0.5deg);  }  100% {  transform: scale3d(1, 1, 1); ; opacity: 1;   }} 
@keyframes tada2 {  0% {  transform: scale3d(1, 1, 1); opacity: 1;  }  10%, 20% {  transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -0.5deg);  }  30%, 50%, 70%, 90% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, 0.5deg);  }  40%, 60%, 80% {  transform: scale3d(1.025, 1.025, 1.025) rotate3d(0, 0, 1, -0.5deg);  }  100% {  transform: scale3d(1, 1, 1); ; opacity: 1;   }} 
@keyframes swing { 20% { transform: rotate3d(0, 0, 1, 8deg);}40% {transform: rotate3d(0, 0, 1, -5deg);} 60% {transform: rotate3d(0, 0, 1, 3deg); } 80% {transform: rotate3d(0, 0, 1, -3deg); }100% { transform: rotate3d(0, 0, 1, 0deg); } }
@keyframes bounce {0%, 20%, 53%, 80%, 100% {transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);transform: translate3d(0,0,0);}40%, 43% {
  transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
  transform: translate3d(0, -30px, 0);} 70% {transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);transform: translate3d(0, -15px, 0);} 90% { -webkit-transform: translate3d(0,-4px,0); transform: translate3d(0,-4px,0);}} 
@keyframes bounceIn {0%, 20%, 40%, 60%, 80%, 100% {transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);}0% {opacity: 0;transform: scale3d(.3, .3, .3);}20% {transform: scale3d(1.1, 1.1, 1.1);} 40% {transform: scale3d(.9, .9, .9);}60% {opacity: 1;transform: scale3d(1.03, 1.03, 1.03);} 80% {transform: scale3d(.97, .97, .97);}100% {opacity: 1;transform: scale3d(1, 1, 1);}}
@keyframes shake {0%, 100% {transform: translate3d(0, 0, 0);} 10%, 30%, 50%, 70%, 90% {transform: translate3d(-10px, 0, 0);}20%, 40%, 60%, 80% {transform: translate3d(10px, 0, 0);}} 
@keyframes alphapulse {  0% { opacity: 0; }  50% {  opacity: 1; }  100% { opacity: 0; } }
@keyframes alphapulse2 {  0% { opacity: 0; }  20%, 80% {  opacity: 1; }  100% { opacity: 0; } }
@keyframes alphapulse3 {  0% { opacity: 0; }  40%, 60% {  opacity: 1; }  100% { opacity: 0; } }
@keyframes rotateIn {  0% {  transform-origin: center;  transform: rotate3d(0, 0, 1, -7deg); }  100% {  transform-origin: center;    transform: none; }}
@keyframes flicker-in { 0% { opacity: 0; } 10% { opacity: 0; } 10.1% { opacity: 1; } 10.2% { opacity: 0; } 20% { opacity: 0; } 20.1% { opacity: 1; } 20.6% { opacity: 0; } 30% { opacity: 0; } 30.1% { opacity: 1; } 30.5% { opacity: 1; } 30.6% { opacity: 0; } 45% { opacity: 0; } 45.1% { opacity: 1; } 50% { opacity: 1; } 55% { opacity: 1; } 55.1% { opacity: 0; } 57% { opacity: 0; } 57.1% { opacity: 1; } 60% { opacity: 1; } 60.1% { opacity: 0; } 65% { opacity: 0; } 65.1% { opacity: 1; } 75% { opacity: 1; } 75.1% { opacity: 0; } 77% { opacity: 0; } 77.1% { opacity: 1; } 85% { opacity: 1; } 85.1% { opacity: 0; } 86% { opacity: 0; } 86.1% { opacity: 1; } 100% { opacity: 1; } }
@keyframes shadow-inset-br { 0% { box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0);}  100% { box-shadow: inset -6px -6px 14px -6px rgba(0, 0, 0, 0.5);  }}
@keyframes kenburns-top { 0% { transform: scale(1) translateY(0); transform-origin: 50% 16%; } 100% { transform: scale(1.25) translateY(-15px); transform-origin: top; }}

.embed-container {
  position: relative; 
  padding-bottom: 56.25%; /* ratio 16x9 */
  height: 0; 
  overflow: hidden; 
  width: 100%;
  height: auto;
}
.embed-container iframe {
  position: absolute; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
}

/* ratio 4x3 */
.embed-container.ratio4x3 {
  padding-bottom: 75%;
}

header .container {	
    position:relative;	
}

#languages {
    position:absolute;
    top:20px;
    right:0px;
}

#languages ul.level1 {
    margin:0px;
    padding:0px 10px;
    background:url(../images/languages.png) right 10px no-repeat rgba(255,255,255,0.75);	;	
}

#languages li {
    list-style:none;	
}

#languages ul.level2 {
    margin:0px;
    padding:0px 0px 9px 0px;
    display:none;
}

#languages li:hover ul.level2 {
    display:block;	
}

#languages a {
    display:block;
    width:25px;
    height:22px;	
    margin-bottom:7px;
}

#languages .clang-de { 
    background:url(../images/clang-de.png);
}

#languages .clang-en { 
    background:url(../images/clang-en.png);
}

#languages .clang-fr { 
    background:url(../images/clang-fr.png);
}

#languages .clang-es { 
    background:url(../images/clang-es.png);
}

#languages .clang-ru { 
    background:url(../images/clang-ru.png);
}

#languages .clang-cn { 
    background:url(../images/clang-cn.png);
}

.pt-60 {
    padding-top: 60px;
}
.pb-60 {
    padding-bottom: 60px;
}
.pt-40 {
    padding-top: 40px;
}
.pb-40 {
    padding-bottom: 40px;
}
.ptb-6020 {
    padding-top: 60px;
    padding-bottom: 20px;
}
.pb-20 {
	padding-top: 40px;
    padding-bottom: 20px;
}
.pt-0 {
    padding-top: 0px;
    padding-bottom: 40px;
}
.pb-0 {
	padding-top: 40px;
    padding-bottom: 0px;
}
.pbt-40 {
	padding-top: 40px;
    padding-bottom: 40px;
}
.pbt-20 {
	padding-top: 20px;
    padding-bottom: 20px;
}
.pbt-60 {
	padding-top: 80px;
    padding-bottom: 80px;
}
.pbt-80 {
	padding-top: 120px;
    padding-bottom: 120px;
}
.pbt-160 {
	padding-top: 160px;
    padding-bottom: 160px;
}
.pbt-200 {
	padding-top: 200px;
    padding-bottom: 200px;
}
.pbt-250 {
	padding-top: 230px;
    padding-bottom: 230px;
}
.pbt-300 {
	padding-top: 260px;
    padding-bottom: 260px;
}
.pbt-100 {
	padding-top: 20%;
    padding-bottom: 20%;
}
.pbt-120 {
	padding-top: 30%;
    padding-bottom: 30%;
}
.pbt-5 {
	padding-top: 2px;
    padding-bottom: 2px;
}
.pbt-0 {
	padding-top: 0px;
    padding-bottom: 0px;
}
.pad-45 {
    padding: 45px;
}
.pt40pb120 {
	padding-top: 40px;
    padding-bottom: 120px;
} 
.pt120pb40 {
	padding-top: 120px;
    padding-bottom: 40px;
} 
.pt40mb100 {
	padding-top: 40px;
	margin-bottom: -100px;
}
.mt50pb40 {
	margin-top: -50px;
}
.mt100pb40 {
	margin-top: -100px;
	padding-bottom: 40px;
}
.mt100mb100 {
	margin-top: -100px;
	margin-bottom: -100px;
}
.pt0pb120 {
	padding-top: 0px;
	padding-bottom: 120px;
}
.m20 {margin: 20px;}
.m40 {margin: 40px;}
.m60 {margin: 60px;}
.m20ou {margin: 20px 0;}
.m20lr {	margin: 0 20px;}
.m20lur {margin: 0 20px 20px;}
.m20lor {margin: 20px 20px 0;}
.m20l {	margin-left: 20px;}
.m20r {	margin-right: 20px;}
.-m20 {margin-top: -20px;}
.-m40 {margin-top: -40px;}
.-m60 {margin-top: -60px;}
.m10vw {margin: 0 14vw;}
.m20vw {margin: 0 18vw;}
.m30vw {margin: 0 22vw;}

 @media screen and (max-width: 991px) {
.pt-0, .pb-0, .pb-20, .pb-40, .pt-40, .pb-60, .pt-60, .pbt-40, .pbt-20, .pbt-40, .pbt-60, .pbt-80, .pbt-100, .pbt-120, .pbt-160, .pbt-200, .pbt-250, .pbt-300, .pbt-5, .ptb-6020, .pt40pb120, .pt120pb40, .pt40mb100, .mt100pb40, .mt100mb100, .pt0pb120 {padding-top: 40px; padding-bottom: 40px;}
.caption {margin-left: 10vw; margin-right: 10vw;}
.m20, .m40, .m60, .m20ou, .m20lr, .m20l, .m20r, .m20lur, .m20lor,.-m20, .-m40, .-m60 , .m10vw, .m20vw, .m30vw {margin: 0;}
}

.wrapper.consultant {
    background:#525252;
    color:#ffffff;
    font-size:22px;
}

.wrapper.consultant .container {
    width:100%;	
    max-width:1600px;
}

.wrapper.consultant .second,
.wrapper.consultant .third.col-p-20,
.wrapper.consultant .fourth.col-p-20 {
    padding-top:15px;	
    height:90px;
    border-right:1px solid #888888;	
}

.wrapper.consultant .fifth {
    padding-top:20px;	
}

.wrapper.consultant .col-p-20 {
    float:left;
    width:20%;	
    padding:0px 15px;
}

.wrapper.consultant .size {
    font-size:16px;
    text-align:center;
    width:25%;
    float:left;
    padding-top:10px;
    height:90px;		
    border-right:1px solid #888888;
    cursor:pointer;
}

.wrapper.consultant .home {
    width:50px;
    height:45px;
    background:url(../images/s30.png) left top no-repeat;
    margin:0px auto;
}

.wrapper.consultant .size.active .home,
.wrapper.consultant .size:hover .home {
    background-position:left bottom;	
}

.wrapper.consultant #s50 .home {
    background-image:url(../images/s50.png);
}

.wrapper.consultant #s100 .home {
    background-image:url(../images/s100.png);
}

.wrapper.consultant #s150 .home {
    background-image:url(../images/s150.png);
}

.wrapper.consultant #old {
    display:inline-block;
    border:1px solid #ffffff;
    height:23px;
    width:23px;
    line-height:20px;
    margin-right:20px;
    cursor:pointer;
    text-align:center;
}

.wrapper.consultant #old:hover {
    background:#ffffff;
    color:#525252;	
}


.wrapper.consultant label {
    line-height:58px;
    font-weight:normal;
}

.wrapper.consultant #kwh {
    margin-top:5px;
    height:45px;
    border:1px solid #ffffff;
    text-align:center;
    font-size:20px;
    -webkit-border-radius:0px;
    -moz-border-radius:0px;
    border-radius:0px;
}

.wrapper.consultant ul {
    padding:0px;
    margin:0px;	
}

.wrapper.consultant li {
    margin-top:5px;	
    list-style:none;
    display:inline-block;
    border:1px solid #ffffff;
    line-height:43px;	
    padding:0px 10px;
    font-size:20px;
    cursor:pointer;
}

.wrapper.consultant li.active,
.wrapper.consultant li:hover {
    background:#ffffff;
    color:#bf2c25;
}

.wrapper.consultant .btn-primary {
    padding:15px;
    width:100%;	
}

.wrapper.consultant .btn-primary:focus,
.wrapper.consultant .btn-primary.focus {
    background:#333333;	
}

.wrapper.image .container,
.wrapper.image .container img {
    width:100%;	
}

.wrapper.image .container .col-sm-12 {
    padding:0px;
}

.wrapper.image-with-text .col-sm-12 {
    margin-bottom:-200px;	
}

.wrapper.image-with-text .background {
    position:absolute;
    left:15px; 
    right:15px;
    top:0px;
    height: 200px;
    z-index: 0;
    margin-left: -80px !important;
    margin-top: -30px;
    margin-right: -80px !important;
}

.wrapper.image-with-text .headercontainer {
    width:100%;	
  /*  padding-bottom:90px;*/
}

.wrapper.image-with-text .container .col-sm-12 {
    padding:0px;
}

.wrapper.image-with-text img {
    width:100%;
    object-fit:cover;
}

.wrapper.image-with-text .text-on-image {
    position:relative;
    top:-170px;
    margin:0px auto;
}

.wrapper.image-with-text .text-on-image .content {
    position:relative;
    z-index:10;
    padding:5px 0px;
}

.wrapper.image-with-text .text-on-image small {
    font-size:28px;	
    display:block;
    font-weight:normal;
}

.wrapper.image-with-text .text-on-image a {
    font-weight:bold;	
}

.wrapper.image-with-text .btn {
    margin-bottom:15px;	
}

#accordion-block-second .panel-body {
    padding-left:23px;	
}

.downloads {
    padding-bottom:15px;	
}

.downloads .col-md-6 {
    padding:0px 70px;
}

.downloads .download {
    border-bottom:1px solid #d1d1d1;
    padding:10px 0px 10px 45px;
}

.downloads .no-0 .download,
.downloads .no-1 .download {
    border-top:1px solid #d1d1d1;
}

.downloads .button {
    float:right;
    margin:0px !important;
    padding-top:0px;
    padding-bottom:0px;
}

.downloads .text {
    margin-right:115px;
    display:block;
    padding-top:5px;
}

.downloads .pdf .download {
    background:url(../images/download-pdf.png) left 9px no-repeat;	
}

.downloads .jpg .download {
    background:url(../images/download-bild.png) left 9px no-repeat;	
}
.downloads .png .download {
    background:url(../images/download-bild.png) left 9px no-repeat;	
}
.downloads .tif .download {
    background:url(../images/download-bild.png) left 9px no-repeat;	
}
.downloads .link .download {
    background:url(../images/download-link.png) left 9px no-repeat;	
}

.downloads .doc .download {
    background:url(../images/download-doc.png) left 9px no-repeat;	
}

.downloads .docx .download {
    background:url(../images/download-docx.png) left 9px no-repeat;	
}

.downloads .xls .download {
    background:url(../images/download-xls.png) left 9px no-repeat;	
}

.downloads .xlsx .download {
    background:url(../images/download-xlsx.png) left 9px no-repeat;	
}

.downloads .ppt .download {
    background:url(../images/download-ppt.png) left 9px no-repeat;	
}

.downloads .pptx .download {
    background:url(../images/download-pptx.png) left 9px no-repeat;	
}

.contact-form .selectric-form-control {
    float:left;
    width:100%;
}

.has-error .selectric-form-control {
    border:1px solid #a94442;
}

.contact-form .radio,
.contact-form .checkbox {
    text-align:left;	
}

.contact-form #schlussrechnung {
    display:none;	
}

#article-1 .teaser .teaser-text {
    min-height:145px;
}

.image-text .media {
    display:none;	
}

.wrapper.counter {
    background-size:cover;
    padding:7% 0px;	
}

.wrapper.counter .count-number {
    font-size:100px;
    font-weight:bold;
    text-align:center;
}

.animate .container {
    position:relative;
    transition:all 1.2s ease 0s;
}

.slideshow-text-gallery {
    position:relative;	
}

.slideshow-text-gallery .position {
    position:absolute;
    top:30%;
    left:150px;
    right:150px;
    z-index:99;		
}

.slideshow-text-gallery .carousel-control {
    z-index:100;
}

.slideshow-text-gallery .carousel-control i {
    background:#ffffff;
    width:40px;
    -webkit-border-radius:20px;
    -moz-border-radius:20px;
    border-radius:20px;
}

.slideshow-text-gallery .fa-angle-left::before {
    color:#000000;	
    position:relative;
    top:-2px;
    left:-2px;
}

.slideshow-text-gallery .fa-angle-right::before {
    color:#000000;	
    position:relative;
    top:-2px;
    right:-2px;
}

.carousel a.carousel-control:focus {
    background-color: #bf2c25;
}
.carousel a.carousel-control:focus i {
    color: #ffffff;
}

#to-top {
    padding:10px;
    cursor:pointer;
    text-align:center;
}

#to-top #arrow {
    display:inline-block;
    line-height:35px;
    font-size:18px;	
    padding-left:50px;
    background:url(../images/arrow-up.png) left top no-repeat;
}


@media screen and (max-width:1267px) {

	.pad-45 {
	padding: 30px !important;
    }
	
	.container {
		width: 100% !important;
	}
	
.animate .container {
    position:relative;
    transition:all 1s ease-in;
}

.animate.animation1 .container {
    opacity:1;
    bottom:0px;
}

.animate.animation1.animated .container {
    bottom:0px;
    opacity:1;
}

.animate.animation2 .container {
    right:0px;
    opacity:1;
}

.animate.animation2.animated .container {
    right:0px;
    opacity:1;
}

.animate.animation3 .container {
    opacity:0;
    left:0px;
}

.animate.animation3.animated .container {
    left:0px;
    opacity:1;
}

.animate.animation4 .container {
    opacity:1;
}

.animate.animation4.animated .container {
    opacity:1;	
}

.animate.animation5 .container {
    opacity:1;
    top:0px;
	z-index: -1;
}

.animate.animation5.animated .container {
    top:0px;
    opacity:1;
}

.animate.animation6 .container {
    opacity:1;
}

.animate.animation6.animated .container {
animation: none
    opacity:1;	
}
}


@media screen and (max-width:1168px) {


    .navigation {
        padding-right:0px;	
        height: 40px;
    }

    #languages {
        top:7px;
        right:80px
    }


    ul.slimmenu {
        position:relative;
        z-index:99;
    }

    ul.slimmenu li {
        border:none;
    }

    ul.slimmenu.collapsed li a {
        border:none;
    }

    ul.slimmenu li a {
        padding:5px !important;
		font-size: 21px;
		font-weight: 500;
		line-height: 33px;
		text-decoration: none;
    }
	

    ul.slimmenu li ul li a {
		padding: 5px 20px !important;
		font-size: 16px;
		font-weight: 400;
		line-height: 30px;
		text-decoration: none;
		color: gray !important;
    }
	
    ul.slimmenu li ul li ul li {
		background-color: white !important;
    }
		
    ul.slimmenu li ul li ul li a {
		padding: 5px 40px !important;
		font-size: 16px;
		font-weight: 400;
		line-height: 30px;
		text-decoration: none;
		color:  black !important;
    }

    ul.slimmenu li .sub-toggle {
        background:none !important;
    }

    ul.slimmenu.collapsed li > ul {
        padding:0px;
    }
	
	ul.slimmenu li .sub-toggle i {
		font-size: 18px !important;
		color: #bf2c25 !important;
		line-height: 46px;
	}


    .header ul.slimmenu li.has-submenu ul li:last-child,
    .header ul.slimmenu li.has-submenu ul li:last-child a {
        border-radius:0px !important;	
    }

    .header ul.slimmenu li.has-submenu li a i {
        display:none;
    }

    .downloads .button {
        padding:8px 10px !important;
    }

    .downloads .no-1 .download {
        border-top:0px;
    }

    .wrapper.image-with-text .text-on-image {
        top:-85px;
    }

    .wrapper.image-with-text {
        margin-bottom:-100px;	
    }

    .wrapper.image-with-text .col-sm-12 {
        margin-bottom:-100px;	
    }

    .wrapper.image-with-text .background {
        height:115px;
    }

    .wrapper.image-with-text .text-on-image h1 {
        font-size:32px;
    }

    .wrapper.image-with-text .text-on-image h1 small {
        font-size:23px;
    }

    #article-1 .teaser .teaser-text {min-height: 200px;}

    .wrapper.counter .count-number {
     font-size:76px;
    }

    .wrapper.image-with-text .text-on-image {
    margin-bottom:100px;
}
    .slimmenu li .active { 
	background-color: #ddd !important; 
	color: black !important;
	}

}

@media screen and (max-width:767px) {


 .wrapper.image-with-text img {
        height:250px;
    }

.wrapper.image-with-text .background {
        display: none;
    }

.wrapper.image-with-text .text-on-image {
	    top: 10px;
		margin-bottom: 200px !important;
    }


    #article-1 .teaser .teaser-text {
        min-height:0px;
    }

    .wrapper.counter .count-number {
        font-size:50px;
        text-align:left;
        padding-bottom:30px;
    }
	
	.container {
		width: 100% !important;
	}
	
}

.blog-post .metaheader + .common-heading {
    padding-top: 20px;
}

/* ===== video ===== */

.videocontainer, .picturecontainer {
    background: none;
    background-size: cover;
    position: relative;
    overflow: hidden;
    padding: 0;
    background-repeat: no-repeat;
/*	z-index: -1; */
}

.videocontainer video {
	min-width: 100%;
	position: absolute; 
	left: 50%; 
	top: 50%; 
	transform: translate(-50%, -50%);
    z-index: -1;
}

@media screen and (max-width: 767px) {
.imagecontainer {height: 29vh !important;}
.videocontainer {height: 27vh !important; background-position: center !important;}
.ukiyo-wrapper {height: 29vh !important; }
.ukiyo-wrapper .videocontainer {height:43vh !important; }
.videocontainer video {height: 100% !important; margin-top: 0px !important;}
.ukiyo-wrapper video {height: 100% !important; min-width: 100%; width: inherit !important; }
} 

@media screen and (min-width: 768px) and (max-width: 1023px) {
.imagecontainer {height: 55vh !important;}
.videocontainer {height: 36vh !important; background-position: center !important;} 
.ukiyo-wrapper {height: 50vh !important; }
.ukiyo-wrapper .videocontainer {height: 70vh !important; }
.ukiyo-wrapper video {height: 100% !important; min-width: 100%; width: inherit !important; }
} 

@media screen and (orientation: landscape) and (max-width: 1023px) {
.imagecontainer {height: 90vh !important;}
.videocontainer {height: 90vh !important;} 
.ukiyo-wrapper {height: 90vh !important; }
.ukiyo-wrapper .videocontainer {height: 105vh !important; }
.ukiyo-wrapper video {width: 105% !important; height: unset !important;}
} 
 
@media screen and (min-width: 1024px) and (max-width: 1279px) {
.imagecontainer {height: 75vh !important;}
.videocontainer {height: 70vh !important; background-position: center !important;} 
.ukiyo-wrapper {height: 70vh !important; }
.videocontainer video {height: 107% !important; margin-top: 0px !important;}
.ukiyo-wrapper .videocontainer {height: 90vh !important; }
}  

@media screen and (min-width: 1024px) and (max-width: 1300px) {
	.videocontainer .container-fluid .row .col-sm-6 {padding: 20px !important;}
}

@media screen and (max-width: 1023px) {
.parallaxcontainer, .parallaxcontainer2 {background-attachment: scroll !important;}
}

@media (hover: none) {
.parallaxcontainer, .parallaxcontainer2 {background-attachment: scroll !important;}
}

.videocontainercontent {padding-bottom: 40px;}
@media screen and (max-width: 1023px) {.videocontainercontent {padding: 20px;}}
@media (max-width: 768px) { .slidercard-text { padding-left: 20px !important; padding-right: 20px !important; } }
@media (max-width: 768px) { .slider-intro { padding-left: 10px !important; padding-right: 10px !important; } }
@media (max-width: 768px) { .sticky-menu2 header { padding: 5px 0 0 !important; } } 

.parallaxcontainer, .parallaxcontainer2 {background-attachment: fixed;}


.videocontainer .container, .picturecontainer .container {
    height: 100%;
	position: inherit;
}

.mobile-element-box {
    position: relative;
}

.videocontainer .container .row, .picturecontainer .container .row {
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding-bottom: 3vw;    
}

.videocontainer .container .row .col-sm-6, .picturecontainer .container .row .col-sm-6 {
    margin-left: 0px;
    width: calc(50% - 30px);
}

.videocontainer .container .row .col-sm-12, .picturecontainer .container .row .col-sm-12 {
    width: 80%;
	padding: 0;
}

.videocontainer .videooverlay, .picturecontainer .videooverlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.videocontainer.boxtop > .container > .row, .picturecontainer.boxtop > .container > .row, .videocontainer.boxtop > .container-fluid > .row, .picturecontainer.boxtop > .container-fluid > .row   {
    padding-top: 3vw;
    align-items: flex-start;
    height: auto;
}

.videocontainer.boxtop2 > .container > .row, .picturecontainer.boxtop2 > .container > .row, .videocontainer.boxtop2 > .container-fluid > .row, .picturecontainer.boxtop2 > .container-fluid > .row   {
    padding-top: 0;
    align-items: flex-start;
    height: auto;
}

.videocontainer.boxbottom2 > .container > .row, .picturecontainer.boxbottom2 > .container > .row, .videocontainer.boxbottom2 > .container-fluid > .row, .picturecontainer.boxbottom2 > .container-fluid > .row   {
    padding-bottom: 0;
    align-items: flex-end;

}

.videocontainer.boxcenter > .container > .row, .picturecontainer.boxcenter > .container > .row, .videocontainer.boxcenter > .container-fluid > .row, .picturecontainer.boxcenter > .container-fluid > .row {
    align-items: center;
    height: 100%;
    padding-top: 3vw;
    padding-bottom: 3vw;
}

.videocontainer.boxcomplete > .container > .row, .picturecontainer.boxcomplete > .container > .row, .videocontainer.boxcomplete > .container-fluid > .row, .picturecontainer.boxcomplete > .container-fluid > .row {
    align-items: flex-start;
    height: 100%;
    padding: 0;
}

.videocontainer.boxcomplete > .container > .row > .col-sm-6, .picturecontainer.boxcomplete > .container > .row > .col-sm-6, .videocontainer.boxcomplete > .container-fluid > .row > .col-sm-6, .picturecontainer.boxcomplete > .container-fluid > .row > .col-sm-6 {
    height: 100%;
}


.spacer-5vw {
    height: 5vw;
}

.mod1_hoverbild {
    opacity: 0;
    position: absolute;
    top: 0;
    transition: 0.5s;
}

.breadcrumb {
    margin-bottom: 0;
	border-style: none;
	border-radius: 0;}

.breadcrumb ul {
    list-style: none;
    margin-left: 10px;
    padding: 0;
}

.breadcrumb ul li,
.breadcrumb ul li a,
.breadcrumb div {
    font-size: 18px;
    line-height: 24px;
}

.breadcrumb ul li a {
	    text-decoration: underline;
}

.breadcrumb ul li {
    float: left;
    list-style: none;
}

.breadcrumb ul li + li:before {
    content: '/';
    display: inline;
    font-size: 18px;
    line-height: 24px;
    margin: 0 5px;
}

.breadcrumb .breadcrumb-info {
}

.breadcrumb .container {
    display: flex;
}

@media screen and (max-width: 767px) {
	.breadcrumb .container {margin-left: -20px;}    
}

@media screen and (max-width: 1168px) {
    .logo img {padding: 5px 0;position: absolute;width: 160px !important;margin-left: 5px;}
	.header { min-height: 55px !important;}
	.collapse-button .btn, .fs_nav_toggle_button {background-color: white !important; border: 2px solid black !important; color: black !important; margin-right: 0px !important;right: 0px;}
}	

@media screen and (min-width: 1169px) {
    .logo img {width: 200px !important;padding: 0;position: absolute;}
	.header {min-height: 50px !important;}
	.fs_nav_toggle_button {background-color: white !important; border: 2px solid black !important; color: black !important; margin-right: 10px !important;}
}

.carouselnav-container {
    padding: 0 1vw 30px 1vw;
}

.carouselnav-container {
    margin-top: -2px;
    padding: 0 1vw 30px 1vw;
}

.carouselnav-container ul {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1px;
    padding-bottom: 0px;
}
.carouselnav-container li {
    display: inline-block;
    line-height: 44px;
}

.carouselnav2 li {
    display: inline-block;
    line-height: 44px;
	margin: -1px !important;
}

.carouselnav-container li + li {
    margin-left: 15px;
}

.carouselnav-container li a {
    border: 1px solid #ffffff;
    font-size: 20px;
    color: #ffffff;
    padding: 4px 10px;
    text-decoration: none;
    white-space: nowrap;
}

.carouselnav-container li a:focus {
    background-color: #000000;
}

.carousel-barrierefrei .image-detail {
    padding: 5px 0;
}

/* --- vimeo inhalts modul --- */

.plyr__video-embed iframe, .plyr__video-wrapper--fixed-ratio video {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
    aspect-ratio: 16/9;
}

.container {
    max-width: inherit;
}

@media (min-width: 992px) {
    .container, .container2 {
        width: 960px;
    }
}

@media (min-width: 1200px) {
    .container, .container2 {
        width: 1160px;
    }
}

@media (min-width: 1280px) {
    .container, .container2 {
        width: 1220px;
    }
}

@media (min-width: 1440px) {
    .container, .container2 {
        width: 1400px;
    }
}

@media (min-width: 1600px) {
    .container, .container2 {
        width: 1460px;
    }
}

@media (min-width: 1900px) {
    .container, .container2 {
        width: 1600px;
    }
}

@media (min-width: 2200px) {
    .container, .container2 {
        width: 2100px;
    }
}

@media (min-width: 2500px) {
    .container, .container2 {
        width: 2400px;
    }
}

.container::after {
    display: block;
    clear: both;
    content: "";
}

.visible-xs, .visible-sm, .visible-md, .visible-lg { display:none !important; }
.visible-xs-block, .visible-xs-inline, .visible-xs-inline-block,
.visible-sm-block, .visible-sm-inline, .visible-sm-inline-block,
.visible-md-block, .visible-md-inline, .visible-md-inline-block,
.visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display:none !important; }

@media (max-width:575px) {
    table.visible-xs                { display:table !important; }
    tr.visible-xs                   { display:table-row !important; }
    th.visible-xs, td.visible-xs    { display:table-cell !important; }

    .visible-xs  { display:block !important; }
    .visible-xs-block { display:block !important; }
    .visible-xs-inline { display:inline !important; }
    .visible-xs-inline-block { display:inline-block !important; }
}

@media (min-width:576px) and (max-width:767px) {
    table.visible-sm { display:table !important; }
    tr.visible-sm { display:table-row !important; }
    th.visible-sm,
    td.visible-sm { display:table-cell !important; }

    .visible-sm { display:block !important; }
    .visible-sm-block { display:block !important; }
    .visible-sm-inline { display:inline !important; }
    .visible-sm-inline-block { display:inline-block !important; }
}

@media (min-width:768px) and (max-width:991px) {
    table.visible-md { display:table !important; }
    tr.visible-md { display:table-row !important; }
    th.visible-md,
    td.visible-md { display:table-cell !important; }

    .visible-md { display:block !important; }
    .visible-md-block { display:block !important; }
    .visible-md-inline { display:inline !important; }
    .visible-md-inline-block { display:inline-block !important; }
}

@media (min-width:992px) and (max-width:1199px) {
    table.visible-lg { display:table !important; }
    tr.visible-lg { display:table-row !important; }
    th.visible-lg,
    td.visible-lg { display:table-cell !important; }

    .visible-lg { display:block !important; }
    .visible-lg-block { display:block !important; }
    .visible-lg-inline { display:inline !important; }
    .visible-lg-inline-block { display:inline-block !important; }
}

@media (min-width:1200px) {
    table.visible-xl { display:table !important; }
    tr.visible-xl { display:table-row !important; }
    th.visible-xl,
    td.visible-xl { display:table-cell !important; }

    .visible-xl { display:block !important; }
    .visible-xl-block { display:block !important; }
    .visible-xl-inline { display:inline !important; }
    .visible-xl-inline-block { display:inline-block !important; }
}

@media (max-width:575px)                        { .hidden-xs{display:none !important;} }
@media (min-width:576px) and (max-width:767px)  { .hidden-sm{display:none !important;} }
@media (min-width:768px) and (max-width:991px)  { .hidden-md{display:none !important;} }
@media (min-width:992px) and (max-width:1199px) { .hidden-lg{display:none !important;} }
@media (min-width:1200px)                       { .hidden-xl{display:none !important;} }

.img-fluid {
    display: block;
}

.img-wrapper {
    position: relative;
    overflow: hidden;
    height: 100%;
}
.img-wrapper figure {
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}
.img-wrapper figure figcaption {
    position: absolute;
    bottom: 0;
}
.img-wrapper figure img, .img-wrapper figure img.img-fluid {
    visibility: hidden;
}
.img-wrapper figure.img-cover {
    min-height: 80px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.img-wrapper figure.img-contain {
    min-height: 80px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
@media (min-width: 992px) {
    .img-wrapper figure.img-cover {
        min-height: 180px;
    }
}
.img-wrapper figure.img-min-height {
    min-height: 380px;
}
.img-wrapper figure.img-min-height img {
    display: none;
}
.img-wrapper .img-hover {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    transition: all 0.4s ease-in-out;
}
.img-wrapper .img-hover:hover {
    opacity: 1;
}
.img-wrapper .img-hover figure {
    display: block;
    height: 100%;
    width: 100%;
}

.txt-wrapper .txt-inner {
    height: 100%;
}

.hidden {
    display: none;
}

.full-height {
    height: 100%;
}
.full-height .img-txt-wrapper,
.full-height .img-wrapper,
.full-height .img-cover {
    min-height: 100%;
}

.container-fluid {
	width: unset !important;
}   

.multilayout-container .img-no .img-element {display: none;}

.padding16666 {padding:0 22.222%;}
.padding8333 {padding:0 8.333%;}

@media screen and (max-width: 991px) {
    .padding8333 {padding: 0 0;}
	.padding16666 {padding:0 16.666%;}
}

.content-element .content {padding: 60px;}
.contenthover,.contenthover2 {transition: all .6s ease-in-out;}
.contenthover:hover {box-shadow: inset 280px 0px 0px 50px #FFFFFF;transform: scale(1) translatex(-50px);}
.contenthover2:hover {box-shadow: inset -280px 0px 0px 50px #FFFFFF;transform: scale(1) translatex(50px);}

@media (max-width:800px) {
.content-element .content, .content-element .container {padding: 20px !important;} 
.contenthover:hover, .contenthover2:hover {box-shadow: none;transform: scale(1) translatex(0px)}
.img-txt-wrapper {padding: 20px 0;} 
}

div[class^="custom-shape"] {pointer-events: none;}
@media (max-width:1168px) {div[class^="custom-shape"] {display: none;}}

.scroll {background-attachment: scroll;background-size: cover;background-repeat: no-repeat;}
.fixed {background-attachment: fixed;background-size: cover;overflow-y: scroll;} 

@media (orientation: portrait) and (max-width:700px) {
	.videocontainer {height: 37vh !important;}
	video {	width: 160% !important;  transform: translate(-20%,0);}
} 

@media (orientation: portrait) and (min-width:701px) and (max-width:991px) {
	video {width: 100% !important;}
} 

.accordion-button:not(.collapsed), .accordion-button:not(.collapsed):focus, .accordion-button:not(.collapsed):active {
    background-color: #eeeeee;
	box-shadow: none !important;
	color: none;
}

.accordion-button {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    gap: 10px;
}

.accordion-body {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

.accordion-button:(.collapsed), .accordion-button:(.collapsed):focus, .accordion-button:(.collapsed):active {
    background-color: #eeeeee;
	box-shadow: 1px 2px 5px #dddddd;
	color: none;
}

.flex {
    display: flex;
    column-gap: 20px;
}

.flex-center {
    justify-content: center;
}
.mod-countdown .counter-number {
    font-size: 48px;
    font-weight: bold;
    line-height: 68px;
}

.mod-countdown .flex p {
    margin-bottom: 0 !important;
}

.lexicon_overview {
	max-width: 410px;
}
.lexicon_overview li {
	width: 30px;
	height: 30px;
	line-height: 30px;
	margin: 0px 5px 5px 0px;
	background: #fff;
	text-align: center;
	list-style: none;
	float: left;
}

.lexicon_overview li a {
	color: #000;
}

.lexicon {
    width: 100%;
    margin: 0 auto;
}
.lexicon li {
    list-style: none;
}
.text-left {
	text-align: left !important;
	justify-items: left !important;
}
.text-center {
	text-align: center !important;
	justify-items: center !important;
}
.text-right {
	text-align: right !important;
	justify-items: right !important;
}

/* marker */

.marker {
    background: linear-gradient(to left, rgba(255,255,255,0) 50%, yellow 50%) right;
    transition: all 1s ease;
    transition-delay: 2s;
    background-size: 200% 100%;
    background-position: right bottom;
}

.mark-it {
    background-position: left bottom;
}

.unmark-it {
    background-position: right bottom;
}

#lang-switcher-bar {
    position: absolute;
    top: 66px;
    right: 0px;
    z-index: 99;
    pointer-events: none;
	background-color: white;
	padding: 5px 10px;
}

#lang-switcher {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    pointer-events: all;
	padding-right: 20px;
}

#lang-switcher .lang-item {
    color: inherit;
    text-decoration: none;
    padding: 2px 0;
    transition: opacity 0.15s;
}

#lang-switcher .lang-item:hover { opacity: 0.7; }

#lang-switcher .lang-active {
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
    cursor: default;
}

#lang-switcher .lang-unavailable { opacity: 0.35; cursor: not-allowed; }
#lang-switcher .lang-sep { opacity: 0.3; margin: 0 2px; }

#lang-switcher .lang-hessisch {
    font-size: 11px;
    font-style: italic;
    opacity: 0.75;
}

#lang-switcher .lang-hessisch:hover { opacity: 1; }

@media (max-width: 1024px) {
    #lang-switcher-bar { display: none; }
}

/* Sprachzeile im Mobile-Menü */
.slimmenu .slimmenu-lang {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 8px;
    padding: 5px;
    border-top: 1px solid rgba(0,0,0,0.1);
    flex-wrap: nowrap;
}

/* Alle Kind-Elemente inline halten */
.slimmenu .slimmenu-lang a,
.slimmenu .slimmenu-lang span {
    display: inline !important;
    font-size: 11px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
}

.slimmenu .slimmenu-lang .lang-active {
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 500;
}

.slimmenu .slimmenu-lang .lang-hessisch {
    font-style: italic;
    opacity: 0.75;
}

.slimmenu .slimmenu-lang .lang-sep {
    opacity: 0.3;
    font-size: 11px;
}

.slimmenu .slimmenu-lang .lang-unavailable {
    opacity: 0.35;
}

@media (min-width: 1025px) {
    .slimmenu .slimmenu-lang {
        display: none !important;
    }
}

#hessisch-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    background: #044B4E;
    color: #fff;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.18);
}
#hessisch-banner-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 20px;
    flex-wrap: wrap;
}
.hb-text {
    flex: 1;
    font-size: 14px;
    line-height: 1.4;
    min-width: 200px;
}
.hb-text strong { font-weight: 600; }
.hb-link {
    display: inline-block;
    background: #fff;
    color: #0B2F36;
    padding: 7px 16px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}
.hb-link:hover { background: #e8f4f1; }

.hb-close {
    background: none;
    border: 1px solid #fff;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    padding: 6px 12px;
    border-radius: 4px;
    flex-shrink: 0;
    white-space: nowrap;
    transition: background 0.15s;
}
.hb-close:hover {
    background: rgba(255,255,255,0.1);
}
@media (max-width: 600px) {
    .hb-text { font-size: 13px; }
    .hb-link { font-size: 12px; padding: 6px 12px; }
    .hb-close { font-size: 11px; }
}

.weissrand-box { background: #ffffff; margin: 20px; }
@media (max-width: 767px) {
    .weissrand-box { margin: 0; }
}

/* Blog-Artikel: Abstaende zwischen Slices reduzieren */
.is-blog-article .content-element + .content-element > .pbt-60 {
    padding-top: 0;
}
.is-blog-article .content-element + .content-element > .pbt-40 {
    padding-top: 0;
}
.is-blog-article .content-element:first-child > .pbt-60 {
    padding-top: 40px;
}
@media screen and (max-width: 991px) {
    .is-blog-article .content-element + .content-element > .pbt-60,
    .is-blog-article .content-element + .content-element > .pbt-40 {
        padding-top: 0;
    }
    .is-blog-article .content-element:first-child > .pbt-60 {
        padding-top: 20px;
    }
}

/* Footer Leading Innovator Logo auf Mobile kleiner */
@media screen and (max-width: 767px) {
  .footer-top img[src*="leading-innovator"] {
    width: 37.5% !important; } }

/* Slimmenu KI-Produkte separater Button */
.slimmenu .slimmenu-ki-produkte {
  margin-top: 10px;
  border-top: 1px solid #ddd;
  padding-top: 10px; }
.slimmenu .slimmenu-ki-produkte > a {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #0B2F36 !important;
  border-radius: 0 !important;
  text-align: center;
  padding: 10px 16px !important;
  display: block;
  width: 180px;
  margin: 0 0 0 10px; }
.slimmenu .slimmenu-ki-produkte .sub-toggle {
  display: none !important; }
.slimmenu .slimmenu-ki-produkte > a:hover {
  background-color: #174550 !important; }

/* Footer KI Produkte Bild-Karten */
.footer-ki-products {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 200px; }
.footer-ki-products a {
  display: block;
  text-decoration: none;
  color: #000;
  transition: opacity 0.2s; }
.footer-ki-products a:hover {
  opacity: 0.8; }
.footer-ki-products img {
  width: 100%;
  aspect-ratio: 2.5 / 1;
  object-fit: cover;
  border-radius: 3px;
  display: block; }
.footer-ki-products span {
  display: block;
  font-size: 12px;
  line-height: 1.3;
  padding-top: 3px; }


/* FontAwesome-Ersatz: nur fa-angle-right wird benutzt → per CSS Pseudoelement */
.fa { font-family: inherit !important; font-weight: normal; font-style: normal; display: inline-block; line-height: 1; }
.fa-angle-right::before { content: "›"; font-weight: 600; display: inline-block; transform: translateY(-1px); }
.fa-bars::before, .fa-navicon::before, .fa-reorder::before { content: "\2630"; font-weight: 400; display: inline-block; }
.fa-times::before, .fa-close::before, .fa-remove::before { content: "\00d7"; font-weight: 400; display: inline-block; }

/* Megamenu 2nd Level Hover-Pfeil (FA-Ersatz) */
.navigation ul.megatext .lev-2 a:hover::after,
.navigation ul.megatext .lev-2 .active a::after { color: #0B2F36 !important; content: "\2190" !important; padding-left: 5px !important; font-family: inherit !important; font-weight: 900 !important; display: inline-block; }
.navigation ul.megatext .multilayout-container a:hover::after { content: ""; padding: 0; }
.megamenu .no-megamenu .lev-1 li.has-childs > a:after { content: "\203A"; font-family: inherit; font-size: 15px; line-height: 1; position: absolute; right: 2px; top: 10px; }

/* Hamburger-Icon vor "Menü" im mobilen Toggle-Button (slimmenu erzeugt nur Text) */
.menu-collapser .collapse-button .btn {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}
.menu-collapser .collapse-button .btn::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 14px;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-size: 100% 2px;
  background-position: 0 0, 0 50%, 0 100%;
  background-repeat: no-repeat;
}


/* Akkordeon: paddinglire (inline style) auf Mobil nicht übernehmen - .container hat bereits 20px, Akkordeon selbst auf 0 damit Gesamt-Rand = 20px */
@media (max-width: 768px) {
  .accordion[style*="padding"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* fazit checkmark - SVG override (Font Awesome entfernt) */
fazit::before, .fazit::before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 28px;
    margin-right: 8px;
    vertical-align: middle;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300B2D2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C%2Fsvg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-family: unset;
    font-size: unset;
    color: unset;
}

/* ============================================================
   Mobile body padding-top Fix (2026-04-22)
   Grund: JS setzt inline `body { padding-top: 237px }` für Desktop-Megamenu.
   Auf Mobile ist der Header nur ~55px hoch - die 237px erzeugen einen
   Leerraum von ~180px zwischen Header und Breadcrumb. !important noetig
   weil der Inline-Style sonst nicht uebersteuert wird.
   ============================================================ */
@media (max-width: 991px) {
  body.with-megamenu,
  body.sticky-menu {
    padding-top: 70px !important;
  }
}

/* ============================================================
   Mobile Header kompakter (2026-04-22)
   Header-Padding oben reduziert, Logo kleiner - spart ca. 15px Hoehe.
   ============================================================ */
@media (max-width: 991px) {
  header.header { padding-top: 8px !important; }
  header.header .container img,
  header.header .logo img { max-height: 28px !important; padding: 2px 0 !important; }
}
/* body padding-top an neuen Header-Wert anpassen (55px) */
@media (max-width: 991px) {
  body.with-megamenu,
  body.sticky-menu { padding-top: 55px !important; }
}

/* ============================================================
   Mobile: feine graue Linie oben am Breadcrumb (2026-04-22)
   ============================================================ */
@media (max-width: 991px) {
  .breadcrumb-outer { border-top: 1px solid #e5e5e5 !important; }
}

/* Safari parallax fix: Option 1 - background-attachment: fixed nicht unterstützt */
@supports (-webkit-hyphens: none) {
  .parallaxcontainer, .parallaxcontainer2 {
    background-attachment: scroll !important;
  }
}

/* Slimmenu: Gesamte Höhe 100vh, Dropdown scrollbar */
@media screen and (max-width: 1168px) {
  ul.slimmenu {
    min-height: calc(100vh - 80px);
    box-sizing: border-box;
  }
  ul.slimmenu li > ul {
    max-height: 45vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.counter-wrap{white-space:nowrap;display:flex;gap:.25em; font-size:clamp(2.5rem,14cqw,6rem);font-weight:700}
.counter-unit{font-weight:400}

/* mediacards */

.mm-mediacards .row{display:flex;flex-wrap:wrap;align-items:stretch}
.mm-mediacards .row>[class*="col-"]{display:flex;flex-direction:column}
.mm-mediacards .row>[class*="col-"]>*{flex:1 1 auto;min-height:0}
.mm-mediacards .media-box{position:relative;width:100%;aspect-ratio:16/9}
.mm-mediacards .media-box.h-200{aspect-ratio:auto;padding-top:200px}
.mm-mediacards .media-box.h-300{aspect-ratio:auto;padding-top:300px}
.mm-mediacards .media-box.h-400{aspect-ratio:auto;padding-top:400px}
.mm-mediacards .media-box.h-500{aspect-ratio:auto;padding-top:500px}
.mm-mediacards .media-box.h-600{aspect-ratio:auto;padding-top:600px}
.mm-mediacards .media-box>.ratio-inner,.mm-mediacards .media-box img,.mm-mediacards .media-box iframe,.mm-mediacards .media-box video{position:absolute;inset:0;width:100%;height:100%}
.mm-mediacards .media-box img,.mm-mediacards .media-box video{object-fit:cover;object-position:center}
.mm-mediacards .media-box iframe{border:0}
.mm-mediacards .media-box.cover-full{height:100%!important;aspect-ratio:auto!important}
.mm-mediacards .media-box.cover-full>*{height:100%;object-fit:cover;object-position:center}
.mm-mediacards .media-box.grow{aspect-ratio:auto!important;height:100%!important}
.mm-mediacards .mm-img-col{display:flex}
.mm-mediacards .mm-img-col.center-media{align-items:center}
.mm-mediacards .mm-img-col.center-media .media-box{flex:0 0 auto}
.mm-mediacards .mm-img-col .media-box{flex:1 1 auto}
.mm-mediacards .card{border:0;background:transparent;display:flex;flex-direction:column}
.mm-mediacards .card.mm-card{position:relative;border-radius:24px;min-height:100%;background:none!important}
.mm-mediacards .card.mm-card.fx-frame,.mm-mediacards .card.mm-card.fx-both{--mm-frame:15px}
.mm-mediacards .card.mm-card.fx-frame::after,.mm-mediacards .card.mm-card.fx-both::after{content:"";position:absolute;inset:0;border-radius:24px;pointer-events:none;z-index:3;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.95)}
.mm-mediacards .card.mm-card.fx-frame::before,.mm-mediacards .card.mm-card.fx-both::before{content:"";position:absolute;inset:0;border-radius:24px;pointer-events:none;z-index:2;background:linear-gradient(to bottom,rgba(255,255,255,.38),rgba(255,255,255,.2) 55%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:var(--mm-frame,0)}
.mm-mediacards .card.mm-card>.mm-card__inner{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100%;border-radius:24px;overflow:hidden;box-sizing:border-box;padding:var(--mm-frame,0);background-color:var(--mm-card-bg,transparent);background-image:var(--mm-card-fill,none);background-repeat:no-repeat;background-position:center;background-size:cover;background-clip:content-box;background-origin:content-box}
.mm-mediacards .card.mm-card.fx-shadow,.mm-mediacards .card.mm-card.fx-both{box-shadow:0 12px 20px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.1)}
.mm-mediacards .mm-card{--mm-pad:24px;--mm-pad-b:24px;--mm-gap:12px;--mm-btn-gap:18px}
.mm-mediacards .mm-card--space-standard{--mm-pad:24px;--mm-pad-b:24px;--mm-gap:12px;--mm-btn-gap:18px}
.mm-mediacards .mm-card--space-airy{--mm-pad:60px;--mm-pad-b:60px;--mm-gap:36px;--mm-btn-gap:24px}
.mm-mediacards .mm-card--space-gross{--mm-pad:110px;--mm-pad-b:110px;--mm-gap:55px;--mm-btn-gap:24px}
.mm-mediacards .card.mm-card .mm-card__content{padding:var(--mm-pad);position:relative;z-index:4}
.mm-mediacards .card.mm-card .mm-card__actions{padding:0 var(--mm-pad) var(--mm-pad-b);margin:0;position:relative;z-index:4}
.mm-mediacards .card.mm-card .mm-card__actions.mt-auto{margin-top:auto}
.mm-mediacards .card.mm-card .mm-btn-inline{margin:var(--mm-btn-gap) 0 0}
/*.mm-mediacards .mm-card__content p+p{margin-top:var(--mm-gap)}*/
.mm-mediacards .text-position-top{justify-content:flex-start!important}
.mm-mediacards .text-position-center{justify-content:center!important}
.mm-mediacards .text-position-bottom{justify-content:flex-end!important}
.mm-mediacards .mm-card--ta-center{text-align:center}
.mm-mediacards .mm-card--ta-right{text-align:right}
.mm-mediacards .mm-card--ta-justify{text-align:justify;text-justify:inter-word}
.mm-mediacards .mm-card--ta-left{text-align:left}
.mm-mediacards .mm-stack{display:flex;flex-direction:column;gap:1rem;width:100%;flex:1 1 auto;min-height:0}
.mm-mediacards .mm-stack>.mm-card{height:auto!important;min-height:0!important;flex:0 0 auto!important}
.mm-mediacards .mm-stack>.mm-card:last-child{flex:1 1 auto!important;min-height:0}
.mm-mediacards .counter-card{overflow:visible!important}
.mm-mediacards .counter-card>.mm-card__inner{overflow:visible;display:flex;flex-direction:column}
.mm-mediacards .counter-card .mm-card__content{padding-top:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.mm-mediacards .counter-card .mm-card__content.text-position-top{justify-content:flex-start!important}
.mm-mediacards .counter-card .mm-card__content.text-position-center{justify-content:center!important}
.mm-mediacards .counter-card .mm-card__content.text-position-bottom{justify-content:flex-end!important}
.mm-mediacards .mm-counter-row{display:flex;gap:24px;align-items:center;width:100%}
.mm-mediacards .mm-counter-row.text-position-top{align-items:flex-start}
.mm-mediacards .mm-counter-row.text-position-center{align-items:center}
.mm-mediacards .mm-counter-row.text-position-bottom{align-items:flex-end}
.mm-mediacards .mm-counter-side{min-width:0}
.mm-mediacards .mm-counter-side--counter{flex:0 0 auto;container-type:inline-size}
.mm-mediacards .mm-counter-side--label{flex:1 1 auto;min-width:0}
.mm-mediacards .counter-col{display:flex;align-items:center;justify-content:center}
.mm-mediacards .counter-col.h-200{height:200px}
.mm-mediacards .counter-col.h-300{height:300px}
.mm-mediacards .counter-col.h-400{height:400px}
.mm-mediacards .counter-col.h-500{height:500px}
.mm-mediacards .counter-col.h-600{height:600px}
.mm-mediacards .counter-wrap{white-space:nowrap;display:flex;align-items:baseline;gap:.1em;line-height:1;font-weight:700;box-sizing:border-box;width:100%;max-width:100%;font-size:clamp(2.8rem,12cqw,6rem)}
.mm-mediacards .counter-unit{font-weight:400;font-size:clamp(1.5rem,7cqw,3.5rem)}
.mm-mediacards .mm-counter-label p{margin:0}
.mm-mediacards .counter-card .mm-card__content p+p{margin-top:0!important}
.mm-mediacards .mm-card--ta-left .counter-col{justify-content:flex-start}
.mm-mediacards .mm-card--ta-center .counter-col{justify-content:center}
.mm-mediacards .mm-card--ta-right .counter-col{justify-content:flex-end}
.mm-mediacards .mm-card--ta-left .counter-wrap{justify-content:flex-start;text-align:left}
.mm-mediacards .mm-card--ta-center .counter-wrap{justify-content:center;text-align:center}
.mm-mediacards .mm-card--ta-right .counter-wrap{justify-content:flex-end;text-align:right}
.mm-mediacards .mm-intro-spacer{margin-bottom:40px}

@media (max-width:767.98px){
  .mm-mediacards{padding:20px!important}
  .mm-mediacards .container{padding:0!important;max-width:100%!important}
  .mm-mediacards .row{margin:0!important;--bs-gutter-x:0}
  .mm-mediacards [class*="col-"]{padding:0!important}
  .mm-mediacards .card.mm-card{width:100%}
  .mm-mediacards{--mm-pad:20px;--mm-pad-b:20px}
  .mm-mediacards .media-box.grow{aspect-ratio:16/9!important;height:auto!important}
  .mm-mediacards .mm-counter-row{flex-direction:column;align-items:stretch;gap:6px}
  .mm-mediacards .mm-counter-side--counter{flex:0 0 auto;max-width:100%}
  .mm-mediacards .mm-intro-spacer{margin-bottom:20px}
}

/* mm-card Rahmen/Schatten (fx-Effekte) */
.mm-card.fx-shadow,
.mm-card.fx-both {
  box-shadow: 2.6px 2.6px 9.53px rgba(0,0,0,0.45);
}
.mm-card.fx-frame,
.mm-card.fx-both {
  overflow: visible;
}
.mm-card.fx-frame::before,
.mm-card.fx-both::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: calc(.5rem + 10px);
  pointer-events: none;
  z-index: 1;
  border: 10px solid rgba(255,255,255,0.25);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18);
}

/* Footer Leistungen Block */
.footer .footer-leistungen {
    font-family: 'Noto Sans', arial, sans-serif;
}
.footer .footer-leistungen .footer-title {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 15px;
    padding: 0;
    text-transform: none;
    letter-spacing: normal;
    color: black;
}
.footer .footer-leistungen .footer-links {
    list-style: none;
    display: block;
    padding: 0;
    margin: 0;
}
.footer .footer-leistungen .footer-links li {
    display: block;
    font-size: 18px;
    line-height: 24px;
    font-weight: 200;
    list-style-type: none;
}
.footer .footer-leistungen .footer-links a {
    text-decoration: underline;
    color: black;
    font-weight: 200;
    font-size: 18px;
    line-height: 24px;
}
.footer .footer-leistungen .footer-links a:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .footer .footer-leistungen .col-sm-3 + .col-sm-3 .footer-title {
        margin-top: 30px;
    }
    .footer .footer-leistungen {
        padding: 40px 0;
    }
}
