.mg-e3e3672c-wrapper {
    overflow: hidden;
    width: 100%;
    position: relative;
    display: flex;
}

.elementor-widget-marquee_gallery_e3e3672c.mg-e3e3672c-fade-yes .mg-e3e3672c-wrapper {
    -webkit-mask-image: linear-gradient(
        to right, 
        transparent, 
        black var(--mg-e3e3672c-mask-width, 100px), 
        black calc(100% - var(--mg-e3e3672c-mask-width, 100px)), 
        transparent
    );
    mask-image: linear-gradient(
        to right, 
        transparent, 
        black var(--mg-e3e3672c-mask-width, 100px), 
        black calc(100% - var(--mg-e3e3672c-mask-width, 100px)), 
        transparent
    );
}

.mg-e3e3672c-container {
    display: flex;
    width: fit-content;
}

.mg-e3e3672c-track {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    animation: mg-e3e3672c-scroll 20s linear infinite;
    /* The gap is controlled by Elementor selectors */
    padding-right: var(--mg-e3e3672c-gap, 30px);
}

.mg-e3e3672c-container[data-direction="right"] .mg-e3e3672c-track {
    animation-direction: reverse;
}

.mg-e3e3672c-wrapper.mg-e3e3672c-pause-hover:hover .mg-e3e3672c-track {
    animation-play-state: paused;
}

.mg-e3e3672c-item {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.mg-e3e3672c-item img {
    max-width: none;
    width: auto;
    object-fit: contain;
    /* Height and border-radius are controlled by Elementor selectors */
}

@keyframes mg-e3e3672c-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        /* To make it seamless with flex gap, we just translate -100% of the track width */
        transform: translateX(-100%);
    }
}
