@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	src: url("xtras/fonts/Montserrat-Regular.ttf") format('truetype');
}
@font-face {
	font-family: "Montserrat";
	font-style: italic;
	font-weight: 400;
	src: url("xtras/fonts/Montserrat-Italic.ttf") format('truetype');
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700;
	src: url("xtras/fonts/Montserrat-Bold.ttf") format('truetype');
}
@font-face {
	font-family: "Montserrat";
	font-style: italic;
	font-weight: 700;
	src: url("xtras/fonts/Montserrat-BoldItalic.ttf") format('truetype');
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 300;
	src: url("xtras/fonts/OpenSans-Light.ttf") format('truetype');
}
@font-face {
	font-family: "Open Sans";
	font-style: italic;
	font-weight: 300;
	src: url("xtras/fonts/OpenSans-LightItalic.ttf") format('truetype');
}
@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 600;
	src: url("xtras/fonts/OpenSans-SemiBold.ttf") format('truetype');
}
@font-face {
	font-family: "Open Sans";
	font-style: italic;
	font-weight: 600;
	src: url("xtras/fonts/OpenSans-SemiBoldItalic.ttf") format('truetype');
}

body { background: #fff; font: normal 16px/22px 'Open Sans',sans-serif; }
strong { font-weight: bold; }
p { margin: 15px 0; }
a { color: #a50000; }

@media (max-width: 800px) {
	body { font: normal 14px/18px 'Open Sans',sans-serif; }
}

/* tables */
table { margin: 15px 0; }
th,
td { vertical-align: top; padding-right: 30px; background: url(images/table-border.png) no-repeat 0 bottom; padding: 3px 30px 3px 0; }
th:last-child,
td:last-child { padding-right: 0; }
th { text-align: left; }
thead th { font-weight: bold; }

@media (max-width: 800px) {
	th:first-child { width: 100px; }
}

/* forms */
label { display: block; margin: 15px 0 5px; }
input[type=text],
textarea { font: normal 16px/22px 'Open Sans',sans-serif; background: #fff; border: 2px solid #e5e5e5; padding: 5px 10px; box-sizing: border-box; width: 100%; }
textarea { height: 200px; }
select,
option { font: bold 16px/22px 'Open Sans',sans-serif; background: #fff; border: 2px solid #e5e5e5; padding: 5px 10px; }
select { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,f1f1f1+100 */ background: rgb(255,255,255); /* Old browsers */ background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(241,241,241,1) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f1f1f1',GradientType=0 ); /* IE6-9 */ }
select { display: block; width: 100%; }
label.error { font-weight: bold; color: #c60602; }
input[type=text].error { border: 2px solid #c60602; }

/* default areas */
header { position: relative; text-align: center; box-sizing: border-box; }
header #logo { display: inline-block; margin: 40px 0; }
header #logo img { width: 220px; }
header nav { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 10px; box-sizing: border-box; }
header nav > ul::after { display: block; content: ""; clear: both; }
header nav ul { width: 100%; }
header nav li { height: 43px; float: left; position: relative; box-sizing: border-box; }
header nav li a { display: inline-block; font: normal 12px/43px 'Montserrat',sans-serif; text-transform: uppercase; color: #000; text-decoration: none; }
header nav li a.active,
header nav li a:hover { color: #a50000; }
header nav > a { display: none; }
header nav li.has-hover-menu:hover { border: 2px solid #f3f3f3; border-bottom: none; top: -2px; }
header nav li.has-hover-menu:hover > a { pointer-events: none; }

/* Hover navigation box */
.hover-menu-box, .hover-menu-box * { box-sizing: border-box; }
.hover-menu-box { width: calc(100% + 4px); top: 100%; left: -2px; display: none; flex-direction: column; background: white; border: 2px solid #f3f3f3; border-top: none; z-index: 1000; }
.hover-menu-box li { border-top: 2px dotted #f3f3f3; }
*:hover > .hover-menu-box, .hover-menu-box:hover { display: flex; position: absolute; }

@media (max-width: 800px) {
	header { margin: 0 0 10px 0; }
	header nav { padding: 0; }
	header nav ul { box-sizing: border-box; background: #fff; padding: 0 10px; display: none; }
	header nav li { float: none; width: auto !important; border-bottom: 1px solid #a50000; }
	header nav > a { display: block; font: normal 12px/43px 'Montserrat',sans-serif; text-transform: uppercase; border: 10px solid #fff; color: #fff; text-decoration: none; border-top: 0; border-bottom: 0; padding: 0 15px; text-align: left; background: #a50000 url(images/mobile_navigation.png) no-repeat right bottom; }
	header nav.open > a { background-position: right top; }
	header nav.open > ul { display: block; }

	header nav li { height: auto; }
	header nav li.has-hover-menu:hover { border-bottom: 2px solid #f3f3f3; }
	*:hover > .hover-menu-box, .hover-menu-box:hover { border: 0; display: block; position: static; }
	.hover-menu-box li { border-bottom: none; }
}

.display-desktop { display: block; }
.display-mobile { display: none; }
@media (max-width: 800px) {
	.display-desktop { display: none; }
	.display-mobile { display: block; }
}

.main { width: 100%; max-width: 1200px; padding: 0 10px; box-sizing: border-box; margin: 10px auto 40px; }
@media (max-width: 800px) {
	.main { margin: 0 auto; padding: 0; }
}

footer { background: #f5f5f5; border-bottom: 6px solid #a50000; padding: 50px 0 40px; }
footer address { width: 100%; max-width: 1180px; margin: 0 auto; color: #595959; font: normal 20px/20px 'Montserrat',sans-serif; text-transform: uppercase; text-align: center; }
footer address a { color: #595959; text-decoration: none; }
footer nav { width: 100%; max-width: 1180px; margin: 5px auto; text-align: center; }
footer nav li { display: inline-block; border-left: 1px solid #595959; }
footer nav li:first-child { border: 0; }
footer nav a { display: block; padding: 0 5px; color: #595959; font: normal 12px/12px 'Montserrat',sans-serif; text-transform: uppercase; text-decoration: none; }
footer nav a:hover { color: #c60602; }


/* --- Allgemeingültige Komponenten --- */

/* openable */
.openable { background: url(images/chevron-right.png) no-repeat left 0; padding-left: 30px; cursor: pointer; }
.openable-open { background: url(images/chevron-down.png) no-repeat left 5px; }

/* alerts */
.alert { padding: 15px 20px 15px 50px; }
.alert-success { border: 2px solid #6EC939; background: rgba(110,201,57,.1) url(images/icon_tick.png) no-repeat 20px 19px; }
.alert-error { border: 2px solid #c60602; background: rgba(198,6,2,.1) url(images/icon_cross.png) no-repeat 20px 19px; }

/* rows */
.row { margin: 0 0 30px 0; }
.row-small { margin: 15px 0; }

@media (max-width: 800px) {
	.row { margin: 0; }
}

/* columns */
.columns { clear: left; overflow: auto; }
.columns .column-1-2 { float: left; width: 49%; margin-right: 2%; }
.columns .column-2-2 { float: left; width: 49%; }
.columns .column-1-4 { float: left; width: 24%; margin-right: 2%; }
.columns .column-234-4 { float: left; width: 74%; }
.columns .column-123-4 { float: left; width: 74%; margin-right: 2%; }
.columns .column-4-4 { float: left; width: 24%; }
.columns .column-12-3 { float: left; width: 62%; margin-right: 5%; }
.columns .column-1-3 { float: left; width: 32%; }
.columns .column-2-3 { float: left; width: 37%; }
.columns .column-3-3 { float: left; width: 30%; }

@media (max-width: 800px) {
	.columns .column-1-2 { float: none; width: auto; margin-right: 0; }
	.columns .column-2-2 { float: none; width: auto; }
	.columns .column-1-4 { float: none; width: auto; margin-right: 0; }
	.columns .column-234-4 { float: none; width: auto; }
	.columns .column-123-4 { float: none; width: auto; margin-right: 0; }
	.columns .column-4-4 { float: none; width: auto; }
	.columns .column-12-3 { float: none; width: auto; margin-right: 0; }
	.columns .column-1-3 { float: none; width: auto; }
	.columns .column-2-3 { float: none; width: auto; }
	.columns .column-3-3 { float: none; width: auto; }
}

/* boxes */
.box { position: relative; background-size: cover; box-sizing: border-box; overflow: auto; }
.box-with-gradient { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f1f1f1+0,f1f1f1+100&1+0,0+100 */ background: -moz-linear-gradient(45deg,  rgba(241,241,241,1) 0%, rgba(241,241,241,0) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(45deg,  rgba(241,241,241,1) 0%,rgba(241,241,241,0) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(45deg,  rgba(241,241,241,1) 0%,rgba(241,241,241,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1f1f1', endColorstr='#00f1f1f1',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */ }
.box-with-border { border-bottom: 2px solid #a50000; }
.box-with-small-padding { padding: 10px 10px; }
.box-with-padding { padding: 20px 50px; }
.box-with-big-padding { padding: 50px; }
.box-with-height { min-height: 292px; }
.box_button { position: absolute; bottom: 0; right: 0; }
.box_visual { position: relative; float: left; margin-right: 20px; }
.box_visual img { vertical-align: bottom; }
.box_overlay { position: absolute; top: 0; right: 0; z-index: 999; }
.box-with-layer::before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,.5); }
.box-with-layer .box_layer { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0.75+100 */ background: -moz-linear-gradient(45deg,  rgba(255,255,255,1) 0%, rgba(255,255,255,0.75) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(45deg,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.75) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(45deg,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.75) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#bfffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */ }
.box-with-layer .box_layer { position: relative; margin: 0 0 40px -50px; padding: 10px 50px; }
.box table { margin: 15px 0 40px; }
.__ministry-home-page-teaser .box_layer { padding: 10px 30px; }

#page_startseite .box_visual { width: 35%; }
#page_startseite .box_visual img.visual { width: 100%; }

#page_angebote #content .box_visual { width: 49%; margin-right: 3%; }
#page_angebote #content .box_visual img.visual { width: 100%; }
#page_angebote #content .box_content { float: right; width: 48%;  }

@media (max-width: 800px) {
	.box { min-height: auto !important; }
	.box-with-height { min-height: initial; }
	.box-with-padding { padding: 20px !important; }
	.box-with-big-padding { padding: 20px; }
	.box_visual { position: relative; float: none; margin-right: 0; }
	.box_button { position: relative; top: auto; left: auto; }
	.box_visual { width: auto; }
	.box_visual img.box_overlay { width: 30%; }
	.box-with-layer.box-with-padding { padding: 0 0 25px 0; }
	.box-with-layer .box_layer { margin-left: 0; padding: 20px 25px 70px 25px; }
	.box-with-layer .box_button { margin: -70px 25px 0; }

	#page_startseite .box_visual { width: auto; }
	#page_startseite .box_visual img { width: 100%; }

	#page_angebote #content .box_visual { width: auto; }
	#page_angebote #content .box_visual img.visual { width: 100%; }
	#page_angebote #content .box_content { float: none; width: auto;  }
}

/* buttons */
a.button { display: inline-block; font: normal 12px/45px 'Montserrat',sans-serif; color: #fff; padding: 0 20px; background: #a50000; text-decoration: none; text-transform: uppercase; }
a.button::before { display: inline-block; content: ""; margin: 0 10px 0 0; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 5px; border-color: transparent transparent transparent #fff; }
a.button:hover { background: #c60602; }
a.button.button-light { background: #cdcdcd; }
a.text { text-transform: uppercase; color: inherit; text-decoration: none; }
a.text::before { display: inline-block; content: ""; margin: 0 10px 0 0; width: 0; height: 0; border-style: solid; border-width: 5px 0 5px 5px; border-color: transparent transparent transparent #000; }
a.text:hover { color: #c60602; }

@media (max-width: 800px) {
	a.button { display: block; text-align: center; }
}

/* headlines */
.h1 { color: #a50000; font: normal 26px/32px 'Montserrat',sans-serif; text-transform: uppercase; margin: 15px 0; }
.h2 { color: #a50000; font: normal 20px/24px 'Montserrat',sans-serif; text-transform: uppercase; margin: 15px 0; }
.h3 { color: #595959; font: normal 20px/24px 'Montserrat',sans-serif; text-transform: uppercase; margin: 15px 0; }
.h4 { color: #595959; font: normal 16px/20px 'Montserrat',sans-serif; text-transform: uppercase; margin: 15px 0; }
.h5 { color: #a7a7a7; font: normal 16px/20px 'Montserrat',sans-serif; text-transform: uppercase; margin: 15px 0; }
.h6 { color: #000000; font: normal 11px/13px 'Montserrat',sans-serif; text-transform: uppercase; margin: 0; }
.h7 { color: #a7a7a7; font: normal 11px/13px 'Montserrat',sans-serif; text-transform: uppercase; margin: 10px 0 0; }
.h1 div,
.h2 div,
.h3 div,
.h4 div,
.h5 div,
.h6 div,
.h7 div { margin: 0; }

@media (max-width: 800px) {
	.h1 { font: normal 22px/28px 'Montserrat',sans-serif; }
}

/* billboard */
.swiper-pagination-bullet { width: 10px; height: 10px; background: #fff; opacity: 1; }
.swiper-pagination-bullet-active { background: #a50000; }
.swiper-button-prev,
.swiper-button-next { width: 54px; height: 78px; margin-top: -39px;  }
.swiper-button-prev { left: 0; background: url(images/slider_arrows.png) no-repeat left 0; }
.swiper-button-next { right: 0; background: url(images/slider_arrows.png) no-repeat right 0; }
.swiper-slide .box { position: absolute; margin-left: -240px; width: 480px; bottom: 0; left: 50%; padding: 0 15px; box-shadow: 0 3px 8px 0 rgba(0,0,0,.25); background: rgba(255,255,255,.8); }
.swiper-slide .box .h1 { font-size: 26px; line-height: 26px; margin: 10px 0 5px; }
.swiper-slide .box .h4 { margin: 4px 0 0 0; }
.swiper-slide .box p { margin: 5px 0; }
.swiper-container-horizontal>.swiper-pagination-bullets { top: 10px; bottom: auto; }

@media (max-width: 800px) {
	.swiper-slide .box { position: relative; margin: 0 10px; width: auto; bottom: auto; left: auto; padding: 0 15px; box-shadow: 0 0 4px 0 rgba(0,0,0,.5); }
	.swiper-slide .box .h1 { font-size: 16px; line-height: 16px; margin-bottom: 0; }
	.swiper-slide .box .h4 { font-size: 11px; line-height: 14px; }
	.swiper-slide .box p { margin: 10px 0; }
}

/* contact box */
.contactbox { position: relative; margin: 20px 0; }
.contactbox .h3 { float: right; width: calc(100% - 90px); }
.contactbox img { width: 78px; height: 78px; border-radius: 50%; }
.contactbox::after { display: block; content: ""; position: absolute; top: 0; left: 0; width: 78px; height: 78px; border-radius: 50%; box-shadow: inset 0 0 20px 0 rgba(0,0,0,.5); }
.contactbox .h5 a { text-decoration: none; color: #a7a7a7; }

/* --- Abweichungen für spezielle Bereiche --- */

#sidebar { margin-top: -25px; }

/* Abstände nach oben in der Sidebar */
#sidebar .h3 { margin-top: 50px; }
@media (max-width: 800px) {
	#sidebar { padding: 0 20px 30px; }
}

/* Kleine Abweichungen für das Sidebar-Modul */
.module-lastseen .box_visual { margin-right: 8px; }
@media (max-width: 800px) {
	.module-lastseen { display: none; }
}

/* Definition des Störers in der Angebots_liste */
.module-list-pause { border-top: 2px solid #cdcdcd; border-bottom: 2px solid #cdcdcd; }
.module-list-pause .h2 { text-align: center; }

/* Definition der Angebots-Übersichts-Box */
@media (min-width: 801px) {
	.module-offer-box h2 { margin-top: 0; }
}

/* Definition der Headlines in Markdown-Feldern */
.markdown h1 /* ==.h1 */ { color: #a50000; font: normal 26px/32px 'Montserrat',sans-serif; text-transform: uppercase; margin: 25px 0 15px; }
.markdown h2 /* ==.h2 */ { color: #a50000; font: normal 20px/24px 'Montserrat',sans-serif; text-transform: uppercase; margin: 25px 0 15px; }
.markdown h3 /* ==.h3 */ { color: #595959; font: normal 20px/24px 'Montserrat',sans-serif; text-transform: uppercase; margin: 25px 0 15px; }
.markdown h4 /* ==.h4 */ { color: #595959; font: normal 16px/20px 'Montserrat',sans-serif; text-transform: uppercase; margin: 25px 0 15px; }
.markdown h5 /* ==.h5 */ { color: #a7a7a7; font: normal 16px/20px 'Montserrat',sans-serif; text-transform: uppercase; margin: 25px 0 15px; }
.markdown h6 /* ==.h6 */ { color: #000000; font: normal 11px/13px 'Montserrat',sans-serif; text-transform: uppercase; margin: 0; }
.markdown ul { list-style: disc; margin: 0 0 0 20px; }
.markdown ol { list-style: decimal; margin: 0 0 0 20px; }
.markdown dl { overflow: auto; margin: 15px 0; }
.markdown dl dt { width: 50%; float: left; clear: both; }
.markdown dl dd { width: 50%; display: inline-block; float: left; }
.markdown table { margin: 15px 0; }

@media (max-width: 800px) {
	#content > .markdown { padding: 0 20px; }
	.markdown h1 /* ==.h1 */ { font: normal 22px/28px 'Montserrat',sans-serif; }
}

/* Slideshow Startseite 34.75% */
#slideshow_resize-container { position: relative; width: 100%; max-width: 1180px; margin: 0 0 30px 0; }
#slideshow_resize-container:before { content: ""; display: block; padding-top: 34.75%; }
#slideshow_home.swiper-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  max-width: 1180px; padding: 0; box-sizing: border-box; }
#slideshow_home.swiper-container .swiper-slide img { width: 100%; }

@media (max-width: 800px) {
	#slideshow_home.swiper-container { position: relative; }
	#slideshow_resize-container { position: static; }
	#slideshow_resize-container:before { padding-top: 0; }
	#slideshow_home.swiper-container { height: auto; padding: 10px 0 0 0; margin: 0; }
	#slideshow_home .swiper-pagination { display: none; }
	#slideshow_home .swiper-button-prev { top: auto; bottom: 10%; left: 10px; }
	#slideshow_home .swiper-button-next { top: auto; bottom: 10%; right: 10px; }
	#slideshow_home.swiper-container .swiper-slide img { padding: 0 10px; box-sizing: border-box; width: 100%; }
}

/* Slideshow Angebotsseite */
#slideshow_offer.swiper-container { width: 100%; eight: 510px; margin: 25px 0 0; }
#slideshow_offer.swiper-container .swiper-slide img { width: 100%; }
#slideshow_offer_thumbs { overflow: hidden; margin: 0 0 25px 0; width: 103%; }
#slideshow_offer_thumbs img { opacity: .5; float: left; margin: 8px 8px 0 0; cursor: pointer; }
#slideshow_offer_thumbs img.active { opacity: 1; }
#slideshow_offer_print_big { display: none; }
#slideshow_offer_print_big img { width: 100%; }
#slideshow_offer_print_small { display: none; }
#slideshow_offer_print_small img { width: 47%; }

@media (max-width: 800px) {
	#slideshow_offer_thumbs img { width: 22.2%; }
	#slideshow_offer img.box_overlay { width: 30%; }
}

/* Expose Download buttons */
#expose p:first-child { float: right; }

@media (max-width: 800px) {
	#expose p:first-child { float: none; }
}
