body {
    &:has(div.video-lander:not(.closed)) {
        overflow: hidden;
    }

    div.video-lander {
        position: fixed;
        background-color: black;
        top: 0;
        left: 0;
        height: 100vh;
        width: 100vw;
        z-index: 1000;

        transition: opacity 0.5s ease;

        &.closed {
            display: none;
        }

        div.curtains {
            position: absolute;
            left: 0;
            top: 0;
            width: 100vw;
            height: 100vh;
            display: flex;
            align-items: stretch;

            > div.left, div.right {
                background-color: rgb(92, 0, 0);
                flex-grow: 1;
                box-shadow: var(--big-shadow);
                background-size: cover;

                &.left {
                    background-image: url("../../../images/special/christmas-2025/left-sy7K2bt.png");
                    background-position: right;
                }

                &.right {
                    background-image: url("../../../images/special/christmas-2025/right-2PoXQ3Y.png");
                }
            }

            > div.viewport {
                width: 0;
                transition: 1.5s ease;
            }

            &.open {
                > div.viewport {
                    width: var(--videoWidth);
                }
            }
        }

        div.overlay {
            position: absolute;
            left: 0;
            top: 0;
            width: 100vw;
            height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;

            button.skip {
                position: fixed;
                right: 22px;
                bottom: 22px;
            }

            button.start {
                width: 200px;
                height: 200px;
                border-radius: 50%;
                box-shadow: var(--big-shadow);
                font-size: 1.9rem;
                font-family: 'Bangers';
                text-align: center;
            }

            div.find-out {
                margin: 22px;
                margin-top: 66px;
                background-color: black;
                padding: 22px;
                position: relative;
                z-index: 100;
                border: solid white 2px;
                max-width: 400px;
                text-align: center;

                p.t {
                    font-weight: bold;
                }

                p.yourself {
                    font-size: 0.8rem;
                }

                &::before {
                    content: ' ';
                    position: absolute;
                    left: 0;
                    top: -75px;
                    background-image: url("../../../images/special/christmas-2025/arrow-lvMvdzw.png");
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: center;
                    width: 90%;
                    height: 100px;
                    filter: invert(1);
                    transform: rotate(345deg);
                    z-index: 99;
                }
            }
        }

        video {
            height: 100vh;
            width: auto;
            display: block;
            margin: 0 auto;
        }

        &:has(.curtains.open), &:has(.curtains.exiting) {
            div.overlay {
                align-items: flex-end;
                padding: 22px;

                :not(button.skip) {
                    display: none !important;
                }

                button.skip {
                    display: block;
                }
            }
        }
    }
}

div.section.header {
    div.wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        gap: 22px;

        h1 {
            font-size: 3.2rem;
        }
    }
}

div.section.intro {
    margin-top: 150px;
    div.wrapper {
        display: flex;
        justify-content: space-evenly;
        flex-wrap: wrap;
        gap: 22px;

        div.card {
            max-width: 600px;
            width: 100%;
            box-shadow: var(--big-shadow);;

            h1 {
                text-align: center; 
            }

            p {
                margin-top: 22px;
            }
            
            img {
                margin: 0 auto;
                filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.5));
            }

            img.cake {
                margin-top: -150px;

            }

            img.family {
                width: 50%;
                margin-top: 22px;
            }
        }

        div.santa {
            display: flex;
            justify-content: center;
            align-items: center;

            img {
                max-width: 500px;
                width: 100%;

                filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.5));
            }
        }
    }
}

div.section.tickets-start {
    text-align: center;
    margin-bottom: 66px;

    p {
        font-size: 2.5rem;
        font-family: 'Bangers', sans-serif;

        &.subtitle {
            font-size: 1.8rem;
        }
    }
}

p.attribution {
    a {
        color: white;
    }

    font-size: 0.8rem;
    text-align: center;
    margin-top: 44px;
    display: flex;
    flex-direction: column;
}