.ah-logo-marquee {
  --ah-fade-width: 10%;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  padding: 28px 0 18px;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black var(--ah-fade-width),
    black calc(100% - var(--ah-fade-width)),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black var(--ah-fade-width),
    black calc(100% - var(--ah-fade-width)),
    transparent 100%
  );
}

.ah-logo-marquee__track {
  --ah-marquee-duration: 38s;
  display: flex;
  width: max-content;
  will-change: transform;
  animation: ah-logo-marquee-left var(--ah-marquee-duration) linear infinite;
  opacity: 1;
  transition: opacity .25s ease;
}

.ah-logo-marquee--loading .ah-logo-marquee__track {
  animation-play-state: paused;
  opacity: 0;
}

.ah-logo-marquee--loaded .ah-logo-marquee__track {
  opacity: 1;
}

.ah-logo-marquee--right .ah-logo-marquee__track {
  animation-name: ah-logo-marquee-right;
}

.ah-logo-marquee--pause-hover:hover .ah-logo-marquee__track {
  animation-play-state: paused;
}

.ah-logo-marquee__set {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 80px;
  padding-right: 80px;
  white-space: nowrap;
}

.ah-logo-marquee__logo {
  display: block;
  height: 75px;
  width: auto;
  max-width: none !important;
  object-fit: contain;
  opacity: .75;
  transition: opacity .25s ease;
  flex: 0 0 auto;
}

.ah-logo-marquee__logo:hover {
  opacity: 1;
}

.ah-logo-marquee--empty {
  padding: 24px;
  border: 1px dashed currentColor;
  opacity: .65;
  text-align: center;
}

@keyframes ah-logo-marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes ah-logo-marquee-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

/* Elementor editor: render horizontally and predictably. */
.elementor-editor-active .ah-logo-marquee {
  max-height: 170px;
  overflow: hidden !important;
}

.elementor-editor-active .ah-logo-marquee__track {
  opacity: 1 !important;
}

.elementor-editor-active .ah-logo-marquee__track {
  animation: none !important;
  transform: none !important;
  display: flex !important;
  width: max-content !important;
}

.elementor-editor-active .ah-logo-marquee__set {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
