/************************************ Start: Root ************************************/
:root {
	--primary: #173240;
	--secondary: #0092D7;
	--tertiary: #D6E5EB;
	--quaternary: #F8F8F6;
	--black: #000000;
	--white: #FFFFFF;
	--border-radius-btn: 104px;
	--border-radius-large: 100px;
	--border-radius-default: 50px;
	--border-radius-filter: 28px;
	--border-radius-small: 20px;
	--border-radius-tiny: 10px;
	--box-shadow: 0px 0px 20px rgba(0,0,0,0.1);
	--box-shadow-hover: 0px 0px 20px rgba(0,0,0,0.3);
	--transition: all .3s ease-in-out;
}
@media screen and (max-width: 959px) { :root { --border-radius-large: 50px; } }
/************************************ Ende: Root ************************************/
/************************************ Start: Skelleton ************************************/
html { min-height: 100%; line-height: 1px; }
body { height: 100%; font-family: "Roboto", sans-serif; font-weight: 300; font-size: 20px; line-height: 32px; color: var(--primary); overflow-x: clip; }
@media screen and (max-width: 767px) { body { font-size: 18px; line-height: 24px; } }
body.navi { overflow: clip; }
body > table { width: 100%; max-width: 100%; min-height: 100vH; }
body > table > tbody > tr,
body > table > tbody > tr > td { height: 100%; }
main { overflow-x: clip; }
/************************************ 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; }
.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; width: 100%; height: 0; padding: 0 0 66.66666666666667% 0; overflow: hidden; }
.art_map_box > div { position: absolute; inset: 0; }
.art_map_box > div > iframe { width: 100%; height: 100%; border: none !important; }
/************************************ Ende: Google Maps ************************************/
/************************************ Start: YT Video ************************************/
.art_video_box { position: relative; width: 100%; min-height: auto; padding: 0 0 56.25% 0; background: var(--black); overflow: hidden; }
.art_video_box iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; min-height: 0; }
/************************************ Ende: YT Video ************************************/
/************************************ Start: Catpadding Klasse ************************************/
.catpadding { padding: 24px 0; }
/************************************ Ende: Catpadding Klasse ************************************/
/************************************ Start: Format "Informationen" ************************************/
.informationen { font-weight: 400; font-size: 16px; line-height: 20px; }
/************************************ End: Format "Informationen" ************************************/
/************************************ Start: Format "pdf-link" ************************************/
.pdf-link { display: inline-flex; align-items: center; gap: 15px; }
.pdf-link:before { content: ""; width: 21px; height: 22px; background: center / contain no-repeat url("/pages/img/pdf_link/icon.svg"); }
.art .pdf-link a { font-weight: 500; color: var(--primary); }
/************************************ End: Format "pdf-link" ************************************/
/************************************ Start: Abgerundetes Bild Klasse ************************************/
.cms_roundedImage_box .cms_imgBlock_imgContainer { max-width: 470px; margin: 0 auto; }
.cms_roundedImage_box .cms_imgBlock_imgBox { border-radius: 50%; overflow: clip; }
.cms_roundedImage_box .cms_imgBlock_imgBox > .full_article_link { border-radius: 50%; }
.cms_roundedImage_box .cms_imgBlock_imgBox > picture { padding: 0 0 100% 0; }
.cms_roundedImage_box .cms_imgBlock_imgBox > picture img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.cms_roundedImage_box .cms_imgBlock_imgLegend { text-align: center; }
/************************************ End: Abgerundetes Bild Klasse ************************************/
/************************************ 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(--primary); 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%; }
.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(--primary); 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%; 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-weight: 700; }
	.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: Fake Headings ************************************/
