/* Start: Box */
.cms_ref_box { position: relative; z-index: 1; width: 100%; }
/*.cms_ref_imgContainer { position: relative; z-index: 1; width: 100%; overflow: clip; }
.cms_ref_imgBox { width: 100%; }
@property --refGradient { syntax: '<percentage>'; inherits: false; initial-value: 70%; }
.cms_ref_imgBox:before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, var(--refGradient)) 100%); transition: --refGradient .3s; }
.cms_ref_box:hover .cms_ref_imgBox:before { --refGradient: 40%; }
.cms_ref_imgBox > picture { display: flex; width: 100%; padding: 0 0 133.9920948616601% 0; }
.cms_ref_imgBox > picture > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; transition: var(--transition); will-change: transform; }
.cms_ref_box:hover .cms_ref_imgBox > picture > img { transform: scale(1.05); }
.cms_ref_imgLegend { display: none; }*/
.cms_ref_imgContainer { position: relative; z-index: 1; width: 100%; overflow: clip; }
.cms_ref_imgBox { display: flex; width: 100%; padding: 0 0 133.9920948616601% 0; }
@property --refGradient { syntax: '<percentage>'; inherits: false; initial-value: 70%; }
.cms_ref_imgBox:before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, var(--refGradient)) 100%); transition: --refGradient .3s; }
.cms_ref_box:hover .cms_ref_imgBox:before { --refGradient: 40%; }
.cms_ref_imgBox > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; transition: var(--transition); will-change: transform; }
.cms_ref_box:hover .cms_ref_imgBox > img { transform: scale(1.05); }
.cms_ref_imgLegend { display: none; }
.cms_ref_tag_lst { position: absolute; z-index: 14; top: 10px; right: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; max-width: calc(100% - 20px); }
.cms_ref_tag { font-size: 14px; line-height: 20px; color: var(--white); text-decoration: none; padding: 4px 10px; background: var(--primary); transition: var(--transition); }
.cms_ref_tag:hover { background: var(--secondary); }
.cms_ref_titel { position: absolute; z-index: 2; inset: auto 30px 30px 30px; width: calc(100% - 60px); }
.cms_ref_titel > h3 { color: var(--white); }
.cms_ref_titel svg { display: inline-block; width: 16px; height: 16px; margin: 0 0 0 10px; transition: var(--transition); will-change: transform; }
.cms_ref_box:hover .cms_ref_titel svg { transform: rotate(45deg); }
.cms_ref_titel svg > path { fill: var(--primary); }
@media screen and (max-width: 959px) {
    .cms_ref_tag_lst { display: none; }
    .cms_ref_titel { inset: auto 15px 15px 15px; width: calc(100% - 30px); }
}
/* End: Box */

/* Start: Box All */
.cms_refAll_box { position: relative; display: flex; align-items: flex-end; width: 100%; background: var(--primary); padding: 50px; }
.cms_refAll_box h2 { color: var(--white); }
.cms_refAll_box svg { display: inline-block; width: 28px; height: 28px; transition: var(--transition); will-change: transform; }
.cms_refAll_box:hover svg { transform: rotate(45deg); }
.cms_refAll_box svg > path { stroke: var(--white); }
@media screen and (max-width: 959px) {
    .cms_refAll_box { padding: 15px; }
    .cms_refAll_box svg { width: 20px; height: 20px; }
}
/* End: Box All */

/* Start: Teaser */
.cms_refTeaser_main { display: flex; flex-direction: column; width: 100%; }
.cms_refTeaser_intro { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 30px; width: 100%; margin: 0 0 45px 0; }
.cms_refTeaser_intro_text { max-width: 868px; width: 100%; }
.rtSwiper { display: flex; flex-direction: column; overflow: visible; clip-path: inset(-100vw); }
.rtSwiper-button-lst { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin: 53px 0 0 0; }
.rtSwiper-button { cursor: pointer; display: flex; justify-content: center; align-items: center; width: 45px; height: 45px; background: var(--primary); transition: var(--transition); }
.rtSwiper-button.swiper-button-disabled { pointer-events: none; cursor: auto; opacity: .35; }
.rtSwiper-button:not(.swiper-button-disabled):hover { background: var(--secondary); }
.rtSwiper-button > svg { display: flex; width: 10px; height: 17px; }
.rtSwiper-button > svg > path { stroke: var(--white); }
.cms_refTeaser_btn { display: none; justify-content: flex-end; width: 100%; margin: 28px 0 0 0; }
@media screen and (max-width: 959px) {
    .cms_refTeaser_intro { margin: 0 0 22px 0; }
    .cms_refTeaser_intro_text { max-width: none; }
    .cms_refTeaser_intro_btn { display: none; }
    .rtSwiper-button-lst { display: none; }
    .cms_refTeaser_btn { display: flex; }
}
/* End: Teaser */

