/************************************ Start: PDF Link ************************************/
.cms_pdfLink_box { position: relative; width: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 30px; }
.cms_pdfLink_icon { width: 68px; height: 77px; background: center / contain no-repeat url("/pages/img/pdf_link/icon.jpg"); }
.cms_pdfLink_txtBox { display: flex; flex-direction: column; flex: 1; gap: 15px; }
.cms_pdfLink_title > h2 { font-weight: 700 !important; transition: var(--transition); }
.cms_pdfLink_box:hover .cms_pdfLink_title > h2 { color: var(--primary); }
.cms_pdfLink_description > p { text-decoration: underline; transition: var(--transition); }
.cms_pdfLink_box:hover .cms_pdfLink_description > p { color: var(--primary); }
/************************************ End: PDF Link ************************************/
/************************************ Start: 50/50 Teaser ************************************/
.cms_5050Teaser_box { display: flex; width: 100%; }
.cms_5050Teaser_txtBox { display: flex; justify-content: center; align-items: center; width: 50%; padding: 15px; background: var(--primary); }
.cms_5050Teaser_txt > h2 { font-weight: 400; }
.cms_5050Teaser_txt > h2 > strong { font-weight: 900; }
.cms_5050Teaser_imgContainer { position: relative; z-index: 1 !important; width: 50%; }
.cms_5050Teaser_imgFixZindex { z-index: 12 !important; }
.cms_5050Teaser_imgBox { width: 100%; }
.cms_5050Teaser_imgBox > picture { display: block; width: 100%; padding: 0 0 max(500px,100%) 0; }
.cms_5050Teaser_imgBox > picture > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.cms_5050Teaser_imgLegend { display: none; }
@media screen and (max-width: 959px) {
    .cms_5050Teaser_box { flex-direction: column; }
    .cms_5050Teaser_txtBox { width: 100%; }
    .cms_5050Teaser_imgContainer { width: 100%; }
    .cms_5050Teaser_imgBox > picture { padding: 0 0 250px 0; }
}
/************************************ End: 50/50 Teaser ************************************/
/************************************ Start: Ausgezeichnete Partner ************************************/
.cms_ap_box { display: flex; flex-direction: column; gap: 30px; }
.cms_ap_logos { display: flex; flex-wrap: wrap; align-items: center; gap: 30px 100px; }
.cms_ap_imgContainer { position: relative; z-index: 1 !important; }
.cms_ap_imgBox > picture { display: flex; }
.cms_ap_logos > .cms_ap_imgContainer:first-of-type > .cms_ap_imgBox > picture > img { width: 100%; max-width: 200px; }
.cms_ap_logos > .cms_ap_imgContainer:last-of-type > .cms_ap_imgBox > picture > img { width: 100%; max-width: 380px; }
.cms_ap_imgLegend { display: none; }
/************************************ End: Ausgezeichnete Partner ************************************/
/************************************ Start: Google Maps ************************************/
.cms_googleMaps_box { position: relative; width: 100%; }
.cms_googleMaps_overlay { position: absolute; z-index: 12; inset: 0 auto 0 0; display: flex; justify-content: center; align-items: center; max-width: 500px; width: 100%; padding: 30px; background: var(--primary); }
.cms_googleMaps_text { display: flex; justify-content: center; align-items: center; }
.cms_googleMaps_text > p { font-weight: 600; font-size: 24px; line-height: 36px; color: #FFFFFF; }
.cms_googleMaps_text > p > a { color: #FFFFFF; }
.cms_googleMaps_text .button-link-negative,
.cms_googleMaps_text .button-link-negative > a,
.cms_googleMaps_text .button-link-negative > a:hover { display: block; width: 100%; }
.cms_googleMaps_open { cursor: pointer; display: none; flex-direction: column; justify-content: center; align-items: center; gap: 15px; }
.cms_googleMaps_open > span { font-weight: 600; font-size: 24px; line-height: 36px; color: #FFFFFF; text-align: center; }
.cms_googleMaps_open > svg { width: 100px; }
.cms_googleMaps_open > svg > path { fill: #FFFFFF; }
.cms_googleMaps_close { cursor: pointer; display: none; position: absolute; top: 30px; left: 30px; opacity: 0; visibility: hidden; }
.cms_googleMaps_close > svg { width: 25px; }
.cms_googleMaps_close > svg > path { fill: #FFFFFF; }
.cms_googleMaps_mapCode { width: 100%; }
.cms_googleMaps_mapCode > a { display: block !important; }
#mapfemron { width: 100%; height: 420px; }
@media screen and (max-width: 1160px) {
    .cms_googleMaps_overlay { max-width: 160px; transition: var(--transition); }
    .cms_googleMaps_box.active .cms_googleMaps_overlay { max-width: 500px; }
    .cms_googleMaps_text { position: absolute; inset: 30px; opacity: 0; visibility: hidden; transition: var(--transition); }
    .cms_googleMaps_box.active .cms_googleMaps_text { opacity: 1; visibility: visible; }
    .cms_googleMaps_open { position: absolute; inset: 30px; display: flex; transition: var(--transition); }
    .cms_googleMaps_box.active .cms_googleMaps_open { opacity: 0; visibility: hidden; }
    .cms_googleMaps_close { display: block; transition: var(--transition); }
    .cms_googleMaps_box.active .cms_googleMaps_close { opacity: 1; visibility: visible; }
}
@media screen and (max-width: 959px) {
    .cms_googleMaps_overlay { max-width: 86px; }
    .cms_googleMaps_text { inset: 15px; }
    .cms_googleMaps_text > p { font-size: 16px; line-height: 28px; }
    .cms_googleMaps_open { inset: 15px; }
    .cms_googleMaps_open > span { font-size: 16px; line-height: 28px; }
    .cms_googleMaps_open > svg { width: 42px; }
    .cms_googleMaps_close { top: 15px; left: 15px; }
    .cms_googleMaps_close > svg { width: 20px; }
}
@media screen and (max-width: 767px) {
    .cms_googleMaps_text > p { font-weight: 600 !important; font-size: 16px !important; line-height: 28px !important; }
    .cms_googleMaps_open > span { font-weight: 600 !important; font-size: 16px !important; line-height: 28px !important; }
}
/************************************ End: Google Maps ************************************/

/************************************ Start: Google Maps ************************************/
/* Start: SVG Position Fix! */
.psv-zoom-button-minus .psv-button-svg, .psv-zoom-button-plus .psv-button-svg { display: flex; }
/* End: SVG Position Fix! */
.cms_360GradBild_box { width: 100%; }
.cms_360GradBild_box > div { position: relative; width: 100%; padding: 28.5%; }
.cms_360GradBild_box > div > div { position: absolute; inset: 0; width: 100%; height: 100%; }
.psv-hud { z-index: auto !important; }
.psv-caption h2 { font-weight: 600; font-size: 20px; line-height: 32px; text-align: center; }
/************************************ End: Google Maps ************************************/