/* inter-200 - latin-ext_latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  src: url('./fonts/inter-v12-latin-ext_latin-200.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('./fonts/inter-v12-latin-ext_latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/inter-v12-latin-ext_latin-200.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-200.woff') format('woff'), /* Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/inter-v12-latin-ext_latin-200.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-regular - latin-ext_latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/inter-v12-latin-ext_latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('./fonts/inter-v12-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/inter-v12-latin-ext_latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-regular.woff') format('woff'), /* Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/inter-v12-latin-ext_latin-regular.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-600 - latin-ext_latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('./fonts/inter-v12-latin-ext_latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('./fonts/inter-v12-latin-ext_latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/inter-v12-latin-ext_latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-600.woff') format('woff'), /* Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/inter-v12-latin-ext_latin-600.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-800 - latin-ext_latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: url('./fonts/inter-v12-latin-ext_latin-800.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('./fonts/inter-v12-latin-ext_latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/inter-v12-latin-ext_latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-800.woff') format('woff'), /* Modern Browsers */
       url('./fonts/inter-v12-latin-ext_latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/inter-v12-latin-ext_latin-800.svg#Inter') format('svg'); /* Legacy iOS */
}

/*
 * @import url('https://fonts.googleapis.com/css?family=Arya|Candal|Montserrat');
font-family: 'Arya', sans-serif;
font-family: 'Montserrat', sans-serif;
font-family: 'Candal', sans-serif;
*/
/* adjust browser constants */
h1, h2, h3, h4{
	color: black;
}
html, body{
	width: 100%;
	height: 100%;
	min-height: 100%;
	border: 0;
	margin:0;
	padding: 0;
}
body{
	/*overflow-y: scroll;*/
	word-break: break-word;
}
html{
	/*background-color: #005282;*/
	overflow-y: scroll;
}
head{
	height:0;
}
*{
	box-sizing:border-box;
}
hr{
	border-color: black;
	border-style: solid;
}
div{
	display: block;
}
a{
  font-weight:bold;
  text-decoration:none;
}
/* unvisited link */
a:link {
    color: #005282;
}
/* visited link */
a:visited {
    color: #005282;
}
/* mouse over link */
a:hover {
    color: #003262;
}
/* selected link */
a:active {
    color: #003262;
}
img{
	max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
    display: inline-block;
    vertical-align: middle;
}
.clear{
	clear: both;
}
.pdf{
	text-indent: -1.5rem;
}
.left{
	text-align: left;
}
.right{
	text-align: right;
}
.center{
	text-align: center;
}
.justify{
	text-align: justify;
}
.pdf:before{
	content: "\00e805  ";
	font-family: fontello;
}
/*===================================header===============================*/
#banner {
	background-image: url('images/banner.jpg');
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	position: relative;
}
#banner::before{
	content:'';
	padding-bottom: 189px;
	display: block;
}
#banner .banner-content{
	max-width: 1200px;
	padding: 0 10px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0 auto;
}
#banner .banner-text{
	position: absolute;
    bottom: 0;
    
    color: rgba(100,100,100,0);
    background-image: url('images/schrift_r_s.svg');
    background-repeat: no-repeat;
    background-size: 29.5em;
    background-position: 3px 36%;
	background-origin: content-box;
}
.logo-text > *,
#banner .banner-text > *{
	display:block;
	line-height: normal;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
.logo-text .services,
#banner .banner-text .services{
	color: #101f68;
	font-weight: bold;
	margin-left: 2px;
}
.logo-text .service-entries .entry:not(:first-child):before,
#banner .banner-text .service-entries .entry:not(:first-child):before{
	content: '◦';
	display: inline-block;
	margin: 0 3px;

	content: '';
	margin: 0;
}
.logo-text .up,
#banner .banner-text .up{
	border-bottom: 3px solid #101f68;
	display:table;
	font-size: min(4.1em, 11vw);
}
.logo-text .down,
#banner .banner-text .down{
	font-size: min(3.44em, 9vw);
	line-height: normal;
	/*margin-bottom: 20px;*/
}
#banner .logo {
	position: absolute;
	bottom: 33px;
    right: 40px;
    width: 425px;
    z-index: 1;
}
.logo-text div.logo {
	background-image: url (./images/logo_s.svg);
	display: block;
	height: 120px;
	width: 200px;
	background-size: coontain;
	background-repeat: no-repeat;
	background-position: center;
}
#banner .banner-logo {
	width: 100%;
	height: 100%;
	position: relative;
}
.logo-text {
	position: relative;
}
#content-main .section .logo-text .up {
	font-size: min(3.6em, 9vw);
}
#content-main .section .logo-text .down {
	font-size: min(3em, 7.6vw);
}

