/* Seamless horizontal/vertical marquee: two identical segments, -50% loop (no <marquee> jump) */
.site-css-marquee {
    display: block;
    letter-spacing: 0;
    overflow: hidden;
    word-spacing: 0;
}

.site-css-marquee__track {
    will-change: transform;
}

.site-css-marquee--horizontal {
    flex: 1;
    min-width: 0;
    width: 100%;
}

.site-css-marquee--horizontal .site-css-marquee__track {
    animation: site-marquee-scroll-x var(--site-marquee-duration, 26s) linear infinite;
    display: inline-flex;
    flex-direction: row;
    width: max-content;
}

.site-css-marquee--horizontal .site-css-marquee__segment {
    flex: 0 0 auto;
    white-space: nowrap;
}

.site-css-marquee--vertical {
    height: 100%;
    width: 100%;
}

.site-css-marquee--vertical .site-css-marquee__track {
    animation: site-marquee-scroll-y var(--site-marquee-duration, 16s) linear infinite;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.site-css-marquee--vertical .site-css-marquee__segment {
    flex: 0 0 auto;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    width: 100%;
}

@keyframes site-marquee-scroll-x {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes site-marquee-scroll-y {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(0, -50%, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-css-marquee__track {
        animation: none !important;
        transform: none !important;
    }
}
