:root	{
	--iframe-height:100vh;
}
body							{ font-size: 1vw; font-family: 'Lato', sans-serif; color: #6f6f6e; padding: 0 0 0; margin: 0; }
blockquote						{ font-size: 1vw; font-family: 'Lato', sans-serif; color: #6f6f6e; position: relative; font-style: italic; font-weight: bold; }

img.Bild_links					{margin-right: 5px; float: left;}
img.Bild_mittig					{margin-right: 5px; margin-left: 5px; clear: both}
img.Bild_rechts					{margin-left: 5px; float: right;}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6	{
	font-weight:bold;
}
.blaue-Schrift					{ color: #312782; }
.gelbe-Schrift					{ color: #ffcb00; }
.gelber-Button,.btn-primary {
    background-color: #ffcb00;
    color: #000;
    border-radius: 2vw;
    padding: 0.5vw 2vw;
    text-decoration: none;
    font-size: 1.5vw;
}
.TitelSchrift	{
	font-family: 'Sedgwick Ave Display', cursive;
	font-weight:normal;
}
blockquote::before 				{ content: "\201C";font-size: 40px;line-height: 40px;position: absolute;left: -40px;width: 40px;text-align: center;color: #666; }

body, input, textarea, select, button {
    -moz-font-feature-settings: "liga", "kern";
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
}

*								{ box-sizing: border-box; }
img								{ max-width: 100%; }

body							{ 
	font-size: 1vw; 
	font-family: 'Lato', sans-serif; 
	color: #6f6f6e; 
	background-color: #fff; 
	margin: 0; 
	max-width:100vw;
	min-height:100vh;
	overflow-x:hidden;
}
#aniDiv	{
	width:100vw;
	min-height:100vh;
	max-height:100vh;
	height:100vh;
	position:relative;
	overflow-x:hidden;

}
a								{ outline: none; color: #312782;text-decoration:none;}
.wrap							{ z-index: 1000; width: 70vw; padding: 0px; padding-bottom: 0px; border-top: 0px solid #312782;margin:0 auto;}
#wrapold							{ z-index: 1000; max-width: 1024px; width: 100%; margin: 0 auto 0; padding: 0px; padding-bottom: 50px; border-top: 2px solid #312782;}
#wrapdiv							{ z-index: 1000; max-width: 1024px; width: 100%; padding: 0px; padding-bottom: 50px; border-top: 2px solid #312782;}
.clear							{ width: 100%; height: 0px; display: block; clear: both; }
#header							{ 
	position: fixed; 
	top: 0px; 
	left:0;
	right:0; 
	z-index: 1000;
	width: 100vw; 
	margin: 0 auto 0;
	padding-bottom: 15px;
	height: 10vw; 
	background-color:#6f6f6e;
}
#header .154,15,42					{ display: inline-block; }
#header .154,15,42 img				{ }
#header .logo					{ 
	width: 27vw;
    height: 10vw;
    padding: 1.5vw 1vw;
    position: absolute;
}
#contactTxt	{
	position:absolute;
	right:1vw;
	top:1vw;
	color:#fff;
	font-size:1.25vw;
}
#contactTxt a	{
	color:#fff;
	font-size:1.25vw;
	font-style:italic;
	margin:0 0.5vw;
}
#mainmenu_container				{ 
	margin: 0 0;
    padding: 0px 1vw 0px;
    border-top: 0px dashed #f8ad00;
    border-bottom: 0px solid #312782;
    text-align: center;
    position: absolute;
    right: 0;
    top: 5.5vw;
}
#mainmenu_container a, #mainmenu_container .page			{
	display: inline-block;
    text-decoration: none;
    font-size: 1.25vw;
    font-weight: bold;
    padding: 0.5vw 0.5vw;
    border-radius: 1vw;
    height:2.5vw;
    /*margin: 0 0.5vw;*/
    color: #fff;
    text-shadow: 1px 1px rgb(0 0 0 / 50%);
}
#mainmenu_container a:hover		{ text-decoration: underline; }
#mainmenu_container > ul > li > a:hover, #mainmenu_container > ul > li > span:hover, #mainmenu_container > ul > li:hover > a, #mainmenu_container > ul > li:hover > span { background: rgba(49,39,130,0.8); color: #fff; text-decoration: none; }
#mainmenu_container > ul > li > a.active, #mainmenu_container > ul > li > span.page.active	{ color: #fff; background: #312782; }
#mainmenu_container span.page:hover	{ cursor: default; }
#mainmenu_container ul			{ margin: 0; padding: 0;height:2.5vw; }
#mainmenu_container ul li		{ display: inline-block; margin:0 0.5vw;height:2.5vw;}
#mainmenu_container > ul > li	{
	height:3vw;
}
#mainmenu_container > ul > li > a, #mainmenu_container > ul > li > .page	{ }
#mainmenu_container > ul > li > ul	{ display: none; position: absolute; background: #312782; z-index: 5000; 
	max-width: 16vw; padding: 0.5vw 0;  height:initial;
	border-radius: 1.25vw;
    margin-top: 0.5vw;
    overflow:hidden;
}
#mainmenu_container li:hover > ul	{ display: block; }
#mainmenu_container li ul li	{ display: block;
	text-align:left;
	border-bottom:1px solid #fff;
	overflow:hidden;
}
#mainmenu_container li ul li a	{ color: #fff; margin: 0; padding: 0.5vw; font-size: 1.05vw; 
	text-align:left;
	overflow: hidden;
    white-space: nowrap;
}
#mainmenu_container li ul li	{margin-bottom:0vw;}
#mainmenu_container li ul li:last-child	{ border-bottom:0px; }
#mainmenu_container li ul li a.active	{ background: transparent; font-weight: bold; text-decoration: none; }
#mainmenu_container li ul li a.notcurrent	{ text-decoration: none; font-weight: normal; }
#mainmenu_container li li ul	{ margin-bottom: 5px; }
#mainmenu_container li li ul li	{ margin-left: 40px; display: list-item; color: #fff; }
#mainmenu_container li li ul li a	{ padding-left: 5px; }
#mainmenu_container > ul > li:last-of-type > a	{
	background-color: #ffcb00;
    color: #000;
    text-shadow: 0 0 black;
    padding: 0.1vw 3vw;
    /*margin: 0 1.5vw 0 0.5vw;*/
    font-weight: normal;
    font-size: 1.5vw;
}
.kopfgrafik						{ 
	position: relative; 
	padding: 0px; 
	border-bottom: 0px solid #312782; 
	height:34vw;
	width:100vw;
	background-size:cover;
	background-position:50%;
	margin-bottom: 0px; 
	box-shadow:1px 1px 10px 1px #000;

}
.kopfgrafik img	{display:none;}
.kopfgrafik .slogan				{ 
	position: absolute; 
	display: block; 
	width: 100%; 
	color: #fff; 
	background: rgba(255,255,255,0); 
	padding: 1vw 2vw; 
	font-size: 1.4vw;
	text-shadow:0.1vw 0.1vw 0.2vw #000;
}
.kopfgrafik .slogan h2	{
	font-size: 2.5vw;
    display: block;
    width: fit-content;
    width: -moz-fit-content;
    border-bottom: 0.35vw solid #fff;
    box-shadow:0 0.1vw #000;
    padding: 0 0 0.25vw;
    margin: 1.5vw 0 0.5vw;
}
.kopfgrafik .slogan p	{
	margin: 0 0 1vw;
}
.kopfgrafik .slogan a	{
	background-color: #ffcb00;
    color: #000;
    border-radius: 2vw;
    padding: 0.5vw 2vw;
    text-decoration: none;
    text-shadow:none;
    font-size: 1.5vw;
}
.videoPromo {
	display:inline-block;
	height: 25vw;
    padding: 0;
}
.videoPromo.Descr	{
	width:40vw;
	color:#fff;
	padding:2vw 2vw 0 0;
}
.videoPromo.Descr h2	{
	margin:1vw 0 0;
}
.videoPromo.Descr p	{
	margin:0 0 1vw;
}
.videoPromo.Vid	{
	width:29vw;
	padding:2vw 0;
}
.videoPromo.Vid iframe	{
	width:29vw;
	height:16vw;
}

