/* =====================================================
   CheckThenSend — Premium moving logo catalogue
   ===================================================== */

.cts-logo-catalogue{
  position:relative;
  overflow:hidden;
  padding:30px 0 42px;
  background:#fff;
  border-bottom:1px solid #eef1f6;
}

.cts-logo-catalogue-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

.cts-logo-title{
  display:flex;
  justify-content:center;
  margin:0 0 27px;
}

.cts-logo-title span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 15px;
  border:1px solid #d9ddff;
  border-radius:999px;
  background:#f4f3ff;
  color:#5753d8;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}

.cts-logo-title span:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:#625bf6;
  box-shadow:0 0 0 4px rgba(98,91,246,.1);
}

.cts-logo-window{
  position:relative;
  overflow:hidden;
  width:100%;
  -webkit-mask-image:
    linear-gradient(
      to right,
      transparent,
      #000 8%,
      #000 92%,
      transparent
    );
  mask-image:
    linear-gradient(
      to right,
      transparent,
      #000 8%,
      #000 92%,
      transparent
    );
}

.cts-logo-track{
  display:flex;
  width:max-content;
  align-items:center;
  gap:66px;
  animation:ctsLogoScroll 27s linear infinite;
  will-change:transform;
}

.cts-logo-window:hover .cts-logo-track{
  animation-play-state:paused;
}

.cts-logo-item{
  flex:0 0 auto;
  min-width:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#8f98ad;
  opacity:.72;
  transition:
    opacity .2s ease,
    transform .2s ease,
    color .2s ease;
}

.cts-logo-item:hover{
  opacity:1;
  color:#3f47a8;
  transform:translateY(-2px);
}

.cts-logo-symbol{
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border:1px solid #dde2ec;
  border-radius:11px;
  background:#fafbfe;
  color:#6c72a4;
  font-size:14px;
  font-weight:900;
}

.cts-logo-name{
  font-size:17px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.025em;
  white-space:nowrap;
}

.cts-logo-name.serif{
  font-family:Georgia,serif;
  letter-spacing:-.04em;
}

.cts-logo-name.wide{
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:13px;
}

@keyframes ctsLogoScroll{
  from{
    transform:translateX(0);
  }

  to{
    transform:translateX(calc(-50% - 33px));
  }
}

@media(max-width:700px){
  .cts-logo-catalogue{
    padding:24px 0 32px;
  }

  .cts-logo-catalogue-inner{
    width:100%;
  }

  .cts-logo-title{
    margin-bottom:22px;
  }

  .cts-logo-track{
    gap:38px;
    animation-duration:22s;
  }

  .cts-logo-item{
    min-width:125px;
  }

  .cts-logo-name{
    font-size:15px;
  }

  .cts-logo-symbol{
    width:32px;
    height:32px;
  }
}

@media(prefers-reduced-motion:reduce){
  .cts-logo-track{
    animation:none;
    flex-wrap:wrap;
    justify-content:center;
    width:auto;
  }
}

/* Actual customer / partner logo artwork */
.cts-logo-item img{
  display:block;
  width:auto;
  max-width:150px;
  height:42px;
  max-height:42px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.58;
  transition:
    filter .2s ease,
    opacity .2s ease,
    transform .2s ease;
}

.cts-logo-item:hover img{
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.04);
}

@media(max-width:700px){
  .cts-logo-item img{
    max-width:120px;
    height:34px;
    max-height:34px;
  }
}

/* ===== Logo catalogue visibility refinement ===== */

.cts-logo-catalogue{
  padding:34px 0 46px!important;
}

.cts-logo-title{
  margin-bottom:30px!important;
}

.cts-logo-window{
  min-height:72px;
  display:flex;
  align-items:center;
}

.cts-logo-track{
  gap:78px!important;
  animation-duration:34s!important;
}

.cts-logo-item{
  min-width:170px!important;
  min-height:58px;
}

