body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}

/* Farben: Schrift: #222, Blau #254e9c, Mittelblau #b2cce5, Hellblau #eef3fa */

* {
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}

html {
	height:100%;
	background-color:#efefef;
}

body {
    position:relative;
    margin:0;
    padding:0;
    color:#000;
	font-family: 'Raleway', sans-serif;
	font-size:18px;
	font-weight:300;
	line-height:1.5em;
	background-color:#efefef;
}
body #main {
	line-height:1.6em;
}



/* ##### Layout ##### */

#headerbild .inside {
	width:100%;
}
#headerbild img {
	display:block;
	width:100%;
	height:auto;
}
#logo {
	position:relative;
	width:440px;
	margin:0 auto;
	margin-bottom:40px;
	z-index:99;
}
#logo img {
	width:100%;
	height:auto;
}
#logo img,
#logo a {
	display:block;
}

#header {
    position:relative;
	margin-left:-70px;
	margin-right:-70px;
	padding-bottom:15px;
	background-color:#fff;
	background:url('../../files/theme/images/layout/bg_navigation.png') left bottom no-repeat;
}

#header .ce_image img {
	display:block;
}

#header .mod_article {
    clear:both;
}

#wrapper {
    position:relative;
	width:1400px;
	margin:0 auto;
	margin-bottom:-40px;
	padding:60px 60px 80px 60px;
	background-color:#fff;
	z-index:9;
	box-shadow:0px 14px 24px 3px rgba(0,0,0,0.15);
	-webkit-box-shadow:0px 14px 24px 3px rgba(0,0,0,0.15);
	-moz-box-shadow:0px 14px 24px 3px rgba(0,0,0,0.15);
}
#main {
	padding-top:60px;
}

#footer {
	position:relative;
	width:100%;
	background-color:#003060;
	z-index:5;
}
#footer .inside {
	width:1400px;
	margin:0 auto;
	padding:60px 60px 40px 60px;
}
#footer h4,
#footer p,
#footer a {
	color:#fff;
}
#footer h4 {
	margin-bottom:16px;
}
#footer p {
	font-size:0.9em;
	margin-bottom:0;
}
#footer .ce_text:nth-of-type(1) {
	width:500px;
	padding-right:60px;
	float:left;
}
#footer .ce_text:nth-of-type(2) {
	width:340px;
	padding-right:80px;
	float:left;
}
#footer .ce_text:nth-of-type(3) {
	width:140px;
	padding-right:0;
	float:left;
}
#footer .copyright {
	width:100%;
	margin-top:30px;
	padding-top:8px;
	clear:both;
	text-align:center;
	border-top:1px solid rgba(255,255,255,0.3);
}
#footer a {
	color:#fff;
	font-weight:300;
	text-decoration:none;
	border-bottom:1px solid #003060;
	transition:all 0.3s ease;
}
#footer a:hover,
#footer a:focus,
#footer a:active {
	color:#fff;
	font-weight:300;
	text-decoration:none;
	border-bottom:1px solid #fff;
}


/* ##### Header Telefon & E-Mail ##### */

#first_contact .inside {
	position:relative;
	width:1400px;
	margin:0 auto;
}
#first_contact p {
	margin-top:12px;
	text-align:right;
}
#first_contact .email {
	margin-left:12px;
}
#first_contact a[href^="tel:"],
#first_contact a[href^="tel:"]:hover,
#first_contact a[href^="tel:"]:focus,
#first_contact a[href^="tel:"]:active {
	color:#000;
	font-weight:500;
	cursor:text;
	border-bottom:none;
	text-decoration:none;
}
#first_contact .email a {
	color:#003060;
	font-weight:500;
	border-bottom:1px solid #efefef;
	text-decoration:none;
	transition:all 0.3s ease;
}
#first_contact .email a:hover,
#first_contact .email a:focus,
#first_contact .email a:active {
	color:#003060;
	border-bottom:1px solid #003060;
	text-decoration:none;
}



/* ###### Typografie ##### */

h1, h2, h3, h4 {
	font-family: 'PT Serif', sans-serif;
	font-weight:400;
}

h1 {
	margin-top:0;
    margin-bottom:24px;
	padding-top:4px;
    color:#003060;
    font-size:34px;
	line-height:1.0em;
	text-align:center;
    text-transform:uppercase;
	letter-spacing:0.03em;
}

