/* style css
Farbflächen:
Orange: #FF5B00
grau: #4C5557
dunkelgrau: #727971 (Text)
*/

/* ========================================================================================================================================= */
/* +++ custom basic styles +++ */
/* ========================================================================================================================================= */
/* +++ Font +++ */
/* noto-sans-sc-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans SC';
	font-style: normal;
	font-weight: 300;
	src: url('/_assets/css/fonts/noto-sans-sc-v26-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-sc-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans SC';
	font-style: normal;
	font-weight: 400;
	src: url('/_assets/css/fonts/noto-sans-sc-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-sc-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Noto Sans SC';
	font-style: normal;
	font-weight: 500;
	src: url('/_assets/css/fonts/noto-sans-sc-v26-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* +++ resets +++ */
* :focus, * :active { outline: 0 none; -moz-outline: 0 none; }
a:active, a:focus {outline: none;}

/* +++ basics +++ */
body {
	background-color: #fff;
	color:#727971;
	font-family: 'Noto Sans SC','Arial Narrow', Arial, sans-serif;
	font-size:0.9rem;
	font-weight: 300;
	/*
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
	*/
}
section img {
	max-width: 100%;
	height: auto;
}
p {
	margin: 0 0 10px;
}
strong {
	font-weight:600;
}

h1, h2, h3, h4, h5, h6,
.h2, .h3 {
	font-size:1rem;
	color:#FF5B00;
	font-weight:300;
}
h1 {
	font-size:1.8rem;
	font-weight:300;
}
h2, .h2 { 
	font-size:1.3rem;
}
h3, .h3 { 
	font-size:1.1rem;
	line-height: 1.1rem;
}
.weiss {
	color:#fff;
}
.weissklein {
	color:#fff;
	font-size:0.8rem;
	line-height:0.6rem;
}
.orange {
	color:#FF5B00;
}

a {
	text-decoration:none;
	color:#3C3C3C;
}
a:focus, a:hover, a:active {
	color: #000;
	text-decoration:none;
}

ul {
	margin:0; padding:0;
	padding-left:13px;
	margin-left:0;
	margin-bottom:10px;
	/* list-style-image: url('/_assets/css/images/bull.gif');*/
}
ol {
	margin:0; padding:0;
	padding-left:20px;
	margin-left:0;
	margin-bottom:10px;
}
/* ========== Abstände ================ */
.wm-movedown {
	height:50px;
}

.spacer-10-btm, .spacer-10-top {
	height:10px;
}
.spacer-20-btm, .spacer-20-top {
	height:20px;
}
.spacer-30-btm, .spacer-30-top {
	height:30px;
}
.spacer-40-btm, .spacer-40-top {
	height:40px;
}
.spacer-50-btm, .spacer-50-top {
	height:50px;
}
.spacer-60-btm, .spacer-60-top {
	height:60px;
}
@media (max-width: 767px) {
	.spacer-30-btm, .spacer-30-top {
		height:20px;
	}
	.spacer-40-btm, .spacer-40-top {
		height:40px;
	}
	.spacer-50-btm, .spacer-50-top {
		height:20px;
	}
	.spacer-60-btm, .spacer-60-top {
		height:20px;
	}
}

.txtindent {
	padding:5px 0 10px 30px;
}

/* +++ layout +++ */
/* ========== mainnav, logo ================ */

@media (max-width: 767px) {
	.logobox_mobile {
		height:40px;
		margin:80px 0 20px -20px;
		display:none;
	}
	.logobox_mobile img {
		height:40px;
	}

	.bg_mobilenav {
		position:absolute;
		z-index:2000;
		top:0;
		left:0;
		width:100%;
		height:240px;
		background-color:rgba(0,11,16,0.6);

		display:none;
	}
	.mainnav {
		width:100%;
		height:100px;
		position:absolute;
		right:0;
		z-index:30011;
	}
	.bg_navbox {
		position:absolute;
		z-index: -1;
		right:0;
		top:0;
		width: 80px;
		height: 80px;
		background-color: rgba(255,94,13,0.9);
	}
	.navbox {
		float: right;
		width: 90%;
		/*height: 220px;*/
	}
	.bg_hamburger {
		position:absolute;
		width: 65px;
		height: 65px;
		right:30px;
		top:40px;
		z-index: 1;
		background-color:rgba(0,11,16,0.6);
	}
	.hamburger {
		position:absolute;
		width: 65px;
		height: 65px;
		right:30px;
		top:40px;
		z-index: 30012;
		cursor: pointer;
		background:url(/_assets/css/svg/wm_hamburger.svg) no-repeat top 8px right 8px;
		background-size:35px 25px;
	}
	.hamburger-close {
		position:absolute;
		width: 65px;
		height: 65px;
		right:30px;
		top:40px;
		z-index: 30012;
		cursor: pointer;
		background:url(/_assets/css/svg/wm_hamburger_close.svg) no-repeat top 8px right 8px;
		background-size:35px 25px;
	}
}

