.lm-0f437b42-container {
    --lm-speed: 20s;
    --lm-gap: 40px;
    --lm-height: 60px;
    --lm-width: auto;
    --lm-visible-logos: 5;
    --lm-fit: contain;
    --lm-transition: 0.3s;
    
    overflow: hidden;
    width: 100%;
    display: flex;
    position: relative;
    user-select: none;
    padding: 10px 0;
}

.lm-0f437b42-track {
    display: flex;
    width: max-content;
    animation: lm-scroll-0f437b42 var(--lm-speed) linear infinite;
}

/* Pause anim on hover if controlled */
.lm-0f437b42-pause-on-hover-yes:hover .lm-0f437b42-track {
    animation-play-state: paused;
}

.lm-0f437b42-group {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: var(--lm-gap);
    padding-right: var(--lm-gap);
    min-width: 100%;
    flex-shrink: 0;
}

.lm-0f437b42-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--lm-height);
    /* Calculate dynamic width if visible logos is configured, else fallback to defined width or auto */
    width: calc((100vw - (var(--lm-gap) * (var(--lm-visible-logos) - 1))) / var(--lm-visible-logos));
    max-width: var(--lm-width, 100%);
    flex-shrink: 0;
    transition: filter var(--lm-transition) ease;
}

.lm-0f437b42-logo-img {
    height: 100%;
    width: 100%;
    object-fit: var(--lm-fit);
    pointer-events: none;
}

/* Grayscale and transitions */
.lm-0f437b42-grayscale-yes .lm-0f437b42-logo-item {
    filter: grayscale(100%);
}

.lm-0f437b42-grayscale-yes.lm-0f437b42-hover-color-yes .lm-0f437b42-logo-item:hover {
    filter: grayscale(0%);
}

@keyframes lm-scroll-0f437b42 {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
