@charset "utf-8";

/* ==|==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 {
	background: #404040 url(/grafik/template/body_bg.png) repeat-x left top; /* #404040 */
	margin: 0;
	font-size: 16px;
	line-height: 1.231;
}
body, button, input, select, textarea {
	font-family: Tahoma, Geneva, sans-serif;
	color: #333;
}

::selection { background: #000; background: rgba(0, 0, 0, 0.75); color: #FFF; text-shadow: none; }

/* ==|==Links=================================================================== */

a { color: #004a9a; }
a[href^="mailto"] { font-weight: normal; }
a[href^="http"] { text-decoration: underline; }
a:hover { color: #2448a0; }
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 #d5d5d5; 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-family: Arial, Helvetica, sans-serif; font-weight: normal;
	line-height: 110%;
	margin-bottom: 0.35em;
}
h1 {
	font-size: 1.875em;
	text-align: left;
}
h2 { font-size: 1.125em; }
h3 {
	font-size: 1em;
	font-weight: bold;
}
h2 a, h3 a {
	color: black;
	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; }
.visible-mobile { display: none; }
.clear { 
	content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px; 
}

/* 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 */
.wrapper {
	margin: 0 auto;
	width: 960px;
}

#container {
	background: #f7f7f7;
	position: relative; top: 101px;
}

#main {
	background: white;
	box-shadow: 0 0 12px rgba(0,0,0,0.5);
	min-height: 640px;
	padding-bottom: 20px;
	position: relative; top: -50px;
}
#divpopup {
	margin-left: -460px;
	position: absolute; top: 19px; left: 50%; z-index: 99999;
}
#nav {
	font-family: Arial, Helvetica, sans-serif;
	overflow: hidden;
	position: absolute; top: 0; right: 50px;
	height: 75px;
	z-index: 999;
}
#nav li {
	border-left: 1px solid #ccc;
	float: left;
	line-height: 75px;
	padding: 0 15px;
}
#nav li:first-child { border-left: none; }
#nav a { color: #404040; font-size: 1.125em; font-weight: bold; letter-spacing: -1px; text-decoration: none; text-transform: uppercase; }
#nav li:hover a, #nav li.active a { border-bottom: 2px solid #004a9a; }
#aside {
	padding: 150px 20px 20px 0;
	position: absolute;
	width: 255px;
}
#logo {
	background: url(/grafik/template/logo.png) no-repeat left top;
	position: absolute; top: -25px; left: -25px;
	text-indent: -9999em;
	width: 300px; height: 155px;
}
#aside a, #contact-mobile a {
	color: black;
	text-decoration: none;
}
#aside .vcard { font-style: normal; }
#aside .vcard .marginleft { margin-left: 20px; }
#aside .vcard ul, #contact-mobile ul {
	list-style: none;
	padding: 0;
}
#aside .vcard li, #contact-mobile li {
	border-bottom: 1px solid #d5d5d5;
	line-height: 50px;
	padding-left: 20px;
	height: 50px;
}
#aside .vcard li:first-child, #contact-mobile li:first-child { border-top: 1px solid #d5d5d5; }
#aside .vcard li, #contact-mobile li {
	background-image: url(/grafik/template/icons_vcard.png);
	background-repeat: no-repeat;
	background-position: right 0;
}
#aside .vcard li.email, #contact-mobile li.email { background-position: right -50px; }
#aside .vcard li.routenplaner, #contact-mobile li.routenplaner { background-position: right -100px; }
#aside .vcard li.issuu, #contact-mobile li.issuu {
	background: none;
	position: relative;
}
#aside .vcard li.issuu .icon, #contact-mobile li.issuu .icon {
	position: absolute;
	right: 0;
	top: 0;
}
#aside .vcard li.issuu .icon img, #contact-mobile li.issuu .icon img {
	width: 20px;
	height: auto;
	margin-right: 13px;
}
#aside .vcard li.fax, #contact-mobile li.fax { background-position: right -150px; }
#aside .vcard li.oeffnungszeiten, #contact-mobile li.oeffnungszeiten { background-position: right -200px; }
#aside .vcard li a, #contact-mobile li a { display: block; }

/*#aside .oeffnungszeiten { font-size: 0.9em; margin-top: 1em; line-height: 120%; padding-left: 20px; }*/

#article {
	margin: 0 50px 0 310px;
	padding-top: 75px;
	width: 600px;
}
#article .logos {
	width: 100%;
}
#article .logos img {
	border: 1px solid #d5d5d5;
	margin: 5px 2px 5px 2px;
	padding: 10px;
	width: 94px;
	height: auto;
}
#footer {
	background: #404040;
	overflow: auto;
	padding-bottom: 2em;
	position: relative; top: 50px;
}
#footer nav {
	color: white; font-family: Arial, Helvetica, sans-serif; font-size: 0.625em;
	margin: 0.5em 0 1em 0;
}
#footer nav span { color: #5c5c5c; }
#footer nav a { color: white; text-decoration: none; }
#footer nav a:hover { text-decoration: underline; }

