/************************************ Start: Skelleton ************************************/
html { min-height: 100%; line-height: 1px; }
body { height: 100%; font-family: 'Fira Sans', sans-serif; font-size: 16px; color: #323232; line-height: 1.5; }
body.navi { overflow: hidden; }
body > table { width: 100%; max-width: 100%; min-height: 100vH; }
body > table > tbody > tr,
body > table > tbody > tr > td { height: 100%; }
/************************************ Ende: Skelleton ************************************/
/************************************ Start: Grid Override ************************************/
.cms_container_narrow									{ width: 100%; max-width: 1030px; margin: 0 auto; }
.cms_container											{ width: 100%; max-width: 1380px; margin: 0 auto; }
.cms_container_footer									{ width: 100%; max-width: 1227px; margin-left: auto; margin-right: 0; z-index: 12 !important; }
.cms_container_wide										{ width: 100%; max-width: 1690px; margin: 0 auto; }
.cms_container_ultrawide								{ width: 100%; max-width: 100%; }
.cms_padding_025										{ padding:  5px; }
.cms_padding_05											{ padding:  10px; }
.cms_padding_1											{ padding:  15px; }
.cms_padding_2											{ padding: 30px; }
.cms_padding_025										{ padding:  5px; }
.cms_padding_05											{ padding:  10px; }
.cms_padding_1											{ padding:  15px; }
.cms_padding_2											{ padding: 30px; }
.flex_container.cms_padding_1							{ padding:  15px; }
.flex_box.cms_padding_1									{ padding:  15px; }
.flex_container.cms_padding_2							{ padding: 30px; }
.flex_box.cms_padding_2									{ padding: 30px; }
/************************************ Ende: Grid Override ************************************/
/************************************ Start: Include Fix ************************************/
.block_50000.cms_padding_1 { padding: 0; }
/************************************ Ende: Include Fix ************************************/
/************************************ Start: Search Result Fix ************************************/
#cmsSearch ul li ul li.cmsSearch_cat:nth-child(2) a:after { border-color: transparent transparent !important; }
/************************************ Ende: Search Result Fix ************************************/
/************************************ Start: Section Anchor Fix ************************************/
a.section_anchor { height: 0px; line-height: 0px; font-size: 0px; }
/************************************ Ende: Section Anchor Fix ************************************/
/************************************ Start: Google Maps ************************************/
.art_map_box { padding: 15%; }
/************************************ Ende: Google Maps ************************************/
/************************************ Start: Catpadding Klasse ************************************/
.catpadding { padding: 24px 0; }
/************************************ Ende: Catpadding Klasse ************************************/
/************************************ Start: News Teaser und Arbeitshilfen Klasse ************************************/
.cms_news_teaser_and_arbeitshilfen { padding: 24px 0; }
@media screen and (max-width: 1340px) {
	.cms_news_teaser_and_arbeitshilfen > div > div > section.flex_box_12:first-of-type { width: 100% !important; }
	.cms_news_teaser_and_arbeitshilfen > div > div > section.flex_box_12:last-of-type { width: 50.000% !important; }
}
@media screen and (max-width: 959px) { .cms_news_teaser_and_arbeitshilfen > div > div > section.flex_box_12:last-of-type { width: 100% !important; } }
/************************************ Ende: News Teaser und Arbeitshilfen Klasse ************************************/
/************************************ Start: CMS IMG Klasse ************************************/
.cms_img picture { border-radius: 0; }
/************************************ Ende: CMS IMG Klasse ************************************/
/************************************ Start: CMS Linked Article ************************************/
a.art_link:hover .art.flex_container { background: rgb(243, 243, 243); }
/************************************ Ende: CMS Linked Article ************************************/
/************************************ Start: CMS jssor-Slide Object Fit  ************************************/
#cmsShadowSlider .cms_jssor .slide picture img { object-fit: contain !important; }
/************************************ End: CMS jssor-Slide Object Fit ************************************/
/************************************ Start: Headings ************************************/
h1 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 900;
	font-size: 60px;
	line-height: 70px;
	color: #29235C;
	letter-spacing: 1.2px;
	text-align: left;
	padding: 0 0 15px 0;
}
@media screen and (max-width: 1366px) { h1 { letter-spacing: 1.1px; } }
@media screen and (max-width: 767px) { h1 { letter-spacing: 1px !important; } }
h2 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 58px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
h3 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 44px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
h4 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 25px;
	line-height: 30px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
