/* @import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,700); */

/* roboto-300 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('/fileadmin/fonts/roboto-v29-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/fileadmin/fonts/roboto-v29-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fileadmin/fonts/roboto-v29-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-300.woff') format('woff'), /* Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fileadmin/fonts/roboto-v29-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-regular - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/fileadmin/fonts/roboto-v29-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/fileadmin/fonts/roboto-v29-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fileadmin/fonts/roboto-v29-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fileadmin/fonts/roboto-v29-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-500 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('/fileadmin/fonts/roboto-v29-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/fileadmin/fonts/roboto-v29-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fileadmin/fonts/roboto-v29-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-500.woff') format('woff'), /* Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fileadmin/fonts/roboto-v29-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
}
/* roboto-700 - latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/fileadmin/fonts/roboto-v29-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('/fileadmin/fonts/roboto-v29-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/fileadmin/fonts/roboto-v29-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/fileadmin/fonts/roboto-v29-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/fileadmin/fonts/roboto-v29-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}

/*Vars für Farben*/
:root {
    --jstblue: #52a3cc;
    --jstlightblue: #6cf;
    --jstdarkblue: #33667f;
    --jstgrey: #505050;
  --jstgold: #522900;
}


/* fedit*/

.t3js-icon{
  display:inline-block;
  width:1rem;
}


/*Anpassungen für Boottstrap*/
.container-fluid {
    padding: 0px !important;
}



html {
 background:#fff;
 box-sizing:border-box;
 color:#2a2a2a;
 font-family:"Roboto",sans-serif !important;
 font-size:100%;
 -webkit-hyphens:none;
 -ms-hyphens:none;
 hyphens:none;
 line-height:1.5rem;
 -webkit-text-size-adjust:none;
 -moz-text-size-adjust:none;
 -ms-text-size-adjust:none;
 text-size-adjust:none
}

*{
    margin: 0;
    padding: 0;
}

body {
    line-height: 1.5rem;
}

hr {
     height:.0625rem;
     margin:1rem 0 2rem;
     border: 0;
   	 border-top: 1px solid rgba(0,0,0,0.3) !important;
}

iframe{
  width: 100%;
}

h1, h2, h3, h4,h5, h6{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    display: block;
    text-rendering: optimizeLegibility;
}

ul {
    list-style: none;
}

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

a{
    text-decoration: none;
    /* white-space: nowrap; */
}

a:hover{
    text-decoration: none !important;
}

.contHead h1{
    font-size: 3rem;
    line-height: 4rem;
    font-weight: 700;
    color: var(--jstdarkblue);
}

.contHead h1 small{
    font-size: 1.5rem;
    line-height: 1.875rem;
    font-weight: 300;
    color: var(--jstgrey);
    display: block;
}

.brandcolu{
    width: 108px;
  	text-align:center;
}

.brandimg{
  width: 105px;
  margin-left: -4rem;
  transition: width 0.3s;
  max-width: unset;
}

.navWrapSticky .brandimg{
    width: 77px;
    margin-top: 10%; 
}

.navWrap {
    background: var(--jstdarkblue);
    color: #fff;
    position: fixed;
    top: 0px;
    left: 0;
    right: 0;
    z-index: 50;
    height: 6.7rem;
}

.navWrap.jsOnnavWrap{
    background: transparent;
    top: 10px;
    transition: background 0.3s;
}

.navWrap.jsOnnavWrap.navWrapSticky {
    background: var(--jstdarkblue);
    top: 0px;
}

.jsnavi>li.topnavitop{
    margin-right: 10px;
    position: relative;
    display: inline-block;
}

.jsnavi>li.topnavitop.selected{
    background-color: var(--jstblue);
}

.topnavitop>a:hover, .topnavitop>a.subOpen {
    background:var(--jstblue);
}

.jsnavi .submenu{
    visibility: hidden;
    margin-top: 20px;
    margin-right: 10px;
    height: 0;
    z-index: 1000; 
    opacity: 0;
    transition:opacity 0.3s ease-out, margin-top 0.3s ;
    position: absolute;
    width: 100%;
}

.jsnavi li:hover .submenu , .jsnavi li:active .submenu, .jsnavi li:focus .submenu {
    visibility: visible;
    margin-top: -1px;
    height: auto;
    opacity: 1;
}

 .jsnavi a{
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    color: white !important;
    display:block;
    white-space: nowrap;
}

.jsnavi > .topnavitop > a {
	margin-top: 0px;
	font-size: 1.25rem;
	line-height: 6.7rem;
	text-align: center;
  font-weight: 500;
}

.jsOnnavWrap:not(.navWrapSticky) .jsnavi>li>.topnavitop>a{
    margin-top: 5px;
    margin-right: 10px;
    transition: margin-top 0.3s ease-in-out;
}

.submenu li {
    text-align: left;
    margin-top: 1px;
    line-height: 3rem;
    background-color: var(--jstlightblue);
    font-size: 0.94rem;
}

.submenu li:hover {
    background-color: var(--jstdarkblue);
}

 .submenu li.selected {
    background-color: var(--jstdarkblue);
}

.header {
    width:100%;
  	position:relative;
}

.header .subHeaderImg{
    height: 28rem;
    display: block;
    -webkit-background-size: cover;
  	-moz-background-size: cover;
  	-o-background-size: cover;
    background-size: cover;
/*  	position:inherit;*/
    background-position-x: center;
    background-position-y: center;
    z-index: 0;
}

.slider-outer::before {
	z-index: 1;
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	background: rgba(0,0,0,0.25);
}

.header .claimWrap{
    position: absolute;
    z-index: 5;
  	max-width: 40rem;
  	bottom: 1.75rem;
}

