.scrolling-banner-section {
  color: #fff;
  background: #da3c24;
  padding-block: 30px;
  overflow: hidden;
}

.scrolling-banner {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
}

.scrolling-banner__line {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  animation-duration: var(--scroll-duration, 15s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

.scrolling-banner.direction-left > .scrolling-banner__line {
  animation-name: scrolling-banner-left;
}

.scrolling-banner.direction-right > .scrolling-banner__line {
  animation-name: scrolling-banner-right;
}

.scrolling-banner__item {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  padding-inline: 48px;
  font-size: 48px;
  line-height: 1.2;
}

.scrolling-banner__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  font-size: 1em;
  line-height: 1;
}

.scrolling-banner__icon-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@keyframes scrolling-banner-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes scrolling-banner-right {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@media (max-width: 749px) {
  .scrolling-banner-section {
    padding-block: 20px;
  }

  .scrolling-banner__item {
    gap: 16px;
    padding-inline: 32px;
    font-size: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scrolling-banner__line {
    animation: none;
  }
}