@media (max-width: 460px) {
	.logobox_mobile {
		height:40px;
		margin:20px 0 20px -20px;
		display:none;
	}
	.logobox_mobile img {
		height:40px;
	}
}

@media (min-width: 768px) {
	.mainnav {
		width:430px;
		height:180px;
		position:absolute;
		top:20px;
		left:0;
		z-index:30011;
	}
	.logobox {
		width:260px;
		height:260px;
		padding:20px;
		padding-top:30px;
		background-color: rgba(0,11,16,0.7);
		/*background: url(/_assets/css/svg/wm_bg_grau.svg);*/
		text-align:right;
	}
	.logobox img {
		height:60px;
	}
	.bg_navbox {
		position:absolute;
		z-index:-1;
		left:-15px;
		top:65%;
		height:220px;
		width:55%;
		padding: 15px 15px 10px 25px;
		background-color: rgba(255,94,13,0.9);
		/*background: url(/_assets/css/svg/wm_bg_orange.svg);*/
	}
	.navbox {
		position:absolute;
		z-index:1;
		left:-15px;
		top:65%;
		height:220px;
		padding: 15px 15px 10px 25px;
		/*background-color: rgba(255,94,13,0.9);*/
		/*background: url(/_assets/css/svg/wm_bg_orange.svg);*/
	}


}



main { margin-bottom:40px; }
/* maincontainer (in pagetypes) */
.maincontainer {

}
section {
	/* margin-bottom:30px;*/
}
section:first-child {
	margin-top:0;
}
/* Zwiswchenüberschriften h3 */
.container.sectionheadline {
	margin-top: 30px;
	margin-bottom: -30px;
}
/* divtable */
.divtable {
	display: table;
	width: 100%;
	border-collapse:collapse;
}
.divtrow {
	display: table-row;
}
.divtheading {
	display: table-header-group;
}
.divtcell, .divthead {
	display: table-cell;
	padding: 0;
}
.divtbody {
	display: table-row-group;
}
.clear { clear:both; }

.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}


/* ========== Header ================ */
header {}
/* ========== Content ================ */
.mobtitle {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}


/* ========== cycle slider ================ */
.cycleslider {
	position:relative;
	width:100%;
}
.cycle-slideshow, .cycle-slideshow * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.cycle-slideshow { width: 100%; min-width: 200px; margin: auto; padding: 0; }
.cycle-slideshow img { opacity: 1; filter:alpha(opacity=1); height:100% }

