.logo-marquee {
    --logo-marquee-surface-color: #ffffff;
    --logo-marquee-surface-color-rgb: 255 255 255;
    --logo-marquee-text-color: #14283E;
    --logo-marquee-gap: clamp(32px, 6vw, 56px);
    --logo-marquee-logo-size: clamp(120px, 11vw, 200px);
    --logo-marquee-logo-height: clamp(40px, 5vw, 64px);

    position: relative;
    padding: clamp(32px, 6vw, 72px) 0;
    background-color: var(--logo-marquee-surface-color, #ffffff);
    color: var(--logo-marquee-text-color, #14283E);
    text-align: center;
    overflow: hidden;
}

.logo-marquee.alignwide,
.logo-marquee.alignfull {
    padding-left: clamp(24px, 4vw, 64px);
    padding-right: clamp(24px, 4vw, 64px);
}

.logo-marquee__headline {
    color: var(--logo-marquee-text-color, #14283E);
    margin-bottom: 3rem;
}

.logo-marquee__viewport {
    position: relative;
    overflow: hidden;
    margin-inline: auto;
    width: min(100%, 1240px);
    min-height: var(--logo-marquee-logo-height);
}

.logo-marquee[data-marquee-enabled="true"] .logo-marquee__viewport {
    mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.logo-marquee__scroller {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    z-index: 1;
}

.logo-marquee__scroller.is-animated {
    animation: none;
}

.logo-marquee__scroller.is-animated.is-ready {
    animation: logo-marquee-scroll 40s linear infinite;
}

.logo-marquee__scroller.is-static {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--logo-marquee-gap);
}

.logo-marquee__scroller.is-static .logo-marquee__logos {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

.logo-marquee__scroller.is-static .logo-marquee__logos--clone {
    display: none;
}

.logo-marquee__logos {
    display: inline-flex;
    align-items: center;
    gap: var(--logo-marquee-gap);
    min-width: max-content;
    flex: 0 0 auto;
    padding-right: var(--logo-marquee-gap);
}


.logo-marquee__logos .wp-block-image {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--logo-marquee-logo-size);
    min-width: var(--logo-marquee-logo-size);
    margin: 0;
}

.logo-marquee__logos .wp-block-image img {
    max-width: 100%;
    max-height: var(--logo-marquee-logo-height);
    width: auto;
    height: auto;
    object-fit: contain;
}

.logo-marquee__fade {
    display: none;
}

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

@media (max-width: 599px) {
    .logo-marquee {
        padding-inline: clamp(16px, 5vw, 24px);
    }

    .logo-marquee__fade {
        width: clamp(24px, 20vw, 96px);
    }

    .logo-marquee__logos .wp-block-image {
        width: clamp(96px, 40vw, 140px);
        min-width: clamp(96px, 40vw, 140px);
    }
}
