.infinite-scroller {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    z-index: 0;
    left: 0;
    top: 0;
    position: relative;
}

.scroller__inner {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.scroller__inner .img {
    width: 100vw;
    height: auto;
}

.infinite-scroller[data-animated="true"] {
    overflow: hidden;
}

.infinite-scroller[data-animated="true"] .scroller__inner {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    flex-wrap: nowrap;
    z-index: 1;
    -webkit-animation: scroll var(--_animation-duration, 40s) var(--_animation-direction, forwards) linear infinite;
    animation: scroll var(--_animation-duration, 40s) var(--_animation-direction, forwards) linear infinite;
}

.infinite-scroller .overlay {
    z-index: 2;
    filter: opacity(0.3);
}

.infinite-scroller[data-direction="right"] {
    --_animation-direction: reverse;
}

.infinite-scroller[data-direction="left"] {
    --_animation-direction: forwards;
}

.infinite-scroller[data-speed="fast"] {
    --_animation-duration: 40s;
}

.infinite-scroller[data-speed="medium"] {
    --_animation-duration: 70s;
}

.infinite-scroller[data-speed="slow"] {
    --_animation-duration: 90s;
}

.infinite-scroller[data-animated="true"][data-paused="true"] .scroller__inner {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
}

@-webkit-keyframes scroll {
    to {
        transform: translate(calc(-50% - 0.5rem));
    }
}

@keyframes scroll {
    to {
        transform: translate(calc(-50% - 0.5rem));
    }
}