/* Start: List */
.cms_ref_filter_lst { display: flex; align-items: flex-end; gap: 30px; width: 100%; padding: 58px 101px 82px 68px; margin: 0 0 60px 0; background: var(--tertiary); }
.cms_ref_filter_lst > .frm_input { width: 100%; flex: 1; }
.cms_ref_filter_lst > .button-custom { flex-shrink: 0; }
.cms_ref_filter_lst > .button-custom > a { padding: 11px 20px; }
form.cms_ref_filter_lst select { background: var(--white); }
.cms_ref_filter_lst option[data-hidden="true"] { display: none; }
.cms_refLst_flexbox { display: flex; }
.cms_refLst_loadBtn > .flex_box_12 { display: flex; justify-content: center; }
@media screen and (max-width: 959px) {
    .cms_ref_filter_lst { flex-direction: column; gap: 47px; padding: 30px 15px; margin: 0 0 -12px 0; }
    .cms_ref_filter_lst > .frm_input { flex: none; }
    .cms_ref_filter_lst > .button-custom { flex-shrink: unset; }
    .cms_ref_filter_lst > .button-custom > a { padding: 8px 15px; }
}
/* End: List */

/* Start: Detail */
.cms_refDet_main { display: flex; flex-direction: column; width: 100%; }
.cms_refDet_intro { display: flex; flex-direction: column; width: 100%; gap: 20px; }
.cms_refDet_lr { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 30px; width: 100%; }
.cms_refDet_tag_lst { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.cms_refDet_tag { font-size: 14px; line-height: 20px; color: var(--white); text-decoration: none; padding: 4px 10px; background: var(--primary); transition: var(--transition); }
.cms_refDet_tag:hover { background: var(--secondary); }
.cms_refDet_imgContainer { width: 100%; margin: 36px 0 0 0; }
.cms_refDet_imgBox { position: relative; width: 100%; }
.cms_refDet_img { display: flex; width: 100%; }
.cms_refDet_imgLegend { font-style: italic; margin: 10px 0 0 0; }
.cms_refDet_gallery { width: 100%; margin: 6px 0 30px 0; }
.cms_refDet_info { display: flex; width: 100%; gap: 135px; margin: 20px 0 0 0; }
.cms_refDet_pb { flex: 1; width: 100%; }
.cms_refDet_facts { position: relative; max-width: 318px; width: 100%; padding: 0 0 0 48px; }
.cms_refDet_facts:before { content: ""; position: absolute; z-index: 1; top: 0; left: 0; width: 1px; height: 100%; background: var(--bg-hr); }
.cms_refDet_facts h4:has(+*) { padding-bottom: 0; margin-bottom: -7.5px; }
.cms_refDet_dynamicBox { margin: 30px auto; }
.cms_refDet_end { display: flex; flex-direction: column; gap: 58px; width: 100%; margin-bottom: 100px; }
@media screen and (max-width: 959px) {
    .cms_refDet_intro { gap: 15px; }
    .cms_refDet_lr { flex-direction: column; justify-content: flex-start; align-items: flex-start; }
    .cms_refDet_tag_lst { display: none; }
    .cms_refDet_imgContainer { margin: 41px 0 0 0; }
    .cms_refDet_gallery { margin: 11px 0 30px 0; }
    .cms_refDet_info { flex-direction: column; gap: 47px; margin: -19px 0 0 0; }
    .cms_refDet_pb { flex: none; }
    .cms_refDet_facts { max-width: none; padding: 43px 0 0 0; }
    .cms_refDet_facts:before { width: 100%; height: 1px; }
    .cms_refDet_dynamicBox { margin: 11px auto; }
    .cms_refDet_end { gap: 30px; margin-bottom: 0; }
    .cms_refDet_end > .button-back { display: none; }
}
/* End: Detail */

/* Start: Detail More */
.cms_refMore_main { width: 100%; padding: 95px 0 116px 0; background: var(--tertiary); }
.cms_refMore_heading { padding: 15px 15px 27px 15px; }
@media screen and (max-width: 959px) {
    .cms_refMore_main { padding: 50px 0; }
    .cms_refMore_heading { padding: 15px; }
}
/* End: Detail More */