a.button {
	background: #c00;
	color: white;
	display: inline-block;
	height: 30px;
	line-height: 30px;
	padding: 0 10px;
	text-decoration: none;
}
a.button:hover { background: #1e1e1e; }
#article a.button.next:after { content: ' ›'; }
#article a.button.prev:before { content: '‹ '; }

/* CONTENT */
#article {
	line-height: 140%;
	text-align: justify;
}
#article .table {
	margin: 1em 0;
	width: 100%;
}
#article .table tr {
	border-bottom: 1px solid #999;
}
#article .table td {
	padding: 2px 4px;
	text-align: right;
}
#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;
}
#article figure {
	float: right;
	margin: 0 0 1em 1em;
}
#article figure img { margin: 2px 0; }


/*DIV POPUP*/
#divcontainer {
	background-color: rgb(0,0,0);
	background-color: rgba(0,0,0,0.75);
	color: #FFF;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 1000;
}
.textpopup #divpopup {
	background: #fff;
	color: #333;
	text-align: center;
	padding: 1em;
	max-height: 100px;
	width: 85%;
	max-width: 420px;
	top: 40%;
	transform: translateY(-50%);
}
@media screen and (min-width: 400px) {
	.textpopup #divpopup { max-height: 70px; }
}
.textpopup #divpopup .text-title {
	font-size: 1.25em;
	margin-bottom: 0.75em;
	font-weight: bold
}
.textpopup #divpopup .button {
	background: #2e4d9d;
	font-weight: bold;
}
#divpopup {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 10%;
	margin-left: 0;
	margin: 0 auto;
	height: auto; max-height: 480px;
	width: 90%; max-width: 853px;
	z-index: 1100;
}
#divcontainer.imgpopup #divpopup {
	background: #FFF;
	box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
	max-height: none; height: auto;
	padding: 1em;
	top: 50%; left: 50%; right: auto; bottom: auto;
	transform: translate(-50%, -50%);
	width: 90%; max-width: 300px;
}
#divcontainer.imgpopup #divpopup img {
	height: auto;
	width: 100%;
}
#divpopup iframe { width: 100%; max-width: 853px; max-height: 480px; height: 49.5vw; } 
#divpopup .close {
	background-color: #000;
	float: right;
	height: 25px; width: 25px;
	text-align: center;
}
#divpopup a.close {
	color: #FFF;
	display: block;
	font-size: 16px;
	line-height: 24px;
	text-decoration: none;
}
#divpopup .close:hover { background-color: #2E4D9D; }
#divpopup .new {
	background-color: #2E4D9D;
	box-shadow: 4px 4px 8px rgba(0,0,0,0.5);
	font-size: 40px;
	left: -6px;
	padding: 12px;
	position: absolute;
	text-transform: uppercase;
	text-align: center;
	top: 18px;
	width: 100px;
	z-index: 3000; 
}
#divcontainer.imgpopup #divpopup .new { display: none; }
/* ==|== mobile styles ====================================================== */

@media screen and (max-width: 980px) {
	.visible-mobile { display: block; }
	.wrapper { width: auto; }
	img { width: 100%; height: auto; vertical-align: middle; border: 0; }
	#container, #main { top: 0; }
	#aside { display: none; }
	#article, #contact-mobile {
		width: auto;
		max-width: 600px;
		margin: 0 auto;
		padding: 20px;
	}
	#footer {
		padding: 20px;
		margin: 0 auto;
	}
	#nav {
		display: none;
		position: relative;
		height: auto;
		left: auto;
		width: 100%;
		right: auto;
	}
	#nav ul li {
		padding: 0;
		margin: 0;
		line-height: 60px;
		float: none;
		display: block;
		border-bottom: 1px solid #ccc;
		background-color: #eee;
	}
	#nav li a {
		text-align: center;
		display: block;
		width: 100%;
	}
	#nav li:hover a, #nav li.active a { background-color: #ddd; border: none; } 
	#logo-mobile { 
		display: inline-block;
		width: 50%;
	}
	#logo-mobile a {
		color: #fff;
		text-decoration: none;
		display: inline-block;
		line-height: 60px;
		height: 60px;
	}
	#logo-mobile img {
		margin-left: 23px;
		height: 50px;
		width: 215px;
	}
	#navbar {
		position: relative;
		background-color: #2448a0;
		height: 60px;
		border-bottom: 2px solid #2448a0; 
	}
	#navbar-toggle {
		position: relative;
		float: right;
		background: transparent;
		border: none;
		cursor: pointer;
		padding: 23px;
		outline: 0;
	}
	#navbar-toggle .icon-bar {
		display: block;
		width: 22px;
		height: 2px;
		border-radius: 1px;
		background-color: #fff;
	}
	#navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; }
	#navbar-toggle .top-bar { transform: rotate(0deg); }
	#navbar-toggle .middle-bar { opacity: 1; }
	#navbar-toggle .bottom-bar { transform: rotate(0deg); }
	#navbar-toggle .icon-bar { width: 22px; transition: all 0.2s; }
	#navbar-toggle.expanded .top-bar { transform: rotate(45deg); transform-origin: 10% 10%; }
	#navbar-toggle.expanded .middle-bar { opacity: 0; }
	#navbar-toggle.expanded .bottom-bar { transform: rotate(-45deg); transform-origin: 10% 90%; }
	#contact-mobile .address {
		text-align: center;
		line-height: 24px;
		background-color: #eee;
		padding:40px;
	}
	#article .logos {
		text-align: center;
	}
}

/* ==|== 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; }
}