/*/LAYOUT/*/
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
html,body{
	font-family: Verdana, Arial, sans-serif;
	height:100%;
	color:#333132;
}
:focus {
    outline: none;
}
[class*='col-']{
	margin-bottom: 30px;
}
.nopadding{
	padding:0;
}
.contentSection{
	padding:60px 0;
}
iframe{
	border:none;
}
img{
	max-width: 100%;
}
p {
    margin: 0 0 5px;
    line-height: 1.5;
}
a{
	text-decoration: underline;
}
.anchorBar{
	text-align: center;
	padding:15px 0;
}
.anchorBar a{
	text-decoration: none;
}
.anchorBar img{
	display: block;
	margin:0 auto;
	margin-bottom: 15px;
}
.contentSection ul{
	padding-left: 0;
}
.contentSection ul:not(.slick-dots) li{
	list-style: none;
	padding-left: 15px;
	line-height: 1.4;
	margin-bottom: 5px;
	background: url('/assets/layout/list-style.png') left 5px no-repeat; 
}
.bg-blue ul:not(.slick-dots) li{
	background: url('/assets/layout/list-style-white.png') left 5px no-repeat !important; 
}
.bg-darkblue a:hover,
.bg-darkblue a:focus{
	color:#302e2f !important;
}
h1,.h1,
h1 span,.h1 span,
h2,.h2,
h2 span,.h2 span{
	opacity: 1;
	margin:0;
	color:#fff;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	-webkit-transition:all .35s cubic-bezier(0,0,0.3,1);
	-moz-transition:all .35s cubic-bezier(0,0,0.3,1);
	transition:all .35s cubic-bezier(0,0,0.3,1);
}
h1,.h1{
	background:#302e2f;
	line-height: 1.6;
	padding:3px 10px;
	font-size: 22px;
}
h1 span,.h1 span,
h2 span,.h2 span{
	transition-delay: .4s;
}
h2,.h2{
	background:#007bc2;
	line-height: 1.7;
	padding:3px 10px;
	font-size: 18px;
}
h3,.h3{
	display: inline-block;
	font-size: 16px;
	color:#333132;
	text-transform: uppercase;
	margin: 0;
}

