:root {
  --brand-slide-width: 250px;
  --brand-slide-height: 110px;
  --brand-slide-count: 8;
  --brand-slider-speed: 40s;
}

.brand-slider {
  position: relative;
  width: 100%;
  height: var(--brand-slide-height);
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.125);
}

.brand-slider::before,
.brand-slider::after {
  content: "";
  position: absolute;
  top: 0;
  width: 160px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.brand-slider::after {
  right: 0;
  transform: rotateZ(180deg);
}

.brand-slider::before {
  left: 0;
}

.brand-slider__track {
  display: flex;
  width: calc(var(--brand-slide-width) * (var(--brand-slide-count) * 2));
  animation: brand-scroll var(--brand-slider-speed) linear infinite;
  will-change: transform;
}

.brand-slider__slide {
  width: var(--brand-slide-width);
  height: var(--brand-slide-height);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
}

.brand-slider__slide a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.brand-slider__slide img {
  max-height: 78px;
  max-width: 170px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

@keyframes brand-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(calc(-1 * var(--brand-slide-width) * var(--brand-slide-count)));
  }
}

@media (max-width: 991.98px) {
  :root {
    --brand-slide-width: 220px;
  }

  .brand-slider::before,
  .brand-slider::after {
    width: 120px;
  }
}

@media (max-width: 575.98px) {
  :root {
    --brand-slide-width: 200px;
    --brand-slide-height: 96px;
  }

  .brand-slider::before,
  .brand-slider::after {
    width: 80px;
  }

  .brand-slider__slide img {
    max-height: 64px;
    max-width: 150px;
  }
}
