@charset "utf-8";

/* Fonts */
@font-face {
	font-family: 'icomoon';
	src:  url('../font/icomoon.eot?wecnw1');
	src:  url('fonts/icomoon.eot?wecnw1#iefix') format('embedded-opentype'),
	  url('../font/icomoon.ttf?wecnw1') format('truetype'),
	  url('../font/icomoon.woff?wecnw1') format('woff'),
	  url('../font/icomoon.svg?wecnw1#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-menu:before {
	content: "\f0c9";
}

/* ==|==HTML5 display definitions=============================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

/* ==|==Base==================================================================== */

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body {
	margin: 0;
	font-size: 14px;
	line-height: 1.231;
}
body, button, input, select, textarea {
	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
	color: #666;
}

::-moz-selection { background: #e41d3c; background: rgba(228, 29, 60, 0.5); color: #FFF; text-shadow: none; }
::selection { background: #e41d3c; background: rgba(228, 29, 60, 0.5); color: #FFF; text-shadow: none; }

/* ==|==Links=================================================================== */

a {
	color: #e41d3c;
	text-decoration: none;
}
a[href^="http"] { text-decoration: underline; }
a:hover {
	color: #f00025;
	text-decoration: underline;
}
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

/* ==|==Typography============================================================== */

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px dotted #CCC; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

/* ==|==Lists=================================================================== */

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

/* ==|==Embedded content======================================================== */

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }

/* ==|==Figures================================================================= */

figure { margin: 0; }

/* ==|==Forms=================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }

/* ==|==Tables=================================================================== */

table { border-collapse: collapse; border-spacing: 0; }
th, td { vertical-align: top; }

/* ==|==primary styles===========================================================
   Author: Dietmar
   ============================================================================== */

h1, h2, h3, h4 {
	font-weight: normal;
	line-height: 110%;
	margin-bottom: 0.35em;
}
h1 {
	font-size: 1.786em;
	text-align: left;
}
h2 { font-size: 1.429em; }
h3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
	font-weight: bold;
}
h2 a, h3 a {
	color: #666;
	text-decoration: none;
}

.s { font-size: 0.786em; }
.xs { font-size: 0.714em; }
.alignright { text-align: right; }
.alignleft { text-align: left; }
.aligncenter { text-align: center; }
.alignjustify { text-align: justify; }
.margintop { margin-top: 1em; }
.marginright { margin-right: 1em; }
.marginbottom { margin-bottom: 1em; }
.marginleft { margin-left: 1em; }
.right { float: right; }
.left { float: left; }

/* MSG */
.msg, .msgerror {
	margin-bottom: 15px;
	padding: 4px;
}
.msg h2, .msgerror h2 { margin: 0 0 10px 0; }
.msg ul, .msgerror ul { margin-top: 0; }
.msg {
	background-color: #FFF;
	border: 1px solid #DDD;
}
.msg h2 { color: #444; }
.msgerror {
	background-color: #FFF;
	border: 1px solid #C00;
}
.msgerror, .msgerror h2 { color: #C00; }

/* PAGENAV */
.pagenav { text-align: center; }
.pagenav span a {
	font-size: 1.214em;
	vertical-align: bottom;
	padding: 0 2px;
}
.pagenav a, .pagenav strong {
	margin: 2px;
	padding: 2px;
}
.pagenav a:hover, .pagenav strong {
	border: 1px solid;
	margin: 1px;
}
.pagenav a, .pagenav a:hover { text-decoration: none; }
.pagenav a:hover { border-style: dotted; }

/* LAYOUT */
body { margin-bottom: 220px; } 
img { height: auto; width: 100%; }
.header {
	background: url(/grafik/template/header_bg.png) left top repeat-x;
	height: 100px;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999;
}
.header:after {
	background: #FEFEFE;
	content: '';
	height: 10px;
	position: absolute; bottom: 0; left: 0; right: 0; z-index: 1;
}
.header .wrapper:before {
	background: #f9f9f9; /* Old browsers */
	background: -moz-linear-gradient(top, #f9f9f9 0%, #fefefe 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f9f9f9 0%,#fefefe 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f9f9f9 0%,#fefefe 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9f9f9', endColorstr='#fefefe',GradientType=0 ); /* IE6-9 */
	content: '';
	display: none;
	position: absolute; left: 0; top: 0; bottom: 0; z-index: 2;
	width: 94px;
}
#showmobilemenu {
	background: #FFF;
	border: 1px solid #6b7375;
	box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; 
	color: #6b7375;
	display: none;
	font-size: 2.5em;
	margin-top: 35px;
	padding: 0.2rem;
	position: relative; z-index: 2;
	text-align: center; text-decoration: none;
	width: 54px; height: 50px;
}
#showmobilemenu:hover {
	background: #6b7375;
	color: #FFF;
}
#showmobilemenu span {
	margin-left: 5px;
	vertical-align: -2px;
}
.header .logo { 
	clear: both;
	overflow: auto;
}
.header .logo.mobile { display: none; }
.header .logo img { 
	float: right;
	max-width: 400px; 
}
.header .logo.mobile img { max-width: 325px; }

.wrapper {
	box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; 
	margin: 0 auto;
	padding: 0 20px;
	width: 100%; max-width: 1020px;
}

.main {
	margin-bottom: 175px;
	margin-top: 120px;
	overflow: auto;
}
.nav_main {
	float: left;
	margin-right: 10px;
	width: 200px;
}
.nav_main a {
	color: #666;
	font-size: 1.15em;
	text-decoration: none;
	text-transform: uppercase;
}
.nav_main li.active a, .nav_main a:hover { border-bottom: 2px solid #e41d3c; }
.nav_main li { line-height: 200%; }
.nav_main li li {
	line-height: 150%;
	margin-left: 20px;
}
.nav_main li li a {
	font-size: 0.95em;
	text-transform: none;
}
.nav_main li.active li a { border: none; }
.nav_main li li.active a {
	color: #e41d3c;
	font-weight: bold;
}
.nav_main li li a:hover { color: #e41d3c; }

#fblink {
	display: block;
	margin-top: 2em;
	width: 90%;
}
#fblink:hover { border-bottom: none; }
#fblink img { height: auto; width: 100%; }

#fblink-mobile { display: none; }
#fblink-mobile img { 
	margin-top: 2%;
	max-width: 200px; 
}

.article {
	float: right;
	margin-left: 10px;
	width: calc(100% - 220px);
}

.footer {
	background-color: #d51b40;
	box-shadow: 0 -6px 6px 2px white;
	color: white;
	font-size: 0.95em;
	height: 125px;
	padding: 12px 0;
	position: fixed;
	bottom: 40px;
	width: 100%;
	z-index: 1;
}
.footer a {
	color: white;
	text-decoration: none;
}
.footer address { font-style: normal; }
.footer table { width: 100%; }
.footer th {
	font-weight: normal;
	text-align: left;
}
.footer .wrapper {
	clear: both;
	overflow: auto;
}
.footer dl {
	float: left;
	margin: 0;
	margin-left: 1%;
	width: 25%;
}
.footer dl:first-child { margin-left: 0; }
.footer dt {
	font-weight: bold;
	padding: 2px 0 6px 0;
	text-transform: uppercase;
}
.footer dd { margin: 0; }
.footer dl.address, .footer dl.contact { width: 21.5%; }
.footer dl.contact { width: 22%; }
.footer dl.routenplaner { 
	margin-right: 1%;
	width: 26.2%; 
}
.footer dl.routenplaner img { 
	box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.5); 
	max-width: 262px;
}
.footer dl.oeffnungszeiten { width: 26.3%; }
.copyright {
	background-color: white;
	color: #666;
	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
	font-size: 10px;
	height: 60px;
	padding-top: 5px;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 1;
}
.copyright a {
	color: #666;
	text-decoration: none;
}

