@charset "utf-8";


@media screen and (max-width:1600px){

	#dsmain { padding:70px 50px 50px;}

	/*Startseite Menüboxen*/
	.csubmenu.view .item { margin-bottom: 60px; }

	/*Video + Startplatz Button */
	#y-circle {transform: translate(-100%, 30%);}

	@keyframes blinkcircle {
		0%,100% { background-color:#008BCF; transform:translate(165%,30%) scale(1); }
		50% { background-color:#000000; transform:translate(165%,30%) scale(1.2); }
	}

}

@media screen and (max-width:1300px){
	a.ajaxclose { right:0; }
}


@media screen and (max-width:1240px){
	#dsmain { width:auto; max-width:none; margin:0 20px;}
	#ajaxdiv.video { max-width:none; width:auto; }

	.personen .cols > div { width:100%; }

	#zusammenfassung span { width:calc(100% - 320px); }
	#zusammenfassung .row > span:nth-child(2) { width:150px; }
	#zusammenfassung .row > span:nth-child(3) { width:70px; }
	#zusammenfassung .row > span:nth-child(4) { width:100px; }

}

@media screen and (max-width:1024px){

	html { font-size:70% !important; -webkit-text-size-adjust:100%; /* Prevent font scaling in landscape */ }
}

@media screen and (max-width:1023px){
	#dssitefooter { position:relative; width:100%; left:auto; right:auto; top:auto; bottom:auto; }

	#dscolumns > div[id$="_3"],
	#dscolumn1_2,
	#dscolumn2_2 { width:100%; flex:none; padding:0; }

	/* ITEMS */
		.items.i_6 .item { width:33.33%; }
		.paging > div { width:225px; }

	#sb-body,
	#sb-loading { background:none; }
	#sb-info { top:auto; bottom:0; position:fixed; left:0; right:0; }
	#sb-container{ background:#000; background:rgba(0,0,0,0.7); }
	#sb-wrapper { top:-25px !important; right:10px !important; bottom:10px !important; left:10px !important; width:auto !important; }
	#sb-wrapper-inner { border-color:transparent; height:calc(100% - 60px) !important; box-sizing:border-box; }
	#sb-body img { position:absolute; top:0; right:0; bottom:0; left:0; margin:auto; }


	/* TIMETABLE */
		.timetable .row.body { padding-bottom:10px; margin-bottom:5px; }
		.timetable .col.zeitraum,
		.timetable .col.zeit { width:100% }
}

@media screen and (max-width:990px){
	#sitefooter { max-width:none; width:auto; margin:0 20px; }
}

@media screen and (max-width:870px){
	#free_place > div { width:100%; }

}

@media screen and (max-width:767px){
	html { font-size:73% !important; -webkit-text-size-adjust:100%; /* Prevent font scaling in landscape*/ }

	/* Font Styling */
		h1, h2 { font-size:23px; font-size:2.3rem; padding-bottom:5px; margin-bottom: 5px; }

	/* DSMAIN */
		#dsmain { margin:0 10px; padding:100px 20px 50px; }

	/* Item */
		.item { width:33.33%; }

	/* Footer */
		#adresse p.left > span + span:before,
		#adresse p.right > span + span:before { content:""; display:block; }

	/* Banner */
		#banner .goog-te-gadget-simple { line-height:25px; line-height:2.5rem; }
		#banner .goog-te-menu-value > span { font-size:13px; font-size:1.3rem;  }

	/* Contact Form */
		.f1_row { margin-bottom:15px; }
		.f1_row:not(.spamfilter) > div.l_column { margin-bottom:15px; }
		.f1_row:not(.spamfilter) > div.l_column,
		.f1_row:not(.spamfilter) > div.r_column { float:none; padding:0; width:auto; }


	/* Shadow Box */
	#sb-counter { font-size:15px; font-size:1.5rem; line-height:35px; line-height:3.5rem; }

	/* City-Train Reservation */
	.legend > div { width:100%; }

	#free_place > div:first-of-type { padding-bottom:20px; }

	#zusammenfassung { padding-top:40px; }
	.pricetable .row > span { float:none; display:block; width:100%; }

	p.titel { font-size:18px; font-size:1.8rem; line-height:22px; line-height:2.2rem; }


	/* Image */
		div[class^="dsbodydesign_content"] > div[class*="image"],
		div[class^="dsbodydesign_content"] > div[class*="image"] > div[class^="dsimage_"] { float:none !important; }
		img[class*='dsimage_titlebodynowrapright_'] { padding:0; }
}

@media (max-width:579px){

	#zusammenfassung .row > span { width:calc(100% - 220px); }
	#zusammenfassung .row > span:nth-child(2) { display:none; }

}


@media only screen and (max-width:479px) {

	#adresse { display:none; }
	#mobileaddress { display:block; font-size:1mietepx; font-size:1.5rem; line-height:20px; line-height:2.0rem; }
	#mobileaddress .top span + span:before { content:""; display:block; }
	#mobileaddress .bottom { margin-top:20px; padding-top:10px; border-top:1px #008BCF solid; }

	#mobilebuttons:after { display:block; content:""; clear:both; }
	#mobilebuttons > span { float:left; width:50%; height:50px; padding:0 10px; box-sizing:border-box; }
	#mobilebuttons > span:first-of-type { padding-left:0; }
	#mobilebuttons > span:last-of-type { padding-right:0; }
	#mobilebuttons > span a { display:block; position:relative; height:100%; border:1px #008BCF solid; text-align:center; color:#008BCF; }
	#mobilebuttons > span a:after { content:"\f0e0"; display:block; position:absolute; top:0; left:0; right:0; bottom:0; font-size:25px; line-height:50px; font-family:"FontAwesome"; }
	#mobilebuttons > span.map a:after { content:"\f279"; }
	#mobilebuttons > span.phone a:after { content:"\f098"; }

	.item { width:50%; }

	.f1_row.spamfilter > div.l_column,
	.f1_row.spamfilter > div.r_column { float:none; padding:0; width:auto; text-align:center; }
	.f1_row label.spamfilter:before { content:"\f062"; }

	.personen > div[class*="of3"] > div > div { position:relative; }
	.personen > div.c3of3.one.checkboxCheck { text-align:left; }
	.personen .checkboxCheck div > label:after { bottom:-30px; left:0; right:auto; top:auto; }

	.personen .cols > div label { padding-right:0; }
	.personen .cols .input_custom { position:relative; top:auto; right:auto; width:auto; }

	#zeiten { padding-top:0; }
	#zeiten > div > span { width:calc(33.33% - 10px); box-sizing:border-box; margin:0 0 10px 10px; }

	#zusammenfassung .row { padding:10px 0; }
	#zusammenfassung .row > span { width:50% !important; }
	#zusammenfassung .row.total span:nth-last-of-type(2),
	#zusammenfassung .row.title span:nth-last-of-type(2),
	#zusammenfassung .row span.amount { display:none; width:0; }

	p.titel { font-size:16px; font-size:1.6rem; line-height:20px; line-height:2.0rem; }

	#sb-info { padding:15px 0; }
	#sb-wrapper { top:10px !important; }

	@keyframes blinkcircle {
		0%,100% { background-color:#008BCF; }
		50% { background-color:#000000; }
	}

	.map-circle.blinken {
		position: relative;
		bottom: auto;
		left: auto;
		width: auto;
		height: auto;
		border-radius: 0;
		box-shadow: none;
		transform: none;
		margin-top: 35px;
		padding:10px;
	}
	.map-circle:after { border-radius:0; }

	.map-circle__link--small {
		position: relative;
		top: auto;
		left: auto;
		bottom: auto;
		right: auto;
		transform: none;
		border-radius: 0;
		display: block;
	}

}