<>
/* =========
CONTENT ANIMATION (default visible; enabled only via JS)
========= */
#video-gtc26-hero-banner {
display: block !important;
}
/* DEFAULT STATE — visible everywhere */
#gtc26-hero-content {
opacity: 1;
visibility: visible;
transform: none;
}
/* Animation base state (publish mode only – added via JS) */
#gtc26-hero-content.nv-animate-base {
opacity: 0;
visibility: hidden;
transform: scale(0);
transform-origin: center center;
transition: transform 2s ease-outopacity 2s ease-outvisibility 0s linear 2s;
will-change: transformopacity;
}
/* Animated-in state */
#gtc26-hero-content.nv-animate-in {
opacity: 1;
visibility: visible;
transform: scale(1);
transition: transform 2s ease-outopacity 2s ease-outvisibility 0s linear 0s;
}
/* Used to reset instantly (no reverse transition) */
#gtc26-hero-content.nv-no-transition {
transition: none !important;
}
/* =========
REPLAY BUTTON (added via JS in publish mode only)
========= */
/* ensure the banner can anchor an absolute positioned child */
#gtc26-hero-banner.nv-has-replay {
position: relative;
}
.nv-hero-replay-btn {
position: absolute;
right: 15px;
bottom: 15px;
z-index: 5;
width: 36px;
height: 36px;
padding: 0;
border: 0;
background: transparent;
cursor: pointer;
display: none; /* shown when video ends */
align-items: center;
justify-content: center;
}
@media (min-width: 1024px) {
.nv-hero-replay-btn {
right: 30px;
bottom: 15px;
}
}
.nv-hero-replay-btn.is-visible {
display: inline-flex;
}
.nv-hero-replay-btn:focus-visible {
outline: 2px solid #ffffff;
outline-offset: 3px;
border-radius: 999px;
}
.nv-hero-replay-btn svg {
width: 36px;
height: 36px;
display: block;
}
>