.header .claimHead{
    background-color: var(--jstdarkblue);
    color: #fff;
    font-size: 3.75rem;
    line-height: 4.375rem;
    padding: .5625rem 1.9375rem .9375rem 2.1875rem;
    font-weight: bold;
    display: inline-block;
}

.header .claimSub{
    color: var(--jstgrey);
    background-color: #fff;
    font-size: 1.375rem;
    line-height: 1.875rem;
    padding: 1.4375rem 1.125rem 1.125rem 1.875rem;
/*    margin-top: 0;*/
    font-weight: 100;
    display: block;
    max-width: 42rem;
}

main{
    font-size: 1.125rem;
    line-height: 1.75rem;
    color: #2a2a2a;
    margin-top: 1.5rem;
}

main strong{
    color:var(--jstdarkblue);
    font-weight: bold;
}

main h3{
    font-size: 1.5rem;
    color: var(--jstgold);
    font-weight: normal;
}

/* Listen in Content */
ul.contentlist li , main ul li {
    /* wg stern als li-style; */
    position: relative;
    line-height: 1.75rem ;
    padding-left: 1.5625rem;
    color: var(--jstdarkblue);
}

/* stern als li-style; */
ul.contentlist li::before , main ul li::before {
    position: absolute;
    top: .375rem;
    left:0px;
    background-image: url("star.png");
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    /* display: inline-block; */
    width: .9375rem;
    height: 1rem;

}

.partnersBox, .contSub{
    border-top: 1px solid rgba(0,0,0,0.3);
}

.contHead, .contSub{
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.contSub{
    padding-top: 3.5rem;
}

/* für Spalte mit Bild auf der linken Seite */
.contLeft img{
  float: none;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.contRight{
  padding-left: .825rem;
}

/* links auf subages via "sublinks" content-Element */
.frame-type-menu_subpages, .frame-type-menu_pages {
    padding-top: 1.875rem;
    padding-left: .825rem;
    margin-bottom: 1.125rem;
    background-color: #eaeff2;
    border-top-left-radius: 0.4375rem;
    border-top-right-radius: 0.4375rem;
    border-bottom-right-radius: 0.4375rem;
    border-bottom-left-radius: 0.4375rem;
}

.frame-type-menu_subpages h3,.frame-type-menu_pages h3 {
    margin-top: 0;
    margin-bottom: 2rem;
    color: var(--jstdarkblue);
    font-size: 1.125rem;
    font-weight: bold;
}
.frame-type-menu_subpages ul, .frame-type-menu_pages ul  {
    width: 100%;
    display: flex;
	flex-flow: wrap;
}

.frame-type-menu_subpages ul li, .frame-type-menu_pages ul li {
    padding-left: 0;
}
/* no star */
.frame-type-menu_subpages ul li::before, .frame-type-menu_pages ul li::before {
    content: none;
}

.frame-type-menu_subpages ul li a,.frame-type-menu_pages ul li a, a.jstbutton, .formular .btn.btn-primary , .contentNormal .btn.btn-primary, #CookieBox .cookie-btn {
    display: inline-block;
    background-color: var(--jstdarkblue);
	color: #fff;
	background: #33667f;
	text-align: center;
	font-size: 1.125rem;
	line-height: 1.25rem;
	text-decoration: none;
    padding-top: 1.0625rem !important;
    padding-bottom: 1.1875rem !important;
	transition: background 0.3s, color 0.3s ease-in-out;
    margin-bottom: 1.125rem;
    margin-right: 1.6rem;
    border-radius: 0;
  }

.frame-type-menu_subpages ul li a,.frame-type-menu_pages ul li a ,.formular .btn.btn-primary, .contentNormal .btn.btn-primary {
    width: 14.625rem;
    border: none;
   }


.frame-type-menu_subpages ul li a:hover, .frame-type-menu_pages ul li a:hover, .jstbutton:hover, .formular .btn.btn-primary:hover ,.contentNormal .btn.btn-primary:hover, #CookieBox .cookie-btn:hover, .btnhovered .icon, .btnhovered .teaserbutton, #CookieBox .cookieclose:hover, #CookieBox a:hover, #CookieBox .cookie-management:hover, #CookieBox .cookie-refuse:hover, .landingpageform .btn:hover {
    background-color:  var(--jstgold) !important;
    color:#fff !important;
}

#CookieBox .cookie-management:hover a, #CookieBox .cookie-refuse:hover a{
  color: #fff; 
}

a.jstbutton{
  width:100%;
}

/* bootstrapop */
footer .contactRow1Sec {
    padding: 6.6875rem 0 7.125rem;
    color: #fff;
    font-weight: 300;
    font-size: 1.125rem;
    line-height: 1.5rem;
    background-color: var(--jstgrey);
}

.contactRow1Sec span{
    /* margin-left:4rem; */
    display:block;
}

.contactRow1Sec .name{
    color: var(--jstlightblue);
  	font-weight:bold;
}

.contactRow1Sec a{
    color: var(--jstlightblue);
}

.contactRow1Sec a:hover{
    color: #fff;
}

.newsletterLink::before {
  	display: inline-block;
  	font-family: "FontAwesome";
    content: "\f138";
}

.newsletterLink a {
    color: #fff;
}

.contact2 a:hover{
    color: var(--jstlightblue);
}

.contact2 {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2.1875rem;
    margin-left: 0px;
    margin-bottom: 1rem;
    margin-right:0px;
}

.contact2 li {
    display: inline-block;
    margin-left: 1rem;
    margin-right: 1rem;

}
main a,.contact2 a {
    color: var(--jstgrey);
}

.contact2 a{
    font-size: 1.125rem;
}

main a:hover{
  color: var(--jstgold);
}

