.a24-logo-slider {
  width: 100%;
  position: relative;
}

.a24-logo-slider .a24-logo-viewport {
  overflow: hidden;
  width: 100%;
}

.a24-logo-slider .a24-logo-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: a24-logo-marquee var(--a24-duration, 20s) linear infinite;
}

.a24-logo-slider .a24-logo-segment {
  display: flex;
  align-items: center;
  gap: var(--a24-logo-gap, 40px);
  padding-right: var(--a24-logo-gap, 40px);
  flex-shrink: 0;
}

.a24-logo-slider .a24-logo-item {
  flex: 0 0 calc((100vw - ((var(--a24-items-desktop, 6) - 1) * var(--a24-logo-gap, 40px))) / var(--a24-items-desktop, 6));
  max-width: 220px;
  min-width: 100px;
  height: var(--a24-logo-height, 70px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.a24-logo-slider .a24-logo-item img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
  filter: grayscale(1);
  opacity: 0.88;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}

.a24-logo-slider .a24-logo-item:hover img,
.a24-logo-slider .a24-logo-item:focus-within img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.03);
}

@keyframes a24-logo-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media only screen and (max-width: 989px) {
  .a24-logo-slider .a24-logo-item {
    flex-basis: calc((100vw - ((var(--a24-items-tablet, 4) - 1) * var(--a24-logo-gap, 40px))) / var(--a24-items-tablet, 4));
    max-width: 180px;
  }
}

@media only screen and (max-width: 767px) {
  .a24-logo-slider .a24-logo-item {
    flex-basis: calc((100vw - ((var(--a24-items-mobile, 3) - 1) * var(--a24-logo-gap, 40px))) / var(--a24-items-mobile, 3));
    min-width: 80px;
    max-width: 150px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .a24-logo-slider .a24-logo-track {
    animation: none;
  }
}
