/************************************ Start: Colors ************************************/
:root {
	--primary: #008080;
	--secondary: #757D81;
	--secondaryRGB: 117,125,129;
	--transition: all .3s ease-in-out;
}
/************************************ End: Colors ************************************/
/************************************ Start: Skelleton ************************************/
html { min-height: 100%; line-height: 1px; }
body { height: 100%; font-family: neue-kabel, sans-serif; font-size: 20px; line-height: 25px; color: #000000; }
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: Sticky Footer  ************************************/
body { display: flex; flex-direction: column; }
#cmsgrid { flex: 1; }
#cmsgrid > div:last-of-type { margin: auto 0 0 0; }
/************************************ End: Sticky Footer  ************************************/
/************************************ Start: Grid Override ************************************/
.cms_container_narrow									{ width: 100%; max-width: 1030px; margin: 0 auto; }
.cms_container											{ width: 100%; max-width: 1230px; margin: 0 auto; }
.cms_container_wide										{ width: 100%; max-width: 1630px; 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: Section Anchor Fix ************************************/
a.section_anchor { height: 0px; line-height: 0px; font-size: 0px; }
/************************************ Ende: Section Anchor Fix ************************************/
/************************************ Start: Google Maps ************************************/
.art_map_box { position: relative; overflow: hidden; width: 100%; height: 0; padding: 0 0 66.66666666666667% 0; }
.art_map_box > div { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.art_map_box > div > iframe { width: 100%; height: 100%; border: none !important; }
/************************************ Ende: Google Maps ************************************/
/************************************ Start: Catpadding Klasse ************************************/
.catpadding { padding: 24px 0; }
/************************************ Ende: Catpadding Klasse ************************************/
/************************************ Start: Primary Color Format ************************************/
.primary_color { color: var(--primary) !important; }
/************************************ End: Primary Color Format ************************************/
/************************************ Start: Tiny Tables Klasse ************************************/
.cms_tinyTables_box .block_10000 table { display: table; width: 100%; margin: 0 0 30px 0 !important; }
.cms_tinyTables_box .block_10000 table tr { border-bottom: 1px solid var(--secondary); padding: 15px; display: block; float: left; width: 100%; }
.cms_tinyTables_box .block_10000 table tr:first-of-type { border-bottom: none; }
.cms_tinyTables_box .block_10000 table td {
	display: block;
	float: left;
	width: 50%;
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
}
.cms_tinyTables_box .block_10000 table tr:first-of-type > td { font-weight: 700; }
.cms_tinyTables_box .block_10000 table tr > td:first-of-type { padding: 0 30px 0 0; }
@media screen and (max-width: 959px) {
	.cms_tinyTables_box .block_10000 table tr { display: block; float: left; width: 100%; border: 1px solid var(--secondary); margin: 0 0 30px 0; padding: 10px; }
	.cms_tinyTables_box .block_10000 table tr:first-of-type { display: none; }
	.cms_tinyTables_box .block_10000 table td {
		display: block;
		float: left;
		width: 100%;
		font-weight: 400 !important;
		font-size: 20px !important;
		line-height: 25px !important;
		padding: 0 0 15px 0 !important;
	}
	.cms_tinyTables_box .block_10000 table tr > td:last-of-type { padding: 0 !important; }
	.cms_tinyTables_box .block_10000 table td:before {
		content: attr(data-label);
		float: left;
		display: block;
		width: 100%;
		font-family: neue-kabel, sans-serif;
		font-weight: 700;
		font-size: 20px;
		line-height: 25px;
		color: #000000;
	}
	.cms_tinyTables_box .block_10000 table td.cms_data_label_empty:before { content: none !important; }
	.cms_tinyTables_box .block_10000 table td p { display: block; float: left; width: 100%; }
}
/************************************ Ende: Tiny Tables Klasse ************************************/
/************************************ Start: CMS IMG Klasse ************************************/
.art .cms_img > a { display: block; }
.cms_img > a { border-radius: 30px 0 0 0; overflow: hidden; }
.cms_img > a > picture { border-radius: 0; overflow: visible; }
.cms_img > picture { border-radius: 30px 0 0 0; overflow: hidden; }
.cms_legend {
	font-family: neue-kabel, sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
	text-align: left;
	margin: 15px 0 0 0;
}
@media screen and (max-width: 767px) { .cms_legend { font-weight: 700 !important; font-size: 20px !important; line-height: 25px !important; } }
/************************************ Ende: CMS IMG Klasse ************************************/
/************************************ Start: Rundes Bild Klasse ************************************/
.cms_rundesBild_box .cms_img { position: relative; padding: 0 0 100% 0; }
.cms_rundesBild_box .cms_img,
.cms_rundesBild_box .cms_img > a,
.cms_rundesBild_box .cms_img picture,
.cms_rundesBild_box .cms_img picture img { border-radius: 50%; overflow: hidden; }
.cms_rundesBild_box .cms_img > a,
.cms_rundesBild_box .cms_img picture,
.cms_rundesBild_box .cms_img picture img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; }
.cms_rundesBild_box .cms_img picture img { object-position: center; object-fit: cover; }
@media screen and (max-width: 959px) {
	.cms_rundesBild_box .block_20000 { display: flex; justify-content: center; }
	.cms_rundesBild_box .cms_img { max-width: 244px; width: 100%; padding: 0 0 min(244px, 100%) 0; }
}
/************************************ End: Rundes Bild Klasse ************************************/
/************************************ Start: Parallax Image Klasse ************************************/
.cms_parallax_img .block_20000 .cms_img > a { border-radius: 0; overflow: visible; }
.cms_parallax_img .block_20000 .cms_img > picture { border-radius: 0; overflow: visible; }
.cms_parallax_img .block_20000 picture { position: relative; padding: 0 0 max(586px, 30.520833333333336%) 0; overflow: hidden !important; }
.cms_parallax_img .block_20000 img { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 150%; object-position: center; object-fit: cover; }
@media screen and (max-width: 959px) { .cms_parallax_img .block_20000 picture { padding: 0 0 max(368px, 93.63867684478372%) 0; } }
/************************************ Ende: Parallax Image Klasse ************************************/
/************************************ Start: Trennlinie ************************************/
.block hr, .block_60000 hr { border: none; outline: none; height: 2px; background: var(--secondary); }
/************************************ Ende: Trennlinie ************************************/
/************************************ 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, h2, h3, h4, h5 { font-family: neue-kabel, sans-serif; font-weight: 400; color: #000000; text-align: left; padding: 0 0 15px 0; }
h1 { font-size: 50px; line-height: 64px; }
h2 { font-size: 35px; line-height: 44px; color: var(--secondary); }
h3 { font-size: 30px; line-height: 38px; }
h4 { font-size: 25px; line-height: 32px; }
h5 { font-weight: 500; font-size: 20px; line-height: 25px; }
@media screen and (max-width: 767px) {
	h1, h2, h3, h4, h5 { font-weight: 400 !important; }
	h1 { font-size: 40px !important; line-height: 45px !important; }
	h2 { font-size: 30px !important; line-height: 38px !important; }
	h3 { font-size: 30px !important; line-height: 38px !important; }
	h4 { font-size: 25px !important; line-height: 30px !important; }
	h5 { font-weight: 500 !important; font-size: 20px !important; line-height: 25px !important; }
}
/************************************ Ende: Headings ************************************/
/************************************ Start: Content Font Settings ************************************/
.art a {
	display: inline-block;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: var(--primary);
	text-align: inherit;
	text-decoration: none;
}
.art a:hover { text-decoration: underline; }
.lead {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 28px;
	color: var(--secondary);
	text-align: left;
}
@media screen and (max-width: 767px) { .lead { font-weight: 400 !important; font-size: 22px !important; line-height: 28px !important; } }
p {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
	text-align: left;
}
@media screen and (max-width: 767px) { p { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; } }
main p:last-of-type, main table:last-of-type { padding: 0; }
main p, main table { padding: 0 0 15px 0; }
.block_10000 ul { padding: 0 0 30px 0; }
.block_10000 ul:last-of-type { padding: 0; }
.block_10000 li {
	position: relative;
	list-style: none;
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
	text-align: left;
	padding: 0 0 0 20px;
}
.block_10000 li:before { content: ""; position: absolute; z-index: 12; top: 12px; left: 0; width: 10px; height: 1px; background: var(--primary); }
.block_10000 li > span { display: block; }
@media screen and (max-width: 767px) { .block_10000 li { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; } }
/************************************ Ende: Content Font Settings ************************************/
/************************************ Start: Header ************************************/
header { box-shadow: none; transition: var(--transition); }
.scrolled header { box-shadow: 0px 1px 5px 2px #CCCCCC; }
/************************************ Ende: Header ************************************/
/************************************ Start: Galerie Title und Beschreibung ************************************/
.cms_gallery_header, .cms_gallery_intro { font-family: neue-kabel, sans-serif; font-weight: 400; color: #000000; text-align: left; padding: 0 0 15px 0; }
.cms_gallery_header { font-size: 35px; line-height: 44px; color: var(--secondary); }
.cms_gallery_intro { font-size: 30px; line-height: 38px; }
@media screen and (max-width: 767px) {
	.cms_gallery_header, .cms_gallery_intro { font-weight: 400 !important; }
	.cms_gallery_header { font-size: 30px !important; line-height: 38px !important; }
	.cms_gallery_intro { font-size: 30px !important; line-height: 38px !important; }
}
/************************************ Ende: Galerie Title und Beschreibung ************************************/
/************************************ Start: Buttons ************************************/
.full_article_link { position: absolute; z-index: 11; inset: 0; }
.button-link > a {
	cursor: pointer;
	display: inline-flex;
	width: auto !important;
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 24px;
	color: #FFFFFF;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 30px;
	padding: 6px 30px 6px 30px;
	transition: var(--transition);
	text-decoration: none;
}
.button-link > a:hover { display: inline-flex; color: #FFFFFF; background: var(--secondary); border: 1px solid var(--secondary); border-radius: 30px; text-decoration: none; }
main button {
	cursor: pointer;
	display: inline-flex;
	width: auto !important;
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 24px;
	color: #FFFFFF;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 30px;
	padding: 6px 30px 6px 30px;
	transition: var(--transition);
	text-decoration: none;
}
main button:hover { display: inline-flex; color: #FFFFFF; background: var(--secondary); border: 1px solid var(--secondary); border-radius: 30px; text-decoration: none; }
a.art_link.b1 {
	cursor: pointer;
	display: block;
	width: auto;
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 24px;
	color: #FFFFFF;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 30px;
	padding: 6px 30px 6px 30px;
	transition: var(--transition);
	text-decoration: none;
}
a.art_link.b1:hover { display: block; color: #FFFFFF; background: var(--secondary); border: 1px solid var(--secondary); border-radius: 30px; text-decoration: none; }
a.art_link.b1 > i { font-size: 20px; line-height: 24px; color: #FFFFFF; margin: 0 10px 0 0; transition: var(--transition); }
a.art_link.b1:hover > i { color: #FFFFFF; }
.align_1 { justify-content: flex-start; }
.align_2 { justify-content: center; }
.align_3 { justify-content: flex-end; }
.align_4 > a.art_link.b1 { justify-content: center; width: 100% !important; text-align: center; }
@media screen and (max-width: 959px) {
	.button-link > a { font-weight: 400 !important; }
	main button { font-weight: 400 !important; }
	a.art_link.b1 { font-weight: 400 !important; }
}
/************************************ Ende: Buttons ************************************/
/************************************ Start: Slider ************************************/
/* Start: Allgemein */
#cmsShadow { inset: 0; background: rgba(0,0,0,0.5); }
#cmsShadowClose { transition: var(--transition); }
.cms_jssor .slide,
.cms_jssor .slide picture { display: flex !important; align-items: center; justify-content: center; }
.cms_jssor .slide img { width: 75vW !important; height: 75vH !important; object-fit: contain !important; object-position: center !important; }
@media screen and (max-width: 959px) { .cms_jssor_container { position: relative; left: auto; top: auto; width: 100%; height: auto; margin: 0; } }
/* End: Allgemein */

/* Start: Arrows */
.cms_jssor > div:nth-last-of-type(1), .cms_jssor > div:nth-last-of-type(2) { width: 50px !important; height: 50px !important; margin: 0 !important; transform: translateY(-50%); }
.cms_jssor > div:nth-last-of-type(1) { right: 0 !important; }
.cms_jssor > div:nth-last-of-type(2) { left: 0 !important; }
.cms_jssor > div > .cms_jssor_arrow { width: 50px; height: 50px; background: var(--primary); border: 1px solid var(--primary); transition: var(--transition); }
.cms_jssor > div > .cms_jssor_arrow:hover { background: #FFFFFF; }
.cms_jssor > div > .cms_jssor_arrow:before,
.cms_jssor > div > .cms_jssor_arrow:after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 15px; height: 35px; border: none; transition: var(--transition); }
.cms_jssor_arrow_left:before { background: url("/pages/img/jssor_slider_arrow_prev.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; transition: var(--transition); }
.cms_jssor_arrow_right:before { background: url("/pages/img/jssor_slider_arrow_next.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; transition: var(--transition); }
.cms_jssor_arrow_left:after { background: url("/pages/img/jssor_slider_arrow_prev_hover.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; opacity: 0; visibility: hidden; transition: var(--transition); }
.cms_jssor_arrow_right:after { background: url("/pages/img/jssor_slider_arrow_next_hover.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; opacity: 0; visibility: hidden; transition: var(--transition); }
.cms_jssor_arrow_left:hover:before,
.cms_jssor_arrow_right:hover:before { opacity: 0; visibility: hidden; }
.cms_jssor_arrow_left:hover:after,
.cms_jssor_arrow_right:hover:after { opacity: 1; visibility: visible; }
/* End: Arrows */

/* Start: Dots */
.cms_jssor > div:nth-last-of-type(3) { left: 0 !important; bottom: 30px !important; right: auto !important; height: auto !important; }
.cms_jssor > div:nth-last-of-type(3) > div { flex-wrap: wrap; align-items: center; height: auto !important; gap: 10px; }
.cms_jssor > div:nth-last-of-type(3) > div > div { top: auto !important; left: auto !important; width: 15px !important; height: 15px !important; }
.cms_jssor > div:nth-last-of-type(3) > div > div:after { inset: 0; background: #FFFFFF; border: 1px solid var(--primary); }
.cms_jssor > div:nth-last-of-type(3) > div > div:hover:after { background: var(--primary); }
.cms_jssor > div:nth-last-of-type(3) > div > div.iav:after { background: var(--primary); }
/* End: Dots */
/************************************ Ende: Slider ************************************/
/************************************ Start: Breadcrumbs ************************************/
.cms_breadcrumbs_box { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; }
.cms_breadcrumbs_block { display: flex; align-items: center; gap: 0 8px; }
.cms_breadcrumbs_box a {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 19px;
	color: var(--secondary);
	text-align: left;
	text-decoration: none;
	transition: var(--transition);
}
.cms_breadcrumbs_box a:hover { color: var(--primary); text-decoration: none; }
.cms_breadcrumbs_box a.active { color: var(--primary); }
.cms_breadcrumbs_box a.active:hover { color: var(--secondary); }
@media screen and (max-width: 767px) { .cms_breadcrumbs_box a { font-weight: 400 !important; font-size: 15px !important; line-height: 19px !important; } }
/************************************ Ende: Breadcrumbs ************************************/
/************************************ 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: Team ************************************/
.cms_users_title, .cms_users_header { font-family: neue-kabel, sans-serif; font-weight: 400; color: #000000; text-align: left; padding: 0 0 15px 0; }
.cms_users_title { font-size: 50px; line-height: 64px; }
.cms_users_header { font-size: 35px; line-height: 44px; color: var(--secondary); }
@media screen and (max-width: 767px) {
	.cms_users_title, .cms_users_header { font-weight: 400 !important; }
	.cms_users_title { font-size: 40px !important; line-height: 45px !important; }
	.cms_users_header { font-size: 30px !important; line-height: 38px !important; }
}
.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; inset: 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 { position: relative; width: 100%; padding-top: 100%; }
	.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: neue-kabel, sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 35px;
	color: #000000;
	text-align: left;
	padding: 0 0 15px 0;
}
.cms_user_text p {
	font-family: neue-kabel, sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 28px;
	color: #000000;
	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 input, form select, form textarea {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
	text-align: left;
	height: auto;
	padding: 10px 15px;
	background: #FFFFFF;
	border: 1px solid var(--primary);
	border-radius: 10px;
	outline: 0;
}
form textarea { height: 200px; }
form select { cursor: pointer; appearance: none; padding: 10px 45px 10px 15px; }
form button { display: table !important; width: auto !important; margin: 0 0 0 auto !important; }
::placeholder { font-family: neue-kabel, sans-serif; font-weight: 400; font-size: 20px; line-height: 25px; color: #000000; text-align: left; }
:-ms-input-placeholder { font-family: neue-kabel, sans-serif; font-weight: 400; font-size: 20px; line-height: 25px; color: #000000; text-align: left; }
::-ms-input-placeholder { font-family: neue-kabel, sans-serif; font-weight: 400; font-size: 20px; line-height: 25px; color: #000000; text-align: left; }
form.ff .frm_spacer { width: 100%; height: 1px; background: var(--primary); }
.frm_subtitle > div { font-family: neue-kabel, sans-serif; font-weight: 400; font-size: 30px; line-height: 38px; color: #000000; text-align: left; }
.frm_header p { padding: 0 0 15px 0 !important; }
.frm_header p:last-of-type { padding: 0 !important; }
main label.select:after {
	content: "";
	pointer-events: none;
	position: absolute;
	z-index: 10;
	top: 19.5px;
	right: 15px;
	display: block;
	width: 15px;
	height: 8px;
	background: url("/pages/img/select_arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
main input, main textarea, main select { width: 100%; }
.ff label {
	position: relative;
	width: 100%;
	min-height: unset;
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 20px;
	color: #000000;
	text-align: left;
	margin: 0 0 10px 0;
}
.ff .frm_input_7 > label,
.ff .frm_input_8 > label {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 24px;
	color: #000000;
	text-align: left;
	margin: 0;
}
.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; }

/* Start: Checkbox */
main input[type="checkbox"] { position: absolute; display: block; appearance: none; opacity: 0; }
main .frm_input input[type="checkbox"] { right: auto; top: 50%; transform: translateY(-50%); left: 15px; width: calc(100% - 30px); height: 1px; padding: 0; border: none; }
main input[type="checkbox"] + label { display: block !important; background: transparent !important; padding: 0 0 0 34px; }
main input[type="checkbox"] + label:before { top: 0; padding: 11px; background: #FFFFFF; border: 1px solid var(--primary); }
main input[type="checkbox"] + label:after { top: 1px; left: 1px; width: 22px; height: 22px; font-size: 18px; line-height: 22px; }
main input[type="checkbox"] + label:hover:after { color: var(--primary); }
main input[type="checkbox"]:checked + label:after { color: #FFFFFF; background: var(--primary); }
/* End: Checkbox */

/* Start: Radio */
main input[type="radio"] { position: absolute; display: block; appearance: none; opacity: 0; }
main .frm_input input[type="radio"] { top: 50%; left: 15px; transform: translateY(-50%); width: calc(100% - 30px); height: 1px; padding: 0; border: none; }
main input[type="radio"] + label { display: block !important; padding: 0 0 0 34px; }
main input[type="radio"] + label:before { top: 0; padding: 11px; background: #FFFFFF; border: 1px solid var(--primary); }
main input[type="radio"] + label:after { top: 5px; left: 5px; width: 14px; height: 14px; }
main input[type="radio"] + label:hover:after { background: var(--primary); }
main input[type="radio"]:checked + label:after { background: var(--primary); }
/* End: Radio */

main label.date:after,
main label.time:after {
	font-size: 24px;
	line-height: 47px;
	width: 47px;
	height: 47px;
	top: 0;
	left: 0;
	color: #FFFFFF;
	background: var(--primary);
	border-radius: 10px 0 0 10px;
}
main label.date input,
main label.time input { padding: 10px 15px 10px 62px; height: 47px; }
.frm_dz_lst {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
	text-align: left;
	background: #FFFFFF;
	padding: 15px;
	border: 1px solid var(--primary);
	border-radius: 10px 10px 0 0;
}
.frm_dz_lst b { font-weight: 700; }
.frm_dz_lst i { font-style: normal; }
.frm_dz_container .frm_dz_txt { border-width: 0 1px 1px 1px !important; border-style: solid !important; border-color: var(--primary) !important; border-radius: 0 0 10px 10px; background: #FFFFFF !important; }
.frm_dz_container .frm_dz_txt span {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
	text-align: left;
}
.frm_dz_container .frm_dz_txt i:before {
	display: block;
	font-size: 32px;
	line-height: 32px;
	color: #000000;
	text-align: center;
}
.frm_dz_lst > div > ul { padding: 0; }
.frm_dz_lst ul li { border-bottom: 1px solid var(--primary); }
.frm_dz_lst ul li div { color: #000000; }
.frm_dz_lst ul li div:hover { color: #F00000; }
/* Start: Nach Absenden */
.frm_sent_header * { color: #000000 !important; }
.frm_sent_table > tbody > tr > td.frm_spacer > div { height: 1px; margin: 15px 0; background: var(--primary); }
.frm_sent_table > tbody > tr > td {
	font-family: neue-kabel, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 25px;
	color: #000000;
	text-align: left;
}
.frm_sent_table > tbody > tr > td.frm_sent_value > a { color: var(--primary) !important; text-decoration: none !important; }
.frm_sent_table > tbody > tr > td.frm_sent_value > a:hover { color: var(--primary) !important; text-decoration: underline !important; }
/* End: Nach Absenden */
@media screen and (max-width: 767px) {
	form input, form select, form textarea { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; }
	form textarea { height: 150px; }
	::placeholder { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; }
	:-ms-input-placeholder { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; }
	::-ms-input-placeholder { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; }
	.frm_subtitle > div { font-weight: 400 !important; font-size: 30px !important; line-height: 38px !important; }
	.ff label { font-weight: 400 !important; font-size: 15px !important; line-height: 20px !important; }
	.ff .frm_input_7 > label,
	.ff .frm_input_8 > label { font-weight: 400 !important; font-size: 20px !important; line-height: 24px !important; }
	.frm_dz_lst { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; }
	.frm_dz_lst b { font-weight: 700; }
	.frm_dz_container .frm_dz_txt span { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; }
	.frm_dz_container .frm_dz_txt i:before { font-size: 30px !important; line-height: 30px !important; }
	/* Start: Nach Absenden */
	.frm_sent_table > tbody > tr > td { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !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: Gallery Three Four ************************************/
.cms_galleryThreeFour_box { display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px; }
.cms_galleryThreeFour_33 { width: 33.333%; padding: 15px; }
.cms_galleryThreeFour_25 { width: 25%; padding: 15px; }
.cms_galleryThreeFour_imgContainer { cursor: pointer; position: relative; width: 100%; }
.cms_galleryThreeFour_imgFixZindex { z-index: 10 !important; }
.cms_galleryThreeFour_imgBox { width: 100%; padding: 0 0 80.97165991902834% 0; }
.cms_galleryThreeFour_imgBox:before { content: ""; position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); visibility: hidden; opacity: 0; transition: var(--transition); }
.cms_galleryThreeFour_imgBox:hover:before { visibility: visible; opacity: 1; }
.cms_galleryThreeFour_imgBox:after { content: "\f002"; position: absolute; z-index: 3; top: 50%; left: 50%; transform: translate(-50%,-50%); font: 28px 'FontAwesome'; line-height: 30px; color: #FFFFFF; text-align: center; visibility: hidden; opacity: 0; transition: var(--transition); }
.cms_galleryThreeFour_imgBox:hover:after { visibility: visible; opacity: 1; }
.cms_galleryThreeFour_img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.cms_galleryThreeFour_imgLegend { position: absolute; z-index: 10; bottom: 15px; left: 15px; max-width: calc(100% - 30px); font-style: italic; font-size: 18px; line-height: 24px; text-align: center; padding: 10px; background: rgba(255,255,255,0.75); }
@media screen and (max-width: 767px) {
	.cms_galleryThreeFour_33 { width: 50%; }
	.cms_galleryThreeFour_25 { width: 50%; }
	.cms_galleryThreeFour_imgLegend { display: none; }
}
@media screen and (max-width: 320px) {
	.cms_galleryThreeFour_33 { width: 100%; }
	.cms_galleryThreeFour_25 { width: 100%; }
}
/************************************ End: Gallery Three Four ************************************/
/************************************ Start: Footer ************************************/
footer .cat_image img { position: absolute; z-index: 1; inset: 0; }
footer:before { content: ""; position: absolute; z-index: 2; inset: 0; opacity: 0.7; background: #757D81; }
h5 { font-weight: 700; font-size: 25px; line-height: 32px; color: #FFFFFF; padding: 0 0 9px 0; }
@media screen and (max-width: 767px) { h5 { font-weight: 700 !important; font-size: 25px !important; line-height: 32px !important; } }
footer p, footer span, footer a, footer li, footer strong, footer b, footer table tr > td { font-family: neue-kabel, sans-serif; font-weight: 400; font-size: 20px; line-height: 25px; color: #FFFFFF; text-align: left; }
@media screen and (max-width: 767px) { footer p, footer span, footer a, footer li, footer strong, footer b, footer table tr > td { font-weight: 400 !important; font-size: 20px !important; line-height: 25px !important; } }
footer .fa { font-size: 20px; line-height: 25px; color: #FFFFFF; margin: 0 10px 0 0; }
@media screen and (max-width: 767px) { footer .fa { font-size: 20px !important; line-height: 25px !important; } }
footer b, footer strong { font-weight: 700; }
@media screen and (max-width: 767px) { footer b, footer strong { font-weight: 700 !important; } }
footer div p { padding: 0 0 37px 0; }
footer div p:last-of-type { padding: 0; }
footer .art a { color: inherit; }
footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type .block_10000 p,
footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type .block_10000 a { font-size: 17px; line-height: 22px; }
@media screen and (max-width: 767px) {
	footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type .block_10000 p,
	footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type .block_10000 a { font-size: 17px !important; line-height: 22px !important; }
}
@media screen and (max-width: 959px) { footer > div > div > div > section > div > div > div > div > article.flex_box_12 { width: 50.0% !important; } }
@media screen and (max-width: 642px) {
	footer > div > div > div > section > div > div > div > div > article.flex_box_12 { width: 100.0% !important; margin: 0 0 17px 0; }
	footer > div > div > div > section > div > div > div > div > article.flex_box_12:last-of-type { margin: 0; }
}
/************************************ 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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: neue-kabel, 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 ************************************/
/************************************ Start: Fix Article- and Category Lst ************************************/
/*.cms_container_wide { background: purple; }
.cms_container { background: red; }
.cms_container_narrow { background: yellow; }*/

article { display: flex; }
article > a,
article > a > div,
article > a > div > div,
article > div,
article > div > div,
article > div > div > div { display: flex; width: 100%; }

section.cat_sub.flex_box_12 { display: flex; }
a.section_anchor { position: absolute; width: 100%; height: 0; font-size: 0px; line-height: 0px; z-index: 1; top: 0; left: 0; background: transparent; }
.cat_color_container { width: 100%; }
.cat.flex_verticalalignement_stretch > section > .cat_color_container { display: flex; }
.cat.flex_verticalalignement_stretch > section > .cat_color_container > .cat_content { display: flex; }

.cms_padding_0_2x { padding: 0 !important; }
.cms_padding_025_2x { padding: 10px !important; }
.cms_padding_05_2x { padding: 20px !important; }
.cms_padding_1_2x { padding: 30px !important; }
.cms_padding_2_2x { padding: 60px !important; }

.artlst_container .cms_padding_0_2x { padding: 0 !important; }
.artlst_container .cms_padding_025_2x { padding: 5px !important; }
.artlst_container .cms_padding_05_2x { padding: 10px !important; }
.artlst_container .cms_padding_1_2x { padding: 15px !important; }
.artlst_container .cms_padding_2_2x { padding: 30px !important; }

.artlst_container { flex-wrap: inherit !important; justify-content: inherit !important; align-content: inherit !important; align-items: inherit !important; }
.artlst_container .flex_container.cms_padding_0 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_025 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_05 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_1 { padding: 0 !important; }
.artlst_container .flex_container.cms_padding_2 { padding: 0 !important; }
/*
Falls bei Includes Probleme!
.artlst_container .art.flex_container.cms_padding_0 { padding: 0 !important; }
.artlst_container .art.flex_container.cms_padding_025 { padding: 0 !important; }
.artlst_container .art.flex_container.cms_padding_05 { padding: 0 !important; }
.artlst_container .art.flex_container.cms_padding_1 { padding: 0 !important; }
.artlst_container .art.flex_container.cms_padding_2 { padding: 0 !important; }
*/
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_0 { padding: 0px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_025 { padding: 5px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_05 { padding: 10px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_1 { padding: 15px !important; }
.artlst_container .artlst_hasBorColYN .flex_container.cms_padding_2 { padding: 30px !important; }
/*
Falls bei Includes Probleme!
.artlst_container .artlst_hasBorColYN .art.flex_container.cms_padding_0 {}
.artlst_container .artlst_hasBorColYN .art.flex_container.cms_padding_025 {}
.artlst_container .artlst_hasBorColYN .art.flex_container.cms_padding_05 {}
.artlst_container .artlst_hasBorColYN .art.flex_container.cms_padding_1 {}
.artlst_container .artlst_hasBorColYN .art.flex_container.cms_padding_2 {}
*/
.cat_color_inset { inset: 30px !important; }
.container_color_inset { padding: 30px !important; }

.full_art_link { position: absolute !important; z-index: 11 !important; }
.full_art_link_cms_padding_0 { inset: 0px !important; }
.full_art_link_cms_padding_025 { inset: 10px !important; }
.full_art_link_cms_padding_05 { inset: 20px !important; }
.full_art_link_cms_padding_1 { inset: 30px !important; }
.full_art_link_cms_padding_2 { inset: 60px !important; }

.artlst_container .full_art_link_cms_padding_0 { inset: 0px !important; }
.artlst_container .full_art_link_cms_padding_025 { inset: 5px !important; }
.artlst_container .full_art_link_cms_padding_05 { inset: 10px !important; }
.artlst_container .full_art_link_cms_padding_1 { inset: 15px !important; }
.artlst_container .full_art_link_cms_padding_2 { inset: 30px !important; }

.artlst_hasBorColYN .full_art_link { inset: 0 !important; }
/************************************ End: Fix Article- and Category Lst ************************************/