.logo-scroll-wrapper-e5441b21 {
    --fade-width: 100px;
    --scroll-speed: 20s;
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
}

/* Edge Fades */
.logo-scroll-wrapper-e5441b21::before,
.logo-scroll-wrapper-e5441b21::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--fade-width);
    z-index: 2;
    pointer-events: none;
}

.logo-scroll-wrapper-e5441b21::before {
    left: 0;
    background: linear-gradient(to right, var(--background-color, #ffffff) 0%, transparent 100%);
}

.logo-scroll-wrapper-e5441b21::after {
    right: 0;
    background: linear-gradient(to left, var(--background-color, #ffffff) 0%, transparent 100%);
}

/* Canvas integration: attempt to inherit parent sections background colors */
:is(.elementor-section, .elementor-container, .elementor-widget-container) .logo-scroll-wrapper-e5441b21::before {
    background: linear-gradient(to right, var(--theme-background, var(--container-bg, #ffffff)) 0%, transparent 100%);
}
:is(.elementor-section, .elementor-container, .elementor-widget-container) .logo-scroll-wrapper-e5441b21::after {
    background: linear-gradient(to left, var(--theme-background, var(--container-bg, #ffffff)) 0%, transparent 100%);
}

.logo-scroll-container-e5441b21 {
    display: flex;
    width: 100%;
    overflow: hidden;
}

.logo-scroll-track-e5441b21 {
    display: flex;
    align-items: center;
    gap: 60px;
    width: max-content;
    animation: logoScrollAnimation_e5441b21 var(--scroll-speed) linear infinite;
}

/* Pause on Hover */
.logo-scroll-pause-yes:hover .logo-scroll-track-e5441b21 {
    animation-play-state: paused;
}

/* Directions */
.logo-scroll-dir-reverse .logo-scroll-track-e5441b21 {
    animation-direction: reverse;
}

/* Logo Styling & Color Tint Filter */
.logo-scroll-item-e5441b21 {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Pure CSS Monotone Color Injection via SVG Mask / Drop Shadow trick */
.logo-scroll-item-e5441b21 img {
    transition: opacity 0.3s ease, filter 0.3s ease;
    display: block;
    /* CSS filter to turn images into solid colors matching --logo-target-color */
    filter: grayscale(100%) brightness(0) drop-shadow(0 0 0 var(--logo-target-color)) drop-shadow(0 0 0 var(--logo-target-color));
}

@keyframes logoScrollAnimation_e5441b21 {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        /* Translates exactly half of the duplicated track width */
        transform: translate3d(-33.33333%, 0, 0);
    }
}
