 

.text-marquee {
    display: block;
     
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.text-marquee__track {
    display: inline-flex;
    max-width: 100%;
    min-width: 0;
    align-items: center;
}

.text-marquee__text {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-marquee.is-scrolling .text-marquee__track {
    max-width: none;
    animation: text-marquee-run var(--marquee-duration, 8s) ease-in-out infinite;
    will-change: transform;
}

.text-marquee.is-scrolling .text-marquee__text {
    max-width: none;
    overflow: visible;
    text-overflow: clip;
}

@keyframes text-marquee-run {
    0%, 18%   { transform: translateX(0); }
    50%, 68%  { transform: translateX(var(--marquee-shift, 0)); }
    100%      { transform: translateX(0); }
}

.text-marquee.is-scrolling:hover .text-marquee__track {
    animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
    .text-marquee.is-scrolling .text-marquee__track {
        animation: none;
    }
    .text-marquee.is-scrolling .text-marquee__text {
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
