
.main {
    margin: -52px 0 0;
    overflow: initial;
    background: #eff0f3;
}

.section-hero {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    padding: 0;
    margin: 0;
    overflow: hidden;
    will-change: opacity, filter;

    background: url('/wwdc/images/endframe-landscape-blur.jpg');
    background-size: cover;
    background-position: top center;
}

@media (max-width: 1068px) and (orientation: portrait) {
    .section-hero {
        background-image: url('/wwdc/images/endframe-portrait-blur.jpg');
    }
}

video::-webkit-media-controls-play-button,
video::-webkit-media-controls-start-playback-button {
	display: none !important;
}

video,
.endframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    position: absolute;
    left: 0;
    top: 0;
}

.no-cover video,
.no-cover .endframe,
.no-cover .video-container {
    height: 100vh;
}

.video-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #eff0f3;
    will-change: opacity;
}

.endframe {
    position: absolute;
    left: 0;
    opacity: 0;
    transition: opacity 1s ease;
    background: url('/wwdc/images/endframe-landscape.jpg');
    background-size: cover;
    background-position: top center;
}

@media (max-width: 1068px) and (orientation: portrait) {
    .endframe {
        background-image: url('/wwdc/images/endframe-portrait.jpg');
    }
}

.video-ended .endframe {
    opacity: 1;
}

.section-overlay {
    /* margin-top: 24vh; */
    position: relative;
}

.section-block {
    padding: 10vh 0;
}

.section-grid-content {
    padding: 0;
    text-align: center;
}

.hero-copy {
    position: absolute;
    z-index: 2;
    bottom: 0;
    width: 100%;
    text-align: center;
    opacity: 0;
    transform: translateY(50px);
    transition-property: opacity, transform;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* .hero-copy-inner {
    position: absolute;
    top: 12vh;
    left: 0;
    width: 100%;
} */

.dn-arrow span {
    display: block;
    font-size: 1.8em;
    transform: translateY(10px);
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: 0.5s;
}

.trigger .hero-copy,
.trigger .dn-arrow span {
    opacity: 1;
    transform: translateY(0);
}