.banner-slider .igallery_container.tpl-owl-carousel .tns-outer > button[data-action="stop"] {
	display: none;
}
.banner-slider .igallery_container.tpl-owl-carousel {
	margin-top: 0px;
}
.tpl-owl-carousel .igallery-description-image-wrap .backendlink {
	top: 0 !important;
	background-color: crimson;
	z-index: 500;
	text-shadow: 1px 1px 0px white, -1px -1px 0px white, 1px -1px 0px white, -1px 1px 0px white;
}
.tpl-owl-carousel .igallery-description-image-wrap .mod_uploadigallery_owl-carousel {
	top: 0 !important;
	z-index: 500;
	text-shadow: 1px 1px 0px white, -1px -1px 0px white, 1px -1px 0px white, -1px 1px 0px white;
}
.tpl-owl-carousel .igallery-description-image-wrap .mod_uploadigallery_owl-carousel:not(:hover) {
	background-color: crimson !important;
}

#banner .banner-content,
.banner .banner-content  {
	/* display: none; */
}
#banner::before{
	content: inherit;
}
#banner .banner-text .service-entries .entry {
	display: block;
}
#banner .banner-logo {
	position: absolute;
    background: #ffffffcc;
    width: 100%;
    overflow: hidden;
    height: 360px;
    top: 82px;
	right: 0;
}
#banner .banner-logo:before {
    content: '';
    display: block;
    background: #fff;
    width: 113%;
    height: 166%;
    transform: rotate(-28deg);
    position: absolute;
    top: 0px;
	width: calc( max(137%, 700px) - max(0px,  min( 200px, calc( calc( 100vw - 1224px ) / 2 ) ) ) )
}

@media (max-width: 1219px) {
	#banner .banner-logo {
		max-width: 600px;
	}
}
@media (min-width: 1220px) {
	#banner .banner-logo {
		max-width: calc( 50% + min( 200px, calc( calc( 100vw - 1200px ) / 2 ) ) );
		right: calc(min( 200px, calc( calc( 100vw - 1224px ) / 2 ) ) * -1 );
	}
}
.banner-slider .igallery_container.tpl-owl-carousel .igallery_wrapper {
	height: 500px;
}
#banner .banner-logo .banner-text {
	bottom: 145px;
    left: max( min(16%, calc( 100vw - 530px )), 0px );
    width: 100%;
    max-width: 500px;
    background-position: center 10%;
    background-size: contain !important;
}
#banner .banner-logo .banner-text .services {
	position: absolute;
	top: 100%;
    margin-top: 4px;

    top: 135px;
    text-align: left;
    font-size: 0.7em;
    left: 24px;
}
#banner .banner-logo img.logo {
	width: 288px;
    height: 64px;
    left: 300px;
	left: max( min(300px, calc( 100vw - 315px )), 0px );
	right: inherit;
	bottom: 35px;
}
#banner .banner-logo .banner-text .up {
	font-size: min(4.1em, 12vw);
	border-color: transparent;
}

#banner .banner-logo .banner-text .down {
	font-size: min(3.44em, 10vw)
}
@media screen and (max-width: 550px){
	#banner .banner-logo .banner-text .services {
		display: none;
	}
}


/*=============================@media banner================================*/

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

}
@media screen and (max-width: 1200px) {
	#banner::before{
		padding-bottom: 16%;
	}
	#banner .banner-text .services{
		font-size: 1.33vw;
	}
	#banner .banner-text {
		background-size: 39.6vw;
	}
	#banner .banner-text .up{
		/* font-size: 5.35vw; */
	}
	#banner .banner-text .down{
		/* font-size: 4.4vw; */
		/* margin-bottom: 1.6vw; */
	}
	#banner .logo {
	    /* width: 35.4vw; */
	    /* bottom: 2.8vw; */
    	/* right: 3.35vw; */
	}
}
@media screen and (max-width: 900px) {
	

}