.h1 { font-weight: 300; font-size: 52px; line-height: 62px; }
.h2 { font-weight: 300; font-size: 42px; line-height: 52px; }
.h3 { font-weight: 300; font-size: 32px; line-height: 42px; }
.h4 { font-weight: 500; font-size: 26px; line-height: 30px; }
.h5 { font-weight: 700; font-size: 16px; line-height: 30px; }
@media screen and (max-width: 767px) {
	.h1 { font-size: 40px; line-height: 50px; }
	.h2 { font-size: 35px; line-height: 45px; }
	.h3 { font-size: 25px; line-height: 35px; }
	.h4 { font-size: 22px; line-height: 28px; }
	.h5 { font-size: 16px; line-height: 30px; }
}
/************************************ End: Fake Headings ************************************/
/************************************ Start: CMS IMG Klasse ************************************/
.block_20000 .cms_imgBlock_imgContainer { width: 100%; }
.block_20000 .cms_imgBlock_imgBox { position: relative; width: 100%; }
.block_20000 .cms_imgBlock_imgBox > picture,
.block_20000 .cms_imgBlock_imgBox > picture > img { display: flex; width: 100%; }
.block_20000 .cms_imgBlock_imgLegend { font-style: italic; font-size: 18px; line-height: 24px; margin: 15px 0 0 0; }
/************************************ End: CMS IMG Klasse ************************************/
/************************************ Start: Trennlinie ************************************/
.block hr, .block_60000 hr { border: none; outline: none; height: 1px; background: var(--primary); }
/************************************ Ende: Trennlinie ************************************/
/************************************ Start: CMS jssor-Slide Object Fit  ************************************/
#cmsShadowSlider .cms_jssor .slide picture { display: flex; align-items: center; justify-content: center; }
#cmsShadowSlider .cms_jssor .slide picture img { max-width: 75vW; max-height: 75vH; object-fit: contain !important; }
/************************************ End: CMS jssor-Slide Object Fit ************************************/
/************************************ Start: Headings ************************************/
h1, h2, h3, h4, h5 { padding: 0; margin: 0; }
main *+h1, main *+h2, main *+h3, main *+h4, main *+h5 { padding-top: 30px; }
h1:has(+*), h2:has(+*), h3:has(+*), h4:has(+*), h5:has(+*) { padding: 0 0 15px 0; }
h1 { font-weight: 300; font-size: 52px; line-height: 62px; }
h2 { font-weight: 300; font-size: 42px; line-height: 52px; }
h3 { font-weight: 300; font-size: 32px; line-height: 42px; }
h4 { font-weight: 500; font-size: 26px; line-height: 30px; }
h5 { font-weight: 700; font-size: 16px; line-height: 30px; }
@media screen and (max-width: 767px) {
	h1 { font-size: 40px; line-height: 50px; }
	h2 { font-size: 35px; line-height: 45px; }
	h3 { font-size: 25px; line-height: 35px; }
	h4 { font-size: 22px; line-height: 28px; }
	h5 { font-size: 16px; line-height: 30px; }
}
/************************************ 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(--secondary);
	text-align: inherit;
	text-decoration: none;
}
.art a:hover { text-decoration: underline; }
.lead { font-size: 26px; line-height: 36px; }
@media screen and (max-width: 767px) { .lead { font-size: 20px; line-height: 30px; } }
main p { font-size: 20px; line-height: 32px; margin: 0; padding: 0; }
@media screen and (max-width: 767px) { main p { font-size: 18px; line-height: 24px; } }
main *+p { padding-top: 15px; }
main ul,
main ol { list-style: none; margin: 0; padding: 0; }
main *+ul,
main *+ol { padding-top: 15px; }
main ol li,
main ul li { position: relative; padding: 0 0 0 20px; }
main ul li:before { content: ""; position: absolute; top: 15.5px; left: 0; width: 10px; height: 1px; background: var(--primary); }
@media screen and (max-width: 767px) { main ul li:before { top: 11.5px; } }
main b, main strong { font-weight: 500; }
/************************************ Ende: Content Font Settings ************************************/
/************************************ Start: Galerie Title und Beschreibung ************************************/
.cms_gallery_header { font-weight: 300; font-size: 42px; line-height: 52px; padding: 0 0 15px 0; }
.cms_gallery_intro { font-size: 26px; line-height: 36px; padding: 0 0 30px 0; }
@media screen and (max-width: 767px) {
	.cms_gallery_header { font-size: 35px; line-height: 45px; }
	.cms_gallery_intro { font-size: 20px; line-height: 30px; }
}
/************************************ Ende: Galerie Title und Beschreibung ************************************/
/************************************ Start: Buttons ************************************/
.full_article_link { position: absolute; z-index: 11; inset: 0; }

.button-link > a {
	position: relative;
	cursor: pointer;
	display: inline-flex;
	width: auto !important;
	font-weight: 400;
	font-size: 16px;
	line-height: 21px;
	color: var(--white);
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: var(--border-radius-btn);
	padding: 16px 60px 16px 35px;
	transition: var(--transition);
	text-decoration: none;
}
.button-link > a:hover { display: inline-flex; color: var(--white); background: var(--secondary); border: 1px solid var(--secondary); border-radius: var(--border-radius-btn); text-decoration: none; }
.button-link > a:after { content: ""; position: absolute; z-index: 1; top: 50%; right: 34px; transform: translateY(-50%); width: 18px; height: 12px; background: center / contain no-repeat url("/pages/img/button_link/arrow.svg"); transition: var(--transition); will-change: transform; }
.button-link > a:hover:after { transform: translateX(5px) translateY(-50%); }