h5 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 30px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
@media screen and (max-width: 767px) {
	h1 {
		font-weight: 900 !important;
		font-size: 36px !important;
		line-height: 42px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
	h2 {
		font-weight: 700 !important;
		font-size: 32px !important;
		line-height: 38px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
	h3 {
		font-weight: 700 !important;
		font-size: 25px !important;
		line-height: 30px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
	h4 {
		font-weight: 700 !important;
		font-size: 22px !important;
		line-height: 28px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
	h5 {
		font-weight: 400 !important;
		font-size: 18px !important;
		line-height: 24px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
}
/************************************ Ende: Headings ************************************/
/************************************ Start: Content Font Settings ************************************/
.art a {
	display: inline-block;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: #29235C;
	text-align: inherit;
	text-decoration: none;
}
.art a:hover { color: #72901D; text-decoration: underline; }
.lead {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 36px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
.lead strong { font-weight: 700; }
@media screen and (max-width: 1366px) { .lead { font-size: 25px; line-height: 30px; } }
@media screen and (max-width: 767px) {
	.lead { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; }
	.lead strong { font-weight: 700 !important; }
}
p {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 25px;
	line-height: 30px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
@media screen and (max-width: 767px) { p { font-weight: 400 !important; font-size: 18px !important; line-height: 24px !important; } }
.block_10000 li {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 25px;
	line-height: 30px;
	color: #29235C;
	text-align: left;
	padding: 0;
}
.block_10000 li > span { display: block; }
@media screen and (max-width: 767px) { .block_10000 li { font-weight: 400 !important; font-size: 18px !important; line-height: 24px !important; } }
/************************************ Ende: Content Font Settings ************************************/
/************************************ Start: Teaser Background-Image Height Limitation ************************************/
.teaser_img_big { height: 500px; }
.teaser_img_small { height: 250px; }
.teaser_img { background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important; }
@media screen and (max-width: 959px) { .teaser_img_big { height: 250px; } }
.teaser_img > img { width: 100%; height: 100%; }
/************************************ Ende: Background-Image Height Limitation ************************************/
/************************************ Start: Header ************************************/
header {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-transition: all .1s ease-in-out;
	-moz-transition:    all .1s ease-in-out;
	-o-transition:      all .1s ease-in-out;
	-ms-transition:     all .1s ease-in-out;
	transition:         all .1s ease-in-out;
}
.scrolled header {
	-moz-box-shadow: 0px 1px 5px 2px #ccc;
	-webkit-box-shadow: 0px 1px 5px 2px #ccc;
	box-shadow: 0px 1px 5px 2px #ccc;
}
/************************************ Ende: Header ************************************/
/************************************ Start: Go-Up ************************************/
#goUp { display: none; position: fixed; right: 0; bottom: 48px; z-index: 100000; width: 32px; height: 32px; background: #FFFFFF; border-radius: 6px 0 0 6px; line-height: 30px; text-align: center; box-shadow: 0 0 20px rgba( 0,0,0,0.2 ); cursor: pointer; }
#goUp:hover { background: #3EA2F7; color: #ffffff; }
body.scrolled #goUp { display: block; }
/************************************ Ende: Go-Up ************************************/
/************************************ Start: Galerie Title und Beschreibung ************************************/
.cms_gallery_header {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 58px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
.cms_gallery_intro {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 44px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
@media screen and (max-width: 767px) {
	.cms_gallery_header {
		font-weight: 700 !important;
		font-size: 32px !important;
		line-height: 38px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
	.cms_gallery_intro {
		font-weight: 700 !important;
		font-size: 26px !important;
		line-height: 32px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
}
/************************************ Ende: Galerie Title und Beschreibung ************************************/
/************************************ Start: Buttons ************************************/
.full_article_link { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 11; }
a > .mehr_lesen_link {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 18px !important;
	color: #3EA2F7;
	text-align: left;
	display: inline-block;
}
a > .mehr_lesen_link:after {
    display: inline-flex;
    font: normal normal normal 22px/16px FontAwesome;
    font-size: inherit;
	font-weight: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\a0\f105";
}
a:hover > .mehr_lesen_link { color: #3EA2F7 !important; text-decoration: underline !important; }
@media screen and (max-width: 767px) { a > .mehr_lesen_link { font-weight: 600 !important; } }
.knopf > a {
	cursor: pointer;
	display: inline-flex;
	width: auto !important;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 25px;
	line-height: 25px;
	color: #FFFFFF;
	border: 2px solid #29235C;
	background: #29235C;
	border-radius: 5px;
	padding: 12px 16px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
.knopf > a:hover { display: inline-flex; color: #29235C; background: #FFFFFF; text-decoration: none; }
@media screen and (max-width: 959px) { .knopf > a { font-weight: 700 !important; } }
@media screen and (max-width: 1366px) { .knopf > a { font-weight: 700 !important; font-size: 20px; line-height: 20px; border-radius: 5px; padding: 10px 15px; } }
@media screen and (max-width: 767px) { .knopf > a { font-weight: 700 !important; font-size: 18px !important; line-height: 18px !important; } }
main button {
	width: auto !important;
    cursor: pointer;
    display: inline-flex;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 25px;
	line-height: 25px;
	color: #FFFFFF;
	border: 2px solid #29235C;
	background: #29235C;
	border-radius: 5px;
	padding: 12px 16px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
main button:hover { display: inline-flex; color: #29235C; border: 2px solid #29235C; background: #FFFFFF; text-decoration: none; }
@media screen and (max-width: 959px) { main button { font-weight: 700 !important; } }
@media screen and (max-width: 1366px) { main button { font-weight: 700 !important; font-size: 20px; line-height: 20px; border-radius: 5px; padding: 10px 15px; } }
@media screen and (max-width: 767px) { main button { font-weight: 700 !important; font-size: 18px !important; line-height: 18px !important; } }
a.art_link.b1 {
	cursor: pointer;
	display: block;
	width: auto;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 25px;
	line-height: 25px;
	color: #FFFFFF;
	border: 2px solid #29235C;
	background: #29235C;
	border-radius: 5px;
	padding: 12px 16px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
a.art_link.b1:hover { display: block; color: #29235C; border: 2px solid #29235C; background: #FFFFFF; text-decoration: none; }
@media screen and (max-width: 959px) { a.art_link.b1 { font-weight: 700 !important; } }
@media screen and (max-width: 1366px) { a.art_link.b1 { font-weight: 700 !important; font-size: 20px; line-height: 20px; border-radius: 5px; padding: 10px 15px; } }
@media screen and (max-width: 767px) { a.art_link.b1 { font-weight: 700 !important; font-size: 18px !important; line-height: 18px !important; } }
a.art_link.b1 > i { margin: 0 10px 0 0; font-size: 10px; line-height: 25px; }
.align_1 { justify-content: flex-start; }
.align_2 { justify-content: center; }
.align_3 { justify-content: flex-end; }
.align_4 > a.art_link.b1 { width: 100%; }
/************************************ Ende: Buttons ************************************/
/************************************ Start: Slider ************************************/
/* Start: Paddings */
.cms_jssor .slide > div .slide_article { padding: 0 !important; }
.cms_jssor .slide > div .slide_article > div { padding: 50px 0 !important; }
.cms_jssor .slide > div .slide_article .cms_jssor_txt { padding: 30px !important; }
.cms_jssor .slide > div > div > div .cms_jssor_txt > div { padding: 47px 66px; background: rgba(255, 255, 255, 0.9); }
/* End: Paddings */
/* Start: Slidertext */
.cms_jssor_txt h1 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 900;
	font-size: 60px;
	line-height: 70px;
	color: #29235C;
	letter-spacing: 1.2px;
	text-align: left;
	padding: 0 0 30px 0;
}
.cms_jssor_txt strong { font-family: 'Fira Sans', sans-serif; font-weight: 700; }
.cms_jssor_txt p {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 36px;
	color: #29235C;
	text-align: left;
	padding: 0 0 30px 0;
}
.cms_jssor_txt p:last-of-type { padding: 0; }
.cms_jssor_txt .knopf > a {
	cursor: pointer;
	display: inline-flex;
	width: auto !important;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 25px;
	line-height: 25px;
	color: #FFFFFF;
	border: 2px solid #29235C;
	background: #29235C;
	border-radius: 5px;
	padding: 12px 16px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
.cms_jssor_txt .knopf > a:hover { display: inline-flex; color: #29235C; background: #FFFFFF; text-decoration: none; }
@media screen and (max-width: 959px) { .cms_jssor_txt .knopf > a { font-weight: 700 !important; } }
/* End: Slidertext */
/* Start: Dots */
.cms_jssor > div:nth-last-of-type(3) { height: auto !important; bottom: 0 !important; }
.cms_jssor > div:nth-last-of-type(3) > div { height: auto !important; }
.cms_jssor > div:nth-last-of-type(3) > div > div { width: 15px !important; height: 15px !important; margin: 0 15px 15px 0; }
.cms_jssor > div:nth-last-of-type(3) > div > div:last-of-type { margin: 0; }
.cms_jssor > div:nth-last-of-type(3) > div > div:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border: 2px solid #FFFFFF;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
}
.cms_jssor > div:nth-last-of-type(3) > div > div:hover:after { background: #FFFFFF; }
.cms_jssor > div:nth-last-of-type(3) > div > div.iav:after { background: #FFFFFF; }
/* End: Dots */
/* Start: Arrows */
@media screen and (min-width: 1920px) {
	.cms_jssor > div:nth-last-of-type(1) { margin-right: 0 !important; }
	.cms_jssor > div:nth-last-of-type(2) { margin-left: 0 !important; }
}
.cms_jssor > div:nth-last-of-type(1),
.cms_jssor > div:nth-last-of-type(2) {
	cursor: pointer;
	position: absolute !important;
	top: 50% !important;
	margin-top: -31.5px !important;
	width: 63px !important;
	height: 63px !important;
}
.cms_jssor > div:nth-last-of-type(1) { right: 30px !important; }
.cms_jssor > div:nth-last-of-type(2) { left: 30px !important; }
.cms_jssor > div > .cms_jssor_arrow {
	position: relative !important;
	width: 63px !important;
	height: 63px !important;
	border: 2px solid #FFFFFF;
	background: rgba(255, 255, 255, 0.35);
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.cms_jssor > div > .cms_jssor_arrow:hover { background: #29235C; }
.cms_jssor > div > .cms_jssor_arrow:before {
	display: block;
	content: "";
	position: absolute;
	top: 12px;
	width: 21px;
	height: 35px;
	border: none !important;
	background: url("/pages/img/arrow-small-down-white.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.cms_jssor_arrow.cms_jssor_arrow_left:before {
	left: 19px;
	-webkit-transform: rotate(-180deg);
	-moz-transform: rotate(-180deg);
	-o-transform: rotate(-180deg);
	-ms-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
.cms_jssor_arrow.cms_jssor_arrow_right:before {
	left: 19px;
	-webkit-transform: none;
	-moz-transform: none;
	-o-transform: none;
	-ms-transform: none;
	transform: none;
}
/* End: Arrows */
/* Start: Responsive */
@media screen and (max-width: 1366px) {
	.slide_article { background: #29235C; }
	.slide_article > div > div { align-content: flex-start !important; align-items: flex-start !important; }
	.cms_jssor .slide > div .slide_article > div { padding: 0 !important; }
	.cms_jssor .slide > div .slide_article .cms_jssor_txt { width: 100% !important; padding: 0 !important; }
	.cms_jssor .slide > div > div > div .cms_jssor_txt > div { padding: 30px 30px 108px 30px; border: none; background: transparent; }
	.cms_jssor > div:nth-last-of-type(3) { bottom: 39px !important; }
	.cms_jssor > div:nth-last-of-type(1), .cms_jssor > div:nth-last-of-type(2) { top: auto !important; bottom: 30px; margin-top: 0 !important; }
	.cms_jssor_txt h1 { font-size: 40px; line-height: 50px; letter-spacing: 1.1px; color: #FFFFFF; }
	.cms_jssor_txt p { font-size: 25px; line-height: 30px; color: #FFFFFF; }
	.cms_jssor_txt .knopf > a {
		font-size: 20px;
		line-height: 20px;
		border-radius: 5px;
		padding: 10px 15px;
		color: #29235C;
		border: 2px solid #FFFFFF;
		background: #FFFFFF;
	}
	.cms_jssor_txt .knopf > a:hover { color: #FFFFFF; background: #29235C; }
	.cms_jssor > div > div { transform: none !important; }
}
@media screen and (max-width: 959px) {
	.cms_jssor > div:nth-last-of-type(2) { margin-left: 0 !important; }
	.cms_jssor > div:nth-last-of-type(1) { margin-right: 0 !important; }
	.cms_jssor .slide > div > div > div .cms_jssor_txt > div { padding: 30px 30px 85px 30px; }
	.cms_jssor > div:nth-last-of-type(3) { bottom: 27.5px !important; }
	.cms_jssor > div:nth-last-of-type(1),
	.cms_jssor > div:nth-last-of-type(2) { width: 40px !important; height: 40px !important; }
	.cms_jssor > div > .cms_jssor_arrow { width: 40px !important; height: 40px !important; }
	.cms_jssor > div > .cms_jssor_arrow:before { top: 5.5px; width: 15px; height: 25px; }
	.cms_jssor_arrow.cms_jssor_arrow_left:before { left: 10.5px; }
	.cms_jssor_arrow.cms_jssor_arrow_right:before { left: 10.5px; }
}
@media screen and (max-width: 767px) {
	.cms_jssor_txt h1 { font-size: 25px !important; line-height: 30px !important; letter-spacing: 1px !important; }
	.cms_jssor_txt p { font-size: 20px !important; line-height: 25px !important; }
	.cms_jssor_txt .knopf > a { font-size: 18px !important; line-height: 18px !important; }
}
/* End: Responsive */
/************************************ Ende: Slider ************************************/
/************************************ Start: Testimonial ************************************/
@media screen and (max-width: 960px) { .cms_testimonial_container { width: 100%; left: 0; margin: 0; } }
@media screen and (max-width: 959px) {
	.slick-arrow { top: auto !important; bottom: -15px !important; }
	.slick-prev { left: 30px !important; }
	.slick-next { right: 30px !important; }
}
/************************************ Ende: Testimonial ************************************/
/************************************ Start: Breadcrumbs ************************************/
.breadcrumbs a {
	display: inline-block;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	color: #29235C;
	text-align: left;
	margin: 0 15px 0 0;
}
.breadcrumbs a.active { color: #72901D; margin: 0; text-decoration: none; }
.breadcrumbs a:hover { color: #72901D; text-decoration: none; }
.breadcrumbs a.active:hover { color: #29235C; }
@media screen and (max-width: 767px) { .breadcrumbs a { font-weight: 400 !important; font-size: 16px !important; line-height: 20px !important; } }
/************************************ Ende: Breadcrumbs ************************************/
/************************************ Start: Aktuelles Teaser ************************************/
.first_news_teaser, .second_news_teaser, .third_news_teaser {
	-webkit-transition: background-color .3s ease-in-out;
	-moz-transition:    background-color .3s ease-in-out;
	-o-transition:      background-color .3s ease-in-out;
	-ms-transition:     background-color .3s ease-in-out;
	transition:         background-color .3s ease-in-out;	
}
.first_news_teaser:hover, .second_news_teaser:hover, .third_news_teaser:hover { background: rgb(243, 243, 243); }
.home_news_teaser .button { margin: 0 auto; width: auto !important; display: table; }
.first_news_teaser > .news_info,
.second_news_teaser > .news_info,
.second_news_teaser { margin-bottom: 30px; }
.first_news_teaser,
.second_news_teaser,
.third_news_teaser { position: relative; }
.news_teaser_date {
	display: block;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 25px;
	color: rgba(112, 112, 112, 0.8);
	text-align: left !important;
	padding: 0 0 15px 0;
}
.first_news_teaser .news_info p { padding: 0 0 15px 0 !important; }
.first_news_teaser:hover .mehr_lesen_link {	color: #3EA2F7 !important; text-decoration: underline !important; }
/************************************ Ende: Aktuelles Teaser ************************************/
/************************************ Start: Team ************************************/
.member_section { padding: 0 0 24px 0; }
.team_member_articles  { padding: 24px 0 0 0; }
.team_member_container .member_section .team_member_text { background: #FFF; }
.hr_section { padding: 0; }
.team_member_container hr { margin: 0; }
.news_member_box a:hover .fa { text-decoration: underline; }
.team_member_container h2 { text-align: left; }
.news_member_text .fa { line-height: 28px; }
.team_member_container > .cms_img > img { width: 100%; }
/************************************ Ende: Team ************************************/
/************************************ Start: Aktuelles Übersicht ************************************/
.news_overview { padding: 24px 0; }
.news_overview_box h4 { text-align: left; }
.news_overview_box > div {
	position: relative;
	-webkit-transition: background-color .3s ease-in-out;
	-moz-transition:    background-color .3s ease-in-out;
	-o-transition:      background-color .3s ease-in-out;
	-ms-transition:     background-color .3s ease-in-out;
	transition:         background-color .3s ease-in-out;	
}
.news_overview_box > div:hover { background: rgb(243, 243, 243); }
/************************************ Ende: Aktuelles Übersicht ************************************/
/************************************ Start: Team ************************************/
.cms_users_title {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 900;
	font-size: 60px;
	line-height: 70px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
.cms_users_header {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 50px;
	line-height: 58px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
@media screen and (max-width: 767px) {
	.cms_users_title {
		font-weight: 900 !important;
		font-size: 36px !important;
		line-height: 42px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
	.cms_users_header {
		font-weight: 700 !important;
		font-size: 32px !important;
		line-height: 38px !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		-webkit-hyphens: auto;
		-moz-hyphens: auto;
		hyphens: auto;
	}
}
.cms_users_user_container > div { padding: 15px; }
.cms_users_user_container > div > div { width: 33.333%; padding: 15px; }
.cms_user_container { background: none; border: none; }
.cms_user_container > div { padding: 0; }
.cms_user_container > div > div.cms_user_portrait { width: 100%; background: transparent; }
.cms_user_container > div > div.cms_user_portrait > div { padding: 33.333%; }
.cms_user_container > div > div.cms_user_portrait > div picture { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.cms_user_container > div > div.cms_user_text { width: 100%; padding: 15px 0 30px 0; }
.quadratisches_bild { width: 100%; }
.cms_user_portrait_bg {
    width: 100%;
    height: 315px;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
}
@media screen and (max-width: 1180px) { .cms_users_user_container > div > div, .cms_user_container > div > div.cms_user_portrait > div { width: 50.000%; } }
@media screen and (max-width: 959px) and (orientation: portrait) {
	.quadratisches_bild { width: 100%; padding-top: 100%; position: relative; }
	.cms_user_portrait_bg {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-repeat: no-repeat !important;
		background-size: cover !important;
		background-position: center !important;
	}
}
.cms_user_text h3 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 35px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
.cms_user_text p {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 28px;
	color: #29235C;
	text-align: left;
	padding: 0 0 15px 0;
}
.cms_user_text p:last-of-type { padding: 0; }
@media screen and (max-width: 959px) {
	.cms_users_user_container > div > div { width: 100.000%; }
	.cms_user_container > div > div.cms_user_portrait > div { padding: 100.000%; }
}
/************************************ Ende: Team ************************************/
/************************************ Start: Kontaktformular ************************************/
form label { display: none !important; }
label.select { display: block !important; }
form input, form select, form textarea {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    background: #FFFFFF;
    color: #29235C;
    font-size: 16px;
    line-height: 22px;
	height: auto;
	padding: 15px;
	border: 2px solid #29235C;
	border-radius: 0;
	outline: 0;
}
form textarea { height: 220px; }
form select { cursor: pointer; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
form button { display: table !important; margin: 0 auto; }
::placeholder {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    color: #29235C;
    font-size: 16px;
    line-height: 22px;
}
:-ms-input-placeholder {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    color: #29235C;
    font-size: 16px;
    line-height: 22px;
}
::-ms-input-placeholder {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
    color: #29235C;
    font-size: 16px;
    line-height: 22px;
}
form.ff .frm_spacer { width: 100%; height: 1px; background: #29235C; }
.frm_subtitle > div {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 700;
	font-size: 24px;
	line-height: 30px;
	color: #29235C;
	text-align: left;
}
#frm_13 button { width: auto; margin: 0 auto; display: block; }
.frm_header p { padding: 0 0 12px 0 !important; }
label.select { display: block !important; }
form select { padding: 15px 43px 15px 20px; }
main label.select:after {
	pointer-events: none;
	display: block;
	content: "";
	position: absolute;
	z-index: 10;
	top: 20.05px;
	right: 17px;
	width: 10px;
	height: 10px;
	border-left: 1px solid #29235C;
	border-bottom: 1px solid #29235C;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background: transparent;
}
form select { cursor: pointer; -moz-appearance:none; -webkit-appearance:none; appearance:none; }
main input, main textarea, main select { width: 100%; }
.flex_box_label_radiocheck > label {
	display: block !important;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
	color: #29235C;
}
.ff .ff_container { margin: -15px; }
.ff .flex_box_12 { margin: 0; padding: 15px; }
.ff .flex_box_12.flex_box_label_radiocheck { margin: 0; padding: 15px; }
.ff label {
	position: relative;
	display: block;
	width: 100%;
	min-height: 24px;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 700;
	font-size: 16px;
	line-height: 24px !important;
	text-align: left;
	color: #29235C;
}
main input[type="radio"] + label { display: block !important; }
main input[type="radio"] + label:before { border: 2px solid #29235C; background: #FFFFFF; }
main input[type="radio"] + label:hover:after { background: #29235C; }
main input[type="radio"]:checked + label:after { background: #29235C; }
main input[type="checkbox"] + label { display: block !important; background: transparent !important; }
main input[type="checkbox"] + label:before { border: 2px solid #29235C; background: #FFFFFF; }
main input[type="checkbox"] + label:hover:after { color: #29235C; }
main input[type="checkbox"]:checked + label:after { background: #29235C; color: #FFFFFF; }
label.date { display: block !important; }
main label.date:after {
    font-size: 24px;
    line-height: 58px;
    width: 58px;
    height: 58px;
    top: 0;
    left: 0;
	color: #FFFFFF;
	background: #29235C;
	border-radius: 4px 0 0 4px;
}
main label.date input { padding: 16px 16px 16px 73px; height: 58px; }
label.time { display: block !important; }
main label.time:after {
    font-size: 24px;
    line-height: 58px;
    width: 58px;
    height: 58px;
    top: 0;
    left: 0;
	color: #FFFFFF;
	background: #29235C;
	border-radius: 4px 0 0 4px;
}
main label.time input { padding: 16px 16px 16px 73px; height: 58px; }
.frm_dz_lst {
    border: 2px solid #29235C;
    border-radius: 4px 4px 0 0;
    background: #FFFFFF;
	padding: 15px;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
    color: #29235C;
}
.frm_dz_lst b { font-weight: 700; color: #29235C; }
.frm_dz_lst i { font-style: normal; }
.frm_dz_container .frm_dz_txt { border: 2px solid #29235C !important; background: #FFFFFF !important; }
.frm_dz_container .frm_dz_txt span {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
	color: #29235C;
}
.frm_dz_container .frm_dz_txt i:before {
    display: block;
    text-align: center;
    font-size: 32px;
	line-height: 32px;
	color: #29235C;
}
.frm_dz_lst > div > ul { padding: 0; }
.frm_dz_lst ul li { border-bottom: 1px solid #29235C; }
.frm_dz_lst ul li div { color: #29235C; }
.frm_dz_lst ul li div:hover { color: #29235C; }
/* Start: Nach Absenden */
.frm_sent_header * { color: #29235C !important; }
.frm_sent_table > tbody > tr > td.frm_spacer > div { height: 1px; margin: 15px 0; background: #29235C; }
.frm_sent_table > tbody > tr > td {
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	text-align: left;
	color: #29235C;
}
.frm_sent_table > tbody > tr > td.frm_sent_value > a { color: #29235C !important; text-decoration: none !important; }
.frm_sent_table > tbody > tr > td.frm_sent_value > a:hover { color: #29235C !important; text-decoration: underline !important; }
/* End: Nach Absenden */
/************************************ Ende: Kontaktformular ************************************/
/************************************ Start: Gallery Three Four ************************************/
.gallery_three_four_33 { width: 33.333%; }
.gallery_three_four_25 { width: 25%; }
.gallery_three_four_33, .gallery_three_four_25 { float: left; position: relative; line-height: 1px; }
.gallery_three_four_33 *, .gallery_three_four_25 * { line-height: 1px; }
.gallery_three_four_33 img, .gallery_three_four_25 img { width: 100%; }
.gallery_three_four_33 > div, .gallery_three_four_25 > div { position: absolute; cursor: pointer; }
.gallery_three_four_33 > div > div, .gallery_three_four_25 > div > div {
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}
.gallery_three_four_33 > div {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.gallery_three_four_25 > div {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.gallery_three_four_33:hover > div:before,
.gallery_three_four_25:hover > div:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: rgba( 0,0,0,0.5 );
}
.gallery_three_four_33:hover > div:after,
.gallery_three_four_25:hover > div:after {
    display: block;
    content: "\f002";
    position: absolute;
    left: 0;
    top: 50%;
    right: 0;
    height: 30px;
    margin: -15px 0 0 0;
    line-height: 30px;
    text-align: center;
    font: 28px 'FontAwesome';
    color: #ffffff;
}
.gallery_three_four>div:nth-of-type(1) > div { right: 20px; bottom: 15px; }
.gallery_three_four>div:nth-of-type(2) > div { left: 10px; right: 10px; bottom: 15px; }
.gallery_three_four>div:nth-of-type(3) > div { left: 20px; bottom: 15px; }
.gallery_three_four>div:nth-of-type(4) > div { right: 20px; top: 15px; }
.gallery_three_four>div:nth-of-type(5) > div { left: 10px; right: 10px; top: 15px; }
.gallery_three_four>div:nth-of-type(6) > div { left: 10px; right: 10px; top: 15px; }
.gallery_three_four>div:nth-of-type(7) > div { left: 20px; top: 15px; }
/************************************ Ende: Gallery Three Four ************************************/
/************************************ Start: Search ************************************/
#cmsSearch ul li.cmsSearch_cat a:before { content: none !important; }
#cmsSearch ul li.cmsSearch_cat a {
    position: relative;
    padding: 0 !important;
    line-height: 28px !important;
    font-weight: 400 !important;
    color: #3EA2F7 !important;
    background: transparent !important;
    text-decoration: none !important;
}
#cmsSearch ul li.cmsSearch_cat a:hover { text-decoration: underline !important; }
li.cmsSearch_cat { border-bottom: 1px solid #29235C; padding: 15px 0; }
/************************************ Ende: Search ************************************/
/************************************ Start: Footer ************************************/
footer { border-top: none !important; margin: 155px 0 0 0; }
footer h1, footer h2, footer h3, footer h4, footer h5 { color: #FFFFFF; }
footer p, footer span, footer li, footer strong, footer b {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 25px;
	color: #FFFFFF !important;
	text-align: left;
	opacity: 1 !important;
}
@media screen and (max-width: 767px) { footer p, footer span, footer a, footer li, footer strong, footer b, footer table tr > td { font-size: 16px !important; line-height: 20px !important; } }
footer b, footer strong { font-weight: 700; }
footer > div > div > div > section > div > div > article:first-of-type .fa { font-size: 20px; line-height: 24px; }
footer > div > div > div > section > div > div > article:nth-of-type(3) .fa { font-size: 22px; line-height: 26px; margin: 15px 0; }
@media screen and (max-width: 767px) {
	footer > div > div > div > section > div > div > article:first-of-type .fa { font-size: 18px !important; line-height: 22px !important; }
	footer > div > div > div > section > div > div > article:nth-of-type(3) .fa { font-size: 20px !important; line-height: 24px !important; }
}
footer .art a {
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: #FFFFFF;
	text-align:inherit;
	display: inline-block;
	text-decoration: none;
}
footer .art a:hover { text-decoration: underline; }
footer div p:last-of-type { padding: 0; }
footer:before {
	content: "";
	position: absolute;
	z-index: 11;
	top: -123.5px;
	left: 81px;
	width: 412px;
	height: 247px;
	background: url("/pages/img/footer_symbol.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
@media screen and (max-width: 1645px) { footer:before { top: -60px; left: 30px; width: 200px; height: 120px; } }
@media screen and (max-width: 1115px) { footer > div > div > div > section > div > div > article.flex_box_12_3 { width: 50.000% !important; } }
@media screen and (max-width: 640px) { footer > div > div > div > section > div > div > article.flex_box_12_3 { width: 100% !important; } }
/************************************ Ende: Footer ************************************/
/************************************ Start: Search Results ************************************/
.search_result_container { padding: 120px 0 0 0; }
.load_search_result { padding: 72px 0 0 0; }
.search_result_container h1 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 52px;
	line-height: 62px;
	text-align: left;
	color: #333333;
	margin: 0;
	padding: 0;
}
.search_result_container h2 {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 33px;
	text-align: left;
	color: #333333;
	margin: 0;
	padding: 0 0 23px 0;
}
.search_result_container h2:after { content: none; }
.search_result_container form input {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 52px;
	line-height: 62px;
	text-align: left;
	color: #3EA2F7;
	display: block;
	width: 100%;
	max-width: 800px;
	padding: 0 0 5px 0;
	border: none;
	border-bottom: 1px solid #333333;
	background: transparent;
}
.search_result_container form input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 52px;
	line-height: 62px;
	text-align: left;
	color: #3EA2F7;
}
.search_result_container form input::-moz-placeholder { /* Firefox 19+ */
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 52px;
	line-height: 62px;
	text-align: left;
	color: #3EA2F7;
}
.search_result_container form input:-ms-input-placeholder { /* IE 10+ */
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 52px;
	line-height: 62px;
	text-align: left;
	color: #3EA2F7;
}
.search_result_container form input:-o-input-placeholder { /* IE 10+ */
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 52px;
	line-height: 62px;
	text-align: left;
	color: #3EA2F7;
}
.search_result_container form input:-moz-placeholder { /* Firefox 18- */
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 52px;
	line-height: 62px;
	text-align: left;
	color: #3EA2F7;
}
.search_result_container .cms-search-txt {
	display: none;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 28px;
	text-align: left;
	color: #333333;
	padding: 0;
	margin: 0;
}
.cms-search-url { display: block; }
.cms-search-url-mobile { display: none; }
@media only screen and (max-width: 600px) {
	.cms-search-url { display: none; }
	.cms-search-url-mobile { display: block; }
}
.search_result_container .cms-search-url > a {
	font-family: 'Fira Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 35px;
	text-align: left;
	color: #333333;
	padding: 0;
	margin: 0;
}
.search_result_container .cms-search-url > a:hover { text-decoration: underline; }
.search_result_container .search-results-spacer { display: block; width: 100%; height: 0; }
.search_result_container .search-results-spacer:last-of-type { display: none; }
.search_result_container .color-red { color: #3EA2F7; }
.search_result_container hr {
    background: #333333;
    height: 1px;
    border: none;
    margin: 30px 0;
}
@media screen and (max-width: 959px) { .search_result_container { padding: 55px 0 0 0 !important; } }
@media only screen and (max-width: 959px) {
	.search_result_container h1 { font-size: 24px; line-height: 32px; }
	.search_result_container .search-results { font-size: 18px; line-height: 24px; padding: 50px 0 15px 0; }
	.search_result_container form input { font-size: 18px; line-height: 24px; }
	.search_result_container form input::-webkit-input-placeholder { font-size: 18px; line-height: 24px; }
	.search_result_container form input::-moz-placeholder { font-size: 18px; line-height: 24px; }
	.search_result_container form input:-ms-input-placeholder { font-size: 18px; line-height: 24px; }
	.search_result_container form input:-o-input-placeholder { font-size: 18px; line-height: 24px; }
	.search_result_container form input:-moz-placeholder { font-size: 18px; line-height: 24px; }
	.search_result_container .cms-search-txt { font-size: 18px; line-height: 20px; }
	.search_result_container .cms-search-url > a { font-size: 18px; line-height: 24px; }
	.search_result_container .search-results-spacer { height: 15px; }
}
/************************************ End: Search Results ************************************/
/************************************ Start: Download-Manager ************************************/
/* Ohne Navigationsbaum */
.dn_list > div > div {
    display: block;
    float: left;
    width: 100%;
    background: rgba( 255,255,255,0.5);
	padding: 15px;
}
.dn_list > div { display: block; float: left; width: 100%; }
.cms_dn_list_anchor { display: block; float: left; clear: both; width: 100%; padding: 10px; }
.cms_dn_list_icon { display: block; float: left; margin: 0 10px 0 0; }
.cms_dn_list_name { display: block; float: left; }
.cms_dn_list_date { display: block; float: right; }
.dn_list a:nth-of-type(2N-1) { background: rgba( 0,0,0,0.0625); }
.dn_list a:hover { color: #FFFFFF; background: #3EA2F7; cursor: pointer; }
/* Mit Navigationsbaum */
.dn_list > div { display: block; float: left; width: 100%; }
.dm_list > div > div {
    display: block;
    float: left;
    width: 100%;
    background: rgba( 255,255,255,0.5);
	padding: 15px;
}
.cms_dm_list_anchor { display: block; float: left; clear: both; width: 100%; padding: 10px; }
.cms_dm_list_icon { display: block; float: left; margin: 0 10px 0 0; }
.cms_dm_list_name { display: block; float: left; }
.cms_dm_list_date { display: block; float: right; }
.dm_list a:nth-of-type(2N-1) { background: rgba( 0,0,0,0.0625); }
.dm_list a:hover { color: #FFFFFF; background: #3EA2F7; cursor: pointer; }
/************************************ End: Download-Manager ************************************/