/* fixedLinks */
 .fixedLinks {
	right: 0;
	z-index: 9;
	top: 11.25rem;
	position: fixed;
	display: block;
} 

.fixedLinks li {
	color: #33667f;
	cursor: pointer;
	display: block;
	text-align: center;
	position: relative;
/*	font-size: .875rem;*/
	margin-bottom: .125rem;
	background-color: #fff;
	box-shadow: 0 0 .3125rem 0 rgba(0,0,0,0.75);
	padding: .5625rem .8125rem .625rem 1rem;
	transition: background 0.3s, color 0.3s ease-in-out;
}

.fixedLinks li > span, .fixedLinks li .contacts-mobile {
	top: 0;
	bottom: 0;
	opacity: 0;
	color: #33667f;
	display: block;
	right: 0.4rem;
	text-align: right;
	visibility: hidden;
	position: absolute;
	min-width: 10.5rem;
	background-color: #fff;
	padding: .625rem 1.125rem;
	text-decoration: none;
	-webkit-transform: translateX(-40px);
	transform: translateX(-40px);
	transition: all 0.3s ease-in-out;
  white-space: nowrap;
}

.fixedLinks li:hover, .fixedLinks li:focus, .fixedLinks li:hover i {
	color: #fff;
	background-color: #33667f;
}

.fixedLinks li:hover > span, .fixedLinks li:hover .contacts-mobile {
	opacity: 1;
	color: #33667f;
	text-align: right;
	visibility: visible;
}

.fixedLinks li > span a, .fixedLinks li .contacts-mobile a {
	color: #33667f;
}

.fixedLinks li .lockLink {
	color: #33667f;
	text-decoration: none;
}
/**/
.justaccordionfull{
    display:flex;
    width: 100%;
}

 /*  umschließt img,head,cont */
.justaccordion {
  width:90%;
}

.justacccontact{
    width:10%;
    margin-left: 1rem;
}

.justaccbutton {  
  color: #444;
  cursor: pointer;
  width:100%;
  min-height: 3.75rem;
  background:var(--jstdarkblue);
  display:flex;
  margin-bottom: 1rem;
}

.justaccordionfull.jstevent .justacccontact{
  margin-left:1px;
  font-weight:700;
  width:unset;
}

.justaccordionfull.jstevent .justacccontact a.jstbutton{
  margin-bottom:1px;
}

.justaccordionfull.jstevent .justaccbutton{
  margin-bottom:1px;
  min-height: 3.5rem;
}

.justacc-img {
/*  umgebendes Div für Image, relativ zu */
  width: 5rem;
  border:1px solid;
  /* durch padding innliegendes img in der Mitte, alle maximal gleich groß, +:logo kleiner, -:logo größer */
  padding: 0 .6rem 0 .6rem;
  min-height: 3.75rem;
/*  position: relative;*/
  background:#fff;
}

.justacc-img img{
 /*  Image an den umfassenden Block anpassen */
  max-width: 100%;	
  width: 100%;		
  height: auto;
  padding-top: 1.1rem;
}

.justacc-head, .justacccontact{
  color: #fff;
  font-weight:normal;
  text-align:center;
  margin: 0;
  /* Textelement der Überschrift mittig positioniert */
  position: relative;
}

.justacc-head{
  width: 100%;
  line-height: 3.75rem;
  background-color: var(--jstdarkblue);
}
.justacc-head::after {
	content: "\f077";
	color: #fff;
	right: 30px;
	position: absolute;
	font-family: "FontAwesome";
	line-height: 3.75rem;
	font-size: 1rem;
	transform: translateY(-50%) rotate(-180deg);
  transition: all 0.4s ease-in-out;
  	top: 50%;
}

.justaccordionfull.jstevent .justacc-head::after {
	content: "Mehr";
	/* color: #fff; */
	right: 30px;
	position: absolute;
	font-family: "Roboto";
	/* line-height: 3.75rem; */
	/* font-size: 1rem; */
	transform: translateY(-50%);
	/* transition: all 0.4s ease-in-out; */
	top: 50%;
	padding-left: 30px;
	border-left: solid 1px;
}

.justaccordionfull.jstevent .justacc-head::Before {
	content: "on demand";
	left: 30px;
	position: absolute;
	font-family: "Roboto";
	transform: translateY(-50%);
	top: 50%;
	padding-right: 30px;
	border-right: solid 1px;
}


.justaccbutton_active>.justacc-head::after {
	content: "\f077";
    transform: translateY(-50%) rotate(0);
}
.justaccbutton_active>.justacc-head {
  background-color: var(--jstgold) ;
}

 .justacccontact{
 margin-left:1rem;
 width: 15rem;
}

 .justacccontact p{
 background-color: var(--jstdarkblue);
   line-height: 3.75rem;
}

/* Textelement der Überschrift mittig positioniert */
.justacc-head p{
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%; 
  top: 50%;
  white-space: nowrap;
}

.justacc-cont iframe{
    height: 500px;
}

/*  Titelleiste gold wenn active (aufgeklappt) oder mouseover*/
.justaccordion .justaccbutton.active .justacc-head, .justacc-head:hover, .formularstickyleft #formimagecancel:hover {
  background-color: var(--jstgold) ;
}

/* backToTop-Button */
        #backToTop:hover{
            background-color: var(--jstlightblue);
        }
        #backToTop::before {
            content: "\f077";
            font-family: "FontAwesome";
        }
        #backToTop {
            display: none;
            background-color: var(--jstgold);
            color: #fff;
            position: fixed;
            bottom: 2%;
            right: 2%;
            height: 2.8125rem;
            width: 2.8125rem;
            z-index: 10;
            line-height: 2.8125rem;
            text-align: center;
        }
/* Slider Partnerslider */
.partnersBox h2{
    margin:0;
}

