.scroller {
  max-width: 100vw;
}

.scroller__inner {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

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

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

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

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

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

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

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