/*=============================mobile toggle=======================*/
#mobile-nav{
	
}
#mobile_menu_toggle{
	display: none;
}
.menu_toggle{
	display: none;
	font-family: fontello;
}
#mobile-nav{

}
/*===================================menu===============================*/
#menu-container{
	width: 100%;
	height: 37px;
	background-color: #101f68;
	color: white;
	position: relative;

	height: 80px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
}
@media screen and (max-width: 380px) {
	#menu-container{
		height: 50px;
	}
}
#menu a,
#menu a:visited,
#menu a:link,
#menu a:hover
{
	color: white;
}
#menu-wrapper{
	border: 4px solid white;
	border-top: 0;
	border-bottom: 0;
	width: 100%;
	height: 100%;
	max-width: 1200px;
	position: absolute;
	top: 0;
    left: 0;
    right: 0;
	bottom: 0;
    margin: 0 auto;
}

#menu{
	margin: 0;
    padding: 0;
    display: block;
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* NEW - Chrome */
	display: flex;
    height: 100%;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
#menu > li{
    display: inline-block;
    display: inline-flex;
    height: 100%;
    vertical-align: middle;
    /*padding: 10px;*/
    margin: 0 3.58vw;
    margin: 0 auto;
    flex-grow: 1;
    text-align: center;
} 
#menu > li a{
	/*margin: 10px 3.58vw;*/
    /*display: block;
    text-align: center;
    margin: 0 auto;*/
    width: 100%;
	padding: 10px 0;

	display: flex;
    vertical-align: middle;
    text-align: center;
    align-content: center;
    align-items: center;
    justify-content: center;
}

#menu > li.menu-current,
#menu > li.menu-current a{
	background-color: #eee;
	color:#101f68;
} 
#menu > li:hover,
#menu > li:hover a,
#menu > li.menu-current:hover,
#menu > li.menu-current:hover a{
	background-color: white;
	color:#101f68;
}
/*=============================animation menu ===========================*/


/*=============================@media menu================================*/

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

}
@media screen and (max-width: 1200px) {
	
}
@media screen and (max-width: 900px) {

}
@media screen and (max-width: 720px) {
	.menu_toggle{
		display: block;
	    position: absolute;
	    right: 10px;
	    bottom: 0;
	    top: 0;
	    font-size: 28pt;
	    z-index: 25;

		display: flex;
		align-items: center;
		width: 60px;
		justify-content: center;
	}
	.menu_toggle:hover {
		background-color: #babed3;
	}
	#mobile_menu_toggle:checked + label.menu_toggle {
		background-color: #babed3;
	}
	#mobile_menu_toggle:checked + label.menu_toggle:hover {
		background-color: #101f68;
	}
	#menu{
		display: block;
		z-index: 20;
    	position: relative;
	}
	#menu-container::before{
		content:'';
		position: absolute;
		background-color: transparent;
		border-width: 0 4px;
		border-style: solid;
		border-color: white;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	}
	#menu li{
		/* display: block; */
		width: 100%;
		background-color: #101f68;
    	border-bottom: none;
		border-right: 4px solid white;
		border-left: 4px solid white;
		overflow: hidden;
		-webkit-transition: border-width 0.5s ease-in-out;
		-moz-transition: border-width 0.5s ease-in-out;
		-ms-transition: border-width 0.5s ease-in-out;
		-o-transition: border-width 0.5s ease-in-out;
		transition: border-width 0.5s ease-in-out;
	}
	#menu li a{
    	border-bottom: 1px solid white;
	}
	#menu li:last-child a{
    	border-bottom: none;
	}
	#menu li a{
		line-height: 100%;
    	vertical-align: middle;
    	/* display: block; */
	}
	#menu-wrapper{
		max-height: 0;
		border-width: 0;

    	-webkit-transition: max-height 0.5s ease-in-out;
		-moz-transition: max-height 0.5s ease-in-out;
		-ms-transition: max-height 0.5s ease-in-out;
		-o-transition: max-height 0.5s ease-in-out;
		transition: max-height 0.5s ease-in-out;

	}
	#mobile_menu_toggle:checked ~ #menu-wrapper{
		max-height: 500px;
	}
}