.partnersBox .slick-track{
  display:flex;
  align-items:center;
    margin-top:3rem;
    margin-bottom: 3rem;
}

.partnersBox figure.image{
  margin-left:2rem;
}

/* Slider im Contentbereich "carousel"; z.B. auf "Referenzen" und "Kunden" */

.contentNormal .slick-arrow.slick-prev::before {
	content: "\f104";
	color: silver;
	font-family: 'fontAwesome';
	font-size: 2rem;
}

.contentNormal .slick-arrow.slick-next::before {
	content: "\f105";
	color: silver;
	font-family: 'fontAwesome';
	font-size: 2rem;
}

/* Box um den Slider */
.contentNormal .slick-slide {
	display: block;
  margin: 10rem 1rem 1rem 1rem;
	background-color: #eaeff2;
	border-radius: .4375rem;
}

/* Slider der gerade im Center ist, background weiß da sonst beide Elemente ice */
.contentNormal .slick-slide.slick-current.slick-active.slick-center {
	background: white;
  margin: 1rem 1rem 1rem 1rem;
  	color: white;
}

.contentNormal .slick-slide.slick-current.slick-active.slick-center strong {
	color: white;
}

.contentNormal .slick-slide .slideContOben {
padding: 2rem 1rem 2rem 1rem;
	text-align: center;
}

.contentNormal .slick-slide img{
	display: inline;
  margin: 1rem;
}

/* wenn Element nicht Kind von .slick-center, box-text ausblenden */
.contentNormal .slick-slide .box-text {
	display:none !important;
  }

/*Config für das Element das gerade Center ist; slider auf Modus Center einstellen sonst wird slick-center nirgends gesetzt*/
.contentNormal .slick-slide.slick-current.slick-active.slick-center .slideContOben, .contentNormal .slick-slide.slick-current.slick-active.slick-center .box-text  {
	background: var(--jstdarkblue);
 	border-radius: .4375rem;
}

.contentNormal .slick-slide.slick-current.slick-active.slick-center .box-text {
	margin-top: 10rem;
	width: 200% !important;
	margin-left: -50%;
	position: relative;
	min-height: 100px;
	padding: 3rem 2rem 3rem 2rem;
    display:block !important;
}

.contentNormal .slideContOben .button {
	float: none;
	display: inline-block;
	padding: .4375rem;
	text-align: center;
	font-size: 1.25rem;
	line-height: 2.25rem;
	margin-top: 1.75rem;
	color: #fff;
	background-color: #33667f;
	border: .125rem solid #33667f;
	width: 100%;
	max-width: 16.5625rem;
	transition: background-color 0.3s ease-in-out,color 0.3s ease-in-out;
}

.contentNormal .slideContOben .button:hover {
	background-color: #fff;
	color: #33667f;
}

.contentNormal .slick-slide.slick-current.slick-active.slick-center .slideContOben .button {
	background-color: #eaeff2;
	color: #33667f;
	border-color: #eaeff2;
}

.contentNormal .slick-slide.slick-current.slick-active.slick-center .slideContOben .button:hover {
	color: #eaeff2;
	background-color: #33667f;
	border-color: #eaeff2;
}

.contentNormal .slick-slide.slick-current.slick-active.slick-center .box-text a {
	color: #fff;
}

/* Sucheeingabefeld, Search */
.fa-search::before {
    content: "\f002";
}
.searchboxall {
	margin-top:2.25rem;
}
.searchboxall .searchForm {
	display:flex;
}

.searchboxall .searchForm .searchInput {
	background-color: var(--jstlightblue);
  	border: none; 
    color: #fff;
  	visibility:hidden;
}

.searchboxall:hover .searchInput {
  	visibility:visible;
}

.searchboxall .searchForm button{
    color: #fff;
	border: none; 
	outline: none;
	cursor: pointer;
	font-size: 1.5rem;
	background-color: transparent;
	border-left: .625rem solid transparent;
	transition: color 0.3s ease-in-out;
}

.searchboxall {
	text-align: center;
}

.tx-indexedsearch-rules, .tx-indexedsearch-info {
  display: none;
}

.startcontentleft{
  background: url("/fileadmin/template/main/images/startcontent-img.jpg") center no-repeat;
  background-size:cover;
  min-height: 20rem;
}

.startcontentright {
  background: url("/fileadmin/template/main/images/layout/worldMap.png") center center no-repeat;
  background-color: var(--jstdarkblue);
  min-height:50rem;
  padding: 13.125rem 6.875rem 10.9375rem 13.6875rem !important;
}

.startcontentright h1{
  color: var(--jstlightblue);
	font-size: 2.25rem;
	line-height: 2.25rem;
  margin-bottom: 1.875rem;
  font-weight: 700;
}
.startcontentright, .startcontentright strong, .startcontentright small {
    color:#fff;
}

.startcontentright small {
  display:block;
	font-size: 1.5rem;
	line-height: 1.625rem;
}

.startcontentright .jstbutton.startbutton, .spruch .jstbutton{
  background-color: #fff;
  color: var(--jstdarkblue);
  width:10rem;
}

/*startslider */
.slider-outer{
   height:100% !important;
  overflow:hidden;
}
.slider{
    width: 100%;
    height: 100%;
}
.slide-image{
  width: 100%;
    height: 100%;
    display:block;
    color: transparent;
    background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    -o-background-size: cover;
    -webkit-background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
}
.slider .slide-item{
  float:left;
    padding: 0;
    margin: 0;
}

/*** Formular ***/

.formular .form-control {
  border-radius: 0 !important;
}

.formular textarea.form-control {
	min-height: 10rem;
}

