/************************************ Start: Text mit abgerundeter Hintergrundfläche ************************************/
.cms_textBrBg_box { padding: 35px; border-radius: var(--border-radius-small); overflow: clip; }
@media screen and (max-width: 991px) { .cms_textBrBg_box { padding: 30px; } }
/************************************ End: Text mit abgerundeter Hintergrundfläche ************************************/

/************************************ Start: Teaser klein ************************************/
@property --tkBgOpacity { initial-value: 59.13%; inherits: false; syntax: '<percentage>'; }
.cms_tk_box { position: relative; width: 100%; padding: 50.5px 135px 50.5px 40px; border-radius: var(--border-radius-small); background: linear-gradient(277deg, var(--primary) 0%, var(--secondary) var(--tkBgOpacity)); transition: --tkBgOpacity .3s; }
.cms_tk_box:hover { --tkBgOpacity: 100%; }
.cms_tk_title h3 { color: var(--white); }
.cms_tk_arrow { position: absolute; z-index: 1; top: 50%; right: 47px; transform: translate(0,-50%); display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; border: 2px solid var(--white); border-radius: 50%; transition: var(--transition); will-change: transform; }
.cms_tk_box:hover .cms_tk_arrow { transform: translate(10px,-50%); }
.cms_tk_arrow > svg { display: flex; width: 25px; height: 18px; }
.cms_tk_arrow > svg path { stroke: var(--white); }
@media screen and (max-width: 959px) {
    .cms_tk_box { padding: 28px 84px 28px 30px; }
    .cms_tk_arrow { right: 24px; transform: translate(0,-50%); width: 30px; height: 30px; }
    .cms_tk_arrow > svg { width: 17px; height: 13px; }
}
/************************************ End: Teaser klein ************************************/

/************************************ Start: Galerie emaform ************************************/
.cms_gef_main { width: 100%; }
.cms_gef_swiper { overflow: visible; clip-path: inset(-100vw 0); padding: 65px 0; }
.cms_gef_swiper > .swiper-wrapper > .swiper-slide:first-of-type { transform: translateY(-65px); }
.cms_gef_swiper > .swiper-wrapper > .swiper-slide:nth-of-type(2) { transform: translateY(65px); }
.cms_gef_imgContainer { position: relative; z-index: 1; width: 100%; border-radius: var(--border-radius-small); overflow: clip; }
.cms_gef_imgBox { width: 100%; }
.cms_gef_imgBox > .full_article_link { border-radius: var(--border-radius-small); }
.cms_gef_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_gef_imgBox:hover:before { visibility: visible; opacity: 1; }
.cms_gef_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_gef_imgBox:hover:after { visibility: visible; opacity: 1; }
.cms_gef_imgBox > picture { display: flex; width: 100%; padding: 0 0 66.66666666666667% 0; }
.cms_gef_imgBox > picture > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.cms_gef_imgLegend { display: none; }
.cms_gef_arrow { cursor: pointer; position: absolute; z-index: 1; top: 50%; transform: translate(0,-50%); opacity: 0; visibility: hidden; }
.cms_gef_prev { left: 0; }
.cms_gef_next { right: 0; }
.cms_gef_arrow_box { display: flex; justify-content: center; align-items: center; width: 45px; height: 45px; background: var(--primary); transition: var(--transition); }
.cms_gef_arrow:not(.swiper-button-disabled):hover .cms_gef_arrow_box { background: var(--secondary); }
.cms_gef_arrow.swiper-button-disabled .cms_gef_arrow_box { cursor: auto; opacity: 0.2; }
.cms_gef_arrow_box > svg { display: flex; width: 23px; height: 17px; }
.cms_gef_arrow_box > svg > path { stroke: var(--white); }
@media screen and (max-width: 959px) {
    .cms_gef_main { width: calc(100% + 60px); margin: 0 0 0 -30px; }
    .cms_gef_swiper { padding: 0; }
    .cms_gef_swiper > .swiper-wrapper > .swiper-slide:first-of-type { transform: none; }
    .cms_gef_swiper > .swiper-wrapper > .swiper-slide:nth-of-type(2) { transform: none; }
    .cms_gef_arrow { opacity: 1; visibility: visible; }
    .cms_gef_arrow_box { width: 30px; height: 30px; }
    .cms_gef_arrow_box > svg { width: 16px; height: 12px; }
}
/************************************ End: Galerie emaform ************************************/

/************************************ Start: Baustein "Checkliste" ************************************/
.cms_checkliste_container { display: flex; flex-direction: column; width: 100%; }
.cms_checkliste_box { position: relative; width: 100%; padding: 15px 0 16px 50px; }
.cms_checkliste_container > .cms_checkliste_box:first-of-type { padding: 0 0 16px 50px; }
.cms_checkliste_box:before { content: ""; position: absolute; top: 20px; left: 0; width: 25px; height: 17px; background: center left / contain no-repeat url("/pages/img/checkliste/icon.svg"); }
.cms_checkliste_container > .cms_checkliste_box:first-of-type:before { top: 5px; }
.cms_checkliste_box:after { content: ""; position: absolute; z-index: 1; bottom: 0; left: 0; width: 100%; height: 1px; background: rgba(95,108,55,0.5); }
.cms_checkliste_leadBox { padding: 26px 0 25px 70px; }
.cms_checkliste_container > .cms_checkliste_box:first-of-type.cms_checkliste_leadBox { padding: 0 0 25px 70px; }
.cms_checkliste_leadBox:before { top: 33px; width: 32px; height: 22px; }
.cms_checkliste_container > .cms_checkliste_box:first-of-type.cms_checkliste_leadBox:before { top: 7px; }
.cms_checkliste_container .lead { display: block; }
@media screen and (max-width: 959px) {
    .cms_checkliste_box { padding: 15px 0 16px 35px; }
    .cms_checkliste_container > .cms_checkliste_box:first-of-type { padding: 0 0 16px 35px; }
    .cms_checkliste_box:before { width: 20px; height: 14px; }
    .cms_checkliste_leadBox { padding: 20px 0 21px 45px; }
    .cms_checkliste_container > .cms_checkliste_box:first-of-type.cms_checkliste_leadBox { padding: 0 0 21px 45px; }
    .cms_checkliste_leadBox:before { top: 26px; width: 25px; height: 17px; }
    .cms_checkliste_container > .cms_checkliste_box:first-of-type.cms_checkliste_leadBox:before { top: 6px; }
}
/************************************ End: Baustein "Checkliste" ************************************/