/*================================content==============================================*/
#content{
	width: 100%;
	padding:0;
	margin:0;
	position: relative;
	text-align: justify;
	font-family: Inter, Arial, "Helvetica Neue", Helvetica, sans-serif;
	color: #101f68;
}

#content-wrapper{
	width: 100%;
	max-width: 1200px;
	min-height: 50px;
	border: 4px solid #101f68;
	border-top: 0;
	border-bottom: 0;
	margin: 0 auto;
	padding:0;
	position: relative;
}
#content-wrapper::before{
	content:'';
	display: block;
	width: 400px;
	height: 100%;
	top: 0;
	left:-200px;
	position: absolute;
	/*background-image: url('images/background_s.svg');*/
	background-image: url('images/background_rep_s.svg');
	background-size: 100%;
	background-repeat: repeat;
	background-position: 50%;

	background-size: 400px;
    background-repeat: repeat-y;
    background-attachment: fixed;
    width: 100%;
	max-width: 600px;
	left: min(0px, max(-200px, calc( 600px - 50vw )));
    background-position: max(0px, calc( 50vw - 775px ));
}
#content-wrapper::after,
#content-wrapper>*::after{
	content:'';
	clear:both;
	display: block;
}
#content p{
	padding:5px 5px;
	margin:0;
}
#content-main{
	width: 65%;
	position: relative;
	padding:5% 2% 5% 5%;
	padding: 80px 20px 30px 50px;
	margin:0;
	display: inline-block;
	float:left;
}
#content-main > *,
aside#aside > *{
	max-width: 100%;
}
#content-main img,
#content-main iframe{
	max-width: 100%;
}
aside#aside{
	width: 35%;
	position: relative;
	padding:5% 5%;
	padding: 80px 20px;
	margin:0;
	display: inline-block;
	float:right;
}
#content .sidebar-wrapper .block.box-blue {
	color: #fff;
    background-color: #101f68;
    padding: 35px;
    font-size: 1.0em;
    line-height: 1.3em;
}
#content .sidebar-wrapper .block.box-gray {
	color: #fff;
	background-color: #e9ebf1;
    padding: 35px;
    font-size: 1.1em;
    line-height: 1.3em;
}
#content .sidebar-wrapper .block.box-silver {
	color: #fff;
	background-color: #babed3;
    padding: 35px;
    font-size: 1.1em;
    line-height: 1.3em;
}
#content .sidebar-wrapper .box-topmargin.block,
#content .sidebar-wrapper .box-topmargin1.block {
	margin-top: 20px;
}
#content .sidebar-wrapper .box-topmargin2.block {
	margin-top: 40px;
}
#content .sidebar-wrapper .box-topmargin3.block {
	margin-top: 50px;
}
#content .sidebar-wrapper .box-topmargin4.block {
	margin-top: 60px;
}
#content .sidebar-wrapper .box-topmargin5.block {
	margin-top: 80px;
}
#content .sidebar-wrapper .box-topmargin6.block {
	margin-top: 100px;
}
#content .sidebar-wrapper .box-topmargin7.block {
	margin-top: 160px;
}

#content .sidebar-wrapper .block.box-white {
	color: #101f68;
	background-color: #fff;
    padding: 35px;
    font-size: 1.1em;
    line-height: 1.3em;
}
#content .block{
	max-width:100%;
	padding:0 5px;
}
.section .contentheader,
.block > .contentheader,
.block > div > div > .contentheader,
.block > .asideheader{
	width: 100%;
	height:0;
	display: block;
	padding:0;
	margin:0;
	overflow:hidden;
	font-size: 1.5em;
}
.section .contentheader.line,
.block > .contentheader.line,
.block > div > div > .contentheader.line,
.block > .asideheader.line{
	border-top:3px solid #101f68;
	font-weight: bold;
}
.section .contentheader.show,
.block > .contentheader.show,
.block > div > div > .contentheader.show,
.block > .asideheader.show{
	height: auto;
	padding: 10px 5px;
}
.section.m_wysiwyg h5 {
	width: 100%;
	height:0;
	display: block;
	padding:0;
	margin:0;
	overflow:hidden;
	font-size: 1.5em;

	border-top:3px solid #101f68;
	font-weight: bold;

	height: auto;
	padding: 10px 5px;
}

