.c-vic-scroll-reveal {
--vic-scroll-reveal-text-width: 66%;
--vic-scroll-reveal-media-width: calc(100% - var(--vic-scroll-reveal-text-width));
--vic-scroll-reveal-media-safe-area-x: 72px;
--vic-scroll-reveal-media-safe-area-y: 0px;
display: flex;
align-items: center;
justify-content: center;
gap: 0;
width: 100%;
min-height: 100vh;
min-height: 100dvh;
box-sizing: border-box;
padding-block: clamp(24px, 5dvh, 56px);
position: relative;
z-index: 1;
}
.c-vic-scroll-reveal__text-column,
.c-vic-scroll-reveal__media-column {
min-width: 0;
box-sizing: border-box;
}
.c-vic-scroll-reveal__text-column {
flex: 0 1 var(--vic-scroll-reveal-text-width);
width: var(--vic-scroll-reveal-text-width);
display: flex;
flex-direction: column;
justify-content: center;
}
.c-vic-scroll-reveal__media-column {
flex: 0 1 var(--vic-scroll-reveal-media-width);
width: var(--vic-scroll-reveal-media-width);
}
.c-vic-scroll-reveal__title {
margin: 0 0 16px;
font-size: 16px;
line-height: 1.3;
font-weight: 500;
letter-spacing: 0.04em;
}
.c-vic-scroll-reveal__text {
line-height: 1.1;
font-size: 22px;
font-weight: 500;
letter-spacing: 0;
text-wrap: balance;
overflow-wrap: anywhere;
}
.c-vic-scroll-reveal__word {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
transition: color 0.15s linear;
z-index: 0;
}
.c-vic-scroll-reveal__word::before {
content: "";
position: absolute;
inset: -0.2em -0.45em;
border: 1px solid #ffffff;
border-radius: 150px;
background: rgba(255, 255, 255, 0.08);
opacity: 0;
transform: scale(0.92);
transition:
opacity 0.12s ease-out,
transform 0.12s ease-out;
pointer-events: none;
z-index: -1;
}
.c-vic-scroll-reveal__word.is-highlighted::before {
opacity: 1;
transform: scale(1);
}
.c-vic-scroll-reveal__word-label {
position: relative;
z-index: 1;
}
.c-vic-scroll-reveal__space {
white-space: pre-wrap;
}
.c-vic-scroll-reveal__media-stack {
position: relative;
width: 100%;
aspect-ratio: 4 / 5;
box-sizing: border-box;
padding: var(--vic-scroll-reveal-media-safe-area-y) var(--vic-scroll-reveal-media-safe-area-x);
overflow: hidden;
}
.c-vic-scroll-reveal__media-item {
position: absolute;
inset: var(--vic-scroll-reveal-media-safe-area-y) var(--vic-scroll-reveal-media-safe-area-x);
margin: 0;
overflow: hidden;
opacity: 0;
transform-origin: center bottom;
will-change: opacity, transform;
}
.c-vic-scroll-reveal__media-item.is-active {
opacity: 1;
}
.c-vic-scroll-reveal__media-image {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center bottom;
transform: translateY(24%);
transform-origin: center bottom;
will-change: transform;
}
@media (max-width: 1023px) {
.c-vic-scroll-reveal {
--vic-scroll-reveal-media-safe-area-x: 32px;
--vic-scroll-reveal-media-safe-area-y: 32px;
flex-direction: column;
align-items: stretch;
justify-content: center;
min-height: auto;
}
.c-vic-scroll-reveal__text-column,
.c-vic-scroll-reveal__media-column {
flex-basis: 100% !important;
width: 100% !important;
max-width: 100%;
}
.c-vic-scroll-reveal__media-column {
margin-top: 0;
}
.c-vic-scroll-reveal__media-stack {
width: min(100%, 720px);
max-height: 70dvh;
margin-inline: auto;
}
.c-vic-scroll-reveal__text {
font-size: 22px;
text-wrap: pretty;
}
}
@media (max-width: 767px) {
.c-vic-scroll-reveal__media-stack {
width: 100%;
max-height: 520px;
}
}