.button-link-back > a {
	position: relative;
	cursor: pointer;
	display: inline-flex;
	width: auto !important;
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;
	color: var(--primary);
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0 0 0 35px;
	transition: var(--transition);
	text-decoration: none;
}
.button-link-back > a:hover { display: inline-flex; color: var(--primary); background: transparent; border: none; border-radius: 0; text-decoration: none; }
.button-link-back > a:after { content: ""; position: absolute; z-index: 1; top: 50%; left: 0; transform: translateY(-50%); width: 22px; height: 15px; background: center / contain no-repeat url("/pages/img/button_link_back/arrow.svg"); transition: var(--transition); will-change: transform; }
.button-link-back > a:hover:after { transform: translateX(-5px) translateY(-50%); }

main button {
	position: relative;
	cursor: pointer;
	display: inline-flex;
	width: auto !important;
	font-weight: 400;
	font-size: 16px;
	line-height: 21px;
	color: var(--white);
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: var(--border-radius-btn);
	padding: 16px 60px 16px 35px;
	transition: var(--transition);
	text-decoration: none;
}
main button:hover { display: inline-flex; color: var(--white); background: var(--secondary); border: 1px solid var(--secondary); border-radius: var(--border-radius-btn); text-decoration: none; }
main button:after { content: ""; position: absolute; z-index: 1; top: 50%; right: 34px; transform: translateY(-50%); width: 18px; height: 12px; background: center / contain no-repeat url("/pages/img/buttons/arrow.svg"); transition: var(--transition); will-change: transform; }
main button:hover:after { transform: translateX(5px) translateY(-50%); }

a.art_link.b1 {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	width: auto;
	font-weight: 400;
	font-size: 16px;
	line-height: 21px;
	color: var(--white);
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: var(--border-radius-btn);
	padding: 16px 34px 16px 35px;
	transition: var(--transition);
	text-decoration: none;
}
a.art_link.b1:hover { display: inline-flex; color: var(--white); background: var(--secondary); border: 1px solid var(--secondary); border-radius: var(--border-radius-btn); text-decoration: none; }
a.art_link.b1 > i { font-size: 16px; line-height: 21px; color: var(--white); margin: 0 10px 0 0; transition: var(--transition); }
a.art_link.b1:hover > i { color: var(--white); }
a.art_link.b1:after { content: ""; display: block; width: 18px; height: 12px; background: center / contain no-repeat url("/pages/img/buttons/arrow.svg"); margin: 0 0 0 8px; transition: var(--transition); will-change: transform; }
a.art_link.b1:hover:after { transform: translateX(5px); }
.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; }
/************************************ Ende: Buttons ************************************/
/************************************ Start: Slider ************************************/
/* Start: Dots */
.cms_jssor > div:nth-last-of-type(3) { right: auto !important; bottom: 15px !important; left: 15px !important; width: calc(100% - 30px) !important; height: auto !important; }
.cms_jssor > div:nth-last-of-type(3) > div { flex-wrap: wrap; align-items: center; gap: 15px; height: auto !important; }
.cms_jssor > div:nth-last-of-type(3) > div > div { inset: auto !important; width: 15px !important; height: 15px !important; }
.cms_jssor > div:nth-last-of-type(3) > div > div:after { inset: 0; border: 2px solid var(--white); border-radius: 50%; background: rgba(255,255,255,0.35); }
.cms_jssor > div:nth-last-of-type(3) > div > div:hover:after { background: var(--white); }
.cms_jssor > div:nth-last-of-type(3) > div > div.iav:after { background: var(--white); }
/* End: Dots */

