main {
    align-content: center;
    display: grid;
    margin-bottom: 4.5rem;
}

.fullscreen > * {
    grid-column: 1;
    grid-row: 1;
}

.fullscreen > .gif {
    background-attachment: fixed;
    background-position: center;
    --media_width: 100%;
}

.fullscreen > .sliders {
    bottom: 1rem;
    position: fixed;
}

@keyframes gif {
    0%, 100% { background-image: url('media/01.jpg') }
    25% { background-image: url('media/02.jpg') }
    50% { background-image: url('media/03.jpg') }
    75% { background-image: url('media/04.jpg') }
}

.gif {
    --fps: 60;
    animation: calc(4s / var(--fps)) steps(1) infinite gif;
    aspect-ratio: 16 / 9;
    background-repeat: no-repeat;
    background-size: contain;
    margin-inline: auto;
    width: var(--media_width);
}

label[for="rate_slider"] {
    gap: 1em;
}

#rate_slider {
    width: min(15em, 33vw);
}