/* Formular Datenschutzerklärung neben */
#produkte-676-fieldset-1 > .form-group,#produkte-676-fieldset-1 > .clearfix, #telefonieangebortform-782-fieldset-1 > .form-group , #telefonieangebortform-782-fieldset-1 > .clearfix,#standardform-787-fieldset-1 > .form-group , #standardform-787-fieldset-1 > .clearfix {
	display: inline-block;
}

fieldset.form-group>.form-group, fieldset.form-group>.clearfix{
  	display: inline-block;
}

.formular .input.checkbox {
    margin-left: -1.1rem;
    margin-right: 0.3rem;
}

.formular {
  	margin-top: 4rem;
	margin-bottom: 4rem;
}

/*** threesteps ***/
    .threesteps {
    margin: 2rem 1.5rem 2rem 1.5rem;
    height: auto;
  }
    .threesteps-step {
        padding: 0.75rem;
        background-color: #33667f;
        /* margin: 1rem 0.11rem ; */
        border-top-left-radius: 0.4375rem;
        border-top-right-radius: 0.4375rem;
        border-bottom-right-radius: 0.4375rem;
        border-bottom-left-radius: 0.4375rem;
      color: #fff;
       font-weight:700;
             min-height: 100%;
    }

      .threesteps-step.sub{
             min-height: 1rem;
             margin: 1rem 0 1rem 0;
    }

    .threesteps-step p{
       line-height: 1.1325rem;
        font-size:1rem;
              margin-top:2.8rem;
    }

  .stepinner{
     		font-weight:700 ;
    background-color: var(--jstblue);
          padding:0.5rem;
              font-size:1.5rem;
              min-height: 4.5rem;
  }
   span.heading-step small{
     		font-weight:700 !important ;
  } 
      .stepinner img{
 		float:right;
  }
     

/***zweispaltig, innen ***/
.in2cols .image-embed-item {
	/* width: 100%;  */
	height: auto;
}

/*bildheader kleiner*/
.frame-type-image header h2{
font-weight: 300;
font-size: 1.125rem;
line-height: 1.75rem;
}

/*** startpage spezial ***/
.support4{
  height:30rem;
}

.spruch .spruchHeadline {
	display: block;
	font-weight: 700;
	font-size: 4.5rem;
	line-height: 4.6875rem;
	margin-bottom: .8125rem;
  margin-top:10rem;
}
  
  .spruch {
	color: #fff;
	text-align: center;
	padding: 10.9375rem 0 11rem;
    position: relative;
}

.spruch .parallaxImg {
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 30rem;
	position: absolute;
	background: url("/fileadmin/template/main/images/parallax.jpg");
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.colpromo {
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 30rem;
	position: absolute;
	background-size: cover;
	background-color: rgb(0,0,0,.5);
}

/***start teaser icons***/
.startteaser{
  margin: 5rem 0 4rem 0;
  text-align: center;
  color:#6b6b6b;
  font-size: 1rem;
  line-height: 1.5rem;
}
.startteaser p{
   padding-left:2rem !important;
   padding-right:2rem !important;
   margin-bottom: 2rem;
}

.jstbutton.teaserbutton{
  width: 40%;
}

@keyframes scaling {
  0%   {transform:scale(0);}
  100% {transform:scale(1);}
}


.startteaser .icon, .icon.first, .icon.second, .icon.third, .icon.fourth {
	width: 8.5rem;
	height: 8.5rem;
	border-radius: 100%;
  	background-image: url("/fileadmin/template/main/images/layout/cloud.svg"); 
     background-size: 40%;
	background-color: #33667f;
	transition: background-color 0.3s ease-in-out;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  margin:0 5rem;
		animation:scaling 0.3s ease-in-out;
				animation-fill-mode:forwards;
				transform:scale(0);
}

.startteaser .icon.second, .icon.second {
  	background-image: url("/fileadmin/template/main/images/layout/network.svg"); 
    animation-delay: 0.3s;
}

.startteaser .icon.third , .icon.third{
  	background-image: url("/fileadmin/template/main/images/layout/locked.svg"); 
    animation-delay: 0.6s;
}
.startteaser .icon.fourth, .icon.fourth {
  	background-image: url("/fileadmin/template/main/images/layout/phone.svg"); 
    background-size: 30%;
    animation-delay: 0.9s;
}

.startteaser .icon:hover {
	background-color: var(--jstgold);
}

.startteaser h4 {
display: block;
margin: 1rem;
color: #000;
font-weight:300;
}

/* mitarbeiter */
.teamPage .teamInner{
  margin: 0.5rem 0.1rem 0.5rem 0.1rem;
  background-color: var(--jstdarkblue);
  color: #fff;  
  display: flex;
}

.teamPage .personName,.teamPage .personPosition,.teamPage .personPhone{
  display: block;
}

.teamPage .textBox {
	padding-left: 1.2rem;
	float: right;
	padding-top: 1rem;
}

.teamPage .personName, .teamPage .personPosition{
padding-top:1rem;
}

.teamPage .personName {
	font-weight: 700;
	padding: 0.6rem 0 0.2rem 0;
}
.teamPage .personPosition{
  font-weight: 500;
}

.jstbutton.teambutton{
  background:#fff; 
  color:var(--jstdarkblue);
  width: 5rem;
}

a.highlight {
  color: var(--jstgold);
}

input#routestartNbg,input#routestartMuc{
  width: 100%;
}

.routestartFalse::placeholder {
    color: #f00;
    opacity: 1;
 }

/* mobile navi overwrite */
#jsnavimobile > .topnavitop > a {
	margin-top: 0px;
	line-height: 3rem;
	text-align: left;
	font-weight: 500;
  	white-space:normal;
  	border-left:unset;
}