/* Start: Arrows */
.cms_jssor > div:nth-last-of-type(1),
.cms_jssor > div:nth-last-of-type(2) { transform: translateY(-50%); width: 63px !important; height: 63px !important; margin-top: 0 !important; }
.cms_jssor > div > .cms_jssor_arrow { inset: auto !important; width: 63px !important; height: 63px !important; border: 2px solid var(--white); background: rgba(255,255,255,0.35); transition: var(--transition); }
.cms_jssor > div > .cms_jssor_arrow:hover { background: var(--primary); }
.cms_jssor > div > .cms_jssor_arrow:before { inset: 50% auto auto 50% !important; width: 21px; height: 35px; background: center / contain no-repeat url("/pages/img/article_slider/arrow-small-down-white.svg"); border: none !important; }
.cms_jssor_arrow.cms_jssor_arrow_left:before { transform: translate(-50%, -50%) rotate(-180deg); }
.cms_jssor_arrow.cms_jssor_arrow_right:before { transform: translate(-50%, -50%); }
/* End: Arrows */

/* Start: Responsive */
@media screen and (max-width: 1366px) {
	.cms_jssor > div:nth-last-of-type(3) { bottom: 54px !important; left: 78px !important; width: calc(100% - 156px) !important; }
	.cms_jssor > div:nth-last-of-type(1), .cms_jssor > div:nth-last-of-type(2) { transform: none; top: auto !important; bottom: 30px; }
	.cms_jssor > div:first-of-type > div { transform: none !important; }
}
@media screen and (max-width: 959px) {
	.cms_jssor > div:nth-last-of-type(3) { bottom: 27.5px !important; left: 55px !important; width: calc(100% - 110px) !important; }
	.cms_jssor > div:nth-last-of-type(1),
	.cms_jssor > div:nth-last-of-type(2) { bottom: 15px; 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 { width: 15px; height: 25px; }
}
/* End: Responsive */
/************************************ Ende: Slider ************************************/
/************************************ Start: Breadcrumbs ************************************/
/*.cms_breadcrumbs_box { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 7px; }
.cms_breadcrumbs_block { display: flex; align-items: center; gap: 0 7px; }
.cms_breadcrumbs_box a { font-size: 16px; line-height: 19px; text-decoration: none; transition: var(--transition); }
.cms_breadcrumbs_box a:hover { color: var(--primary); text-decoration: none; }
.cms_breadcrumbs_box a.active { cursor: auto; color: var(--primary); }
.cms_breadcrumbs_box a.active:hover { color: var(--secondary); }
.cms_breadcrumbs_spacer { display: inline-flex; }
.cms_breadcrumbs_spacer > svg { width: 5px; height: 8px; }
.cms_breadcrumbs_box a.active + .cms_breadcrumbs_spacer { transform: rotate(90deg); }*/
/************************************ Ende: Breadcrumbs ************************************/
/************************************ Start: Kontaktformular ************************************/
form input, form select, form textarea {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 25px;
	color: #000000;
	text-align: left;
	height: auto;
	padding: 11.5px 15px;
	background: var(--white);
	border: 1px solid var(--white);
	border-radius: var(--border-radius-tiny);
	outline: 0;
}
form textarea { height: 120px; }
form select { cursor: pointer; appearance: none; padding: 11.5px 43px 11.5px 15px; }
form button { display: table !important; width: auto !important; margin: 0 auto !important; }
::placeholder { font-family: "Roboto", sans-serif; font-weight: 300; font-size: 16px; line-height: 25px; color: #838383; text-align: left; }
:-ms-input-placeholder { font-family: "Roboto", sans-serif; font-weight: 300; font-size: 16px; line-height: 25px; color: #838383; text-align: left; }
::-ms-input-placeholder { font-family: "Roboto", sans-serif; font-weight: 300; font-size: 16px; line-height: 25px; color: #838383; text-align: left; }
form.ff .frm_spacer { width: 100%; height: 1px; background: var(--primary); }
.frm_subtitle > div { font-family: "Roboto", sans-serif; font-weight: 300; font-size: 24px; line-height: 29px; 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: 21px;
	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: "Roboto", sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 22px;
	color: #000000;
	text-align: left;
	margin: 0 0 4px 0;
}
.ff .frm_input_7 > label,
.ff .frm_input_8 > label {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 16px;
	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: 50px;
	width: 50px;
	height: 50px;
	top: 0;
	left: 0;
	color: #FFFFFF;
	background: var(--primary);
	border-radius: var(--border-radius-tiny) 0 0 var(--border-radius-tiny);
}
main label.date input,
main label.time input { padding: 11.5px 15px 11.5px 65px; height: 50px; }
.frm_dz_lst {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 14px;
	line-height: 22px;
	color: #FFFFFF;
	text-align: left;
	background: #4C4C4C;
	padding: 15px;
	border: none;
	border-radius: var(--border-radius-tiny) var(--border-radius-tiny) 0 0;
}
.frm_dz_lst b { font-weight: 600; }
.frm_dz_lst i { font-style: normal; }
.frm_dz_container { height: 116px; }
.frm_dz_container .frm_dz_txt {
	border: none;
	border-radius: 0 0 var(--border-radius-tiny) var(--border-radius-tiny);
	background: var(--white) !important;
}
.frm_dz_container .frm_dz_txt span {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 24px;
	color: #838383;
	text-align: left;
}
.frm_dz_container .frm_dz_txt i { display: none; }
.frm_dz_lst > div > ul { padding: 0; }
.frm_dz_lst ul li { border-bottom: 1px solid #FFFFFF; }
.frm_dz_lst ul li div { color: #FFFFFF; }
.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: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 25px;
	color: #000000;
	text-align: left;
}
.frm_sent_table > tbody > tr > td.frm_sent_value > a { color: #000000 !important; text-decoration: underline !important; transition: var(--transition); }
.frm_sent_table > tbody > tr > td.frm_sent_value > a:hover { color: var(--primary) !important; text-decoration: none !important; }
/* End: Nach Absenden */

@media screen and (max-width: 767px) {
	form input, form select, form textarea { font-weight: 300 !important; font-size: 16px !important; line-height: 25px !important; padding: 8px 12px; }
	form textarea { height: 100px; }
	form select { padding: 8px 37px 8px 12px; }
	::placeholder { font-weight: 300 !important; font-size: 16px !important; line-height: 25px !important; }
	:-ms-input-placeholder { font-weight: 300 !important; font-size: 16px !important; line-height: 25px !important; }
	::-ms-input-placeholder { font-weight: 300 !important; font-size: 16px !important; line-height: 25px !important; }
	.frm_subtitle > div { font-weight: 300 !important; font-size: 24px !important; line-height: 29px !important; }
	main label.select:after { top: 17.5px; right: 12px; }
	.ff label { font-weight: 600 !important; font-size: 14px !important; line-height: 22px !important; }
	.ff .frm_input_7 > label,
	.ff .frm_input_8 > label { font-weight: 300 !important; font-size: 16px !important; line-height: 24px !important; }
	main label.date:after,
	main label.time:after { font-size: 22px; line-height: 43px; width: 43px; height: 43px; }
	main label.date input,
	main label.time input { padding: 8px 12px 8px 55px; height: 43px; }
	.frm_dz_lst { font-weight: 300 !important; font-size: 14px !important; line-height: 22px !important; }
	.frm_dz_lst b { font-weight: 600 !important; }
	.frm_dz_lst i { font-style: normal !important; }
	.frm_dz_container .frm_dz_txt span { font-weight: 300 !important; font-size: 15px !important; line-height: 24px !important; }
	/* Start: Nach Absenden */
	.frm_sent_table > tbody > tr > td { font-weight: 300 !important; font-size: 16px !important; line-height: 25px !important; }
	/* End: Nach Absenden */
}
/************************************ Ende: Kontaktformular ************************************/
/************************************ 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%; }
.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: var(--white);
	text-align: center;
	visibility: hidden;
	opacity: 0;
	transition: var(--transition);
}
.cms_galleryThreeFour_imgBox:hover:after { visibility: visible; opacity: 1; }
.cms_galleryThreeFour_imgBox > picture { display: block; width: 100%; padding: 0 0 80.97165991902834% 0; }
.cms_galleryThreeFour_imgBox > picture > 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 h5,
footer p,
footer .art a { color: var(--white); }
footer > div > div > div > section:first-of-type > div > div > div .artlst_container > article:last-of-type p { font-size: 32px; line-height: 42px; }
footer > div > div > div > section:last-of-type .cms_padding_1 { padding: 5px 15px !important; }
footer > div > div > div > section:last-of-type p { font-size: 16px; }
@media screen and (max-width: 1095px) {
	footer > div > div > div > section:first-of-type article.flex_box_12 { width: 50% !important; }
	footer > div > div > div > section:first-of-type > div > div > div .artlst_container > article:last-of-type p { font-size: 20px; line-height: 32px; }
}
@media screen and (max-width: 767px) { footer > div > div > div > section:first-of-type article.flex_box_12 { 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: "Roboto", 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: "Roboto", 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: "Roboto", 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: "Roboto", 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: "Roboto", 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: "Roboto", 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: "Roboto", 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: "Roboto", 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: "Roboto", 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: "Roboto", 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 ************************************/