.marquee-gallery {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.marquee-track {
    display: flex;
    height: 100%;
    width: max-content;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.marquee-track.left {
    animation-name: marquee-left;
}

.marquee-track.right {
    animation-name: marquee-right;
}

.marquee-image {
    padding: 0 20px;
}

.marquee-image img {
    height: 100%;
    width: auto;
    object-fit: cover;
    border-radius: 8px;
}

@keyframes marquee-left {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes marquee-right {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}