.vortrag	{
	display: block;
	float:left;
    width: calc(64vw / 3);
    height:calc(64vw / 1.9);
    margin: 1.5vw 0;
    position: relative;
}
.vortrag:nth-of-type(2)	{
	margin:1.5vw 3vw;
}
.vTitle	{
	color: #fff;
    background-color: #ffcb00;
    padding: 0.75vw;
    font-size: 1.25vw;
    font-weight: bold;
    text-align: center;
    border: 1px solid #6f6f6e;
    border-bottom:0px;
}
.vText	{
	padding: 0.75vw;
	border: 1px solid #6f6f6e;
	height:calc(64vw / 1.9 - 3.5vw);
    
}
.vButton	{
	position: absolute;
    right: -0.5vw;
    bottom: -1vw;
    border: 0.15vw solid #ffcb00;
    height:2.6vw;
    text-decoration:none;
    border-radius: 1.3vw;
    padding: 0.2vw;
    color: #000;
    font-size: 1.4vw;
    border-top-width: 0.15vw;
    background-color: #fff;
}
.vButton span	{
	height: 2vw;
    display: inline-block;
    padding: 0vw 0.5vw;
    text-align: center;
}
.vButton img	{
	height: 2vw;
    vertical-align: text-top;
}
.productlist	{
	width:72vw;
	position:relative;
	left:-1vw;
}
.product	{
	display: block;
	width: calc(72vw / 3 - 2vw);
	height: calc(72vw / 3 - 2vw);
	margin:1vw;
	float: left;
}
.pImg	{
	width: calc(72vw / 3 - 2vw);
    height: calc(72vw / 5);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0 100%;
}
.pImg.widthI	{
	background-size: 70%;
}
.pTxt	{
	color: #6f6f6e;
}
.pTxt h2	{
	font-size:1.25vw;
}
.vproduct	{
	display: block;
    width: 100vw;
    height: 37vw;
    background-color:#dddddd;
}
.vproduct h2	{
	width:100vw;
	background-color:#312782;
	text-align:center;
	font-size:2vw;
	padding:2vw;
	font-weight:bold;
	color:#fff;
	margin:0 0 4vw;
}
.vpImg	{
	width: 23vw;
    height: 23vw;
    display: block;
    float: left;
    background-repeat: no-repeat;
    background-size: contain;
}
.vpTxt	{
	width: 42vw;
	margin-left: 5vw;
	position:relative;
    float: left;
    height: 23vw;
}
.wvproduct	{
	display: block;
    width: 100%;
    padding-top:3vw;
}
.wvpImg	{
	width: 30vw;
    height: 30vw;
    display: block;
    float: left;
    background-repeat: no-repeat;
    background-size: contain;
}
.wvpTxt	{
	width: 40vw;
	position:relative;
    float: left;
    padding-bottom: 2vw;
    padding-left: 3vw;
}

#content,.content						{
	margin: 0 auto 0; width: 100%; position: relative;
	min-height: calc(100vh - 15vw);
	background-color:#fff;
	color:#6f6f6e;
	padding-bottom: 3vw;
}
#content.mitKopf,.content.mitKopf	{
	min-height: calc(100vh - 50vw);
}
#content.drive,.content.drive	{
	min-height:calc(100vh - 62vw);
}
#content .kopfgrafik,.content .kopfgrafik			{ width: 100%; }
#content .kopfgrafik img,.content .kopfgrafik img		{ width: 100%; }
#content_container,.content_container				{ padding: 0px 0; position: relative; width: 100%; }
div[id^=wysiwyg]				{ text-align: left; }
#content_container form,.content_container form			{ padding-top: 10px; }
#content_title,.content_title					{ margin-top: 0px; }
#content_title h1,.content_title h1				{ font-size: 2.1vw; font-weight: bold; border-top: 0px solid #312782;border-bottom: 0px solid #f8ad00; margin: 0; text-align: center; padding-top: 3vw;padding-bottom: 1vw;font-family: 'Sedgwick Ave Display', cursive; }