.relative{
	position: relative;
}
.bg-blue{background:#007bc2;}
.bg-darkblue{background:#035d93;}
.bg-grey{background:#e7eaed;}
.bg-darkgrey{background:#333132;}
.bg-blue *,
.bg-darkgrey *{
	color:#fff !important;
}
.btn-white{
	background:#fff;
	color:#000 !important;
	text-transform: uppercase;
	/*min-width: 200px;*/
	border-radius: 50px;
	text-decoration: none;
}
.btn-blue{
	background:#007bc2;
	color:rgba(255,255,255,.5) !important;
	padding:5px 20px;
	border-radius: 50px;
	border:1px solid #007bc2;
	-webkit-transition:all .35s ease-in;
	-moz-transition:all .35s ease-in;
	transition:all .35s ease-in;
	text-decoration: none;
	display: inline-block;
}
.btn-blue:hover,
.btn-blue:focus{
	color:rgba(255,255,255,1) !important;
	text-decoration: none;
}
.black{
	color:#333132 !important;
}


.logo img{
	width: 200px;
	padding: 15px 0 0 0;
}
.topBar{
	padding:2px 0;
	margin-bottom: 10px;
	background:#007bc2;
}
.topBar .referenzLink{
	color:#fff;
	font-size: 12px;
	text-align: center;
	display: block;
}
.topBar .referenzLink:hover,
.topBar .referenzLink:focus{
	text-decoration: none;
}
.sm{
	height: 12px;
	display: block;
	float: left;
	background-image: url('/assets/layout/sm-sprite.png');
	background-size: 53px;
}
.fb{
	width: 8px;
}
.insta{
	width: 14px;
	background-position: -15px 0px;
	margin:0 7px;
}
.twitter{
	width: 15px;
	background-position: -38px 0;
}
.smWrap{
	position: absolute;
	top:3px;
	right: 15px;
}
header{
	background: #e7eaed;
}
.hamburger {
	margin:18px 0 0 0;
	background:#007bc2;
	padding: 10px 8px 5px 8px;
	display: inline-block;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	overflow: visible;
	float:right;
}
.hamburger-box {
	width: 30px;
	height: 24px;
	display: inline-block;
	position: relative;
}
.hamburger-inner {
	display: block;
	top: 50%;
	margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	width: 30px;
	height: 4px;
	background-color: #fff;
	border-radius: 4px;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
	content: "";
	display: block;
}
.hamburger-inner::before {
	top: -10px;
}
.hamburger-inner::after {
	bottom: -10px; 
}
.navlist{
	padding-left: 0;
	margin-bottom: 0;
}
.navlist li{
	list-style: none;
}
.navlist li a{
	text-decoration: none;
}
#topnavbar{
	margin:0 -15px;
}
.navbar-collapse{
	border-top: 1px solid transparent;
	-webkit-transition: all .35s;
	-moz-transition: all .35s;
	transition: all .35s;
	padding: 15px ;
	background:#007bc2;
}
.mainNav li{
	position: relative;
}
.mainNav li a{
	font-size: 20px;
	text-transform: uppercase;
	padding: 5px 0;
	display: block;
}
.mainNav li a,
.topfunctions ul li a{
	-webkit-transition: color .35s;
	-moz-transition: color .35s;
	transition: color .35s;
	color:#fff;
}
.topfunctions ul li a:hover,
.topfunctions ul li a:focus,
.topfunctions ul .active a,
.mainNav .active a,
.mainNav li:hover a,
.mainNav li:focus a{
	/*color:#333132;*/
	text-decoration: none;
}
.mainNav li:after{
	content: '';
	position: absolute;
	bottom: 0;
	height: 3px;
	width: 100%;
	background:#fff;
	opacity: 0;
	-webkit-transition: opacity .35s;
	-moz-transition: opacity .35s;
	transition: opacity .35s;
}
.mainNav .active:after,
.mainNav li:hover:after ,
.mainNav li:focus:after{
	opacity: 1;
}


.topfunctions ul{
	margin-bottom: 15px;
}
.topfunctions ul li:not(:last-child){
	margin-bottom: 5px;
}
footer{
	margin:50px 0;
	opacity: .5;
	-webkit-transition: opacity .4s;
	-moz-transition: opacity .4s;
	transition: opacity .4s;
}
footer *{
	font-size: 14px;
}
footer .container{
	padding-top: 30px;
	padding-bottom: 30px;

}
footer:hover,
footer:focus{
	opacity: 1;
}
footer .sm{
	background-size:auto;
	height:16px;
}
footer .smWrap{
	top:5px;
}
footer .fb{
	width: 10px;
	background-position: 0 -16px;
}
footer .insta{
	width: 18px;
	background-position: -20px -16px;
	margin:0 13px;
}
footer .twitter{
	width: 19px;
	background-position: -51px -16px;
}
footer a{
	color:#333132;
	text-decoration: none;
}
footer a:hover,
footer a:focus{
	color: #333132;
}
.ctaWrap{
	position: fixed;
	top:23%;
	right: 30px;
	z-index: 300;
}
.cta{
	margin-bottom: 30px;
	height:75px;
	width:75px;
	display: block;
	background:transparent center center no-repeat;
	background-size: contain;
	position: relative;
}
.cta a{
	height:75px;
	width:75px;
	display: block;
	z-index: 999;
	position: relative;
}
.cta.jobs a{
	background-image:url('/assets/layout/cta_jobs.png');
}
.cta.jobs:hover a{
	background-image:url('/assets/layout/cta_jobs_hover.png');
}
.cta.kontakt a {
	background-image:url('/assets/layout/cta_kontakt.png');
}
.cta.kontakt:hover a {
	background-image:url('/assets/layout/cta_kontakt_hover.png');
}
.cta.phone a {
	background-image:url('/assets/layout/cta_phone.png');
}
.cta.phone:hover a{
	background-image:url('/assets/layout/cta_phone_hover.png');
}
.cta .cta-inner{
	display: block;
	background:rgb(236,236,236);
	color:#007bc2;
	font-weight: 700;
	padding:5px;
	position: absolute;
	right: 36px;
	top:1px;
	left:auto;
	padding-right: 60px;
	height:74px;
	/*border:1px solid #333132;*/
	border-right: none;
	opacity: 0;
	display: none;
}
.cta:hover .cta-inner{
	opacity: 1;
	display: block;
	width:300px;
}
.cta .cta-inner p{
	padding:20px 0px 0 5px;
}

/*/SLIDER - ALLGEMEIN/*/
.slick-dotted.slick-slider{
	margin-bottom: 0;
}

/*/SLIDER - SUJET/*/
.slider.sujet{
	height: calc(100% - 129px - 116px); 
}
.slider.sujet .slide{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.slider.sujet .slide,
.slider.sujet .slick-list,
.slider.sujet .slick-track{
	height: 100%;
}
.sujet .slide .container{
	height: 100%;
}
.sujet .slide .container > div{
	position: absolute;
	top:50%;
	left:15px;
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	transform:translateY(-50%);
}
.sujet .slide .container .line{
	font-size: 20px;
	color:#fff;
	background: rgba(48,46,47,.8);
	display: inline;
	padding:5px 5px 8px;
	line-height: 2;
}
.slider.sujet .slick-dots{
	bottom: 35px;
	z-index: 20;
}
.slick-dots li,
.slick-dots li button,
.slider.teaser .slick-dots li button:before,
.slider.sujet .slick-dots li button:before{
	width: auto;
	height: auto;
	padding:0;
	margin:5px;
}

.slider.sujet .slick-dots li button:before{
	font-size: 11px;
	color:#fff;
}
.topImage{
	background:transparent center center no-repeat;
	background-size: cover;
	height: 390px;
}
/*/SLIDER - TEASER/*/
.teaser .slide {
	border:1px solid rgba(0,0,0,.1);
	background:#fff;
}
.teaser .slide img{
	width: 100%;
}
.teaser .slide div{
	padding:20px 15px;
}
.teaser .headline{
	font-size: 22px;
	/*font-weight: bold;*/
}
.teaser .subline{
	font-size: 14px;
	color:#007bc2;
}
.teaserContent p{
	font-size: 14px;
	line-height: 1.5;
	-webkit-line-clamp: 5;
	height: calc(1em * 1.52 * 5) !important;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	position: relative;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 !important;
}
.teaserContent p:not(:first-child){
	display: none;
}
.teaser .btn{
	text-decoration: none;
	margin-top: 30px; 
}
.slider.teaser .slick-dots{
	bottom: auto;
	top:-50px;
	z-index: 20;
}
.slider.teaser .slick-dots li button:before{
	font-size: 11px;
	color:#007bc2;
}
/*/SLIDER - SECTION/*/
.slider.section .slide{
	height: 100vh;
	background:transparent center center no-repeat;
	background-size: cover;
}
.slider.section .slide .container,
.slider.section .slide .container > div{
	height: 100%;
}
.slider.section .slide .container > div{
	background:rgba(48,46,47,.5);
	color:#fff;
}
.slider.section .tag{
	position: absolute;
	display: inline-block;
	background:#007bc2;
	padding:2px 5px;
	text-transform: uppercase;
	text-align: center;
	top:0;
	left:50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	font-size: 18px;
}
.slider.section .headline{
	font-size: 18px;
	margin-bottom: 30px;
}
.slider.section .content{
	margin-top: 75px;
}
.slider.section .slick-prev,
.slider.section .slick-next{
	z-index: 99;
	height:74px;
	width: 43px;
	opacity: 0;
	-webkit-transition: opacity .4s;
	-moz-transition: opacity .4s;
	transition: opacity .4s;
}
.slider.section:hover .slick-prev,
.slider.section:hover .slick-next{
	opacity: .5;
}

.slider.section .slick-prev:hover,
.slider.section .slick-next:hover{
	opacity: 1;
}
.slider.section .slick-prev:before,
.slider.section .slick-next:before{
	content:'';
}
.slider.section .slick-prev{
	left:15px;
	background: url('/assets/layout/slider-prev.png') no-repeat center;
}
.slider.section .slick-next{
	right: 15px;
	background: url('/assets/layout/slider-next.png') no-repeat center;
}


/*/SECTION KASTEN/*/

.sectionKasten *{
	color:#fff;
}
.sectionKasten .content.right {
	float:right;
}
.sectionKasten .wrapper{
	float:left;
	max-width: 570px;
	padding:75px 0 75px 10px;
}

.sectionKasten .content{
	position: relative;
}
.sectionKasten .content,
.sectionKasten .image{
	min-height:500px;
}
.sectionKasten .image {
	background-size:cover;
	background-position: center center;
}
.sectionKasten [class*='col-']{
	margin-bottom: 0px;
}
.sectionKasten .headline{
	font-size: 22px;
}
/*/FORMULARE/*/
.form-control{
	background:rgba(255,255,255,.5);
	color:#fff;
	border:none;
	border-radius: 0;
}
.form-group{
	margin-bottom: 20px;
}
label{
	font-size: 12px;
	border-bottom: 1px solid #fff;
	/*padding-left: 15px;*/
	padding:5px 0 5px 15px;
	width: 100%;
	text-align: left;
	font-weight: normal;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: rgba(255,255,255,.5) !important;
}
::-moz-placeholder { /* Firefox 19+ */
	color: rgba(255,255,255,.5) !important;
}
:-ms-input-placeholder { /* IE 10+ */
	color: rgba(255,255,255,.5) !important;
}
:-moz-placeholder { /* Firefox 18- */
	color: rgba(255,255,255,.5) !important;
}

.list-unstyled,
.list-unstyled li{
	padding-left: 0 !important;
}
.list-unstyled li{
	font-size: 10px;
	color:rgba(255,165,0,1) !important;
	font-weight: bold;
}

/*/REF TOOL/*/
.refTool .topImage .container{
	position: relative;
}
.refTool .topImage .container,
.refTool .topImage .container .row{
	height: 100%;
}
.refTool .filterWrap{
	margin-top: 15px;
	margin-bottom: 0;
}
.refTool .inner{
	padding:15px;
}
.refTool label{
	padding:0;
	border:none;
	font-size: 14px;
}
.styled-select select {
    background: rgba(255,255,255,.5) url('/assets/layout/selectArrow.jpg') no-repeat center right;
    background-size: contain;
    width: 100%;
    padding: 5px 10px;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.2;
    color: #fff;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}
.reference{
	border:1px solid rgba(0,0,0,.1);
	margin-bottom: 30px;
}
.refHead{
	padding:20px 15px;
}
.refFooter{
	padding:20px 15px;
	text-align: center;
}
.reference .headline{
	font-size: 20px;
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	position: relative;
	line-height: 1.22;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 !important;
	-webkit-line-clamp: 2;
	height: calc(1em * 1.2 * 2);
}
.reference .city{
	color:#007bc2;
}
.reference img{
	width: 100%;
}
.reference .pic{
	overflow: hidden;
}
.table .desc{
	color:#007bc2;
	padding:5px 0;
}
.table tr td{
	border-bottom: 1px solid #007bc2;
}
.table tr:first-child td{
	border-top: none;
}

#refGallery .item,
#refGallery .grid-sizer {width: 50%;}
#refGallery .item.w2 {width: 100%;}

#refGallery .item {
	padding: 0 15px 15px 0;
}
/*==================================================
KASTEN
==================================================*/
.kasten{
	border:1px solid #cecece;
}
.kasten img{
	width: 100%;
}
.kastenHeader,.kastenContent{
	padding:15px 30px;
}
.kastenHeader{
	font-size: 18px;
	font-weight: bold;
}
.kastenContent{
	font-size: 14px;
}
/*==================================================
KLAPPKASTEN
==================================================*/
.klappKasten{
	margin-bottom: 10px;
}
.klappHeader{
	padding:10px 20px;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	word-break: break-all;
}
.klappHeader img{
	-webkit-transition:all .35s;
	-moz-transition:all .35s;
	transition:all .35s;
}
.klappHeader[aria-expanded="true"] img{
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	transform: rotate(90deg);
}
.klappContent{
	padding:15px 20px;
	border-top: 1px solid #fff;
}
/*==================================================
TIMELINE
==================================================*/
.timeline .title{
	color:#007bc2;
	font-size: 20px;
	font-weight: 700;
	position: relative;
	display: block;
}
.timeline .timeline-item .title:after{
	content: '';
	height:1px;
	/*width: 100%;*/
	background:#007bc2;
	position: absolute;
	right: -17%;
	left:0;
	bottom: 0;
}
.timeline  .timeline-item.inverted .title:after{
	left:-16%;
	right: 0;
}
.timeline .title span{
	color:#3e3b3b;
	display: inline-block;
}
.timeline .timeline-items .timeline-item{
	background-color: #fff !important;
	position: relative;
	text-align: justify;
	width: 100%; 
	color:#333 !important;
	background-image: none;
}
.timeline .timeline-items .timeline-item.inverted{
	left:-10px;
}
.timeline .timeline-items .timeline-item::after,
.timeline .timeline-items .timeline-item.inverted::after
{
	background:#fff;
	padding:5px;
	border:2px solid #007bc2 !important;
	height:40px;
	width: 40px;
	left:calc(100% + 9.4%) !important;
	top:35px !important;
	display: none !important; 
}
.timeline .timeline-items .timeline-item.inverted::after{
	left: calc(-9.88% - 13px) !important;

}
.timeline .timeline-items .timeline-item::before,
.timeline .timeline-items .timeline-item.inverted::before{
	content: '';
	width: 0;
	height: 0;
	position: absolute;
	border-top: 0 !important;
	right:-1em;
	left: calc(50% - 3px);
	border-left: 1em solid transparent !important;
	border-right: 1em solid transparent !important;
	border-bottom: 1em solid #007bc2 !important;
	top: -12px;
}
.tlYear{
	background:#007bc2;
	margin: 0 auto;
    width: 130px;
    color: white;
	text-align: center;
	font-size: 30px;
	position: relative;
	z-index: 2;
}
.timeline::before{
	background-color: #007bc2;
}
.timeline .timeline-items .timeline-item::after, .timeline .timeline-items .timeline-item.inverted::after{
	-webkit-transition: background .35s;
	-moz-transition: background .35s;
	transition: background .35s;
}
.timeline .timeline-items .timeline-item:hover::after, .timeline .timeline-items .timeline-item.inverted:hover::after{
	background:#007bc2;
}

/*/LINECLAMPS/*/
.line-clamp {
	display: block;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	position: relative;
	line-height: 1.22;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 0 !important;
}
.line-clamp-2 {
	-webkit-line-clamp: 2;
	height: calc(1em * 1.2 * 2);
}
.line-clamp-3 {
	-webkit-line-clamp: 3;
	height: calc(1em * 1.2 * 3);
}
.line-clamp-4 {
	-webkit-line-clamp: 4;
	height: calc(1em * 1.2 * 4);
}
.line-clamp-5 {
	-webkit-line-clamp: 5;
	height: calc(1em * 1.2 * 5);
}
.line-clamp-6 {
	-webkit-line-clamp: 5;
	height: calc(1em * 1.2 * 5);
}
.line-clamp-7 {
	-webkit-line-clamp: 5;
	height: calc(1em * 1.2 * 5);
}
.line-clamp-8 {
	-webkit-line-clamp: 8;
	height: calc(1em * 1.2 * 8);
}
.line-clamp-9 {
	-webkit-line-clamp: 8;
	height: calc(1em * 1.2 * 8);
}
.line-clamp-10 {
	-webkit-line-clamp: 10;
	height: calc(1em * 1.2 * 10);
}


/*/ANIMATIONS/*/
.hamburger--elastic .hamburger-inner {
top: 2px;
transition-duration: 0.275s;
transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.hamburger--elastic .hamburger-inner::before {
top: 10px;
transition: opacity 0.125s 0.275s ease; }
.hamburger--elastic .hamburger-inner::after {
top: 20px;
transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
transform: translate3d(0, 10px, 0) rotate(135deg);
transition-delay: 0.075s; }
.hamburger--elastic.is-active .hamburger-inner::before {
transition-delay: 0s;
opacity: 0; }
.hamburger--elastic.is-active .hamburger-inner::after {
transform: translate3d(0, -20px, 0) rotate(-270deg);
transition-delay: 0.075s; }

.hamburger--elastic-r .hamburger-inner {
top: 2px;
transition-duration: 0.275s;
transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.hamburger--elastic-r .hamburger-inner::before {
top: 10px;
transition: opacity 0.125s 0.275s ease; }
.hamburger--elastic-r .hamburger-inner::after {
top: 20px;
transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
transform: translate3d(0, 10px, 0) rotate(-135deg);
transition-delay: 0.075s; }
.hamburger--elastic-r.is-active .hamburger-inner::before {
transition-delay: 0s;
opacity: 0; }
.hamburger--elastic-r.is-active .hamburger-inner::after {
transform: translate3d(0, -20px, 0) rotate(270deg);
transition-delay: 0.075s; }


@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-200%, 0, 0);
    transform: translate3d(-200%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-200%, 0, 0);
    transform: translate3d(-200%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}





/*==================================================
=            Bootstrap 3 Media Queries             =
=               Mobile First Method                =
==================================================*/

/* Custom, iPhone Retina */ 
@media only screen and (min-width : 320px) {

}

/* Extra Small Devices, Phones */ 
@media only screen and (min-width : 480px) {

}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {

}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {

}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {

}
