.ov-gb {
    --ov-gb-offset-y: 24px;
    --ov-gb-offset-x: 24px;
    --ov-gb-trigger-offset: 150px;
    --ov-gb-z: 999;
    position: relative;
    z-index: var(--ov-gb-z);
    opacity: 0;
    transform: translate3d(0, 12px, 0);
    transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), filter 0.35s ease, box-shadow 0.35s ease;
    pointer-events: none;
}

.ov-gb--is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.ov-gb--state-inline {
    display: block;
    width: fit-content;
    max-width: min(100%, 260px);
    margin: var(--ov-gb-offset-y) var(--ov-gb-offset-x);
}

.ov-gb--state-sticky {
    position: fixed;
    margin: 0;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
}

.ov-gb--state-floating {
    position: absolute;
    margin: 0;
    top: var(--ov-gb-trigger-offset);
    right: auto;
    bottom: auto;
    left: auto;
}

.ov-gb--state-floating.ov-gb--active-top-left,
.ov-gb--state-floating.ov-gb--active-bottom-left {
    left: var(--ov-gb-offset-x);
}

.ov-gb--state-floating.ov-gb--active-top-right,
.ov-gb--state-floating.ov-gb--active-bottom-right {
    right: var(--ov-gb-offset-x);
}

.ov-gb__placeholder {
    display: none;
}

.ov-gb__inner {
    display: block;
    max-width: min(38vw, 240px);
    pointer-events: auto;
}

.ov-gb__link,
.ov-gb__image {
    display: block;
}

.ov-gb__image {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(19, 31, 45, 0.18);
}

.ov-gb--transitioning .ov-gb__image {
    box-shadow: 0 18px 42px rgba(19, 31, 45, 0.24);
    filter: saturate(1.03);
}

.ov-gb--state-sticky[data-active-position="top-left"],
.ov-gb--state-sticky.ov-gb--active-top-left {
    top: var(--ov-gb-offset-y);
    left: var(--ov-gb-offset-x);
    right: auto;
    bottom: auto;
}

.ov-gb--state-sticky[data-active-position="top-right"],
.ov-gb--state-sticky.ov-gb--active-top-right {
    top: var(--ov-gb-offset-y);
    right: var(--ov-gb-offset-x);
    left: auto;
    bottom: auto;
}

.ov-gb--state-sticky[data-active-position="bottom-left"],
.ov-gb--state-sticky.ov-gb--active-bottom-left {
    bottom: var(--ov-gb-offset-y);
    left: var(--ov-gb-offset-x);
    top: auto;
    right: auto;
}

.ov-gb--state-sticky[data-active-position="bottom-right"],
.ov-gb--state-sticky.ov-gb--active-bottom-right {
    right: var(--ov-gb-offset-x);
    bottom: var(--ov-gb-offset-y);
    top: auto;
    left: auto;
}

@media (max-width: 782px) {
    .ov-gb--state-inline {
        margin: calc(var(--ov-gb-offset-y) * 0.75) calc(var(--ov-gb-offset-x) * 0.75);
        max-width: min(72vw, 220px);
    }

    .ov-gb__inner {
        max-width: min(72vw, 220px);
    }
}
