/************************************ Start: Teaser ************************************/
.block:has(.cms_teaser_main) { display: flex; padding: 0; }
.cms_teaser_main { display: flex; flex-direction: column; gap: 2px; width: 100%; padding: 15px; }
.cms_teaser_intro > h2 { font-weight: 600; font-size: 24px; line-height: 36px; color: var(--primary); text-transform: uppercase; }
.cms_teaser_box { position: relative; z-index: 1; display: flex; flex-direction: column; flex: 1; width: 100%; }
.cms_teaser_imgContainer { position: relative; z-index: 1; width: 100%; }
.cms_teaser_imgFixZindex { z-index: 12; }
.cms_teaser_imgBox { width: 100%; }
.cms_teaser_imgBox:before { content: ""; position: absolute; z-index: 2; inset: 0; background: rgba(194,209,247,0.55); opacity: 0; visibility: hidden; transition: var(--transition); }
.cms_teaser_box:hover .cms_teaser_imgBox:before { opacity: 1; visibility: visible; }
.cms_teaser_imgBox > picture { display: flex; width: 100%; padding: 0 0 75.73529411764706% 0; }
.cms_teaser_imgBox > picture > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.cms_teaser_imgLegend { display: none; }
.cms_teaser_textBox { flex: 1; display: flex; flex-direction: column; width: 100%; padding: 24.5px 30px; background: var(--white); box-shadow: 0 0 100px 0 rgba(0,0,0,0.1); }
.cms_teaser_titel { padding: 0 0 10px 0; }
.cms_teaser_btn { margin: auto 0 0 0; padding: 30px 0 0 0; }
@media screen and (max-width: 959px) {
    .cms_teaser_intro > h2 { font-size: 19px; line-height: 29px; }
    .cms_teaser_textBox { padding: 20px; }
}
/************************************ Ende: Teaser ************************************/