.section.m_wysiwyg code {
	color: #cf0008;
    background-color: #f6ffff;
    display: block;
    text-align: left;
    font-family: monospace;
    white-space: pre-line;
    padding: 0px 10px;
    box-sizing: border-box;
    border: 1px solid #727272;
}
.section.m_wysiwyg code:before,
.section.m_wysiwyg code:after {
	display: block;
    height: 20px;
    line-height: 20px;
    background-color: #727272;
    color: orange;
    font-weight: bold;
    font-size: 0.7em;
    width: calc(100% + 20px);
    margin-left: -10px;
    padding: 0px 5px;
    box-sizing: border-box;
}
.section.m_wysiwyg code:before {
	content: '<code>';
	margin-bottom: 5px;
}
.section.m_wysiwyg code:after {
	content: '</code>';
	margin-top: 5px;
}
/*=============================@media content================================*/

@media screen and (max-width: 1500px) {
	
}
@media screen and (max-width: 1200px) {
	
}
@media screen and (max-width: 720px) {
	#content-main{
		width: 100%;
	}
	aside#aside{
		width: 100%;
	}
	aside#aside #vegasbox-45{
		padding-bottom: 30% ! important;
	}
}
@media screen and (max-width: 600px) {
	
}
@media screen and (max-width: 480px) {
	
}

/*===========================================footer==============================================0*/
footer{
	width:100%;
	position: relative;
	/*padding:20px;*/
	border: 0;
	color: white;
	text-align: center;
	/*height: 40px;*/
	background-color: #101f68;
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	overflow: hidden;
	
}
footer::after{
	content: "";
    position: absolute;
    width: 200%;
    height: 350px;
    transform: rotate(30deg);
    background: rgba(255, 255, 255, 0.13);
    background: -moz-linear-gradient(left, rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.13) 77%, rgba(255,255,255,0.5) 92%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(left, rgba(255,255,255,0.13) 0%,rgba(255,255,255,0.13) 77%,rgba(255,255,255,0.5) 92%,rgba(255,255,255,0) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0.13) 0%,rgba(255,255,255,0.13) 77%,rgba(255,255,255,0.5) 92%,rgba(255,255,255,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#21ffffff', endColorstr='#00ffffff',GradientType=1 );
    top: -30%;
    left: -30%;
}
footer .footer-block{
	width: 100%;
	overflow: hidden;
	margin:0 auto;
	max-width: 528px;
	text-align: center;
	position: relative;
	z-index: 1;
	display: flex;
    flex-direction: row;
	justify-content: center;
}
footer .footer-col {
	display: flex;
    flex-direction: column;
    width: 233px;
    flex-shrink: 1;
    flex-grow: 0;
    text-align: left;
    margin: 10px;
}
footer .footer-col h3 {
	color: #fff;
}
footer,
footer a,
footer a:link,
footer a:visited{
	color: white;
}
footer a:hover,
footer a:active,
footer a:focus {
    text-shadow: 0px 0px 4px white;
}
footer{
	
}
footer span{
	display: inline-block;
	line-height: 40px;
}
footer button.auto-cookie-manager-open {
	color: white;
    display: inline-block;
    line-height: 40px;
    border: none;
    background: none;
    font-size: 1em;
    font-weight: bold;
    margin: 0;
    padding: 0;
}
footer .footer-col > span,
footer .footer-col > div,
footer .footer-col > button {
	padding: 2px 5px;
	text-align: left;
	display: block;
	line-height: 1.8em;
	font-weight: normal;
}
footer .footer-col > span a {
	font-weight: normal;
}
@media screen and (max-width: 380px) {
	footer .footer-block {
		flex-wrap: wrap;
	}
	footer .footer-col {
		flex-shrink: 0;
		border: 1px solid #fff;
		padding: 20px;
		width: 94%;
	}
	footer .footer-col:last-child {
		display: none;
	}
}
/*=============================anpassungen neues design - anderes zwischendrin================================*/

#content-main .box-blue.block .section {
    background-color: #101f68;
	padding: 40px 20px;
	color: #fff;
}
#content-main .box-gray.block .section {
    background-color: #e9ebf1;
	padding: 40px 20px;
}
#content-main .box-silver.block .section {
    background-color: #babed3;
	padding: 40px 20px;
}
#content-main .box-white.block .section {
	color: #101f68;
    background-color: #fff;
	padding: 40px 20px;
}
#content-main .box-topmargin.block .section,
#content-main .box-topmargin1.block .section{
	margin-top: 20px;
}
#content-main .box-topmargin2.block .section {
	margin-top: 40px;
}
#content-main .box-topmargin3.block .section {
	margin-top: 50px;
}
#content-main .box-topmargin4.block .section {
	margin-top: 60px;
}
#content-main .box-topmargin5.block .section {
	margin-top: 80px;
}
#content-main .box-topmargin6.block .section {
	margin-top: 100px;
}
#content-main .box-topmargin7.block .section {
	margin-top: 160px;
}


