/************************************ Start: Include Fix ************************************/
.block_50000.cms_padding_1 { padding: 0; }
/************************************ Ende: Include 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: Audiodatei ************************************/
.audioplayer_main { display: flex; flex-direction: column; gap: 15px; width: 100%; }
.audioplayer_container > audio { background: var(--color-green-secondary); }
.audioplayer_container > audio::-webkit-media-controls-panel { background: var(--color-green-secondary); }
/************************************ Ende: Audiodatei ************************************/

/************************************ Start: Bild ************************************/
.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; margin: 10px 0 0 0; }
/************************************ End: Bild ************************************/

/************************************ Start: Trennlinie ************************************/
.block hr, .block_60000 hr { border: none; outline: none; height: 1px; background: var(--black); }
/************************************ Ende: Trennlinie ************************************/

/************************************ Start: Galerie ************************************/
.cms_gallery_header { font-weight: 400; font-size: 32px; line-height: 60px; }
.cms_gallery_intro { font-size: 22px; line-height: 33px; padding: 0 0 30px 0; }
@media screen and (max-width: 767px) {
	.cms_gallery_header { font-size: 28px; line-height: 38px; }
	.cms_gallery_intro { font-size: 20px; line-height: 30px; }
}
/************************************ Ende: Galerie ************************************/

/************************************ Start: Link ************************************/
/* Start: Default */
a.art_link.b1 { cursor: pointer; display: block; width: auto; font-size: 18px; line-height: 28px; padding: 7px 27px; border-radius: 50px 20px; text-decoration: none; transition: var(--transition); }
.cms_box_hasBtnYN:hover a.art_link.b1,
a.art_link.b1:hover { display: block; border-radius: 50px 20px; text-decoration: none; }
a.art_link.b1 > i { font-size: 18px; line-height: 28px; margin: 0 10px 0 0; transition: var(--transition); }
/* End: Default */

