.card{
    overflow: hidden;
}

.card[onclick]{
    cursor:pointer;
}

.custom-content-box-repeatable-scroll-viewport > .custom-content-box-repeatable-row {
    flex-wrap: var(--custom-content-box-repeatable-wrap, wrap);
    width: var(--custom-content-box-repeatable-row-width, auto);
}

.custom-content-box-repeatable-scroll-viewport > .custom-content-box-repeatable-row::after {
    content: "";
    display: var(--custom-content-box-repeatable-bleed-spacer-display, none);
    flex: 0 0 var(--custom-content-box-repeatable-bleed-spacer-width, 0);
}

.custom-content-box-repeatable-scroll-viewport.fs-scrollable-all:not(.fs-scrollable-y) {
    --custom-content-box-repeatable-wrap: nowrap;
    --custom-content-box-repeatable-row-width: 100%;
}

.custom-content-box-repeatable-scroll-viewport.fs-scrollable-all.fs-scrollable-overflow-clip:not(.fs-scrollable-y) {
    --custom-content-box-repeatable-row-width: calc(100% + 1px);
}

.custom-content-box-repeatable-scroll-viewport.fs-scrollable-all.fs-scrollable-overflow-bleed:not(.fs-scrollable-y) {
    --custom-content-box-repeatable-bleed-spacer-display: block;
    --custom-content-box-repeatable-bleed-spacer-width: calc((100vw - 100%) / 2);
    --custom-content-box-repeatable-row-width: 100%;
}

@media (max-width: 575.98px) {
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xs:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-wrap: nowrap;
        --custom-content-box-repeatable-row-width: 100%;
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xs.fs-scrollable-overflow-clip:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-clip-xs:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-row-width: calc(100% + 1px);
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xs.fs-scrollable-overflow-bleed:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-bleed-xs:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-bleed-spacer-display: block;
        --custom-content-box-repeatable-bleed-spacer-width: calc((100vw - 100%) / 2);
        --custom-content-box-repeatable-row-width: 100%;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-sm:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-wrap: nowrap;
        --custom-content-box-repeatable-row-width: 100%;
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-sm.fs-scrollable-overflow-clip:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-clip-sm:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-row-width: calc(100% + 1px);
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-sm.fs-scrollable-overflow-bleed:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-bleed-sm:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-bleed-spacer-display: block;
        --custom-content-box-repeatable-bleed-spacer-width: calc((100vw - 100%) / 2);
        --custom-content-box-repeatable-row-width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-md:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-wrap: nowrap;
        --custom-content-box-repeatable-row-width: 100%;
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-md.fs-scrollable-overflow-clip:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-clip-md:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-row-width: calc(100% + 1px);
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-md.fs-scrollable-overflow-bleed:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-bleed-md:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-bleed-spacer-display: block;
        --custom-content-box-repeatable-bleed-spacer-width: calc((100vw - 100%) / 2);
        --custom-content-box-repeatable-row-width: 100%;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-lg:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-wrap: nowrap;
        --custom-content-box-repeatable-row-width: 100%;
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-lg.fs-scrollable-overflow-clip:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-clip-lg:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-row-width: calc(100% + 1px);
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-lg.fs-scrollable-overflow-bleed:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-bleed-lg:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-bleed-spacer-display: block;
        --custom-content-box-repeatable-bleed-spacer-width: calc((100vw - 100%) / 2);
        --custom-content-box-repeatable-row-width: 100%;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xl:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-wrap: nowrap;
        --custom-content-box-repeatable-row-width: 100%;
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xl.fs-scrollable-overflow-clip:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-clip-xl:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-row-width: calc(100% + 1px);
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xl.fs-scrollable-overflow-bleed:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-bleed-xl:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-bleed-spacer-display: block;
        --custom-content-box-repeatable-bleed-spacer-width: calc((100vw - 100%) / 2);
        --custom-content-box-repeatable-row-width: 100%;
    }
}

@media (min-width: 1400px) {
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xxl:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-wrap: nowrap;
        --custom-content-box-repeatable-row-width: 100%;
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xxl.fs-scrollable-overflow-clip:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-clip-xxl:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-row-width: calc(100% + 1px);
    }

    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-xxl.fs-scrollable-overflow-bleed:not(.fs-scrollable-y),
    .custom-content-box-repeatable-scroll-viewport.fs-scrollable-overflow-bleed-xxl:not(.fs-scrollable-y) {
        --custom-content-box-repeatable-bleed-spacer-display: block;
        --custom-content-box-repeatable-bleed-spacer-width: calc((100vw - 100%) / 2);
        --custom-content-box-repeatable-row-width: 100%;
    }
}

.custom-content-box-link-wrapper{
    display: block;
    color: inherit;
    text-decoration: none;
}

.custom-content-box-link-wrapper:hover{
    color: inherit;
    text-decoration: none;
}

.custom-content-box-link-wrapper [role="link"]{
    cursor: pointer;
}

.card .card-img-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.card .card-img-full {
    width: 100%;
    height: max-content;
    object-fit: cover;
    object-position: center;
}

.card .card-overlay{
    display:block;
    position:absolute;
    background-color: rgba(0, 0, 0, 0.5);
}

.card .align-top{
    top:0;
    width: 100%;
}

.card .align-bottom{
    bottom:0;
    width: 100%;
}

.card .align-left{
    top:0;
    left:0;
    height:100%;
}

.card .align-right{
    top:0;
    right:0;
    height:100%;
}

.hover-overlay .card-img-overlay, .hover-overlay .card-overlay{
    opacity:0;
    transition:all .3s ease-in-out
}

.hover-overlay .card-img-overlay:hover, .hover-overlay:hover .card-overlay{
    opacity:1
}

.hover-zoom img,.hover-zoom video{
    transition:all .3s linear
}

.hover-zoom:hover img,.hover-zoom:hover video{
    transform:scale(1.1)
}
