.bsb-overlay {
    --bsb-overlay-opacity: 0.5;
    --bsb-overlay-bg-color: var(--bs-black-rgb);
    position: relative
}

.bsb-overlay:after {
    background-color: rgba(var(--bsb-overlay-bg-color), var(--bsb-overlay-opacity));
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0
}

.bsb-overlay>* {
    position: relative;
    z-index: 1
}

.bsb-overlay-figure {
    --bsb-overlay-figure-opacity: 0.5;
    --bsb-overlay-figure-bg-color: var(--bs-black-rgb);
    position: relative
}

.bsb-overlay-figure:after {
    background-color: rgba(var(--bsb-overlay-figure-bg-color), var(--bsb-overlay-figure-opacity));
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.bsb-overlay-hover {
    --bsb-overlay-hover-opacity: 0.5;
    --bsb-overlay-hover-bg-color: var(--bs-black-rgb);
    position: relative
}

.bsb-overlay-hover>a {
    bottom: 0;
    display: block;
    left: 0;
    position: relative;
    right: 0;
    top: 0
}

.bsb-overlay-hover>a>img.bsb-scale {
    --bsb-scale: 1
}

.bsb-overlay-hover>a>img.bsb-scale,
.bsb-overlay-hover>a>img.bsb-scale-up {
    transform: scale3d(var(--bsb-scale), var(--bsb-scale), var(--bsb-scale));
    transform-style: preserve-3d;
    transition: transform .5s
}

.bsb-overlay-hover>a>img.bsb-scale-up {
    --bsb-scale: 1.2
}

.bsb-overlay-hover>a:after {
    background-color: rgba(var(--bsb-overlay-hover-bg-color), var(--bsb-overlay-hover-opacity));
    content: "";
    cursor: pointer !important;
    display: block;
    z-index: 0
}

.bsb-overlay-hover>a:after,
.bsb-overlay-hover>figcaption {
    bottom: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0
}

.bsb-overlay-hover>figcaption {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    pointer-events: none;
    z-index: 1
}

.bsb-overlay-hover>figcaption>* {
    opacity: 0
}

.bsb-overlay-hover:hover>a>img.bsb-hover-scale {
    --bsb-scale-hover: 1;
    transform: scale3d(var(--bsb-scale-hover), var(--bsb-scale-hover), var(--bsb-scale-hover))
}

.bsb-overlay-hover:hover>a>img.bsb-hover-scale-up {
    --bsb-scale-hover: 1.2;
    transform: scale3d(var(--bsb-scale-hover), var(--bsb-scale-hover), var(--bsb-scale-hover))
}

.bsb-overlay-hover:hover>a:after {
    opacity: 1;
    transition: opacity .15s linear
}

.bsb-overlay-hover:hover>figcaption {
    opacity: 1;
    transition: opacity .15s linear .1s
}

.bsb-overlay-hover:hover>figcaption>.bsb-hover-fadeIn {
    --bsb-animation-duration: 500ms;
    animation-duration: var(--bsb-animation-duration);
    animation-fill-mode: both;
    animation-name: bsb-fadeIn
}

.bsb-overlay-hover:hover>figcaption>.bsb-hover-fadeInUp {
    --bsb-animation-duration: 500ms;
    animation-duration: var(--bsb-animation-duration);
    animation-fill-mode: both;
    animation-name: bsb-fadeInUp
}

.bsb-overlay-hover:hover>figcaption>.bsb-hover-fadeInDown {
    --bsb-animation-duration: 500ms;
    animation-duration: var(--bsb-animation-duration);
    animation-fill-mode: both;
    animation-name: bsb-fadeInDown
}

.bsb-overlay-hover:hover>figcaption>.bsb-hover-fadeInLeft {
    --bsb-animation-duration: 500ms;
    animation-duration: var(--bsb-animation-duration);
    animation-fill-mode: both;
    animation-name: bsb-fadeInLeft
}

.bsb-overlay-hover:hover>figcaption>.bsb-hover-fadeInRight {
    --bsb-animation-duration: 500ms;
    animation-duration: var(--bsb-animation-duration);
    animation-fill-mode: both;
    animation-name: bsb-fadeInRight
}

.bsb-overlay-hover:hover>figcaption>.bsb-hover-zoomIn {
    --bsb-animation-duration: 500ms;
    animation-duration: var(--bsb-animation-duration);
    animation-fill-mode: both;
    animation-name: bsb-zoomIn
}