.clients-marquee {
  width: 100%;
  overflow: hidden;
}

.clients-marquee__viewport {
  width: 100%;
  height: 170px;
  overflow: hidden;
  visibility: hidden;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 7%,
    #000 93%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 7%,
    #000 93%,
    transparent 100%
  );
  cursor: grab;
  user-select: none;
}

.clients-marquee__viewport.is-ready {
  visibility: visible;
}

.clients-marquee__viewport.is-dragging {
  cursor: grabbing;
}

.clients-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  height: 100%;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.clients-marquee__group {
  display: flex;
  flex: none;
  align-items: center;
  gap: clamp(24px, 1.7vw, 34px);
  padding-right: clamp(24px, 1.7vw, 34px);
}

.client-logo-item {
  position: relative;
  display: flex;
  flex: 0 0 clamp(180px, 12vw, 240px);
  width: clamp(180px, 12vw, 240px);
  height: 100px;
  align-items: center;
  justify-content: center;
  border-top: 1px solid rgb(99 199 215 / 28%);
  border-bottom: 1px solid rgb(99 199 215 / 28%);
  opacity: var(--client-logo-opacity, 0.72);
  transition: opacity 180ms ease, filter 180ms ease;
}

.client-logo-item img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center center;
  filter: saturate(0.9) brightness(0.94);
  transform: translate3d(-50%, -50%, 0) scale(1.4365);
  transform-origin: center center;
  transition: opacity 180ms ease, filter 180ms ease, transform 180ms ease;
  user-select: none;
}

.client-logo-item:hover {
  opacity: 1;
}

.client-logo-item:hover img {
  filter: saturate(1) brightness(1);
  transform: translate3d(-50%, -50%, 0) scale(1.4796);
}

@media screen and (max-width: 767px) {
  .clients-marquee__viewport {
    height: 132px;
    touch-action: pan-y;
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      #000 4%,
      #000 96%,
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      #000 4%,
      #000 96%,
      transparent 100%
    );
  }

  .clients-marquee__group {
    gap: 16px;
    padding-right: 16px;
  }

  .client-logo-item {
    flex-basis: clamp(108px, 29vw, 124px);
    width: clamp(108px, 29vw, 124px);
    height: 78px;
  }
}
