.st-wrapper-135ed07d {
    overflow: hidden;
    width: 100%;
    display: flex;
    --st-speed: 40s;
}

.st-track {
    display: flex;
    width: max-content;
    animation: st-scroll-135ed07d var(--st-speed) linear infinite;
    will-change: transform;
    /* Gap handles the spacing between the two duplicate sets */
    gap: 30px; 
}

.st-pause-yes .st-track:hover {
    animation-play-state: paused;
}

.st-set {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    /* This gap applies consistently between EVERY text item and dot */
    gap: 30px;
}

/* 
   Items and dots size naturally to their content.
   They are peers in a flex layout, meaning the gap is applied identically 
   around text and dots, perfectly centering the dot.
*/
.st-item-text {
    white-space: nowrap; 
    flex-shrink: 0;
}

.st-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

@keyframes st-scroll-135ed07d {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Translate based on the first set + gap */
        transform: translateX(calc(-50% - 15px)); 
    }
}

.elementor-widget-scrolling_ticker_135ed07d .elementor-widget-container {
    overflow: hidden;
}