#content iframe,.content iframe					{max-width:45%;margin:10px;}
#zitatSlider {
    height: 16vw;
    background-color: #312782;
}
#zitatSlider .anythingSlider .panel {
    background: transparent;
    display: block;
    overflow: hidden;
    float: left;
    padding: 0;
    margin: 0;
}
#zitatSlider .sloganSpace	{
	width:40vw! important;
	margin:4vw auto;
	color:#fff;
	text-align:center;
}
#zitatSlider .slogan	{
	width:100%;
	text-align:center;
}
#zitatSlider .sloganSpace h2	{
	font-size:2vw;
	line-height:3vw;
}
.rotOben						{ border-top: 2px solid #312782; }
.rotUnten						{ border-bottom: 2px solid #312782; }
.gelbOben						{ border-top: 2px solid #f8ad00; }
.gelbUnten						{ border-bottom: 2px solid #f8ad00; }

.subobject_wrapper				{  width: 100%; padding: 0px 0 0; border-top: 0px solid #312782; }
.subobjects						{ margin: 0 auto 0; max-width: 1024px; width:100%; display: flex; flex-wrap: wrap;  text-align: center; }
.subobjects	.title				{ font-size: 18px; padding: 8px 0; height: 40px; background-color:#878787; color: #e7e7e7; position:relative;top:270px;font-weight:bold;}
.subobjects .title label	{font-size:14px;display:block;}
.subobjects .title.withSub {
    padding: 1px;
}
.subobjects .subobject			{ width: 250px; margin: 0 calc((100% - 750px) / 6) 30px; position: relative; font-size: 14px; }
.subobjects .subobject .alf		{ color: #fff; background: #312782; text-decoration: none; font-weight: bold; font-size: 24px; padding: 10px 20px; margin: 20px auto 0; text-transform: uppercase; display: inline-block; }
.subobjects .subobject img		{ width: 100%; }
.subobjects .subobject .content	{ color: #fff; margin: 20px auto; width: 200px; line-height: 24px; font-size: 16px; }
.subobjects .subobject span.pic	{ background-color: #fff! important; display: block; width: 250px; height: 250px; overflow: hidden; border-radius: 200px; border: 5px solid #6f6f6e; margin: 20px auto 0; }

#Startbutton	{
	text-align: center;
    position: relative;
    top: 16.5vw;
   
   	transform: scale(1);
	animation: pulse 2s infinite;
}
@keyframes pulse {
	0% {
		transform: scale(0.95);
	}

	70% {
		transform: scale(1);
	}

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

	70% {
		transform: scale(1.5);
	}

	100% {
		transform: scale(1);
	}
}

#Startbutton img	{
	width: 30vw;
	display:inline-block;
}
	#drivetopage	{
		position:absolute;
		padding:10vw 0 0vw;
		right:-100vw;
		width:100vw;
		height:initial;
		max-height:100vh;
		overflow:hidden;
	    /*transform: rotate3d(0, 1, 0, 90deg);
	    transform-origin: top right;*/
		z-index:10;
		top:0;
	}
	#drivetopage iframe	{
		width:100vw;
		height:var(--iframe-height);
		background-color:#fff;
		border:0;
	}
	#drivetopage.driveIn	{
		/*transform: rotate3d(0, 0, 0, 90deg);*/
		overflow:initial;
		right:0vw;
		height:initial;
		transition-property:all;
		transition-timing-function:ease-in-out;
		transition-delay:3s;
	}
	#bodyDiv	{
	/*	position:absolute;*/
		padding:10vw 0 0vw;
		top:0;
		left:0;
	   /* transform: rotate3d(0, 0, 0, 90deg);
	    transform-origin: top left;*/
		width:100vw;
		height:initial;
		overflow:scroll;
	}
	#bodyDiv.driveIn	{
		position:absolute;
	}
	#bodyDiv.driveIn	{
		left:-100vw;
		height:100vh;
	    /*transform: rotate3d(0, 1, 0, 90deg);*/
		transition-property:all;
		transition-timing-function:ease-in-out;
		transition-delay:3s;
		
	}
	#bodyDiv.driveIn #header	{
		position:absolute;
	}
#content_container .gallery,.content_container .gallery						{ 
	display: flex; 
	flex-wrap: wrap; 
	width:72vw;
	margin: 2vw 0 0 -1vw; 

}
#content_container .gallery section,.content_container .gallery section				{ 
	padding: 0 1vw; 
	width: calc(72vw / 3); 
	height: calc(72vw / 3 * 0.7);
	margin: 0 0 2vw; 
	position: relative; 
	font-size: 14px; 

}
#content_container .gallery .galleryitem,.content_container .gallery .galleryitem		{ 
	height: 100%; 
	width: 100%; 
	margin: 0; 
	background: #fff; 
	border: 0; 
	padding: 6px; 

}
#content_container .gallery .galleryitem span,.content_container .gallery .galleryitem span	{ 
	background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
}

#footer,.footer							{ 
	/*position: absolute; */
	bottom: 0px;
	z-index:2000; 
	cursor: default; 
	background-color:#6f6f6e; 
	width: 100%; 
	clear: both; 
	padding: 10px 10px;
	font-size: 1vw; 
	color: #fff; 
	font-weight: bold;
	text-align:right; 
	height:5vw;
}
#footer .wrap,.footer .wrap					{ margin: 0 auto; max-width: 94%; width: 100%; padding: 0; }
#footer #cr,.footer .cr	{
	display:none;
}
#footerTxt,.footerTxt	{
	display:block;
	float:left;
	text-align:left;
	width:27vw;
	padding:0.5vw 0;
}
table,tr,td	{
	border:0px;
}
#footerTxt td:nth-of-type(1),.footerTxt td:nth-of-type(1) {
	width:30%! important;
}
#footerTxt td:nth-of-type(2),.footerTxt td:nth-of-type(2) {
	width:40%! important;
}
#footerTxt td:nth-of-type(3),.footerTxt td:nth-of-type(3) {
	width:30%! important;
}
#footermenu_container,.footermenu_container			{ 
	float: right; 
	cursor: default;
    margin: 1vw 0;}