#jsnavimobile a {
  	font-size: 1.15rem;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
	color: #505050;
 /* 	color: #505050 !important;*/
	display: block;
	border-left: .625rem solid #9e4f00;
    border-bottom:1px solid var(--jstlightblue);
	background: #fff;
}
#jsnavimobile a:hover {
	color: #fff !important;
	display: block;
	background: var(--jstdarkblue);
}

#jsnavimobile > .topnavitop.selected>a, #jsnavimobile .submenu li.selected>a {
  color:#fff !important;  
  background-color: var(--jstdarkblue) !important;
}

/* new */
@media (max-width: 992px) {
.jsnavi, #tx_cookies.navichecked {
   display: none;
}
  
.col-lg-1.searchboxall {
	background: var(--jstdarkblue);
  	padding-top: 0rem;
}

.jsOn #navmobile{
   top:0;
  left:0;
  width:50%;
  z-index:100;
  min-height: 100%;
  position:absolute;
  -webkit-transform: translate(-100%);
  transform: translateX(-100%);
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  display:none;
  }
  
  .jsOn #navmobile.navichecked{
  -webkit-transform: none;
  transform: none;
      display:block;
  }
#togglemobilenav{
	display:none;
      }
  
 .jsOn #togglemobilenav{
   	display:block;
  top:2rem;
  left:0;
  z-index: 100;
  position:absolute;
  transition: -webkit-left 0.3s ease-in-out;
  transition: left 0.3s ease-in-out;
  background-color: #505050;
    color: #fff;
    width: 2.8125rem;
    text-align: center;
    line-height: 2.8125rem;
   font-size:1.5rem;
      }
  
  .jsOn #togglemobilenav::before {
    content: "\f0c9";
    font-family: "FontAwesome";
        }
    .jsOn #togglemobilenav.navichecked::before {
    content: "\f00d";
    font-family: "FontAwesome";
        }
  
  .jsOn #togglemobilenav.navichecked{
  left:50%;
  }
    .jsOn #togglemobilenav:hover{
  color:var(--jstgold);
  }
 
  .jsOn #page.navichecked{
    -webkit-transform: translate(50%);
    transform:translateX(50%);
    transition: -webkit-transform 0.3s ease-in-out;
  	transition: transform 0.3s ease-in-out;
    position:fixed;
    width:100%
  }
.navWrap {
	background: #fff;
  	top: 0;
    position: relative;
   height:auto
}
  .brandcolu {
    min-height:8rem;
    padding-top:3.5%;
  }
  
.navInfo{
    padding: 30px 18px;
    background-color:var(--jstlightblue);
  color:#fff;
  }
  .navInfo a{
  color:#fff;
  }
    .navInfo a:hover{
  color:var(--jstgold);
  }
 .navInfo strong{
    color:#33667f;
  }
   .navInfo span{
 	display:block;
  }
  
     .justacc-head p {
	position: absolute;
	transform: translate(-50%, -50%);
	left: 35%;
	top: 50%;
	white-space: unset;
	line-height: 1rem;
	min-width: min-content;
    font-size: smaller;
} 
  
  
}

@media (max-width: 632px){
  .jsOn #navmobile{
  width:80%;
  }
  .jsOn #togglemobilenav.navichecked{
  left:80%;
  }
  .jsOn #page.navichecked{
    -webkit-transform: translate(80%);
    transform:translateX(80%);
  }
}

@media (min-width: 992px) {
#jsnavimobile, #togglemobilenav, .navInfo{
    display: none;
}
}

@media (max-width: 1200px) {
  .brandimg {
	width: auto;
	transition: width 0.3s;
	margin-left: 0;
}
.jsnavi a {
	padding-right: 0.1rem;
	padding-left: 0.1rem;
}
  
  .col-lg-1, .col-lg-10{
    padding-left:0;
    padding-right: 0;
 /*   width:unset !important;*/
}

.col-lg-1.searchboxall {
/*	max-width: unset;*/
	margin-top: 0rem;
	padding-top: 0rem;
}
}

@media (max-width: 1400px) {
    .jsnavi a {
	padding-right: 0.5rem;
	padding-left: 0.5rem;
}
.searchboxall .searchForm {
	display: block;
}
.searchboxall .searchForm .searchInput {
	visibility: visible;
}
}

@media (max-width: 768px) {

.contHead h1,.header .claimHead {
	font-size: 1.75rem;
	line-height: 2rem;
  padding-bottom: .875rem;
}
  .contHead h1{
  margin-bottom: .875rem;
}
.header .claimSub {
	font-size: 1rem;
	line-height: 1.5rem;
	padding: 1rem;
} 
  .contHead h1 small {
	font-size: 1.2rem;
}
 .contHead, .contSub {
	margin-top: unset;
	margin-bottom: unset;
} 
  h2 {
	font-size: 1.2rem !important;
	line-height: 1.5rem;
} 
   .justacc-head p {
    font-size: small;
} 
  .justaccordionfull.jstevent .justacc-head::before {
    display:none;
} 
  .startcontentright {
	padding: 1.125rem 6.875rem 10.9375rem 1.6875rem !important;
}

}


@media (max-width: 523px) {

.justaccordionfull {
	display: block;
	width: 100%;
}  
.justaccordion {
	width: 100%;
}
.justacccontact {
  margin-left:0;
	width: 100%;
}
.contentNormal .slick-slide.slick-current.slick-active.slick-center .box-text {
	width: 100% !important; 
	margin-left: unset;
}


}
/* Cookie-Plugin overwrite standard settings */
#c925 .cookie-set {
	cursor: pointer;
	transform: rotate(90deg) translateX(-100%) !important;
	display: inline-block !important;
	position: fixed !important;
	left: 0;
	bottom: 45px !important;
	transform-origin: bottom left !important;
	background: #333 !important;
	color: #fff !important;
	border-top-left-radius: 4px !important;
	border-top-right-radius: 4px !important;
	font-size: 12px !important;
	line-height: 12px !important;
	text-decoration: none !important;
	padding: 10px !important;
	transition: 300ms all ease-in-out !important;
}