/* Start: Color 1 */
a.art_link.b1.art_link_color_1 { color: var(--black); background: var(--color-orange-secondary); border: 1px solid var(--color-orange-secondary); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_1,
a.art_link.b1.art_link_color_1:hover { color: var(--black); background: var(--color-green-secondary); border: 1px solid var(--color-green-secondary); }
a.art_link.b1.art_link_color_1 > i { color: var(--black); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_1 > i,
a.art_link.b1.art_link_color_1:hover > i { color: var(--black); }
/* End: Color 1 */

/* Start: Color 2 */
a.art_link.b1.art_link_color_2 { color: var(--black); background: var(--color-orange-bright); border: 1px solid var(--color-orange-bright); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_2,
a.art_link.b1.art_link_color_2:hover { color: var(--black); background: var(--color-green-secondary); border: 1px solid var(--color-green-secondary); }
a.art_link.b1.art_link_color_2 > i { color: var(--black); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_2 > i,
a.art_link.b1.art_link_color_2:hover > i { color: var(--black); }
/* End: Color 2 */

/* Start: Color 3 */
a.art_link.b1.art_link_color_3 { color: var(--white); background: var(--color-green-primary); border: 1px solid var(--color-green-primary); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_3,
a.art_link.b1.art_link_color_3:hover { color: var(--black); background: var(--color-green-secondary); border: 1px solid var(--color-green-secondary); }
a.art_link.b1.art_link_color_3 > i { color: var(--white); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_3 > i,
a.art_link.b1.art_link_color_3:hover > i { color: var(--black); }
/* End: Color 3 */

/* Start: Color 4 */
a.art_link.b1.art_link_color_4 { color: var(--black); background: var(--color-green-secondary); border: 1px solid var(--color-green-secondary); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_4,
a.art_link.b1.art_link_color_4:hover { color: var(--white); background: var(--color-green-primary); border: 1px solid var(--color-green-primary); }
a.art_link.b1.art_link_color_4 > i { color: var(--black); }
.cms_box_hasBtnYN:hover a.art_link.b1.art_link_color_4 > i,
a.art_link.b1.art_link_color_4:hover > i { color: var(--white); }
/* End: Color 4 */

/* Start: Alignment */
.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: Alignment */
/************************************ Ende: Link ************************************/

/************************************ Start: Kontaktformular ************************************/
label.select { display: block !important; }
form input, form select, form textarea {
	font-family: "Cairo", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 26px;
	color: var(--black);
	text-align: left;
	height: auto;
	padding: 11px 12px;
	background: var(--color-input);
	border: 1px solid var(--color-input);
	border-radius: var(--input-border-radius);
	outline: 0;
}
form textarea { height: 198px; }
form select { cursor: pointer; appearance: none; padding: 11px 37px 11px 12px; }
form .flex_horizontalalignement_center button { display: table !important; margin: 0 auto; }
::placeholder { font-family: "Cairo", sans-serif; font-weight: 400; font-size: 18px; line-height: 26px; color: var(--ph-color); text-align: left; }
:-ms-input-placeholder { font-family: "Cairo", sans-serif; font-weight: 400; font-size: 18px; line-height: 26px; color: var(--ph-color); text-align: left; }
::-ms-input-placeholder { font-family: "Cairo", sans-serif; font-weight: 400; font-size: 18px; line-height: 26px; color: var(--ph-color); text-align: left; }
form.ff .frm_spacer { width: 100%; height: 1px; background: var(--black); }
.frm_subtitle > div { font-weight: 700; font-size: 24px; line-height: 45px; }
.frm_header p { margin: 0 0 30px 0; }
main label.select:after { content: ""; pointer-events: none; position: absolute; z-index: 10; top: 50%; right: 12px; transform: translateY(-50%); display: block; width: 16px; height: 8px; background: center / contain no-repeat url("/pages/img/frm_generator/select_arrow.svg"); }
main input, main textarea, main select { width: 100%; }
.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; }
.frm_input > label {
	font-family: "Cairo", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 27px !important;
	min-height: 27px;
	color: var(--black);
	text-align: left;
}
.frm_input:not(.frm_input_7):not(.frm_input_8) > label,
.flex_box_label_radiocheck > label {
	font-family: "Cairo", sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 23px;
	min-height: 23px;
	color: var(--black);
	text-align: left;
	margin: 0 0 4px 0;
}

/* Start: Checkbox */
main input[type="checkbox"] { position: absolute; display: block; appearance: none; opacity: 0; }
main .frm_input input[type="checkbox"] { top: 50%; right: auto; left: 15px; transform: translateY(-50%); 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 39px; }
main input[type="checkbox"] + label:before { top: 50%; transform: translateY(-50%); padding: 10px; background: var(--color-input); border: 1px solid var(--color-input); border-radius: 3px; }
main input[type="checkbox"] + label:after { content: ""; top: 50%; left: 5px; transform: translateY(-50%); width: 12px; height: 12px; background: center / contain no-repeat url("/pages/img/frm_generator/checkbox_icon.svg"); }
main input[type="checkbox"]:checked + label:after { background: center / contain no-repeat url("/pages/img/frm_generator/checkbox_icon.svg"); }
/* 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 39px; }
main input[type="radio"] + label:before { top: 50%; transform: translateY(-50%); padding: 10px; background: var(--color-input); border: 1px solid var(--color-input); border-radius: 50%; }
main input[type="radio"] + label:after { top: 50%; left: 5px; transform: translateY(-50%); width: 12px; height: 12px; }
main input[type="radio"] + label:hover:after { background: var(--color-green-primary); }
main input[type="radio"]:checked + label:after { background: var(--color-green-primary); }
/* End: Radio */

label.date,
label.time { display: block !important; }
main label.date:after,
main label.time:after { font-size: 25px; line-height: 48px; width: 48px; height: 48px; top: 1px; left: 1px; color: var(--white); background: var(--color-green-primary); border-radius: var(--input-border-radius) 0 0 var(--input-border-radius); }
main label.date input,
main label.time input { padding: 11px 12px 11px 60px; height: 50px; }

.frm_dz_lst {
	border: 1px solid var(--color-green-primary);
	border-radius: var(--input-border-radius) var(--input-border-radius) 0 0;
	background: var(--color-green-primary);
	padding: 15px;
	font-family: "Cairo", sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 23px;
	color: var(--black);
	text-align: left;
}
.frm_dz_lst b { font-weight: 700; }
.frm_dz_lst i { font-style: normal; }
.frm_dz_container { height: 283px; }
.frm_dz_container .frm_dz_txt { border: 1px solid var(--color-input) !important; background: var(--color-input) !important; border-radius: 0 0 var(--input-border-radius) var(--input-border-radius); }
.frm_dz_container .frm_dz_txt > div { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; }
.frm_dz_container .frm_dz_txt i { order: -1; width: 42px; height: 26px; background: center / contain no-repeat url("/pages/img/frm_generator/upload_icon.svg"); }
.frm_dz_container .frm_dz_txt i:before { content: none !important; }
.frm_dz_container .frm_dz_txt span {
	font-family: "Cairo", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 27px;
	color: var(--ph-color);
	text-align: center;
}
.frm_dz_lst > div > ul { display: block; padding: 0; }
.frm_dz_lst ul li { border-bottom: 1px solid var(--black); }
.frm_dz_lst ul li:before { content: none !important; }
.frm_dz_lst ul li div { color: var(--black); }
.frm_dz_lst ul li div:hover { color: #F00000; }

/* Start: Nach Absenden */
.frm_sent_header * { color: var(--black) !important; }
.frm_sent_table > tbody > tr > td.frm_spacer > div { height: 1px; margin: 15px 0; background: var(--black); }
.frm_sent_table > tbody > tr > td {
	font-family: "Cairo", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 27px;
	color: var(--black);
	text-align: left;
}
.frm_sent_table > tbody > tr > td.frm_sent_value > a { color: var(--black) !important; text-decoration: underline !important; transition: var(--transition); }
.frm_sent_table > tbody > tr > td.frm_sent_value > a:hover { color: var(--color-green-primary) !important; text-decoration: underline !important; }
/* End: Nach Absenden */

@media screen and (max-width: 767px) {
	form input, form select, form textarea { font-weight: 400 !important; font-size: 15px !important; line-height: 23px !important; padding: 5px 10px; }
	form textarea { height: 175px; }
	form select { padding: 5px 33px 5px 10px; }
	::placeholder { font-weight: 400 !important; font-size: 15px !important; line-height: 23px !important; }
	:-ms-input-placeholder { font-weight: 400 !important; font-size: 15px !important; line-height: 23px !important; }
	::-ms-input-placeholder { font-weight: 400 !important; font-size: 15px !important; line-height: 23px !important; }
	.frm_subtitle > div { font-size: 22px; line-height: 32px; }
	main label.select:after { right: 10px; }
	.frm_input > label { font-weight: 400 !important; font-size: 15px !important; line-height: 27px !important; min-height: 27px !important; }
	.frm_input:not(.frm_input_7):not(.frm_input_8) > label,
	.flex_box_label_radiocheck > label { font-weight: 700 !important; font-size: 15px !important; line-height: 23px !important; min-height: 23px !important; }
	main label.date:after,
	main label.time:after { font-size: 20px; line-height: 36px; width: 36px; height: 36px; }
	main label.date input,
	main label.time input { padding: 5px 10px 5px 46px; height: 38px; }
	.frm_dz_lst { font-weight: 400 !important; font-size: 15px !important; line-height: 23px !important; }
	.frm_dz_lst b { font-weight: 700 !important; }
	.frm_dz_container { height: 200px; }
	.frm_dz_container .frm_dz_txt span { font-weight: 400 !important; font-size: 15px !important; line-height: 23px !important; }
	/* Start: Nach Absenden */
	.frm_sent_table > tbody > tr > td { font-weight: 400 !important; font-size: 15px !important; line-height: 23px !important; }
	/* End: Nach Absenden */
}
/************************************ End: Kontaktformular ************************************/