/* ==========================================================
   REALPRO STUDIOS
   CLIENT LOGO MARQUEE · R1.4 MOTION FIX
   Single CSS-native animation authority
   ========================================================== */

.rp-logo-r14{
  --rp-logo-gap:18px;
  --rp-logo-card-width:220px;
  --rp-logo-card-height:108px;
  --rp-logo-duration:88s;

  position:relative;
  isolation:isolate;

  width:100%;
  max-width:none;

  overflow:hidden;

  padding:
    clamp(74px,8vw,118px)
    0
    clamp(82px,8vw,128px);

  background:
    radial-gradient(
      circle at 9% 42%,
      rgba(128,35,61,.17),
      transparent 35%
    ),
    linear-gradient(
      108deg,
      #12101d 0%,
      #091625 47%,
      #071729 100%
    );

  color:#fff;
}

.rp-logo-r14__inner{
  position:relative;

  width:min(
    calc(100% - 48px),
    1640px
  );

  max-width:1640px;

  margin:0 auto;
}

.rp-logo-r14__heading{
  position:relative;
  z-index:3;

  width:100%;
  max-width:1050px;

  margin:
    0 auto
    clamp(46px,5vw,72px);

  padding:0;

  overflow:visible;

  text-align:center;
}

.rp-logo-r14__eyebrow{
  display:block;

  margin:0 0 15px;

  color:#e7454b;

  font-size:.70rem;
  font-weight:900;
  line-height:1.2;

  letter-spacing:.22em;
  text-transform:uppercase;

  text-align:center;
}

.rp-logo-r14__heading h2{
  display:block !important;

  width:100% !important;
  max-width:none !important;

  margin:0 !important;
  padding:0 !important;

  overflow:visible !important;

  color:#fff !important;

  font-family:
    var(--display,Arial,sans-serif);

  font-size:
    clamp(
      2.6rem,
      5vw,
      5.7rem
    ) !important;

  font-weight:850 !important;

  line-height:.94 !important;

  letter-spacing:
    -.055em !important;

  text-align:center !important;

  white-space:normal !important;

  word-break:normal !important;
  overflow-wrap:normal !important;

  transform:none !important;
}

.rp-logo-r14__viewport{
  position:relative;
  z-index:2;

  display:block;

  width:100%;
  max-width:100%;

  min-height:
    var(--rp-logo-card-height);

  overflow:hidden !important;

  contain:layout paint;

  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000 4.5%,
      #000 95.5%,
      transparent 100%
    );

  mask-image:
    linear-gradient(
      90deg,
      transparent 0%,
      #000 4.5%,
      #000 95.5%,
      transparent 100%
    );
}

.rp-logo-r14__track{
  position:relative;

  display:flex !important;
  align-items:stretch !important;

  width:max-content !important;
  min-width:max-content !important;

  max-width:none !important;

  margin:0 !important;
  padding:0 !important;

  gap:0 !important;

  transform:
    translate3d(0,0,0);

  will-change:transform;

  animation:
    rp-logo-r14-marquee
    var(--rp-logo-duration)
    linear
    infinite !important;
}

.rp-logo-r14__set{
  display:flex !important;
  flex:none !important;

  align-items:stretch !important;

  width:max-content !important;
  min-width:max-content !important;

  gap:
    var(--rp-logo-gap) !important;

  padding:
    0
    var(--rp-logo-gap)
    0
    0 !important;

  margin:0 !important;
}

.rp-logo-r14__card{
  flex:
    0 0
    var(--rp-logo-card-width) !important;

  width:
    var(--rp-logo-card-width) !important;

  min-width:
    var(--rp-logo-card-width) !important;

  max-width:
    var(--rp-logo-card-width) !important;

  height:
    var(--rp-logo-card-height) !important;

  min-height:
    var(--rp-logo-card-height) !important;

  display:flex !important;

  align-items:center !important;
  justify-content:center !important;

  box-sizing:border-box;

  margin:0 !important;

  padding:
    20px 24px !important;

  overflow:hidden;

  border:
    1px solid
    rgba(255,255,255,.13);

  border-radius:4px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.056),
      rgba(255,255,255,.018)
    );

  box-shadow:
    inset
    0 1px 0
    rgba(255,255,255,.035);

  transform:none;

  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease;
}

.rp-logo-r14__card:hover{
  transform:
    translateY(-2px);

  border-color:
    rgba(255,255,255,.26);

  background:
    rgba(255,255,255,.066);
}

.rp-logo-r14__card img{
  display:block !important;

  visibility:visible !important;

  opacity:1 !important;

  width:auto !important;
  height:auto !important;

  min-width:0 !important;
  min-height:0 !important;

  max-width:158px !important;
  max-height:52px !important;

  margin:auto !important;

  object-fit:contain !important;
  object-position:center !important;

  transform:none !important;

  filter:none !important;
}

.rp-logo-r14:hover
.rp-logo-r14__track,
.rp-logo-r14:focus-within
.rp-logo-r14__track{
  animation-play-state:
    paused !important;
}

@keyframes rp-logo-r14-marquee{

  from{
    transform:
      translate3d(
        0,
        0,
        0
      );
  }

  to{
    transform:
      translate3d(
        -50%,
        0,
        0
      );
  }

}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width:900px){

  .rp-logo-r14{
    --rp-logo-gap:14px;
    --rp-logo-card-width:178px;
    --rp-logo-card-height:92px;
    --rp-logo-duration:72s;

    padding:
      66px 0
      82px;
  }

  .rp-logo-r14__inner{
    width:
      calc(100% - 32px);
  }

  .rp-logo-r14__heading{
    margin-bottom:40px;
  }

  .rp-logo-r14__heading h2{
    font-size:
      clamp(
        2.3rem,
        8vw,
        4.1rem
      ) !important;
  }

  .rp-logo-r14__card{
    padding:
      16px 19px !important;
  }

  .rp-logo-r14__card img{
    max-width:
      132px !important;

    max-height:
      42px !important;
  }

}

/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width:560px){

  .rp-logo-r14{
    --rp-logo-gap:12px;
    --rp-logo-card-width:154px;
    --rp-logo-card-height:82px;
    --rp-logo-duration:66s;

    padding:
      58px 0
      70px;
  }

  .rp-logo-r14__inner{
    width:
      calc(100% - 24px);
  }

  .rp-logo-r14__heading{
    width:100%;

    margin-bottom:34px;
  }

  .rp-logo-r14__eyebrow{
    font-size:.61rem;
    letter-spacing:.18em;
  }

  .rp-logo-r14__heading h2{
    width:100% !important;

    max-width:
      11ch !important;

    margin-left:
      auto !important;

    margin-right:
      auto !important;

    font-size:
      clamp(
        2rem,
        11vw,
        3rem
      ) !important;

    line-height:
      .94 !important;
  }

  .rp-logo-r14__card{
    padding:
      14px 16px !important;
  }

  .rp-logo-r14__card img{
    max-width:
      116px !important;

    max-height:
      36px !important;
  }

}

/* ----------------------------------------------------------
   Accessibility
   ---------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){

  .rp-logo-r14__viewport{
    overflow-x:auto !important;

    -webkit-mask-image:
      none;

    mask-image:
      none;
  }

  .rp-logo-r14__track{
    animation:
      none !important;

    transform:
      none !important;
  }

  .rp-logo-r14__card{
    transition:
      none !important;
  }

}