a.button {
	background: #e41d3c;
	color: white;
	display: inline-block;
	height: 30px;
	line-height: 30px;
	padding: 0 10px;
	text-decoration: none;
	text-transform: uppercase;
}
a.button:hover { background: #697375; }
.article a.button.next:after { content: ' ›'; }
.article a.button.prev:before { content: '‹ '; }

/* CONTENT */
.article {
	line-height: 160%;
	text-align: justify;
}
.article h1 {
	margin-bottom: 1em;
	margin-top: 0;
	text-transform: uppercase;
}
.article ul { list-style: square; }
.article blockquote {
	border: 1px solid #013A71;
	margin: 1em 0;
	padding: 0.5em;
	text-align: center;
}
.article blockquote span {
	display: block;
	font-size: 1.143em;
	font-style: italic;
	margin-top: 0.25em;
}

/* Media Queries */
@media screen and (max-width: 860px) {
	.main { margin-bottom: 30px; }
	.footer, .copyright { position: static; }
	.footer { 
		clear: both;
		height: auto;
		overflow: auto;
	}
	.footer > .wrapper > * { 
		min-height: 90px;
		width: 49.5%!important;
	}
	.footer > .wrapper > *:nth-child(3), .footer > .wrapper > *:nth-child(4) { margin-top: 1%; }
	.footer > .wrapper > *:nth-child(3) { margin-left: 0!important; margin-right: 0!important; }
	.footer dl.routenplaner img { width: 95%; }
} 
@media screen and (max-width: 760px) {
	.header { 
		box-shadow: 0px 3px 12px 4px rgba(0,0,0,0.2); -webkit-box-shadow: 0px 3px 12px 4px rgba(0,0,0,0.2); -moz-box-shadow: 0px 3px 12px 4px rgba(0,0,0,0.2);
		top: -20px; left: 0; right: 0; z-index: 3;
	}
	.header .wrapper:before { display: block; }
	#showmobilemenu { display: inline-block; }
	
	.nav_main {
		background: #FFF;
		height: calc(100vh - 100px);
		overflow-y: auto; overflow-x: hidden;
		padding: 0;
		position: fixed; left: -760px; top: 100px; z-index: 3;
		transition: left 1s ease-in-out; -webkit-transition: left 1s ease-in-out; -moz-transition: left 1s ease-in-out; -o-transition: left 1s ease-in-out;
		text-align: center;
		width: 100%;
	}
	body.mobilemenu .nav_main { left: 0; }
	body.showmobilemenu .article, body.showmobilemenu .footer, body.showmobilemenu .copyright { display: none; }
	.nav_main ul { padding: 0 2em; }
	.nav_main li li { margin-left: 0; }
	
	#fblink { display: none; }
	#fblink-mobile { display: block; }
	
	.article {
		float: none;
		margin-left: 0;
		width: 100%;
	}
}

@media screen and (max-width: 550px) {
	.footer > .wrapper > * { 
		margin-left: 0; margin-top: 1.5%!important;
		width: 100%!important;
	}
	.footer > .wrapper > *:first-child { margin-top: 0!important; }
	.footer > .wrapper > * > * {
		margin: 0 auto;
		max-width: 270px;
	}
	
	#fblink-mobile, .copyright { text-align: center; }
}

@media screen and (max-width: 525px) {
	.header .logo { position: absolute; right: 14px; z-index: 1; }
}

@media screen and (max-width: 440px) {
	.header, .header .wrapper:before { background: #fefefe; }
	.header .logo { display: none; }
	.header .logo.mobile { display: inline-block; }
	.header .logo.mobile {
		top: 50%; left: 88px;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 380px) {
	.header .logo.mobile { 
		transform: translateY(-45%);
	}
	.header .logo img { width: 98%; }
}

/* ==|== print styles ======================================================= */

@media print {
	* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
	a, a:visited { text-decoration: underline; }
	a[href]:after { content: " [" attr(href) "]"; }
	abbr[title]:after { content: " [" attr(title) "]"; }
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	thead { display: table-header-group; }
	tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
	@page { margin: 1.5cm; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }
	/* custom print styles */
	.header,  .aside, .footer, .copyright { display: none; }
	.main { background: none; box-shadow: none; margin: 0; }
	.article  { float: none; font-size: 16pt; padding: 0; width: 100%; }
	.slidebox dd { display: block!important; }
}