h2 {
    margin-top:32px;
    margin-bottom:26px;
    color:#003060;
    font-size:30px;

}

h3 {
    margin-top:26px;
    margin-bottom:16px;
    color:#003060;
    font-size:25px;
}

h4 {
	font-weight:400;
	font-size:22px;
}

h5 {
	margin-bottom:12px;
	font-size:20px;
	font-weight:600;
	text-transform:uppercase;
}
h4, h5, h6 {
    margin-bottom:0;
    color:#003060;
}

.einleitung {
	font-weight:600;
	font-size:24px;
}

.center {
	text-align:center;
}

#main ul {
    list-style-type:disc;
    margin:9px 0 18px 9px;
    padding:0 0 0 28px;
}

#main ol {
    list-style-type:decimal;
    margin:9px 0 18px 9px;
    padding:0 0 0 18px;
}

#main ol li {
    margin-bottom:0;
    padding-left:18px;
    line-height:18px;
}

#main ul li {
    margin-bottom:0;
    padding-left:0;
}
.warning {
	color:#d51d00;
}



/* ##### Links ##### */

#main a {
	color:#003060;
	font-weight:500;
	text-decoration:none;
	border-bottom:1px solid #fff;
	transition:all 0.3s ease;
}
#main a:hover,
#main a:focus,
#main a:active {
	color:#003060;
	font-weight:500;
	text-decoration:none;
	border-bottom:1px solid #003060;
}
#main a[href^="tel:"],
#main a[href^="tel:"]:hover,
#main a[href^="tel:"]:focus,
#main a[href^="tel:"]:active,
#main .ansprechpartner a[href^="tel:"],
#main .ansprechpartner a[href^="tel:"]:hover,
#main .ansprechpartner a[href^="tel:"]:focus,
#main .ansprechpartner a[href^="tel:"]:active {
	color:#000;
	font-weight:300;
	cursor:text;
	border-bottom:none;
	text-decoration:none;
}
#footer a[href^="tel:"],
#footer a[href^="tel:"]:hover,
#footer a[href^="tel:"]:focus,
#footer a[href^="tel:"]:active {
	font-weight:300;
	cursor:text;
	border-bottom:none;
	text-decoration:none;
}


/* ##### Listen ##### */

#main ul li,
#main ol li {
	margin-bottom:8px;
	line-height:1.6em;
}
#main ul li:last-child,
#main ol li:last-child {
	margin-bottom:0;
}


/* ##### Icons ##### */

.adresse, .telefon, .fax, .email, .website {
	position:relative;
	padding-left:28px;
}
.adresse::before,
.telefon::before,
.fax::before,
.email::before,
.website::before {
	position:absolute;
	font-family:FontAwesome;
	font-weight:normal;
	color:#003060;
}
#footer .adresse::before,
#footer .telefon::before,
#footer .fax::before,
#footer .email::before,
#footer .website::before {
	color:#fff;
}
.adresse::before {
	top:-3px;
	left:2px;
	font-size:26px;
	content:'\f041';
}
.telefon::before {
	top:-3px;
	left:2px;
	font-size:24px;
	content:'\f095';
}
.fax::before {
	top:-3px;
	left:2px;
	content:'\f1ac';
}
.email::before {
	top:-3px;
	left:2px;
	content:'\f0e0';
}
.website::before {
	top:-2px;
	left:1px;
	font-size:20px;
	content:'\f0ac';
}



/* ##### Tabellen ##### */

table {
    border-collapse:collapse;
    border-spacing:0;
}
table th {
	font-weight:600;
	padding:3px;
}

td {
    padding:0;
}
td:first-of-type {
    padding-right:20px;
}




/* Tiefgestellte Zahlen */
sub {
	font-size:0.6em;
}

#cboxContent {
	margin-top:26px;
}
#cboxTitle {
	top:-26px;
}

#lbCaption, #lbNumber,
#mbTitle, #mbNumber {
    font-size:14px;
}

a:focus, a:active {
    outline:none;
}

.bold, b, strong {
	font-weight:600;
}

.kursiv, i, em {
	font-style:italic;
}

