*{
  --lm-speed: 28s;
  --lm-gap: 48px;
  --lm-logo-h: 80px;
}

.logos-marquee{
  overflow: hidden;
  width: 100%;
  padding: 10px 0;
  pointer-events: none;
}

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

.logos-marquee .lm__row + .lm__row{
  margin-top: 20px;
}

.logos-marquee .lm__track{
  display: flex;
  width: max-content;
  will-change: transform;
}

.logos-marquee .lm__set{
  display: flex;
  align-items: center;
}

.logos-marquee .lm__logo{
  height: 80px!important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin-right: 40px;
  opacity: 0.9;
  transition: opacity .2s ease, transform .2s ease;
}

.logos-marquee .lm__logo img{
  height: 100%;
  width: auto;
  display: block;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .85;
}

.logos-marquee a.lm__logo:hover{
  opacity: 1;
  transform: translateY(-1px);
}

.logos-marquee a.lm__logo:hover img{
  filter: none;
  opacity: 1;
}

/* Animations */
@keyframes lmScrollLeft {
  0%   { transform: translate3d(0,0,0); }
  100% { transform: translate3d(-50%,0,0); }
}
@keyframes lmScrollRight {
  0%   { transform: translate3d(-50%,0,0); }
  100% { transform: translate3d(0,0,0); }
}

.logos-marquee .lm__row--left  .lm__track{
  animation: lmScrollLeft var(--lm-speed) linear infinite;
}
.logos-marquee .lm__row--right .lm__track{
  animation: lmScrollRight var(--lm-speed) linear infinite;
}

/* Pause on hover */
.logos-marquee:hover .lm__track{
  animation-play-state: paused;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .logos-marquee .lm__track{
    animation: none !important;
    transform: none !important;
  }
}

@media (min-width: 768px){
    .logos-marquee{
        display: none;
    }
}