/************************************ Start: Kontaktbox ************************************/
.cms_kontakt_box { display: flex; flex-direction: column; gap: 35px; width: 100%; background: var(--primary-15); padding: 80px 100px; border-radius: var(--border-radius-small); }
.cms_kontakt_text p { font-family: "Cascadia Mono", sans-serif; font-weight: 600; font-size: 28px; line-height: 34px; }
.cms_kontakt_info { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 15px 70px; width: 100%; }
.cms_kontakt_info a { display: flex; align-items: center; gap: 15px; }
.cms_kontakt_info a > svg { display: flex; width: 30px; height: 30px; }
.cms_kontakt_info a > svg > path { stroke: var(--primary-100); transition: var(--transition); }
.cms_kontakt_info a:hover > svg > path { stroke: var(--secondary); }
@media screen and (max-width: 959px) {
    .cms_kontakt_box { gap: 20px; padding: 30px; }
    .cms_kontakt_text p { font-size: 22px; line-height: 26px; }
    .cms_kontakt_info { gap: 15px 40px; }
    .cms_kontakt_info a { gap: 10px; }
    .cms_kontakt_info a > svg { width: 18px; height: 18px; }
}
/************************************ End: Kontaktbox ************************************/

/************************************ Start: Galerie KM ************************************/
.block_22030 .cms_gallery_header,
.block_22030 .cms_gallery_intro { display: none; }
.cms_km_main { --kmLeftPadding: calc(calc(calc(100% - 1630px) / 2) + 30px); display: flex; flex-direction: column; gap: 37px; width: 100%; padding: 0 0 0 max(30px,var(--kmLeftPadding)); }
.cms_km_intro { display: flex; flex-direction: column; gap: 28px; max-width: 640px; width: 100%; }
.cms_km_swiper { display: flex; flex-direction: column; gap: 37px; width: 100%; padding: 0 30px 0 0; }
.cms_km_imgContainer { position: relative; z-index: 1; width: 100%; border-radius: var(--border-radius-small); overflow: clip; }
.cms_km_imgBox { width: 100%; }
.cms_km_imgBox > .full_article_link { border-radius: var(--border-radius-small); }
.cms_km_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_km_imgBox:hover:before { visibility: visible; opacity: 1; }
.cms_km_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_km_imgBox:hover:after { visibility: visible; opacity: 1; }
.cms_km_imgBox > picture { display: flex; width: 100%; padding: 0 0 81.63265306122449% 0; }
.cms_km_imgBox > picture > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.cms_km_imgLegend { display: none; }
.cms_km_arrow_box { display: flex; align-items: center; gap: 15px; }
.cms_km_arrow { cursor: pointer; width: 57px; height: 57px; transition: var(--transition); will-change: transform; }
.cms_km_arrow:not(.swiper-button-disabled):hover { transform: translateY(-10px); }
.cms_km_arrow.swiper-button-disabled { cursor: auto; opacity: 0.5; }
.cms_km_arrow > svg { display: flex; width: 57px; height: 57px; }
@media screen and (max-width: 959px) {
    .cms_km_main { gap: 30px; }
    .cms_km_intro { gap: 16px; }
    .cms_km_swiper { gap: 16px; }
    .cms_km_arrow_box { gap: 12px; }
    .cms_km_arrow { width: 40px; height: 40px; }
    .cms_km_arrow > svg { width: 40px; height: 40px; }
}
/************************************ End: Galerie KM ************************************/

/************************************ Start: Checkliste ************************************/
.cms_checkliste_container { display: flex; flex-direction: column; width: 100%; }
.cms_checkliste_box { position: relative; width: 100%; padding: 15px 0 15px 51px; border-bottom: 1px solid rgba(95,108,55,0.5); }
.cms_checkliste_leadBox { padding: 25px 0 25px 76px; }
.cms_checkliste_container > .cms_checkliste_box:first-of-type { padding-top: 0 !important; }
.cms_checkliste_box:before { content: ""; position: absolute; z-index: 1; left: 0; background: center left / contain no-repeat url("/pages/img/checkliste/icon.svg"); }
.cms_checkliste_box:not(.cms_checkliste_leadBox):before { top: 19.5px; width: 26px; height: 17px; }
.cms_checkliste_box.cms_checkliste_leadBox:before { top: 31px; width: 36px; height: 24px; }
.cms_checkliste_container > .cms_checkliste_box:first-of-type:before { top: 4.5px; }
.cms_checkliste_container > .cms_checkliste_box.cms_checkliste_leadBox:first-of-type:before { top: 6px; }
@media screen and (max-width: 959px) {
    .cms_checkliste_box { padding: 15px 0 15px 39px; }
    .cms_checkliste_leadBox { padding: 15px 0 15px 59px; }
    .cms_checkliste_box:not(.cms_checkliste_leadBox):before { top: 19px; width: 24px; height: 16px; }
    .cms_checkliste_box.cms_checkliste_leadBox:before { top: 20px; width: 29px; height: 19px; }
    .cms_checkliste_container > .cms_checkliste_box:first-of-type:before { top: 4px; }
    .cms_checkliste_container > .cms_checkliste_box.cms_checkliste_leadBox:first-of-type:before { top: 5px; }
}
/************************************ End: Checkliste ************************************/