.nmw-laufband {
    position: relative;
    left: 50%;
    width: 100vw;
    width: 100dvw;
    margin-left: -50vw;
    margin-left: -50dvw;
    padding: clamp(12px, 2vw, 22px) 0;
    overflow: hidden;
    box-sizing: border-box;
}

.nmw-laufband-bar {
    width: calc(100% + 32px);
    margin-left: -16px;
    overflow: hidden;
    background: var(--nmw-laufband-background, #e3000f);
    box-shadow: 0 2px 10px -5px rgba(0, 0, 0, 0.5);
    transform: translate3d(0, 0, 0) rotate(var(--nmw-laufband-angle, -1.2deg));
    transform-origin: center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    isolation: isolate;
    will-change: transform;
}

.nmw-laufband-track {
    display: flex;
    width: max-content;
    animation: nmw-laufband-left var(--nmw-laufband-duration, 18s) linear infinite;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-style: preserve-3d;
    will-change: transform;
}

.nmw-laufband--right .nmw-laufband-track {
    animation-name: nmw-laufband-right;
}

.nmw-laufband-group {
    display: flex;
    flex: 0 0 auto;
    min-width: calc(100vw + 32px);
    min-width: calc(100dvw + 32px);
    align-items: center;
    justify-content: space-around;
    gap: clamp(22px, 3vw, 52px);
    padding: clamp(13px, 1.6vw, 20px) clamp(11px, 1.5vw, 24px);
    color: var(--nmw-laufband-color, #fff);
    box-sizing: border-box;
}

.nmw-laufband-text {
    flex: 0 0 auto;
    color: inherit;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: clamp(18px, 2.2vw, 30px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: .055em;
    white-space: nowrap;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricPrecision;
}

.nmw-laufband-separator {
    display: grid;
    flex: 0 0 auto;
    width: clamp(12px, 1.35vw, 18px);
    height: clamp(12px, 1.35vw, 18px);
    place-items: center;
    color: inherit;
    font-size: clamp(9px, 1vw, 14px);
    line-height: 1;
    opacity: .72;
}

.nmw-laufband-separator--image {
    opacity: 1;
}

.nmw-laufband-separator--image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
}

@keyframes nmw-laufband-left {
    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes nmw-laufband-right {
    from {
        transform: translate3d(-50%, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .nmw-laufband-bar {
        overflow-x: auto;
        scrollbar-width: none;
    }

    .nmw-laufband-bar::-webkit-scrollbar {
        display: none;
    }

    .nmw-laufband-track {
        animation: none;
        transform: none;
        will-change: auto;
    }
}