.small {
    font-size:0.8em;
}

.nomargin {
    margin:-9px 0 0;
}

.nowrap {
    white-space:nowrap;
}

.caption {
	padding-bottom:4px;
    font-size:14px;
	line-height:1.1em;
	color:#444;
}



/* ##### Aktuelles ##### */

.mod_newslist {
	margin-top:30px;
}
.layout_short {
	margin-top:20px;
	margin-bottom:50px;
}
.layout_short.last {
	margin-top:20px;
	margin-bottom:0;
}
.layout_short .info {
	margin-bottom:0;
	font-size:1.1em;
	font-weight:600;
	color:#99b9d8;
}
.layout_short h2:nth-of-type(1) {
	margin-top:0;
	margin-bottom:0;
	border-left:22px solid #99b9d8;
	padding-left:12px;
}
.layout_short h2:nth-of-type(2) {
	margin-top:12px;
	font-size:24px;
	color:#000;
}



/* ##### Akkordeon ##### */

.ce_accordion.ce_text {
	margin-top:0;
}
.ce_accordion .toggler {
	position:relative;
	margin-top:18px;
	padding:12px 20px;
	font-size:24px;
	font-weight:400;
	color:#000;
	background-color:#efefef;
}
.ce_accordion:first-of-type .toggler {
	margin-top:0;
}
.ce_accordion .toggler:hover {
	cursor:pointer;
}
.ce_accordion .accordion {
	padding:20px 20px 50px 20px;
}

.ce_accordion .toggler::before {
	position:absolute;
	top:12px;
	right:22px;
	font-family:FontAwesome;
	padding-left:6px;
	font-size:38px;
	font-weight:normal;
	content:'\f107';
	color:#999;
	transition:all 0.3s ease;
}
.ce_accordion .toggler.active::before {
	position:absolute;
	top:12px;
	right:22px;
	font-family:FontAwesome;
	padding-left:6px;
	font-size:38px;
	font-weight:normal;
	content:'\f106';
	color:#999;
}



/* ##### Seite Kontakt ##### */

body.home #main,
body.kontakt #main {
	padding-top:20px;
}

body.kontakt .ce_image {
	margin-bottom:60px;
}



/* ##### Seite Team ##### */

body.team h2 {
	margin-top:44px;
	margin-bottom:40px;
	padding-bottom:20px;
	text-align:center;
	border-bottom:double 3px #003060;
}

.ansprechpartner {
	margin-top:0;
	margin-bottom:30px;
	padding:0;
	background-color:#efefef;
	transition:all 0.3s ease;
}
.ansprechpartner.partner {
	margin-bottom:0;
}
.ansprechpartner h4 {
	margin-top:0;
	padding:20px 20px 0 20px;
	color:#fff;
	font-weight:600;
	background-color:#003060;
}
.ansprechpartner h4 + p {
	margin-left:0;
	margin-right:0;
	padding:4px 20px 16px 20px;
	font-weight:500;
	color:rgba(255,255,255,0.6);
	text-transform:uppercase;
	background-color:#003060;
}
.ansprechpartner p {
	margin-left:20px;
	margin-right:20px;
}
.ansprechpartner.partner p:last-of-type {
	padding-bottom:20px;
	margin-bottom:0;
	border-bottom:1px solid #ccc;
}
.ansprechpartner_box img {
	display:block;
	width:95px;
	height:auto;
	margin-right:15px;
	border:4px solid #fff;
}
#main .ansprechpartner a {
	border-bottom:1px solid #efefef;
}
#main .ansprechpartner a:hover {
	border-bottom:1px solid #003060;
}
body.team .toggler {
	font-size:18px;
	font-weight:500;
	color:#003060;
}
body.team .ce_accordion {
	background-color:#efefef;
}
body.team .ce_accordion .accordion {
	padding-top:10px;
	padding-bottom:10px;
}



/* ##### Navigation: Main ##### */

.mod_navigation {
	margin:0 auto;
	overflow:visible;
	background-color:#003060;
}
.mod_navigation ul.level_1 {
	width:100%;
	margin:0;
	padding:0;
	font-size:22px;
	font-family: 'PT Serif', sans-serif;
	font-weight:400;
	text-transform:uppercase;
	letter-spacing:0.05em;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
}

