.et_pb_section.bx-references {
  padding: var(--spacing-section);
}

.bx-references .et_pb_row {
  max-width: var(--container-narrow);
  width: calc(100% - var(--container-hpad-desktop));
  margin: 0 auto;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.bx-references .et_pb_column {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.bx-references__inner {
  overflow: hidden;
}

.bx-references--has-bg .bx-references__inner {
  background-color: var(--reference-panel-bg);
  padding: 32px;
}

.bx-references__marquee {
  overflow: hidden;
  width: 100%;
  --reference-edge-fade: clamp(18px, 4vw, 42px);
}

.bx-references__marquee.is-animated {
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 var(--reference-edge-fade),
    #000 calc(100% - var(--reference-edge-fade)),
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0,
    #000 var(--reference-edge-fade),
    #000 calc(100% - var(--reference-edge-fade)),
    transparent 100%
  );
}

.bx-references__track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  width: 100%;
}

.bx-references__marquee.is-animated .bx-references__track {
  width: max-content;
  justify-content: flex-start;
  animation: bx-reference-marquee var(--reference-marquee-duration, 30s) linear infinite;
}

.bx-reference-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  flex: 0 0 auto;
  height: calc(var(--reference-logo-height, 72px) + 24px);
  padding: 0 12px;
}

.bx-reference-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 100%;
}

.bx-reference-item img {
  display: block;
  width: auto;
  max-width: min(220px, 18vw);
  height: var(--reference-logo-height, 72px);
  max-height: var(--reference-logo-height, 72px);
  object-fit: contain;
  object-position: center;
}

.bx-references--black-logos .bx-reference-item img {
  filter: brightness(0) saturate(100%);
}

@keyframes bx-reference-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-1 * var(--reference-loop-distance, 0px)));
  }
}

@media (max-width: 980px) {
  .bx-references .et_pb_row {
    width: calc(100% - var(--container-hpad-tablet));
  }

  .bx-references--has-bg .bx-references__inner {
    padding: 24px;
  }

  .bx-references__track {
    gap: 36px;
  }

  .bx-references__marquee.is-animated .bx-references__track {
    animation-duration: var(--reference-marquee-duration, 24s);
  }

  .bx-reference-item {
    padding: 0 10px;
  }

  .bx-reference-item img {
    max-width: min(180px, 24vw);
  }
}

@media (max-width: 767px) {
  .et_pb_section.bx-references {
    padding: var(--spacing-section-mobile);
  }

  .bx-references .et_pb_row {
    width: calc(100% - var(--container-hpad-mobile));
  }

  .bx-references--has-bg .bx-references__inner {
    padding: 20px;
  }

  .bx-references__track {
    gap: 28px;
  }

  .bx-references__marquee.is-animated .bx-references__track {
    animation-duration: var(--reference-marquee-duration, 20s);
  }

  .bx-reference-item {
    padding: 0 8px;
  }

  .bx-reference-item img {
    max-width: min(150px, 32vw);
    max-height: var(--reference-logo-height, 72px);
  }
}