.cookie-set.script img {
	filter: grayscale(10%) blur(1px) brightness(110%) saturate(50%) contrast(110%);
	-webkit-filter: grayscale(100%) blur(2px) brightness(110%) saturate(10%) contrast(10%);
	-moz-filter: grayscale(10%) blur(1px) brightness(110%) saturate(50%) contrast(110%);
	max-width: 100%;
}

.cookie-set.script p {
	background: rgba(255,255,255, 0.7);
}


/* Checkbox Form */
.form-check span{
  margin-left: 7px;
}

.visually-hidden{
display:none;
}


input:invalid, textarea:invalid
{
    border: 2px grey solid;
    background-color: rgb(245, 245, 245);
    color: red;
}

.error.help-block {
	color: red;
}

.lpage .fa-clock::before, .lpage .fa-home::before,.lpage .fa-cloud::before, .lpage .fa-cogs::before  {
  	display: inline-block;
  	font-family: "FontAwesome";
    font-size: 6em;
    font-weight: lighter;
    color: var(--jstlightblue);
}

.lpage .fa-clock::before {
    content: "\f017";
}

.lpage .fa-home::before {
    content: "\f015";
}

.lpage .fa-cloud::before {
    content: "\f0c2";
}

.lpage .fa-cogs::before {
    content: "\f085";
}

.lpage ul.contentlist li::before, .lpage main ul li::before {
	top: .17rem;
	background-image: unset;
	content: "\f095";
	font-family: "FontAwesome";
}

 .landingpageform .btn, .formularstickyleft #formimagecancel {
  background-color: var(--jstblue);
  border:var(--jstblue) ;
}

.landingpageform h2{
  font-size:1.6rem;
}

.landingpagecontent .jstbutton {
    background-color: rgb(225, 245, 255);
    color:deepskyblue;
    border-radius: 5px;
    padding-bottom: 1rem !important;
    line-height: 0.2rem;
    text-align: center;
}

.landingpagecontent .jstbutton:hover {
  color: rgb(184, 222, 241) !important;
  background-color: var(--jstdarkblue) !important;
}
  

.landingpagecontent h3{
 color: #000;
}
  

@media (min-width: 768px) {

.landingpageform {
  background-color: #fff;
  width: 20rem;
  height: 27rem;
  position: absolute;
  left: 67%;
  top: 7rem;
  z-index: 40;
  box-shadow: 10px 10px 15px silver;
}

.formularstickyleft #buttonformular{
  background-color: white;
	/* background-color: transparent; */
	width: fit-content;
	height: fit-content;
	position: fixed;
	left: 2%;
	top: 9rem;
	z-index: 40;
	box-shadow: 10px 10px 15px silver;
  display: none;
  /* box-shadow: none; */
}

.formularstickyleft #formimagebutton{
	background-color: transparent;
	width: fit-content;
	height: fit-content;
	position: fixed;
	left: 2%;
	top: 39rem;
	z-index: 30;
}

.formularstickyleft #formimagecancel{
	width: fit-content;
	height: fit-content;
	position: fixed;
  left: 3%;
  top: 30.8rem;
  z-index: 50;
  display: none;
}

/* 
@media screen and (-webkit-min-device-pixel-ratio:0)
  and (min-resolution:.001dpcm) {
    .formularstickyleft #formimagecancel{
      top: 30.8rem;
    }
} */

@-moz-document url-prefix() {
  .formularstickyleft #formimagecancel{
    top: 31.9rem;
  }
}
.landingpageform .btn {
  left: 5rem;
}
.landingpageform .input {
  position: relative;
  left: 1rem;
  width:90%;
  margin-bottom: 2.2rem;
}

.formularstickyleft .landingpageform h2{
color: var(--jstgold);
font-weight: bold;
}

.landingpageform h2{
  position: relative;
  left: 1rem;
  width:90%;
  margin-bottom: 1.2rem;
  margin-top:1rem;
}

#c989 {
	margin-left: 1rem;
	margin-right: 1rem;
}

#c989>p>strong {
	font-size: 1.8rem;
	color: var(--jstlightblue);
}

.landingpageform2.animated >h2{
animation: scaling 2s ease-in-out;
animation-fill-mode: forwards;
transform: scale(0);
font-weight: 700;
}

.landingpagecontent .spruch .spruchHeadline {
	display: block;
	font-weight: 400;
	font-size: 2.5rem;
	line-height: 4.6875rem;
	margin-bottom: .8125rem;
	margin-top: 10rem;
}

.landingpagecontent .colpromo {
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 30rem;
	position: absolute;
	background-size: cover;
	background-color: rgba(0, 0, 0, 0.781);
}

.landingpagecontent header h2, .landingpageform2 h2{
  text-align: center;
  margin: 4rem 4rem 2rem 4rem;
}

#c972 h2, #c1000 h2 {
	text-align: left;
	margin-top: unset;
  margin-left: unset;
  margin-right: unset;
}

#c972 li, #c1000 li{
  margin-bottom: 2rem;
}

#c986, #c1006 {
	box-shadow: 5px 10px 15px #c8c8c8c8;
  text-align: left;
}
/* 
.landingpagecontent .row {
  margin-top: 3rem;
	margin-bottom: 3rem;
} */

.landingpagebackground {
  background: url("/fileadmin/template/main/images/parallax.jpg");
  background-repeat: no-repeat;
  background-color: #fff;
  background-attachment: fixed;
  z-index: 1;
  background-size: 100% 655px;
}