/* divs */
.cycle-slideshow > div { 
	position: absolute; top: 0; left: 0;
	width: 100%; padding: 0;
}
.cycle-slideshow > div { background: #fff }
.cycle-slideshow > div > img { display: block; }
.cycle-slideshow > div .cycle-overlay {
	position: absolute;
	top: 0;
	width: 100%;
}
.cycle-slideshow .cycle-img {
	background-repeat:no-repeat;
	background-position: center center;
	width:100%;
	background-size:cover;
}
.cycleslider,
.cycle-slideshow,
.cycle-slideshow .cycle-img {
	height:633px;
}

@media (max-width: 767px) {
	.cycleslider,
	.cycle-slideshow,
	.cycle-slideshow .cycle-img {
		height:240px;
	}
}

/* ========== Startbullet Öffnungszeiten ================ */
.startbullet {
	/*
	position:absolute;
	z-index:300011;
	top:-80px;
	*/
	width: 340px;
	height: 340px;
	background-color: #4C5557;
	padding:10%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items : center;
}
.bullet-text {
	font-size:0.7rem;
}
.bullet-text .h3 {
	font-size:0.8rem;
}
.welcometext {
	/*
	margin-top:300px;
	*/
}

@media (min-width: 768px) {
	.startbullet {
		/*
		top:-100px;
		*/
		width: 340px;
		height: 340px;
	}
	.bullet-text {
		font-size:0.7rem;
	}
	.bullet-text .h3 {
		font-size:0.8rem;
	}

}
@media (min-width: 992px) {
	.startbullet {
		width: 420px;
		height: 420px;
	}
	.bullet-text {
		font-size:0.9rem;
	}
	.bullet-text .h3 {
		font-size:1rem;
	}
	.welcometext {
		margin-top:0;
	}
}

.bullet-text a {
	color:#fff;
}
.bullet-text a:hover {
	color:#FF5B00;
}
/* ========== Leistungen etc. ================ */
/* Störer */
.stoerer {
	position:absolute;
	z-index:300011;
	bottom:20px;
	width: 400px;
	height: 400px;
	padding:4%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.stoerer-text {
	color:#fff;
	font-size:1rem;
}
.bg-stoerer-or {
	background-color: rgba(255,94,13,0.7);
	/* background: url(/_assets/css/svg/wm_bg_orange.svg); */
}
.bg-stoerer-gr {
	background-color: rgba(0,11,16,0.5);
	/* background: url(/_assets/css/svg/wm_bg_grau.svg); */
}

@media (min-width: 768px) {
	.stoerer {
		bottom:20px;
		right:10%;
		width: 320px;
		height: 320px;
	}
	.stoerer-text {
		font-size:1.2rem;
		line-height: 1.2em;
	}
	.stoerer-text .h3 {
		font-size:0.8rem;
	}

}
@media (min-width: 992px) {
	.stoerer {
		bottom:20%;
		right:10%;
		width: 340px;
		height: 340px;
	}
	.stoerer-text {
		font-size: 1.6em;
		line-height: 1.3em;
		font-weight: 300;
	}
}

.stoerer-text a {
	color:#fff;
}
.stoerer-text a:hover {
	color:#FF5B00;
}

@media (max-width: 767px) {
	.stoerer {
		display:none;
	}
}


/* ========== Bulletliste ================ */
.bulletheadline {
	background: url(/_assets/css/svg/wm-acco-closed.svg) no-repeat left center;
	background-size: 20px 20px;
	color:#FF5B00;
	font-size: 1.3rem;
	line-height: 1.3rem;
	font-weight: 300;
	min-height: 20px;
	padding: 5px 15px 5px 30px;
	display: table;
	width: 100%;
	-webkit-touch-callout: none; 
	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-ms-user-select: none; 
	user-select: none;
}
.bullettext {
	padding:5px 0 10px 30px;
}
.bullettext img {
	display: block;
	max-width:100%;
	height:auto;
}
.bulletsecdivider {
	height:20px;
}



/* ========== Kontakt ================ */

.fahrplan {
	background:url(/_assets/css/svg/wm-rvv.svg) no-repeat left center;
	padding-left:30px;
	color:#FF5B00;
}
.fahrplan:hover {
	color:#4C5557;
}


.routenplaner {
	background:url(/_assets/css/svg/wm_location_w.svg) no-repeat left center;
	padding-left:30px;
	color:#FF5B00;
}
.routenplaner:hover {
	color:#4C5557;
}
.bulletlink {
	float:right;
}

.bulletlink a {
	font-weight: 300;
	background:transparent url(/_assets/css/svg/wm-acco-closed.svg) no-repeat left center;
	background-size:20px;
	padding-left:30px;
	color:#FF5B00;
}
.bulletlink a:hover {
	color: #4C5557;
}

/* ========== Footer ================ */
footer { }
footer .boxwrapper {
	float:right;
}
footer .faddressbox {
	position:relative;
	width:260px;
	height:260px;
	padding:15px 15px 20px 80px;
	line-height:1.1rem;

	background-color: rgba(0,11,16,0.7);
	/*background: url(/_assets/css/svg/wm_bg_grau.svg);*/
}
footer .faddressbox a {
	color:#fff;
}
footer .faddressbox a:hover {
	color:#FF5B00;
}
footer .flogobox {
	position:relative;
}
footer .flogobox img {
	height:50px;
	margin-bottom:30px;
}
footer .fnavbox {
	position:absolute;
	z-index:1;
	width:220px;
	height:220px;
	right:200px;
	top:50px; /*logohöhe*/
	padding: 15px 15px 10px 15px;
	background-color: rgba(255,94,13,0.9);
	/*background: url(/_assets/css/svg/wm_bg_orange.svg);*/
}
footer .routenplaner {
	background:url(/_assets/css/svg/wm_location_g.svg) no-repeat left center;
	padding-left:30px;
	color:#FF5B00;
}
footer .routenplaner:hover {
	color:#4C5557;
}

@media ( max-width: 460px ) {
	footer .fnavbox {
		position: absolute;
		z-index: 1;
		width: 170px;
		height: 170px;
		right: 180px;
		top: 100px;
		padding: 15px 15px 10px 15px;
		background-color: rgba(255,94,13,0.9);
	}
	main {
		margin-bottom:20px;
	}
}

@media ( max-width: 375px ) {
	footer .boxwrapper {
		width:100%;
	}
	footer .faddressbox {
		width: 100%;
		height: 260px;
		padding: 15px 5px 20px 25px;
	}
	footer .fnavbox {
		display:none;
	}
	footer .creators {
		display:none;
	}
}


footer .creators {
	font-size:12px;
	margin-top:30px;
	margin-bottom:30px;
	padding:15px 0;
}

footer .mobile_imp_ds {
	margin:10px 0 20px 0;
}

@media ( min-width: 376px ) {
	footer .mobile_imp_ds {
		display:none;
	}

}


/* ========== Ränder ================ */
.marginbtm {
	margin-bottom:20px;
}
.borderless {
	padding-left:0;
	padding-right:0;
}

/* ========== Hintergründe ================ */
.bg_grau {
	background-color: #efefef;
}

/* ========== Accordion ================ */
.accordion {
	margin: 0 0;
}
.accohead { /* Kopfbereich */
	cursor: pointer;
	display: block;
	background: url(/_assets/css/svg/wm-acco-closed.svg) no-repeat left center;
	background-size: 20px 20px;
	color:#FF5B00;
	font-size: 1rem;
	line-height: 1rem;
	font-weight: 300;
	min-height: 20px;
	padding: 5px 15px 5px 30px;
	display: table;
	width: 100%;
	-webkit-touch-callout: none; 
	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-ms-user-select: none; 
	user-select: none;
}
.accoheadactive {
	background:url(/_assets/css/svg/wm-acco-open.svg) no-repeat left center;
	background-size: 20px 20px;
}
.accobody {
	padding:5px 0 10px 30px;
}
.accobody img {
	display: block;
	max-width:100%;
	height:auto;
}
.accosecdivider {
	height:20px;
}

/* -- Accordion contents -- */
/* s. Basics  */
.accordion .accotxt {}
.accordion .accoleft {}
.accordion .accoright {}


/* ========== Scrollicon ================ */
.scrollicon {
	position: fixed;
	display:none;
	bottom: 30px;
	right: 10px;
	padding: 10px 5px;
	width:60px;
	height:60px;
	cursor:pointer;
}

/* ========================================================================================================================================= */
/* +++ Responsive +++ */
/* ========================================================================================================================================= */
@media ( max-width: 1199px ) {

}

@media ( max-width: 991px ) { 
	.marginbtm {
		margin-bottom: 20px;
	}
	.accordion .accolink {
		position: relative;
	}
}


/* Display mobile only
**************************************************************** **/
@media (min-width: 768px) {
	.hide-desktop { display:none !important; }
}
@media (max-width: 767px) { /* 575px */
	.hide-xs { display:none !important; }
}
@media (max-width: 575px) { /* 575px */
	.hide-xxs { display:none !important; }
}
/* Display on desktop only
**************************************************************** **/
@media (min-width: 768px) {

	/* +++ Font +++ */


} 
@media (min-width: 576px) { /* 576px */
	.show-xxs { display:none !important; }
}