#content-main .bg-silver.block {
	background-color: #babed3;
	color: #fff;
}
#content-main .bg-white.block {
	background-color: #fff;
}
#content-main .bg-blue.block {
	background-color: #101f68;
}
#content-main .fullcontent.block {
	padding: 0;
	margin-left: -54px;
	width: calc(100vw - var(--scrollbar-width, 15px));
	max-width: 1200px;
	border-left: 4px solid #101f68;
	border-right: 4px solid #101f68;
}
#content-main .fullcontent.block:not(.no-padding) > div > div{
    padding: 20px 50px;
}
#content-main .fullscreen.block {
	padding: 0 0 0 0px;
    margin-left: min(-54px, calc( -50vw + 600px - 54px + (var(--scrollbar-width, 15px)/2) ));
    width: calc(100vw - var(--scrollbar-width, 15px));
    max-width: inherit;
    border-left: none;
    border-right: none;
}
@media screen and (max-width: 1215px){
	#content-main .fullscreen.block {
		padding: 0 0 0 0;
	}
}
#content-main .fullscreen.padding.block {
	padding: 20px;
}
#content-main .fullscreen.fullcontent.block {
	display: flex;
	justify-content: center;
}
#content-main .fullscreen.fullcontent.block > div {
	width: 100%;
	margin: 0 auto;
	max-width: 1200px;
	border-left: 4px solid #101f68;
    border-right: 4px solid #101f68;
}
#content-main .fullscreen.fullcontent.bg-silver.block > div {
	border-left: 4px solid #babed3;
    border-right: 4px solid #fff;
}
#content-main .fullscreen.fullcontent.bg-white.block > div {
	border-left: 4px solid #101f68;
    border-right: 4px solid #101f68;
}
#content-main .fullscreen.fullcontent.bg-blue.block > div {
	border-left: 4px solid #101f68;
    border-right: 4px solid #fff;
}

#content-main .fullscreen.block.side-padding > div > div ,
#content-main .fullcontent.block.side-padding > div > div {
	padding-right: calc(35% + 20px);
}
@media screen and (max-width: 720px){
	#content-main .fullscreen.block.side-padding > div > div ,
	#content-main .fullcontent.block.side-padding > div > div {
		padding-right: 20px;
	}
}
@media screen and (max-width: 600px){
	#content-main .fullcontent.block.mobile-padding > div > div{
		padding: 20px 5px;
	}
}
#content-main .full-topmargin.block,
#content-main .full-topmargin1.block{
	margin-top: 20px;
}
#content-main .full-topmargin2.block {
	margin-top: 40px;
}
#content-main .full-topmargin3.block {
	margin-top: 50px;
}
#content-main .full-topmargin4.block {
	margin-top: 60px;
}
#content-main .full-topmargin5.block {
	margin-top: 80px;
}
#content-main .full-topmargin6.block {
	margin-top: 100px;
}
#content-main .full-topmargin7.block {
	margin-top: 160px;
}