#footermenu_container a,.footermenu_container a			{ color: #fff; text-decoration: none; padding: 0 0.5vw;font-weight:normal;font-size:1vw; }
#footermenu_container span,.footermenu_container span		{ margin: 0 0.5vw; }
#social_container,.social_container				{ 
	position: relative;
    top: 0vw;
    right: 0vw;
    float:right;
}
#social_container img,.social_container img			{ width:3vw;margin:0.25vw;}

.mobile							{ display: none! important; }

#service						{ display: table; padding-top: 40px; margin-top: 40px; border-top: 2px solid #312782;}
#service .text					{ display: table-cell; vertical-align: middle; }
#service .icon					{ width: 350px; text-align: right; display: table-cell; vertical-align: middle; }

#dynamic_form					{ position: relative; padding: 0;left:0px;right:0px; margin: 0 auto 0;}
#dynamic_form .row	{margin:0px;}
#dynamic_form br				{ clear: both; }
#dynamic_form .fieldset.size_1 { width: 8.33333%; }
#dynamic_form .fieldset.size_2 { width: 16.6667%; }
#dynamic_form .fieldset.size_3 { width: 25%; }
#dynamic_form .fieldset.size_4 { width: 33.3333%; }
#dynamic_form .fieldset.size_5 { width: 41.6667%; }
#dynamic_form .fieldset.size_6 { width: 50%; }
#dynamic_form .fieldset.size_7 { width: 58.3333%; }
#dynamic_form .fieldset.size_8 { width: 66.6667%; }
#dynamic_form .fieldset.size_9 { width: 75%; }
#dynamic_form .fieldset.size_10 { width: 100%; }
#dynamic_form .fieldset.size_11 { width: 91.6667%; }
#dynamic_form .fieldset.size_12 { width: 100%; }
#dynamic_form .fieldset			{ background: none! important; top: 0! important; height: auto! important; float: left; box-sizing: border-box; margin: 30px 0 5px! important; box-shadow: none! important; }
#dynamic_form .fieldset input, #dynamic_form .fieldset select, #dynamic_form .fieldset textarea	{ background: #fff! important; box-sizing: border-box; height: auto! important; font-family: 'Droid Sans', sans-serif; font-size: 16px; padding: 5px 10px! important; border: 1px solid #312782; color: #6f6f6e; }
#dynamic_form .fieldset textarea	{ min-height: 120px! important; }
#dynamic_form.top_legend .legend { font-style: italic; margin-left: 10px; }
#dynamic_form input.scemosButton[value=Löschen]	{ display: none; }
#dynamic_form .dynamic_form_menu	{ top: 10px; padding: 0 5px; box-sizing: border-box; width: 100%; margin:0;}
#dynamic_form input.scemosButton	{ font-size: 16px; color: #fff! important; text-align: left! important; text-shadow: none! important; font-style: normal; background: #312782! important; box-shadow: none! important; border-radius: 0; float: right; width: 100%! important; margin: 0; padding: 11px 21px; font-weight: normal; font-family: 'Alegreya Sans', sans-serif; }
#dynamic_form .description		{ padding: 0 20px; color: #c5c6c6; font-style: italic; top: 680px! important; position: absolute; }
#dynamic_form .fieldset.error	{ padding: 0 5px! important; border: 0! important; }
#dynamic_form .fieldset.error input, #dynamic_form .fieldset.error textarea	{ border: 1px solid red! important; }
#dynamic_form legend		{ padding: 10px 20px; font-size: 16px; font-style: italic; }
#dynamic_form .fieldset.size_10 span	{ padding: 0 20px; margin-bottom: 40px; display: block; }
#dynamic_form .captchaContainer		{ width: 100%! important; }
#dynamic_form .captchaContainer .fieldset	{ width: 50%! important; }
#dynamic_form .captchaContainer .fieldset.captcha_img	{ background: #fff! important; height: 116px! important; padding: 17px 10px; text-align: center; width: calc(50% - 10px)! important; margin: 4px 5px 0! important; border: 1px solid #312782; border-radius: 0;  }
#dynamic_form .captchaContainer .fieldset.captcha_img img	{ max-width: 100%; }
#dynamic_form .dynamic_form_menu:after				{   content: "Mit einem * gekennzeichnete Felder sind Pflichtfelder."; position: relative; font-size: 90%; top: 25px; left: 20px; color: #888; font-style: italic; }
#dynamic_form .fileLoadingImg 	{ width: 100%; left: 101%; height: 70px; margin-top: -20px; padding-left: 70px; padding-top: 15px; position: absolute; }
#loadedFiles_file				{ margin-left: 10px; }
.text-primary {
    color: #6f6f6e;
}
h4	{
	font-size:1vw;
}
.gelber-Button:hover,.btn-primary:hover {
    color: #fff;
    background-color: #312782;
    border-color: #312782;
}
#bgslider						{ }
#slider							{ width: 100%! important; }
#slider .sloganSpace			{ position: absolute; top: 180px;left:0px;right:0px; display: block; max-width:1024px; width: 100%; margin: 0 auto 0;}
#slider .slogan					{ 
	float:right;
	text-align:right; 
	height: auto! important;
	display: block; 
	min-width: 30%;
	/*max-width:50%*/;
	font-weight:bold;
	text-transform: uppercase;
	color: #ffffff; 
	background: rgba(255,255,255,0.0); 
	padding: 10px 20px; 
	font-size: 32px;
	text-shadow:2px 2px rgba(0,0,0,0.5);

}
#slider	.pane					{ min-width: 100%! important; }
#slider .pane					{ background-size: cover! important; width: 100%! important; }
.anythingSlider					{ width: 100%! important; padding: 0 0 0px! important; border-bottom: 0px solid #9a0f2a; margin-bottom: 10px! important; }
.anythingSlider ul.thumbNav		{ float: right! important; margin-top: -20px! important; position: relative; z-index: 500; }

.anythingSlider ul.thumbNav	a	{ background: #fff! important; padding: 0! important; width: 12px! important; height: 12px! important; display: inline-block; border-radius: 20px; }
.anythingSlider ul.thumbNav	a.cur	{ background: #9a0f2a! important; }
.anythingSlider ul.thumbNav	span	{ display: none; }
.anythingSlider .arrow			{ z-index: 500; }
.anythingWindow					{ border: 0! important; margin: 0! important; }
.anythingSlider-default .arrow.forward a { }
.anythingSlider-default .arrow.back a {  }
.anythingSlider-default .arrow.forward { right: -45px; }
.anythingSlider-default .arrow.back { left: -45px; }
/*
	AnythingSlider v1.8+ Default theme
	By Chris Coyier: http://css-tricks.com
	with major improvements by Doug Neiner: http://pixelgraphics.us/
	based on work by Remy Sharp: http://jqueryfordesigners.com/
*/

/*****************************
  SET DEFAULT DIMENSIONS HERE
 *****************************/
/* change the ID & dimensions to match your slider */
#slider {
	width: 100%;
	list-style: none;
	/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
	overflow-y: auto;
	overflow-x: hidden;
}

/******************
  SET STYLING HERE
 ******************
 =================================
 Default state (no keyboard focus)
 ==================================*/
/* Overall Wrapper */
.anythingSlider-default {
	margin: 0 auto;
	/* 45px right & left padding for the arrows, 28px @ bottom for navigation */
	padding: 0 45px 0px 45px;
}
/* slider window - top & bottom borders, default state */
.anythingSlider-default .anythingWindow {
	border-top: 3px solid #777;
	border-bottom: 3px solid #777;
}
/* Navigation buttons + start/stop button, default state */
.anythingSlider-default .anythingControls a {
	/* top shadow */
	background: #777 url(../images/default.png) center -288px repeat-x;
	color: #000;
	border-radius: 0 0 5px 5px;
	-moz-border-radius: 0 0 5px 5px;
	-webkit-border-radius: 0 0 5px 5px;
}
/* Make sure navigation text is visible */
.anythingSlider-default .anythingControls a span {
	visibility: visible;
}
/* Navigation current button, default state */
.anythingSlider-default .anythingControls a.cur {
	background: #888;
	color: #000;
}

/* start-stop button, stopped, default state */
.anythingSlider-default .anythingControls a.start-stop {
	background-color: #040;
	color: #ddd;
}
/* start-stop button, playing, default state */
.anythingSlider-default .anythingControls a.start-stop.playing {
	background-color: #800;
}

/* start-stop button, default hovered text color (when visible) */
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
.anythingSlider-default .anythingControls a.start-stop:hover,
.anythingSlider-default .anythingControls a.start-stop.hover,
.anythingSlider-default .anythingControls a.start-stop .anythingControls ul a:hover {
	background-image: none;
	color: #ddd;
}

/*
 =================================
 Active State (has keyboard focus)
 =================================
*/
/* slider window - top & bottom borders, active state */
.anythingSlider-default.activeSlider .anythingWindow {
	border-color: #7C9127;
}
/* Navigation buttons, active state */
.anythingSlider-default.activeSlider .anythingControls a {
	/* background image = top shadow */
	background-color: #7C9127;
}
/* Navigation current & hovered button, active state */
.anythingSlider-default.activeSlider .anythingControls a.cur,
.anythingSlider-default.activeSlider .anythingControls a:hover {
	/* background image removed */
	background: #7C9127;
}

/* start-stop button, stopped, active state */
.anythingSlider-default.activeSlider .anythingControls a.start-stop {
	background-color: #080;
	color: #fff;
}
/* start-stop button, playing, active state */
.anythingSlider-default.activeSlider .anythingControls a.start-stop.playing {
	background-color: #d00;
	color: #fff;
}
/* start-stop button, active slider hovered text color (when visible) */
.anythingSlider-default.activeSlider .start-stop:hover,
.anythingSlider-default.activeSlider .start-stop.hover {
	color: #fff;
}

/************************
  NAVIGATION POSITIONING
 ************************/
/* Navigation Arrows */
.anythingSlider-default .arrow {
	top: 50%;
	position: absolute;
	display: block;
}

.anythingSlider-default .arrow a {
	display: block;
	width: 45px;
	height: 140px;
	margin: -70px 0 0 0; /* half height of image */
	text-align: center;
	outline: 0;
	background: url(../images/default.png) no-repeat;
}

/* back arrow */
.anythingSlider-default .back { left: 0; }
.anythingSlider-default .back a { background-position: left top; }
.anythingSlider-default .back a:hover,
.anythingSlider-default .back a.hover { background-position: left -140px; }
/* forward arrow */
.anythingSlider-default .forward { right: 0; }
.anythingSlider-default .forward a { background-position: right top; }
.anythingSlider-default .forward a:hover,
.anythingSlider-default .forward a.hover { background-position: right -140px; }

/* Navigation Links */
.anythingSlider-default .anythingControls { outline: 0; display: none; }
.anythingSlider-default .anythingControls ul { margin: 0; padding: 0; float: left; }
.anythingSlider-default .anythingControls ul li { display: inline; }
.anythingSlider-default .anythingControls ul a {
	font: 11px/18px Georgia, Serif;
	display: inline-block;
	text-decoration: none;
	padding: 2px 8px;
	height: 18px;
	margin: 0 5px 0 0;
	text-align: center;
	outline: 0;
}

/* navigationSize window */
.anythingSlider-default .anythingControls .anythingNavWindow {
	overflow: hidden;
	float: left;
}

/* Autoplay Start/Stop button */
.anythingSlider-default .anythingControls .start-stop {
	padding: 2px 5px;
	width: 40px;
	text-align: center;
	text-decoration: none;
	float: right;
	z-index: 100;
	outline: 0;
}

/***********************
  IE8 AND OLDER STYLING
 ***********************/

/* Navigation Arrows */
.as-oldie .anythingSlider-default .arrow {
	top: 30%;
}
.as-oldie .anythingSlider-default .arrow a {
	margin: 0;
}

/* margin between nav buttons just looks better */
.as-oldie .anythingSlider-default .anythingControls li {
	margin-left: 3px;
}

/* When using the navigationSize option, the side margins need to be zero
	None of the navigation panels look good in IE7 now =( */
.as-oldie .anythingSlider-default .anythingControls a {
	margin: 0;
}
.as-oldie .anythingSlider-default .anythingNavWindow {
	margin: 0 2px;
}
.as-oldie .anythingSlider-default .anythingNavWindow li {
	padding: 3px 0 0 0;
}

/***********************
  COMMON SLIDER STYLING
 ***********************/
/* Overall Wrapper */
.anythingSlider {
	display: block;
	overflow: visible !important;
	position: relative;
}
/* anythingSlider viewport window */
.anythingSlider .anythingWindow {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100%;
}
/* anythingSlider base (original element) */
.anythingSlider .anythingBase {
	background: transparent;
	list-style: none;
	position: absolute;
	overflow: visible !important;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
}

/* Navigation arrow text; indent moved to span inside "a", for IE7;
  apparently, a negative text-indent on an "a" link moves the link as well as the text */
.anythingSlider .arrow span {
	display: block;
	visibility: hidden;
}
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
.anythingSlider .arrow.disabled {
	display: none;
}
/* all panels inside the slider; horizontal mode */
.anythingSlider .panel {
	background: transparent;
	display: block;
	overflow: hidden;
	float: left;
	padding: 0;
	margin: 0;
}
/* vertical mode */
.anythingSlider .vertical .panel {
	float: none;
}
/* fade mode */
.anythingSlider .fade .panel {
	float: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
/* fade mode active page - visible & on top */
.anythingSlider .fade .activePage {
	z-index: 1;
}

/***********************
  RTL STYLING
 ***********************/
/* slider autoplay right-to-left, reverse order of nav links to look better */
.anythingSlider.rtl .anythingWindow {
	direction: ltr;
	unicode-bidi: bidi-override;
}
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */

/* probably not necessary, but added just in case */
.anythingSlider,
.anythingSlider .anythingWindow,
.anythingSlider .anythingControls ul a,
.anythingSlider .arrow a,
.anythingSlider .start-stop {
	transition-duration: 0s;
	-o-transition-duration: 0s;
	-moz-transition-duration: 0s;
	-webkit-transition-duration: 0s;
}


	#zitatslider {
	width: 100%;
	height: auto;
	list-style: none;
	/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
}
.anythingSlider .anythingBase.fade	{
	opacity:1;
}
	.anythingSlider	{
		width: 100vw;
		height: 16vw! important;
	}

iframe#smile2Shop {
    max-width: 100%;
    margin-top: 30px;
}
.closeMobileMenu				{ cursor:pointer;position:absolute;display:inline-block;top:0px;right:0px;height:30px;width:30px;border-radius:25px;background-color: #312782;padding-top:5px;color:#ffffff; }
.h1,h1	{
	font-size:2.1vw;
}
#cSchild,.cSchild	{
	width:15vw;
	height:15vw;
	position:absolute;
	right:0px;
	bottom:0px;
}

#fancybox-wrap	{
	width:initial! important;
}
#fancybox-left:hover span {
    left: 1vw;
}
#fancybox-right:hover span {
    right: 1vw;
}
.fancybox-title-over {
    width: calc(100% - 10px)! important;
}
	.teamp	{
		width:70vw;
		height:30vw;
		margin-bottom:4vw;
	}
	.teamb	{
		width:30vw;
		height:30vw;
		background-size:cover;
		background-repeat:no-repeat;
		float:left;
	}
	.teamt	{
		width: 40vw;
	    position: relative;
	    float: right;
	    top: 50%;
	    transform: translate(0%, -50%);
	    padding: 0 0 0 2vw;
	}
