/************************************ Start: Colors ************************************/
:root {
	--primary: #254572;
	--secondary: #E52C3B;
	--tertiary: #BAC3D6;
	--quaternary: #F2F5F8;
	--boxShadowDefault: 0px 0px 30px rgba(0,0,0,0.15);
	--boxShadowHover: 0px 0px 30px rgba(0,0,0,0.3);
	--inputPlaceholder: #9A9A9A;
	--praFullyBooked: #9A9A9A;
}
/************************************ End: Colors ************************************/
/************************************ Start: Skelleton ************************************/
html { min-height: 100%; line-height: 1px; }
body { height: 100%; font-family: "Rubik", sans-serif; font-size: 16px; color: var(--primary); line-height: 1.5; background: var(--quaternary); }
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%; }
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: 830px; 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: 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 { 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: Date Box ************************************/
.cms_date_box {
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: 15px;
	line-height: 20px;
	color: #FFFFFF;
	text-align: left;
	padding: 5px 18px;
	background: var(--primary);
	border-radius: 5px;
}
@media screen and (max-width: 767px) { .cms_date_box { font-weight: 500 !important; font-size: 15px !important; line-height: 24px !important; } }
/************************************ End: Date Box ************************************/
/************************************ Start: Format "rot" ************************************/
.rot { color: var(--secondary) !important; }
/************************************ End: Format "rot" ************************************/
/************************************ Start: Teaser Bild Scroll Klasse ************************************/
.cms_tbScroll_box { padding: 24px 0; }
@media screen and (max-width: 959px) {
	.cms_tbScroll_box .cat_sub.flex_container { overflow-x: scroll; overflow-y: hidden; }
	.cms_tbScroll_box .cat_sub.flex_container::-webkit-scrollbar { display: none; }
	.cms_tbScroll_box .cat_sub.flex_container { -ms-overflow-style: none; scrollbar-width: none; }
	.cms_tbScroll_box .artlst_container { flex-wrap: nowrap !important; flex-shrink: 0; }
}
/************************************ Ende: Teaser Bild Scroll Klasse ************************************/
/************************************ Start: Teaser Bild Scroll 2 Klasse ************************************/
.cms_tbScroll_box2 { padding: 24px 0; }
@media screen and (max-width: 959px) {
	.cms_tbScroll_box2 .artlst_container.flex_container { padding: 15px 25px !important; }
	.cms_tbScroll_box2 .artlst_container .cms_padding_1_2x { padding: 15px 5px !important; }
	.cms_tbScroll_box2 .artlst_container .artlst_hasBorColYN .flex_container.cms_padding_1 { padding: 15px 7.5px !important; }
	.cms_tbScroll_box2 .block.cms_padding_1 { padding: 15px 7.5px !important; }
	.cms_tbScroll_box2 .cat_sub.flex_container { overflow-x: scroll; overflow-y: hidden; }
	.cms_tbScroll_box2 .cat_sub.flex_container::-webkit-scrollbar { display: none; }
	.cms_tbScroll_box2 .cat_sub.flex_container { -ms-overflow-style: none; scrollbar-width: none; }
	.cms_tbScroll_box2 .artlst_container { flex-wrap: nowrap !important; flex-shrink: 0; }
}
/************************************ Ende: Teaser Bild Scroll 2 Klasse ************************************/
/************************************ Start: Home Panorama BG Klasse ************************************/
.cms_homePanoramaBg_box > .cat_image { top: -270px; }
@media screen and (max-width: 1024px) { .cms_homePanoramaBg_box > .cat_image { top: -100px; } }
/************************************ End: Home Panorama BG 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%;
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
}
.cms_tinyTables_box .block_10000 table tr:first-of-type > td { font-weight: 500; }
.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%;
		font-weight: 300 !important;
		font-size: 16px !important;
		line-height: 26px !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: "Rubik", sans-serif;
		font-weight: 500;
		font-size: 16px;
		line-height: 26px;
		color: var(--primary);
	}
	.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; overflow: hidden; }
.cms_img > a > picture { border-radius: 0; overflow: visible; }
.cms_img > picture { border-radius: 30px; overflow: hidden; }
.cms_legend {
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
	margin: 17px 0 0 0;
}
@media screen and (max-width: 767px) { .cms_legend { font-weight: 500 !important; font-size: 16px !important; line-height: 26px !important; margin: 15px 0 0 0; } }
/************************************ Ende: CMS IMG Klasse ************************************/
/************************************ Start: Background Radius Klasse ************************************/
.cms_bgRadius_box > .artlst_hasBorColYN > .artbox { border-radius: 30px; box-shadow: var(--boxShadowDefault); }
.cms_bgRadius_box > .artlst_hasBorColYN > .artbox .block_20000.flex_box_12_2 { width: auto; }
.cms_bgRadius_box > .artlst_hasBorColYN > .artbox .block_20000.flex_box_12_2 .cms_img > a { border-radius: 0; overflow: visible; }
.cms_bgRadius_box > .artlst_hasBorColYN > .artbox .block_20000.flex_box_12_2 .cms_img > picture { border-radius: 0; overflow: visible; }
.cms_bgRadius_box > .artlst_hasBorColYN > .artbox .block_20000.flex_box_12_2 .cms_img picture img { width: auto; height: 74px; }
.block_20000.flex_box_12_2 .cms_legend { display: none !important; }
@media screen and (max-width: 959px) { .cms_bgRadius_box > .artlst_hasBorColYN > .artbox .block_20000.flex_box_12_2 { width: auto !important; } }
/************************************ End: Background Radius 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 img { object-fit: contain !important; }
/************************************ End: CMS jssor-Slide Object Fit ************************************/
/************************************ Start: Image Zoom ************************************/
/*.imgzoom #cmsShadowBox { display: flex; justify-content: center; align-items: center; }
.imgzoom #cmsShadowBox picture { width: 75%; height: 75%; }*/
/************************************ End: Image Zoom ************************************/
/************************************ Start: Image Zoom OG Image ************************************/
/*.cms_zoom_imgContainer { position: relative; z-index: 1; display: flex; width: 75%; height: 75%; }
.cms_zoom_imgBox { width: 100%; }
.cms_zoom_img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }*/
/************************************ End: Image Zoom OG Image ************************************/
/************************************ Start: Image Zoom ************************************/
#cmsShadow.imgzoom { inset: 0; background: rgba(42, 42, 42, 0.95); }
#cmsShadow.imgzoom #cmsShadowContainer { display: flex; justify-content: center; align-items: center; }
#cmsShadow.imgzoom #cmsShadowClose { cursor: pointer; position: fixed; z-index: 12; top: 30px; right: 30px; width: 27px; height: 27px; background: center / contain no-repeat url("/pages/img/img_zoom/close.svg"); transition: all .3s ease-in-out; will-change: transform; }
#cmsShadow.imgzoom #cmsShadowClose:hover { background: center / contain no-repeat url("/pages/img/img_zoom/close.svg"); transform: scale(1.1); }
#cmsShadow.imgzoom #cmsShadowClose:after { content: none !important; }
#cmsShadow.imgzoom #cmsShadowBox { display: flex; justify-content: center; align-items: center; width: 100%; height: 100svh; }
.cms_zoom_imgMain { display: flex; justify-content: center; align-items: center; max-width: 1630px; width: 100%; padding: 30px; margin: 0 auto; }
.cms_zoom_imgContainer { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.cms_zoom_imgBox { position: relative; display: flex; }
.cms_zoom_img { max-width: 100%; max-height: 60svh; }
#cmsShadow.imgzoom #cmsShadowBox picture { width: 100%; height: auto; }
#cmsShadow.imgzoom #cmsShadowBox picture img { max-width: 100%; width: 100%; max-height: 60svh; height: auto; }
/************************************ End: Image Zoom ************************************/
/************************************ Start: Headings ************************************/
h1, h2, h3, h4, h5 { font-family: "Rubik", sans-serif; color: var(--primary); text-align: left; padding: 0 0 15px 0; }
h1 { font-weight: 700; font-size: 52px; line-height: 62px; }
h2 { font-weight: 700; font-size: 38px; line-height: 48px; }
h3 { font-weight: 700; font-size: 30px; line-height: 40px; }
h4 { font-weight: 700; font-size: 24px; line-height: 34px; }
h5 { font-weight: 500; font-size: 15px; line-height: 18px; letter-spacing: 0.75px; }
.block_10000 > h1:only-child,
.block_10000 > h2:only-child,
.block_10000 > h3:only-child,
.block_10000 > h4:only-child,
.block_10000 > h5:only-child { padding: 0; }
@media screen and (max-width: 767px) {
	h1 { font-weight: 700 !important; font-size: 30px !important; line-height: 35px !important; }
	h2 { font-weight: 700 !important; font-size: 25px !important; line-height: 30px !important; }
	h3 { font-weight: 700 !important; font-size: 20px !important; line-height: 25px !important; }
	h4 { font-weight: 700 !important; font-size: 18px !important; line-height: 28px !important; }
	h5 { font-weight: 500 !important; font-size: 12px !important; line-height: 14px !important; letter-spacing: 0.6px !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(--secondary);
	text-align:inherit;
	text-decoration: none;
}
.art a:hover { text-decoration: underline; }
.lead {
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 28px;
	line-height: 40px;
	color: var(--primary);
	text-align: left;
}
@media screen and (max-width: 767px) { .lead { font-weight: 300 !important; font-size: 20px !important; line-height: 28px !important; } }
p {
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
	padding: 0 0 15px 0;
}
@media screen and (max-width: 767px) { p { font-weight: 300 !important; font-size: 16px !important; line-height: 26px !important; } }
.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: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
	padding: 0 0 0 29px;
}
.block_10000 li:before {
	content: "";
	position: absolute;
	z-index: 12;
	top: 12.5px;
	left: 0;
	width: 15px;
	height: 3px;
	background: var(--tertiary);
}
.block_10000 li > span { display: block; }
@media screen and (max-width: 767px) {
	.block_10000 li { font-weight: 300 !important; font-size: 16px !important; line-height: 26px !important; }
	.block_10000 li:before { top: 11.5px; }
}
b, strong { font-weight: 500; }
@media screen and (max-width: 767px) { b, strong { font-weight: 500 !important; } }
/************************************ Ende: Content Font Settings ************************************/
/************************************ Start: Galerie Title und Beschreibung ************************************/
.cms_gallery_header, .cms_gallery_intro { font-family: "Rubik", sans-serif; color: var(--primary); text-align: left; padding: 0 0 15px 0; }
.cms_gallery_header { font-weight: 700; font-size: 38px; line-height: 48px; }
.cms_gallery_intro { font-weight: 700; font-size: 30px; line-height: 40px; }
@media screen and (max-width: 767px) {
	.cms_gallery_header { font-weight: 700 !important; font-size: 25px !important; line-height: 30px !important; }
	.cms_gallery_intro { font-weight: 700 !important; font-size: 20px !important; line-height: 25px !important; }
}
/************************************ Ende: Galerie Title und Beschreibung ************************************/
/************************************ Start: Buttons ************************************/
.full_article_link { cursor: pointer; position: absolute; z-index: 11; inset: 0; }

/* Start: Button Full (Both Versions) */
.button-full > a,
.button-full-goBack > a {
	cursor: pointer;
	position: relative;
	display: inline-flex;
	width: auto !important;
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 27px;
	color: #FFFFFF;
	text-align: left;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 25px;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
.button-full > a { padding: 10px 49px 10px 30px; }
.button-full-goBack > a { padding: 10px 30px 10px 49px; }
.button-full > a:hover,
.button-full-goBack > a:hover { display: inline-flex; color: #FFFFFF; background: var(--secondary); border: 1px solid var(--secondary); border-radius: 25px; text-decoration: none; }
.button-full > a:before,
.button-full-goBack > a:before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); width: 8px; height: 14px; transition: all .3s ease-in-out; }
.button-full > a:before { right: 30px; background: url("/pages/img/buttons/button-full/arrow-right.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-full-goBack > a:before { left: 30px; background: url("/pages/img/buttons/button-full-goBack/arrow-left.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-full > a:hover:before { right: 25px; }
.button-full-goBack > a:hover:before { left: 25px; }
/* End: Button Full (Both Versions) */

/* Start: Button Soft (Both Versions) */
.button-soft > a,
.button-soft-goBack > a {
	cursor: pointer;
	position: relative;
	display: inline-flex;
	width: auto !important;
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
.button-soft > a { padding: 0 26px 0 0; }
.button-soft-goBack > a { padding: 0 0 0 26px; }
.button-soft > a:hover,
.button-soft-goBack > a:hover { display: inline-flex; color: var(--secondary); text-decoration: none; }
.button-soft > a:before,
.button-soft > a:after,
.button-soft-goBack > a:before,
.button-soft-goBack > a:after { content: ""; position: absolute; top: 50%; transform: translateY(-50%); width: 8px; height: 14px; transition: all .3s ease-in-out; }
.button-soft > a:before,
.button-soft > a:after { right: 5px; }
.button-soft-goBack > a:before,
.button-soft-goBack > a:after { left: 5px; }
.button-soft > a:before,
.button-soft-goBack > a:before { opacity: 1; visibility: visible; }
.button-soft > a:after,
.button-soft-goBack > a:after { opacity: 0; visibility: hidden; }
.button-soft > a:before { background: url("/pages/img/buttons/button-soft/arrow-right.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-soft > a:after { background: url("/pages/img/buttons/button-soft/arrow-right-hover.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-soft-goBack > a:before { background: url("/pages/img/buttons/button-soft-goBack/arrow-left.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-soft-goBack > a:after { background: url("/pages/img/buttons/button-soft-goBack/arrow-left-hover.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-soft > a:hover:before,
.button-soft > a:hover:after { right: 0; }
.button-soft-goBack > a:hover:before,
.button-soft-goBack > a:hover:after { left: 0; }
.button-soft > a:hover:before,
.button-soft-goBack > a:hover:before { opacity: 0; visibility: hidden; }
.button-soft > a:hover:after,
.button-soft-goBack > a:hover:after { opacity: 1; visibility: visible; }
/* End: Button Soft (Both Versions) */

/* Start: Button Pfeil (Both Versions) */
.button-arrow-prev,
.button-arrow-next,
.button-arrow-prev-v2,
.button-arrow-next-v2 { cursor: pointer; position: relative; width: 70px; height: 70px; box-shadow: var(--boxShadowDefault); border-radius: 50%; will-change: transform; transition: all .3s ease-in-out; }
.button-arrow-prev,
.button-arrow-next { background: #FFFFFF; }
.button-arrow-prev-v2,
.button-arrow-next-v2 { background: var(--primary); }
.button-arrow-prev:before,
.button-arrow-next:before,
.button-arrow-prev-v2:before,
.button-arrow-next-v2:before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 12px; height: 21px; }
.button-arrow-prev:before { background: url("/pages/img/buttons/button-arrows/arrow-left.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-arrow-next:before { background: url("/pages/img/buttons/button-arrows/arrow-right.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-arrow-prev-v2:before { background: url("/pages/img/buttons/button-arrows-v2/arrow-left.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-arrow-next-v2:before { background: url("/pages/img/buttons/button-arrows-v2/arrow-right.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; }
.button-arrow-prev:hover,
.button-arrow-next:hover,
.button-arrow-prev-v2:hover,
.button-arrow-next-v2:hover { transform: scale(1.0857); box-shadow: var(--boxShadowHover); }
/* End: Button Pfeil (Both Versions) */

/* Start: Button Lupe */
.button-lupe { cursor: pointer; position: relative; width: 70px; height: 70px; background: var(--primary); box-shadow: var(--boxShadowDefault); border-radius: 50%; will-change: transform; transition: all .3s ease-in-out; }
.button-lupe:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 36px;
	height: 36px;
	background: url("/pages/img/buttons/button-lupe/lupe.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.button-lupe:hover { transform: scale(1.0857); box-shadow: var(--boxShadowHover); }
@media screen and (max-width: 959px) { .button-lupe { width: 55px; height: 55px; } .button-lupe:before { width: 28px; height: 28px; } }
/* End: Button Lupe */

/* Start: Button Filter */
.button-filter {
	cursor: pointer;
	position: relative;
	display: inline-flex;
	width: auto !important;
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 27px;
	color: #FFFFFF;
	text-align: left;
	background: var(--tertiary);
	border: 1px solid var(--tertiary);
	border-radius: 25px;
	padding: 10px 30px;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
.button-filter:hover,
.button-filter.active { display: inline-flex; color: #FFFFFF; background: var(--primary); border: 1px solid var(--primary); border-radius: 25px; text-decoration: none; }
/* End: Button Filter */

/* Start: Main Button */
main button {
	cursor: pointer;
	position: relative;
	display: inline-flex;
	width: auto !important;
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 27px;
	color: #FFFFFF;
	text-align: left;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 25px;
	padding: 10px 49px 10px 30px;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
main button:hover { display: inline-flex; color: #FFFFFF; background: var(--secondary); border: 1px solid var(--secondary); border-radius: 25px; text-decoration: none; }
main button:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	width: 8px;
	height: 14px;
	background: url("/pages/img/buttons/button-full/arrow-right.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: all .3s ease-in-out;
}
main button:hover:before { right: 25px; }
/* End: Main Button */

/* Start: Linkbaustein */
a.art_link.b1 {
	cursor: pointer;
	display: flex;
	align-items: center;
	width: auto;
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 27px;
	color: #FFFFFF;
	text-align: left;
	background: var(--primary);
	border: 1px solid var(--primary);
	border-radius: 25px;
	padding: 10px 30px;
	transition: all .3s ease-in-out;
	text-decoration: none;
}
a.art_link.b1:hover { display: flex; color: #FFFFFF; background: var(--secondary); border: 1px solid var(--secondary); border-radius: 25px; text-decoration: none; }
a.art_link.b1:after {
	content: "";
	display: inline-flex;
	width: 8px;
	height: 14px;
	margin: 0 0 0 11px;
	background: url("/pages/img/buttons/button-full/arrow-right.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: all .3s ease-in-out;
	will-change: transform;
}
a.art_link.b1:hover:after { transform: translateX(5px); }
a.art_link.b1 > i { font-size: 16px; line-height: 27px; color: #FFFFFF; margin: 0 11px 0 0; transition: all .3s ease-in-out; }
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; }
/* End: Linkbaustein */

@media screen and (max-width: 959px) {
	/* Start: Button Full (Both Versions) */
	.button-full > a,
	.button-full-goBack > a { font-weight: 500 !important; }
	/* End: Button Full (Both Versions) */

	/* Start: Button Soft (Both Versions) */
	.button-soft > a,
	.button-soft-goBack > a { font-weight: 500 !important; }
	/* End: Button Soft (Both Versions) */

	/* Start: Button Filter */
	.button-filter { font-weight: 500 !important; }
	/* End: Button Filter */

	/* Start: Main Button */
	main button { font-weight: 500 !important; }
	/* End: Main Button */

	/* Start: Linkbaustein */
	a.art_link.b1 { font-weight: 500 !important; }
	/* End: Linkbaustein */
}
/************************************ Ende: Buttons ************************************/
/************************************ Start: Slider ************************************/
/* 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; inset: 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); transition: all .3s ease-in-out; }
.cms_jssor > div > .cms_jssor_arrow:hover { background: #0E8CBA; }
.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/article_slider/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; transform: rotate(-180deg); }
.cms_jssor_arrow.cms_jssor_arrow_right:before { left: 19px; transform: none; }
/* End: Arrows */
/* Start: Responsive */
@media screen and (max-width: 1366px) {
	.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 > 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 > 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; }
}
/* End: Responsive */
/************************************ Ende: Slider ************************************/
/************************************ Start: Breadcrumbs ************************************/
.cms_breadcrumbs_flexContainer.cms_padding_1 { padding: 15px 15px 0 15px !important; }
.cms_breadcrumbs_flexContainer > .cms_padding_1 { padding: 15px 15px 0 15px !important; }
.cms_breadcrumbs_box { display: flex; flex-wrap: wrap; align-items: center; gap: 0 4px; }
.cms_breadcrumbs_block { display: flex; align-items: center; gap: 0 4px; }
.cms_breadcrumbs_box a,
.cms_breadcrumbs_fakeLink,
.cms_breadcrumbs_spacer {
	font-family: "Rubik", sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;
	color: #254572;
	text-align: left;
	text-decoration: none;
	transition: all .3s ease-in-out;
}
.cms_breadcrumbs_box a:hover,
.cms_breadcrumbs_fakeLink:hover { color: #E52C3B; text-decoration: none; }
.cms_breadcrumbs_box a.active { color: #E52C3B; }
.cms_breadcrumbs_box a.active:hover { color: #254572; }
@media screen and (max-width: 959px) { .cms_breadcrumbs_container { display: none; } }
@media screen and (max-width: 767px) {
	.cms_breadcrumbs_box a,
	.cms_breadcrumbs_fakeLink,
	.cms_breadcrumbs_spacer { font-weight: 400 !important; font-size: 14px !important; line-height: 17px !important; }
}
/************************************ Ende: Breadcrumbs ************************************/
/************************************ Start: Kontaktformular ************************************/
form input, form select, form textarea {
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
	height: auto;
	padding: 10px 19px;
	background: var(--quaternary);
	border: 1px solid var(--quaternary);
	border-radius: 10px;
	outline: 0;
}
form textarea { height: 200px; }
form select { cursor: pointer; appearance: none; padding: 10px 52px 10px 19px; }
form button { display: table !important; width: auto !important; margin: 0 0 0 auto !important; }
::placeholder { font-family: "Rubik", sans-serif; font-weight: 300; font-size: 18px; line-height: 28px; color: var(--inputPlaceholder); text-align: left; }
:-ms-input-placeholder { font-family: "Rubik", sans-serif; font-weight: 300; font-size: 18px; line-height: 28px; color: var(--inputPlaceholder); text-align: left; }
::-ms-input-placeholder { font-family: "Rubik", sans-serif; font-weight: 300; font-size: 18px; line-height: 28px; color: var(--inputPlaceholder); text-align: left; }
form.ff .frm_spacer { width: 100%; height: 1px; background: var(--primary); }
.frm_subtitle > div { font-family: "Rubik", sans-serif; font-weight: 700; font-size: 30px; line-height: 40px; color: var(--primary); 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: 18px;
	right: 23px;
	display: block;
	width: 8px;
	height: 14px;
	transform: rotate(90deg);
	background: url("/pages/img/input-select/arrow-right.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: "Rubik", sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 22px;
	color: var(--primary);
	text-align: left;
	margin: 0 0 10px 0;
}
.ff .frm_input_7 > label,
.ff .frm_input_8 > label {
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	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 38px; }
main input[type="checkbox"] + label:before { top: 0; padding: 13px; background: #FFFFFF; border: 1px solid var(--primary); }
main input[type="checkbox"] + label:after { top: 1px; left: 1px; width: 26px; height: 26px; font-size: 20px; line-height: 26px; }
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 38px; }
main input[type="radio"] + label:before { top: 0; padding: 13px; background: #FFFFFF; border: 1px solid var(--primary); }
main input[type="radio"] + label:after { top: 5px; left: 5px; width: 18px; height: 18px; }
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: 10px 0 0 10px;
}
main label.date input,
main label.time input { padding: 10px 19px 10px 69px; height: 50px; }
.frm_dz_lst {
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
	background: #FFFFFF;
	padding: 15px;
	border: 1px solid var(--primary);
	border-radius: 0;
}
.frm_dz_lst b { font-weight: 500; }
.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; background: #FFFFFF !important; }
.frm_dz_container .frm_dz_txt span {
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
}
.frm_dz_container .frm_dz_txt i:before {
	display: block;
	font-size: 32px;
	line-height: 32px;
	color: var(--primary);
	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: var(--primary); }
.frm_dz_lst ul li div:hover { color: #F00000; }
/* Start: Nach Absenden */
.frm_sent_header * { color: var(--primary) !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: "Rubik", sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 28px;
	color: var(--primary);
	text-align: left;
}
.frm_sent_table > tbody > tr > td.frm_sent_value > a { color: var(--secondary) !important; text-decoration: none !important; }
.frm_sent_table > tbody > tr > td.frm_sent_value > a:hover { color: var(--secondary) !important; text-decoration: underline !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: 26px !important; padding: 10px 15px; }
	form textarea { height: 150px; }
	form select { padding: 10px 44px 10px 15px; }
	form button { margin: 0 auto !important; }
	::placeholder { font-weight: 300 !important; font-size: 16px !important; line-height: 26px !important; }
	:-ms-input-placeholder { font-weight: 300 !important; font-size: 16px !important; line-height: 26px !important; }
	::-ms-input-placeholder { font-weight: 300 !important; font-size: 16px !important; line-height: 26px !important; }
	.frm_subtitle > div { font-weight: 700 !important; font-size: 24px !important; line-height: 34px !important; }
	main label.select:after { top: 17px; right: 19px; }
	.ff label { font-weight: 400 !important; font-size: 15px !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: 26px !important; }

	/* Start: Checkbox */
	main input[type="checkbox"] + label { padding: 0 0 0 36px; }
	main input[type="checkbox"] + label:before { padding: 12px; }
	main input[type="checkbox"] + label:after { width: 24px; height: 24px; font-size: 18px; line-height: 24px; }
	/* End: Checkbox */

	/* Start: Radio */
	main input[type="radio"] + label { padding: 0 0 0 36px; }
	main input[type="radio"] + label:before { padding: 12px; }
	main input[type="radio"] + label:after { width: 16px; height: 16px; }
	/* End: Radio */

	main label.date:after,
	main label.time:after { font-size: 24px; line-height: 48px; width: 48px; height: 48px; }
	main label.date input,
	main label.time input { padding: 10px 15px 10px 63px; height: 48px; }
	.frm_dz_lst { font-weight: 300 !important; font-size: 16px !important; line-height: 26px !important; }
	.frm_dz_lst b { font-weight: 500 !important; }
	.frm_dz_container .frm_dz_txt span { font-weight: 300 !important; font-size: 16px !important; line-height: 26px !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: 300 !important; font-size: 16px !important; line-height: 26px !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 #000000; padding: 15px 0; }
/************************************ Ende: Search ************************************/
/************************************ Start: Footer ************************************/
footer h5 { color: #FFFFFF; padding: 0 0 23px 0; }
footer p, footer span, footer a, footer li, footer strong, footer b, footer table tr > td { font-family: "Rubik", sans-serif; font-weight: 300; font-size: 15px; line-height: 18px; 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: 300 !important; font-size: 12px !important; line-height: 14px !important; } }
footer .fa { font-size: 15px; line-height: 18px; color: #FFFFFF; margin: 0 10px 0 0; }
@media screen and (max-width: 767px) { footer .fa { font-size: 12px !important; line-height: 14px !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 15px 0; }
footer div p:last-of-type { padding: 0; }
footer .art a { color: #FFFFFF; margin: 0 0 10px 0; }
footer .art p > a:only-child,
footer .art p > a:last-child { margin: 0; }

/* Start: First Section Last Article */
footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type p,
footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type strong { font-size: 20px; line-height: 30px; }
@media screen and (max-width: 767px) {
	footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type p,
	footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type strong { font-size: 20px !important; line-height: 30px !important; }
}
footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type .fa { font-size: 20px; line-height: 30px; }
@media screen and (max-width: 767px) { footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type .fa { font-size: 20px !important; line-height: 30px !important; } }
footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type .art a { margin: 0; }
/* End: First Section Last Article */

/* Start: Second Section All Article */
footer > div > div > div > section:last-of-type > div > div > div > article .flex_container { padding: 0 15px !important; }
footer > div > div > div > section:last-of-type > div > div > div > article .art a { margin: 0; }
/* End: Second Section All Article */

/* Start: Footer Logo */
footer > div > div > div > section:first-of-type > div > div:before {
	content: "";
	position: absolute;
	top: 30px;
	left: -95px;
	transform: translateX(-100%);
	width: 106px;
	aspect-ratio: 106 / 67;
	background: url("/pages/img/logo_negativ.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
/* End: Footer Logo */

@media screen and (max-width: 1702px) {
	/* Start: Footer Logo */
	footer > div > div > div > section:first-of-type > div > div { padding: 97px 0 0 0; }
	footer > div > div > div > section:first-of-type > div > div:before { left: 30px; transform: none; }
	/* End: Footer Logo */
}

@media screen and (max-width: 1155px) {
	footer > div > div > div > section:first-of-type > div > div > div > div > article.flex_box_12 { width: 33.3333% !important; }
}
@media screen and (max-width: 880px) {
	footer > div > div > div > section:first-of-type > div > div > div > div > article.flex_box_12 { width: 50.0% !important; }
}
@media screen and (max-width: 767px) {
	footer > div > div > div > section:first-of-type > div > div > div > div > article.flex_box_12 { width: 100.0% !important; }
	footer > div > div > div > section:first-of-type > div > div > div > div > article { display: none; }
	footer > div > div > div > section:first-of-type > div > div > div > div > article:last-of-type { display: flex; }
}
/************************************ 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: "Rubik", 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: Teaser Gross ************************************/
.cms_teaserGross_box { display: flex; background: #FFFFFF; border-radius: 30px; margin: 96px 0; overflow: hidden; box-shadow: var(--boxShadowDefault); }
.cms_teaserGross_box .cms_helper_imgContainer { display: flex; width: 50%; }
.cms_teaserGross_box .cms_helper_imgBox > .full_article_link { border-radius: 30px 0 0 30px; }
.cms_teaserGross_txt { width: 50%; padding: 100px; }
.cms_teaserGross_txt > h2 { padding: 0 0 30px 0; }
.cms_teaserGross_txt .button-full > a { margin: 15px 0 0 0; }
@media screen and (max-width: 1280px) { .cms_teaserGross_box { margin: 30px 0; } .cms_teaserGross_txt { padding: 30px; } }
@media screen and (max-width: 959px) {
	.cms_teaserGross_box { flex-direction: column; margin: 0; }
	.cms_teaserGross_box .cms_helper_imgContainer { width: 100%; }
	.cms_teaserGross_box .cms_helper_imgBox { padding: 0 0 250px 0; }
	.cms_teaserGross_box .cms_helper_imgBox > .full_article_link { border-radius: 30px 30px 0 0; }
	.cms_teaserGross_txt { width: 100%; }
}
/************************************ End: Teaser Gross ************************************/
/************************************ 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 ************************************/