.mod_navigation ul.level_1 > li {
	position:relative;
	list-style-type:none;
}
.mod_navigation ul.level_1 > li.active strong {
	font-weight:400;
	color:#003060;
	background-color:#efefef;
}
.mod_navigation ul li a,
.mod_navigation ul li strong {
	display:block;
	padding:16px 24px;
	color:#fff;
	text-decoration:none;
	transition:all 0.3s ease-in-out;
}
.mod_navigation ul li a:hover,
.mod_navigation ul li a:focus,
.mod_navigation ul li a:active {
	text-decoration:none;
	color:#003060;
	background-color:#efefef;
}



/* ### Navigation mobile ### */

.btn_nav_mobile {
	display:none;
}

.btn_nav_mobile {
	position:relative;
	float:right;
	margin-top:6px;
	padding:0 10px 16px 24px;
}
.btn_nav_mobile:hover {
	cursor:pointer;
}
.btn_nav_mobile a {
	display:block;
	text-decoration:none;
}
.btn_nav_mobile a:after {
	position:absolute;
	top:0;
	left:9px;
	font-family:FontAwesome;
	content:'\f0c9';
	font-size:34px;
	color:#003060;
	line-height:1.2em;
}
.btn_nav_mobile ul {
	display:none;
}

.mm-panels, .mm-panel {
	background:#fff;
}
.mm-panels ul li {
	font-weight:500;
}
.mm-menu_offcanvas {
	z-index:999;
}
.mm-navbar_sticky {
	color:#fff;
	background-color:#004178;
}
.mm-navbar {
	background-color:#003060;
}
.mm-navbar__title > span {
	padding-top:4px;
	padding-bottom:4px;
	font-family:'PT Serif', sans-serif;
	font-size:22px;
	font-weight:400;
	color:#fff;
}
.mm-listitem {
	border-bottom:1px solid #dce1e5;
	transition:all 0.3s ease;
}
.mm-listitem:hover,
.mm-listitem:focus,
.mm-listitem:active,
.mm-listitem .active {
	background-color:#efefef;
}
.mm-listitem:hover .mm-btn::after {
	border-color:#004178;
}
.mm-listitem_selected > .mm-listitem__text,
.mm-listitem.trail > .mm-listitem__text,
.mm-listitem.trail > .mm-listitem__btn {
    background:#efefef;
}
.mm-listitem.trail > .mm-listitem__text {
    color:#000;
}
.mm-listitem.mm-listitem_selected {
	color:#000;
	border-color:#dce1e5;
}
.mm-listitem.trail .mm-btn::after,
.mm-listitem.trail .mm-btn::before,
.mm-navbar_sticky .mm-btn::after,
.mm-navbar_sticky .mm-btn::before {
	border-color:#dce1e5;
}
/* border mit Abstand nach links ausstellen */
.mm-listitem::after {
	display:none;
}
.mm-listitem .mm-btn::after {
	transition:all 0.3s ease;
}
.mm-listitem.trail .mm-btn::after {
	border-color:#004178;
}



@media (max-width:1420px) {

	#wrapper,
	#footer .inside,
	#first_contact .inside {
		width:100%;
		padding-left:20px;
		padding-right:20px;
	}
	#wrapper {
		padding-bottom:30px;
	}

	#container {
		padding-bottom:60px;
	}

	#footer {
		padding-top:10px;
		background-color:#003060;
	}
	#footer .mod_customnav {
		right:20px;
	}

}



@media screen and (max-width: 1099px) {
	
	#footer .ce_text,
	#footer .ce_text.first {
		width:100%;
		float:none;
	}
	#footer .ce_text.first {
		margin-top:40px;
	}

}



@media screen and (max-width: 860px) {

	.rs-column.-medium-col-2-1 {
		clear:both;
		display:inline-block;
		width:100%;
		margin-right:0;
	}
	.rs-column.-large-first-row {
		margin-top:7.69231%;
	}

}



@media (max-width:840px) {

	.btn_nav_mobile {
		display:block;
	}

	.mod_navigation {
		display:none;
	}

	#logo {
		width:340px;
	}

	#first_contact .ce_text {
		width:90%;
		float:left;
	}

	#header {
		margin-left:-20px;
		margin-right:-20px;
		background:url('../../files/theme/images/layout/bg_navigation-mobile.png') left bottom no-repeat;
	}

}