.teamp:nth-of-type(even) .teamb	{
	float:right;
}
.teamp:nth-of-type(even) .teamt	{
	float:left;
	padding: 0 2vw 0 0;
}


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

}
@media screen and (max-width: 780px) {
		#mobile-menu				{ display:block;width:100%;height:60px;z-index:10001;}
	#mobile-menu .buttons .mobile			{ text-align:center; margin: auto;height:50px;vertical-align:middle;}
	.buttons .mobile a			{display:block;padding:auto;height:100%;}
	#mobile-menu svg 			{ width:40px; height:40px;max-width:15vw;fill: #1f627f;margin:9px 9px auto 0px;}
	#mobile-menu svg			{ padding:4px;border:2px solid #dc340b; border-radius: 12px;}
	
	#mobileDivMenu				{ 
		position:fixed;
		overflow:scroll! important;
		z-index:100000;
		width: 100vw; 
		min-height: 78vh! important;
		max-height:78vh! important;
		padding:20px 10px 60px 10px; 
		background-color: rgba(255,255,255,0.95);
		border: 0px solid #dc340b;
		border-radius:0px;
		margin-left:0%;
		margin-right:0%;
		margin-bottom:0px! important;
		left:0px;
		-webkit-transition-property: left;
    	-webkit-transition-duration: 0.5s;
    	-webkit-transition-timing-function: ease-in-out;
    	transition-property: left;
    	transition-duration: 0.5s;
    	transition-timing-function: ease-in-out;
	}
	.noMoreScroll				{ overflow:hidden; }
	#mobileDivMenu.invMen		{ 
		left:-100vw;
		-webkit-transition-property: left;
    	-webkit-transition-duration: 0.5s;
    	-webkit-transition-timing-function: ease-in-out;
    	transition-property: left;
    	transition-duration: 0.5s;
    	transition-timing-function: ease-in-out;
	}
	#mobileDivMenu ul			{ background-color: transparent; list-style: none;margin:0px 10px;padding:0px;}
	#mobileDivMenu ul li		{ background-color: rgba(31,98,127,0); border-bottom:1px solid  #1f627f; border-radius:0px; margin: 0px;}
	#mobileDivMenu ul li a		{ cursor:pointer; display:inline-block; text-decoration:none; width:90%; padding:14px 0px 14px 0px; vertical-align:middle; margin: 0px 0px 0px 0px;}
	#mobileDivMenu ul li span		{ display:inline-block; text-decoration:none; width:90%; padding:14px 0px 14px 0px; vertical-align:middle; margin: 0px 0px 0px 0px;}
	#mobileDivMenu .closeMobileMenu				{ cursor:pointer;position:absolute;display:none;top:5px;right:5px;height:25px;width:25px;border: 0px solid rgba(248,173,0,0.5);border-radius:25px;background-color: transparent;padding-top:0px;color:#1f627f; }
	.invBut{display:none;}
	#mobileDivMenu i				{ font-size: 14px;display:none;}
	#mobileDivMenu ins 			{ vertical-align: text-bottom; display: inline-block; height: 18px; margin: 0; padding: 0; text-decoration: none; width: 18px; }
	#mobileDivMenu li:last-child 		{ border-bottom:0px; }

	#mobileDivMenu li.node_folder > ins				{ cursor: pointer; font-size: 18px; text-align: center; vertical-align: middle; color: #dc340b; text-decoration:none;}
	#mobileDivMenu li.node_closed.node_folder > ins.fa:before	{ content: "\f0da"; }
	#mobileDivMenu li.node_closed.node_folder > ins.fa:before, #mobileDivMenu li.node_open.node_folder > ins.fa:before	{content: "\f0d7";}
	#mobileDivMenu li.node_closed.node_folder > ul		{ display:none;}
	#mobileDivMenu li.node_closed.node_folder > ul, #mobileDivMenu li.node_open.node_folder > ul		{ display:block;}
	#mobileDivMenu li.node_loading > a > i.fa:before,#mobileDivMenu li.node_loading > span > i.fa:before 	{ content: "\f110"; }
	#mobileDivMenu li.node_loading > a > i.fa,#mobileDivMenu li.node_loading > span > i.fa			{ -webkit-animation: fa-spin 2s infinite linear; animation: fa-spin 2s infinite linear; }

	#mobileDivMenu .language_menu				{ position:absolute;right:10px;display:block;}
	.language_menu				{ display:none;}

	
	body	{
		padding:0vw 0 0;
		font-size:3.75vw;
		width:100vw;
	}
	#drivetopage	{
		padding:22vw 0 0;
	}
	#drivetopage iframe	{
	}
	#bodyDiv	{
		padding-top:22vw;
	}
	#content,.content	{
		padding-bottom:11vw;
	}
	#content.mitKopf, .content.mitKopf {
	    min-height: calc(100vh - 141vw);
	}
	
	#content.drive,.content.drive	{
		min-height:calc(100vh - 141vw);
	}
	#slider .sloganSpace,.slider .sloganSpace			{top:20px;}
	#slider .slogan,.slider .slogan					{ font-size: 18px;position:relative;top:0px;}
	.kopfgrafik,.anythingSlider	{ height:80vw;margin-bottom: 15vw! important;}
	.kopfgrafik .slogan {
	    position: relative;
	    top: 0;
	    bottom: 0;
	    font-size: 2.5vw;
	    font-weight: bold;
	    padding: 2vw 5vw;
	}
	.kopfgrafik .slogan h2 {
	    font-size: 5vw;
	    display: block;
	    width: fit-content;
	    border-bottom: 0.5vw solid #fff;
	    padding: 0 0 0.5vw;
	    margin: 1.5vw 0 1vw;
	}
	.kopfgrafik .slogan a {
	    background-color: #ffcb00;
	    color: #000;
	    border-radius: 2vw;
	    padding: 0.5vw 4vw;
	    font-weight: normal;
	    text-decoration: none;
	    font-size: 2.5vw;
	}
	#header .logo					{
		margin: 2vw 4vw;
    width: 58vw;
	}
	.videoPromo {
	    display: block;
	    height:initial;
	    padding: 4vw 0;
	}
	.videoPromo.Descr {
	    width: 100%;
	    color: #fff;
	}
	.videoPromo.Vid {
	    width: 100%;
	    padding: 5vw 0;
	}
	.videoPromo.Vid iframe {
	    width: 100%;
	    height: 54vw;
	}
	#zitatSlider,.anythingSlider,#zitatslider,.anythingWindow,#zitatSlider .anythingSlider .panel	{
		height:33vw! important;
	}
	#zitatSlider .sloganSpace {
	    width: 90vw! important;
	    margin: 2vw auto;
	    color: #fff;
	    text-align: center;
	}
	#zitatSlider .sloganSpace h2 {
	    font-size: 5vw;
	    line-height: 7vw;
	    margin:0;
	}
	#content_title h1,.content_title h1 {
	    font-size: 6vw;
	}
	.vortrag	{
		width: 80vw;
	    display: block;
	    margin: 10vw 5vw! important;
	    height:initial;
	}
	.vTitle {
	    color: #fff;
	    background-color: #ffcb00;
	    padding: 0.75vw;
	    font-size: 5vw;
	    font-weight: bold;
	    text-align: center;
	    border: 1px solid #6f6f6e;
	    border-bottom: 0px;
	}
	.vText {
	    padding: 4vw;
	    border: 1px solid #6f6f6e;
	    height:initial;
	}
	.vButton {
	    position: absolute;
	    right: -2vw;
	    bottom: -4vw;
	    border: 0.5vw solid #ffcb00;
	    height: 8vw;
	    text-decoration: none;
	    border-radius: 4vw;
	    padding: 1vw;
	    color: #000;
	    font-size: 4.5vw;
	    border-top-width: 0.15vw;
	    background-color: #fff;
	}
	.vButton span {
	    height: 6vw;
	    display: inline-block;
	    padding: 0vw 2vw;
	    text-align: center;
	}
	.vButton img {
	    height: 6vw;
	    vertical-align: text-top;
	}
	.vproduct	{
		height:initial;
		margin-bottom: -3vw;
	}
	.vproduct .vButton	{
		position:relative;
		right:0;
		bottom:4vw;
	}
	.vproduct h2	{
		font-size:4vw;
	}
	.vpImg	{
		float: none;
	    width: 100%;
	    height: 70vw;
	    background-position: 50%;
	}
	.vpTxt	{
	    height: initial;
	    float: none;
	    width: 90%;
	}
	.wrap, #footer .wrap,.footer .wrap		{ width: 90%; }
	#footer .wrap,.footer .wrap				{ text-align: center; }
	#footerTxt,.footerTxt	{
		width:100%;
	}
	.mobile						{ display: inline-block! important; }
	.no-mobile					{ display: none! important; }
	#header						{ text-align: center; height: 22vw; padding-bottom: 0px; border-bottom: 0px solid #312782;margin:0;}
	#header .154,15,42				{ position: relative; margin: 0 auto 30px; display: block; right: 0; top: 0; }
	#header .154,15,42 img			{ width: 80%; }
	#mainmenu_container			{ position: relative; }
	#mobile-menu				{ 
		width:35vw;
		position:absolute;
		left:65vw;
		top:0;
	
	}
	#mobile-menu select			{ height: 30px; border: 0px solid #312782; width: 80%; }
	#header .buttons			{ 
		top: 0px; 
		right: auto; 
		padding-left: 0px; 
		height: 21vw;
	    padding: 5vw 0;
    
    }
	#mobile-menu svg {
	    padding: 2vw;
	    border: 1vw solid #888;
	    border-radius: 3vw;
	    width: 12vw;
	    height: 12vw;
	    margin: 0 2vw;
	    fill: #312782;
	}
	#contactTxt	{
		display:none;
	}
	#mobileDivMenu	{
		background-color: rgba(111,111,110,0.95);
	}
	#mobileDivMenu ul li {
	    background-color: rgba(31,98,127,0);
	    border-bottom: 1px solid #312782;
	    border-radius: 0px;
	    margin: 0px;
	}
	#mobileDivMenu ul li a,#mobileDivMenu ul li span	{
		text-align:left;
		color:#fff;
	}
	#content_title.hasSlogan,.content_title.hasSlogan	{ display: block; }
	#content_title.hasSlogan span,.content_title.hasSlogan span	{ display: block; vertical-align: middle; }
	#content_title.hasSlogan .slogan,.content_title.hasSlogan .slogan	{ width: 100%; padding-left: 0; font-size: 14px; border-left: 0 solid #312782; margin-top: 10px; }
	#Startbutton,.Startbutton	{
		text-align: center;
	    position: relative;
	    top: 25.5vw;
	}
	#Startbutton img,.Startbutton img	{
		width: 50vw;
		display:inline-block;
	}

	.subobjects					{ display: flex; flex-wrap: wrap; margin: 0px calc(10% / 4 * -1); calc(100% + (10% / 3)); }
	.subobjects .subobject		{ padding: 0 calc(10% / 4); width: 50%; margin: 0 0 30px; position: relative; padding-bottom: 20px; font-size: 14px; }
	.subobjects.highlights .subobject:nth-child(3n+3), .subobjects.highlights .subobject:first-child { border: 0; }
	.subobjects.highlights .subobject	{ padding: 0 calc(10% / 4); width: 50%; margin: 0 0 30px; border: 2px solid #312782; border-width: 0 0 0 2px;}
	.product	{ 
		width:100%;
		height:60vw;
	}
	.pImg	{
		width:100%;
		height:40vw;
	}
	.pTxt	{
		width:100%;
	}
	.pTxt h2	{
		font-size:3.5vw;
	}
	#content_container .gallery,.content_container .gallery			{ display: flex; flex-wrap: wrap; width:90vw;}
	#content_container .gallery section,.content_container .gallery section	{ width: 90vw; height:calc(90vw * 0.7); margin: 0 0 4vw; position: relative; font-size: 14px; }
	#service					{ display: block; }
	#service .text				{ display: block; width: 100%; text-align: center; }
	#service .icon				{ display: block; width: 100%; text-align: center; }
	#dynamic_form .fieldset.size_1 { width: 100%; }
	#dynamic_form .fieldset.size_2 { width: 100%; }
	#dynamic_form .fieldset.size_3 { width: 100%; }
	#dynamic_form .fieldset.size_4 { width: 100%; }
	#dynamic_form .fieldset.size_5 { width: 100%; }
	#dynamic_form .fieldset.size_6 { width: 100%; }
	#dynamic_form .fieldset.size_7 { width: 100%; }
	#dynamic_form .fieldset.size_8 { width: 100%; }
	#dynamic_form .fieldset.size_9 { width: 100%; }
	#dynamic_form .fieldset.size_10 { width: 100%; }
	#dynamic_form .fieldset.size_11 { width: 100%; }
	#dynamic_form .fieldset.size_12 { width: 100%; }
	#dynamic_form .description { top: 900px! important;}
	.h1,h1	{
		font-size:6vw;
	}
	#footer,.footer	{
		height:24vw;
		font-size:3vw;
	}
	#social_container,.social_container			{ 
		position:relative;
		width:100%;
		left:0;
		top:0;
		right:0;
		text-align:center;
	}
	#social_container img,.social_container img {
	    width: 10vw;
	    margin: 1vw;
	}
	.teamp	{
		height: initial;
    	width: 100%;
    	margin:0 0 5vw;
	}
	.teamb	{
		width:90vw;
		height:90vw;
		float:none;
	}
	.teamt	{
		height:initial;
		float:none;
		width:100%;
		transform: translate(0px, 0px);
    	padding: 0;
		margin:2vw 0 0 0;
		
	}
}

@media screen and (max-width: 640px) {
	.subobjects					{ display: block; margin: 0; }
	.subobjects .subobject		{ width: 100%! important; padding: 0 0 30px! important; border: 0! important; }
	.subobjects.highlights .subobject	{ width: 100%! important; padding: 0! important; border: 0! important; }
	#slider .slogan,.slider .slogan				{ font-size: 14px; min-width:170px;}
	.anythingSlider				{  }
	#content iframe,.content iframe					{max-width:90%;margin-bottom:10px;}
}