.landingpagecontent {
  background-color: #fff;
}

.lpage h4{
  font-weight: 600;
}


.col-lg-12.landingpagecontent.contentNormal {
	margin-top: 0rem;
}

.landingpagecontent #c969 ul li, .landingpagecontent #c1003 ul li  {
    position: relative;
    background-color: rgb(225, 245, 255);
    color: deepskyblue;
    border-radius: 5px;
    padding:0.7rem 1rem;
    margin: 0.4rem;
    display: inline-block;
}

.landingpagecontent #c969 ul li::before, .landingpagecontent #c1003 ul li::before {
	background-image: unset;
  content:unset;
  
}

.landingpageform input {
    margin-top: -1rem;
    margin-bottom: -1rem;
}

}


@media (max-width: 767px) {
  .landingpageform {
  background-color: #ffffffc9;
  width: 80%;
  height: unset;
  position: absolute;
  left: 7%;
  top: 7%;
  z-index: 40;
  box-shadow: unset;
  padding: 3%;
}

.formularstickyleft #buttonformular{
  display: block !important;
}

.formularstickyleft #formimagecancel,.formularstickyleft #formimagebutton{
  display: none !important;
}


.landingpagecontent .spruch .spruchHeadline {
	font-size: unset;
	line-height: unset;
}

.landingpageform + .subHeaderImg{
  position: inherit;
}

.landingpageform2 h2 {
text-align: center;
margin: 1rem 0 1rem 0;
font-size: 2rem;
}
/* .lpage .fixedLinks{
  display: none ;
} */


}


/* spezielles Layout für zweigetteiles Contentelemtent, als Layout "3" einstellen */
.layout-number-3 .frame-type-header h2{
  color:white! important;
  text-align:center;
  background:#33667f;
  padding:0.3rem;
}

.layout-number-3 .frame-type-text{
margin-top:0.5rem; 
padding-left: 1.5rem; 
color:black! important; 
background-image: linear-gradient(white, #eaeaea)! important
}


.layout-number-3 .frame-type-text li::before, #c1183 li::before, #c1185 li::before{
	top: .17rem;
	background-image: unset;
	content: "\f0e8";
	font-family: "FontAwesome";
} 
#c1222 li::before, #c1123 li::before, #c1122 li::before,#c1228 li::before{
	top: .17rem;
	background-image: unset;
	content: "\f1eb";
	font-family: "FontAwesome";
} 


.lpage .contentNormal .slick-slide {
	display: block;
	margin: 1rem 1rem 1rem 1rem;
	background-color: #eaeff2;
	border-radius: .4375rem;
}

figure {
  text-align: center;
}

.ce-left figure{
  text-align: left;
}

.ce-right figure{
  text-align: right;
}

#c1078 .submit>.btn, #c1112 .btn, #c1043 .submit>.btn, #c1257 .submit>.btn{
  left:150%;
  margin-bottom: 1rem;
}

 .previous>.btn{
  left:50%;
  margin-bottom: 1rem;
} 

#c1078 .btn-primary{
  left:0rem;
}

#c1078 .btn-cancel{
  color: white;
}

@media (max-width: 1680px){
  .formularstickyleft .container:not(.navWrap .container) {
  max-width: 960px ;
}
}

.radio {
    position: relative;
    display: block;
    padding-left: 1.25rem;
}


.in2cols.layout-number-3 ul {
    padding-bottom: 1.5rem;
}

#angebot_waas-1113-number-2{
  width: 4rem;
}
#angebot_waas-1113-number-3 {
	width: 4.5rem;
}

#angebot_waas-1113-number-4 {
	width: 5rem;
}

 #angebot_laas-1079-number-1, #angebot_laas-1079-number-2,#angebot_laas-1079-number-3,#angebot_laas-1079-number-4 {
	width: 5.5rem;
}

.form_inline, .form_inline span, .form_inline input{
display: inline-block;
}

@keyframes blinking {
  0% {
    background-color: #8fd3f5;
    /* border: 3px solid #666; */
  }
  100% {
    background-color: #33667f;
    /* border: 3px solid #666; */
       }
 }


#c1078 .next:not(.submit) .btn-primary {
	/* background-image: url(/fileadmin/template/main/images/kostenlostesten.gif); */
	background-repeat: no-repeat;
	background-size: contain;
  /* padding: 140%; */
  animation: blinking 2s infinite;
  /* width: 100px; */
  /* height: 45px; */
  /* background-color: transparent; */

}

.formularstickyleft .radio{
  display:inline !important;
  margin-left: 2rem;
}

.formularstickyleft input[type="number"]{
  width: 6rem !important;
}

.formularstickyleft .control-label, #c1113 p, #c1079 p{
  font-weight: bold;
}


#c1231 h1, #c1232 h1{
	/* font-size: ; */
	font-weight: bold;
	color: var(--jstdarkblue);
}

#c1049 img, #c1235 img{
  width: 100% !important;
}

.b2btelefoniecloud .spruch .parallaxImg {
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 30rem;
	position: absolute;
	background: url("/fileadmin/template/main/images/placetel/value_proposition_placetel_cloud_telefonanlag.jpg");
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.b2btelefoniecloud .spruchHeadline {
  font-weight: 900 !important;
  }

.b2btelefoniecloud .spruchHeadline b{
  color:var(--jstblue);
 }

 .b2btelefoniecloud .landingpagebackground {
  background: unset;

}


#slickid-1148 .frame-type-text, #slickid-1267 .frame-type-text{
  padding: 0.7rem;
}

#slickid-1148 .frame-type-image, #slickid-1267 .frame-type-image, .frame-layout-1{
  background-color: white;
}