@media screen and (max-width: 756px) {

	#wrapper {
		padding-top:30px;
	}
	#logo {
		width:280px;
		margin-bottom:30px;
	}
	
}



@media screen and (max-width: 560px) {

	#wrapper,
	#footer .inside,
	#first_contact .inside {
		padding-left:14px;
		padding-right:14px;
	}

		#header {
			margin-left:-14px;
			margin-right:-14px;
		}

	#first_contact .ce_text {
		width:86%;
		padding-left:6%;
	}
	#first_contact p {
		text-align:center;
	}
	#first_contact span {
		display:inline-block;
	}
	#first_contact .telefon::before {
		top:0;
	}
	#first_contact .email::before {
		top:0;
	}

	.btn_nav_mobile {
		margin-top:19px;
	}

	#footer .ce_text:nth-of-type(1) {
		width:100%;
		padding-right:0;
		float:none;
	}
	#footer .ce_text:nth-of-type(2) {
		width:100%;
		padding-right:0;
		float:none;
	}
	#footer .ce_text:nth-of-type(3) {
		width:100%;
		float:none;
	}

}

	

@media screen and (max-width: 480px) {

	h1 {
		font-size:26px;
	}

	#container {
		background-color:#fff;
		padding-bottom:80px;
	}

	#footer {
		position:relative;
		bottom:0;
		display:block;
		height:auto;
		clear:both;
	}
	
}



/* ##### Cookiebar ##### */

@keyframes cookiebar-overlay-in {
  0% {
    background: rgba(0, 0, 0, 0);
  }
  100% {
    background: rgba(0, 0, 0, 0.40);
  }
}

@keyframes cookiebar-overlay-out {
  0% {
    background: rgba(0, 0, 0, 0.40);
  }
  100% {
    background: rgba(0, 0, 0, 0);
    visibility: hidden;
  }
}
.contao-cookiebar .cc-inner {
	background: #fff;
  	padding: 25px;
  	border-radius: 5px;
	border:1px solid #d0d0d0;
    max-width: 600px;
}
.cookiebar_default {
  	color: #000;
}
.cookiebar_default h2 {
    font-size:20px;
    text-align:center;
}
.cookiebar_default p {
  	color: #333;
  	line-height: 1.5em;
}
.contao-cookiebar label.group {
  	font-weight: 600;	
}
.contao-cookiebar .cc-btn {
	font-family: inherit;
}
.cookiebar_default .cc-group .cc-detail-btn {
  	cursor: pointer;
  	padding: 5px 10px;
    color:#000;
    font-family: inherit;
    font-size:1rem;
	font-weight:600;
}
.cookiebar_default .cc-group .cc-detail-btn:hover {
    color:#000;
}
.contao-cookiebar .cc-btn {
  	display: inline-block;
  	cursor: pointer;
  	padding: 8px 15px;
  	border: none;
	border-radius:5px;
    font-weight:600 !important;
	color:#000;
	text-transform: none;
}
.contao-cookiebar .highlight .cc-btn.save {
  	background: rgba(229,229,229,1.0);
  	color: #000;
	-webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.contao-cookiebar .highlight .cc-btn.save:hover {
  	background: rgba(206,206,206,1.0);
  	color: #000;
	-webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.contao-cookiebar .highlight .cc-btn.success {
    background:#003060;
  	color: #fff;
	-webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.contao-cookiebar .highlight .cc-btn.success:hover {
    background:#003060;
  	color: #fff;
	-webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.cookiebar_default a,
.cookiebar_default .cc-info > a {
	font-size:1rem;
	font-weight:600;
	color:#003060;
	text-decoration:none;
	transition:all 0.3s ease;
}
.cookiebar_default a:hover,
.cookiebar_default a:focus,
.cookiebar_default a:active,
.cookiebar_default .cc-info > a:hover,
.cookiebar_default .cc-info > a:focus,
.cookiebar_default .cc-info > a:active {
	color:#003060;
	text-decoration:underline;
}
.cookiebar_default label.cookie {
	width:100%;
	float:none;
}
.contao-cookiebar button {
	height:auto;
}