.cts-logo-item img{
  max-width:165px!important;
  width:auto!important;
  height:46px!important;
  max-height:46px!important;
  opacity:.74!important;
  filter:grayscale(1) contrast(.92)!important;
}

.cts-logo-item:hover img{
  opacity:1!important;
  filter:grayscale(0)!important;
  transform:scale(1.04);
}

@media(max-width:700px){
  .cts-logo-track{
    gap:48px!important;
    animation-duration:26s!important;
  }

  .cts-logo-item{
    min-width:135px!important;
  }

  .cts-logo-item img{
    max-width:125px!important;
    height:36px!important;
    max-height:36px!important;
  }
}

/* ===== Stronger logo visibility ===== */

.cts-logo-item{
  opacity:1!important;
  color:#5c667a!important;
}

.cts-logo-item img{
  opacity:.92!important;
  filter:
    grayscale(1)
    contrast(1.45)
    brightness(.72)!important;
}

.cts-logo-item:hover img{
  opacity:1!important;
  filter:none!important;
}


/* ===== Normalize visible logo sizes ===== */

.cts-logo-item{
  width:180px!important;
  min-width:180px!important;
  height:64px!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.cts-logo-item img{
  display:block!important;
  width:155px!important;
  height:48px!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:.95!important;
  transform-origin:center center!important;
}

/* Logos with extra whitespace inside the source file */
.cts-logo-item img[src*="everymatrix"]{
  transform:scale(1.55)!important;
}

.cts-logo-item img[src*="comptia"]{
  transform:scale(1.45)!important;
}

.cts-logo-item img[src*="easterseals"]{
  transform:scale(1.35)!important;
}

.cts-logo-item img[src*="dod"]{
  transform:scale(1.28)!important;
}

.cts-logo-item img[src*="usaf"]{
  transform:scale(1.28)!important;
}

.cts-logo-item img[src*="t-mobile"]{
  transform:scale(1)!important;
}

.cts-logo-item:hover img{
  opacity:1!important;
}

@media(max-width:700px){
  .cts-logo-item{
    width:145px!important;
    min-width:145px!important;
    height:54px!important;
  }

  .cts-logo-item img{
    width:125px!important;
    height:38px!important;
  }
}


/* ===== Tighter spacing between logos ===== */

.cts-logo-marquee-track,
.cts-logo-track,
.cts-logo-row{
  gap:10px!important;
  column-gap:10px!important;
}

.cts-logo-item{
  width:150px!important;
  min-width:150px!important;
  height:64px!important;
  padding:0!important;
  margin:0!important;
}

.cts-logo-item img{
  width:138px!important;
  height:48px!important;
}

/* Mobile */
@media (max-width:700px){
  .cts-logo-marquee-track,
  .cts-logo-track,
  .cts-logo-row{
    gap:8px!important;
    column-gap:8px!important;
  }

  .cts-logo-item{
    width:128px!important;
    min-width:128px!important;
    height:54px!important;
  }

  .cts-logo-item img{
    width:118px!important;
    height:38px!important;
  }
}


/* ===== Tighter spacing between logos ===== */

.cts-logo-marquee-track,
.cts-logo-track,
.cts-logo-row{
  gap:10px!important;
  column-gap:10px!important;
}

.cts-logo-item{
  width:150px!important;
  min-width:150px!important;
  height:64px!important;
  padding:0!important;
  margin:0!important;
}

.cts-logo-item img{
  width:138px!important;
  height:48px!important;
}

/* Mobile */
@media (max-width:700px){
  .cts-logo-marquee-track,
  .cts-logo-track,
  .cts-logo-row{
    gap:8px!important;
    column-gap:8px!important;
  }

  .cts-logo-item{
    width:128px!important;
    min-width:128px!important;
    height:54px!important;
  }

  .cts-logo-item img{
    width:118px!important;
    height:38px!important;
  }
}