#content-main .full-bottommargin.block,
#content-main .full-bottommargin1.block{
	margin-bottom: 20px;
}
#content-main .full-bottommargin2.block {
	margin-bottom: 40px;
}
#content-main .full-bottommargin3.block {
	margin-bottom: 50px;
}
#content-main .full-bottommargin4.block {
	margin-bottom: 60px;
}
#content-main .full-bottommargin5.block {
	margin-bottom: 80px;
}
#content-main .full-bottommargin6.block {
	margin-bottom: 100px;
}
#content-main .full-bottommargin7.block {
	margin-bottom: 160px;
}
#content-main .section h3.halfcenter {
    padding: 15px 20px 55px 15vw;
    font-size: 2em;
    color: #fff;
    text-align: left;
    margin: 0;
}
#content-main .section h2.halfcenter {
    padding: 61px 20px 0px 15vw;
    font-size: 3em;
    color: #fff;
    text-align: left;
	margin: 0;
}
#content .sidebar-wrapper .m_wysiwyg table tr {
	vertical-align: top;
}
#content .ii_link_flex-item .headline {
	top: 17px;
	font-size: 18px;
}
#content,
#content .ii_link_flex-item {
	text-align: left;
}
/*=============================referenzen grid================================*/
.ii_link_grid-container.ref-grid {
    column-gap: 4px;
    row-gap: 4px;
    grid-template-rows: max-content;
    padding: 20px 20px;
}
.ii_link_grid-container.ref-grid .ii_link_gridentry-wrapper {
	width: 100%;
	display: block;
	height: 100%;
}
.ii_link_grid-entry.ref-grid-entry {
	height: 100%;
	min-height: 90px;
}
.ii_link_grid-entry.ref-grid-entry > a {
	background-color: #ffffff;
    min-height: 90px;
    padding: 20px 20px;
    display: flex;
    font-weight: bold;
    flex-direction: row;
    z-index: 1;
    flex-wrap: wrap;
	width: 100%;
	height: 100%;
	transition: background-color 0.4s ease-out;
}
.ii_link_grid-entry.ref-grid-entry > a:hover {
	background-color: #8e98a7;
}
.ii_link_grid-entry.ref-grid-entry > a:before {
	content: '';
	display: block;
	background: #101f68;
    flex-grow: 0;
    flex-shrink: 0;
    width: 50px;
    height: 50px;
}
.ii_link_grid-entry.ref-grid-entry > a .title-wrapper {
	padding-left: 20px;
    display: flex;
    align-content: center;
    justify-content: left;
    text-align: left;
    vertical-align: middle;
    align-items: center;
	width: 11%;
    flex-shrink: 1;
    flex-grow: 1;
    padding-right: 0;
	max-height: 50px;
}
.ii_link_grid-entry.ref-grid-entry > a .ii_link_grid-entry-image {
	background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 110px;
    margin-top: 10px;
	position: relative;
	padding: 0;
    transition: none;
	width:100%;
    flex-grow: 0;
    flex-shrink: 0;
}
.ii_link_grid-entry.ref-grid-entry > a .ii_link_grid-entry-image:before  {
	background-size: cover;
}
.ii_link_grid-entry.ref-grid-entry > a .ii_link_grid-entry-image .ii_link_grid-entry-image-view {
	display: none;
}
.ii_link_grid-entry.ref-grid-entry > a .ii_link_grid-entry-image:hover {
	width: 100%;
    transform: none;
}
.grid{
    display:grid;
}
.grid-4-columns{
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid-3-columns{
    grid-template-columns: 1fr 1fr 1fr;
}
.grid-2-columns{
    grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 1000px){
    .grid-4-columns {
        grid-template-columns: 1fr 1fr 1fr;
    }
}
@media screen and (max-width: 810px){
    .grid-4-columns,
    .grid-3-columns{
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (max-width: 540px){
    .grid-4-columns,
    .grid-3-columns,
    .grid-2-columns{
        grid-template-columns: 1fr;
    }
}
.contacttable a {
	color: #fff;
}
@media screen and (max-width: 380px){
    .contacttable{
        font-size: 0.8em;
    }
}
/* ============ view scroll ============ */
.view-on-scroll,
.view-on-scroll-once{
    opacity: 0;
    transform: translateX(-50%);
    visibility: hidden;
    transition: all var(--transition-time, 0.4s) ease-in-out;
}
.view-on-scroll-left{
    transform: translateX(-50%);
}
.view-on-scroll-right{
    transform: translateX(50%);
}
.view-on-scroll-top{
    transform: translateY(-50%);
}
.view-on-scroll-bottom{
    transform: translateY(50%);
}
.view-on-scroll-fast,
.view-on-scroll-short{
    transition: all var(--transition-time-fast, 0.2s) ease-in-out;
}
.view-on-scroll-long,
.view-on-scroll-slow{
    transition: all var(--transition-time-long, 1.2s) ease-in-out;
}
.view-on-scroll.scroll-show ,
.view-on-scroll-once.scroll-show {
    visibility: visible;
    opacity: 1;
    transform: translateX(0%);
}
/* ======= miniform ============== */
.section.m_miniform {
	padding: 20px 10px;
}
.m_miniform .miniform > div > small {
	display: inline-block;
	margin: 0 0 20px;
}
.m_miniform .miniform label > span {
	font-weight: 600;
    padding: 16px 0 7px;
    line-height: 1em;
    min-height: 0;
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
}
.m_miniform .miniform input[type="text"],
.m_miniform .miniform input[type="email"],
.m_miniform .miniform input[type="tel"],
.m_miniform .miniform input[type="url"],
.m_miniform .miniform select,
.m_miniform .miniform textarea {
	margin: 0;
	border-color: #101f68;
    border-width: 2px;
    max-width: 500px;
    display: block;
}
.m_miniform .miniform textarea {
	min-height: 172px;
}
.m_miniform .miniform input[type="text"]:hover,
.m_miniform .miniform input[type="email"]:hover,
.m_miniform .miniform input[type="tel"]:hover,
.m_miniform .miniform input[type="url"]:hover,
.m_miniform .miniform select:hover,
.m_miniform .miniform textarea:hover {
	border-width: 2px;
}
.m_miniform .miniform button[type="submit"] {
    cursor: pointer;
    text-align: center;
    border: 2px solid white;
    background-color: #101f68;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    color: white;
}
.m_miniform .miniform button[type="submit"]:hover,
.m_miniform .miniform button[type="submit"]:active,
.m_miniform .miniform button[type="submit"]:focus {
    border: 2px solid #101f68;
    background-color: white;
    color: #101f68;
}
.m_miniform .miniform label input[type="checkbox"] + label {
	max-width: 469px;
    display: inline-block;
    vertical-align: top;
    text-align: left;
}
/* ====== image gallery & popup ==================== */
.page #iLitePhoto_modal.default {
	z-index: 1200;
	height: calc(100% - 80px);
	top: 80px;
}
@media screen and (max-width: 380px) {
	.page #iLitePhoto_modal.default {
		height: calc(100% - 50px);
		top: 50px;
	}
}

.section .igallery_container.default .igallery_wrapper div.photostyle span.linkdummy,
.section .igallery_container.default .igallery_wrapper div.photostyle a {
	box-shadow: none;
	padding: 0;
	width: 200px;
}
.section .igallery_container.default .igallery_wrapper .photostyle div.img_replace,
.section .igallery_container.default .igallery_wrapper .photostyle img {
	width: 200px;
    padding: 0;
    height: 155px;
}
.section .igallery_container.default .gallery_toggle:not(:checked) + .photostyle {
	max-height: 322px !important;
}
.section .igallery_container.default .gallery_toggle + .photostyle {
	margin: 0 0 0 -3px;
}
.section .igallery_container.default .igallery-description-image-wrap {
	display: flex;
    flex-direction: column;
}
.section .igallery_container.default .igallery-description-image-wrap .backendlink {
	order: 2;
}
.section .igallery_container.default .igallery-description-image-wrap .igalery-description {
	order: 1;
	margin-bottom: 18px;
}
.section .igallery_container.default .igallery-description-image-wrap .igallery_wrapper {
	order: 3;
}
.section .igallery_container.default .gallery_toggle_view.svgblackchevrondown {
	background-color: #101f68;
	color: #fff;
	height: 40px;
	width: 40px;
	padding: 5px;
	margin: 0;
	background-origin: content-box;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cpath fill='none' d='M-1-1h402v402H-1z'/%3E%3Cpath stroke='null' fill='white' d='M373.8 154.2l-164 163.6q-4 4.2-9.8 4.2t-10-4.2L26.3 154.2q-4.2-4.2-4.2-10t4.4-10L63 97.5q4-4.2 9.8-4.2t10 4.2L200 215 317.3 97.5q4.2-4.2 10-4.2t9.8 4.2l37 36.5q4.3 4.3 4.3 10t-4.2 10.2z'/%3E%3C/svg%3E");
}
