/* eCabs Logo Carousel */

@property --ecabs-fb    { syntax: "<number>"; inherits: true;  initial-value: 0; }
@property --ecabs-lc-tt { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --ecabs-lc-tb { syntax: "<length>"; inherits: false; initial-value: 0px; }

/* ---------- Root, tokens ---------- */

.ecabs-lc,
#top #wrap_all .ecabs-lc {
  --cap-b: 0.6875;
  --desc: 0.15625;
  --cap-b-t: var(--cap-b);
  --desc-t: var(--desc);

  --ecabs-lc-mt: 0px;
  --ecabs-lc-mb: 0px;
  --ecabs-lc-size-l: 100px;
  --ecabs-lc-size-s: 72px;
  --ecabs-lc-gap: 96px;

  --ecabs-lc-k: 1;
  --ecabs-lc-mt-now: var(--ecabs-lc-mt-f, var(--ecabs-lc-mt));
  --ecabs-lc-size-l-now: calc(var(--ecabs-lc-size-l) * var(--ecabs-lc-k));
  --ecabs-lc-size-s-now: calc(var(--ecabs-lc-size-s) * var(--ecabs-lc-k));
  --ecabs-lc-gap-now: calc(var(--ecabs-lc-gap) * var(--ecabs-lc-k));
  --ecabs-lc-inset: clamp(16px, 2.315%, 40px);

  --ecabs-lc-font: "Segment", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ecabs-lc-ink: #323544;
  --ecabs-lc-muted: #7a96a3;
  --ecabs-lc-surface: #ffffff;

  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  row-gap: 20px;
  box-sizing: border-box;
  margin-top: var(--ecabs-lc-mt-now);
  margin-bottom: var(--ecabs-lc-mb);
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

.ecabs-lc.ecabs-lc--bleed,
#top #wrap_all .ecabs-lc.ecabs-lc--bleed {
  width: var(--ecabs-lc-vw, 100vw);
  max-width: none;
  margin-left: var(--ecabs-lc-ml, calc(50% - 50vw));
}

/* ---------- Cap trim ---------- */

.ecabs-lc .ecabs-lc-t,
#top #wrap_all .ecabs-lc .ecabs-lc-t {
  display: block;
  --ecabs-lc-tt: calc(var(--ecabs-fb) * (var(--lh) - var(--fs) * var(--cap-b-t)) / 2);
  --ecabs-lc-tb: calc(var(--ecabs-fb) * ((var(--lh) - var(--fs)) / 2 + var(--fs) * var(--desc-t)));
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  text-box: trim-both cap alphabetic;
  margin-top: calc(-1 * var(--ecabs-lc-tt));
  margin-bottom: calc(-1 * var(--ecabs-lc-tb));
}

@supports not ((text-box: trim-both cap alphabetic) or (text-box-trim: trim-both)) {
  .ecabs-lc,
  #top #wrap_all .ecabs-lc { --ecabs-fb: 1; }
}

/* ---------- Heading ---------- */

.ecabs-lc .ecabs-lc__heading,
#top #wrap_all .ecabs-lc .ecabs-lc__heading {
  --fs: 16px;
  --lh: 16px;
  align-self: center;
  box-sizing: border-box;
  max-width: min(456px, calc(100% - 2 * var(--ecabs-lc-inset)));
  margin-right: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  font-family: var(--ecabs-lc-font);
  font-size: var(--fs);
  font-style: normal;
  font-weight: 700;
  line-height: var(--lh);
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  overflow-wrap: break-word;
  color: var(--ecabs-lc-muted);
}

/* ---------- Stage, track, slides ---------- */

.ecabs-lc .ecabs-lc__stage,
#top #wrap_all .ecabs-lc .ecabs-lc__stage {
  position: relative;
  box-sizing: border-box;
  max-width: none;
}

.ecabs-lc .ecabs-lc__track,
#top #wrap_all .ecabs-lc .ecabs-lc__track {
  overflow: hidden;
}

.ecabs-lc .ecabs-lc__list,
#top #wrap_all .ecabs-lc .ecabs-lc__list {
  display: flex;
  align-items: center;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

.ecabs-lc:not(.ecabs-lc--ready) .ecabs-lc__list,
#top #wrap_all .ecabs-lc:not(.ecabs-lc--ready) .ecabs-lc__list {
  justify-content: center;
}

.ecabs-lc .ecabs-lc__slide,
#top #wrap_all .ecabs-lc .ecabs-lc__slide {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  box-sizing: border-box;
  width: calc(var(--ecabs-lc-size-l-now) + var(--ecabs-lc-gap-now));
  height: var(--ecabs-lc-size-l-now);
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: calc(var(--ecabs-lc-gap-now) / 2);
  padding-bottom: 0;
  padding-left: calc(var(--ecabs-lc-gap-now) / 2);
  list-style-type: none;
}

.ecabs-lc .ecabs-lc__slide.ecabs-lc__slide--small,
#top #wrap_all .ecabs-lc .ecabs-lc__slide.ecabs-lc__slide--small {
  width: calc(var(--ecabs-lc-size-s-now) + var(--ecabs-lc-gap-now));
  height: var(--ecabs-lc-size-s-now);
}

.ecabs-lc .ecabs-lc__logo,
#top #wrap_all .ecabs-lc .ecabs-lc__logo {
  display: block;
  width: 100%;
  height: 100%;
  border-top-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
  border-left-width: 0;
  text-decoration: none;
  outline-offset: 4px;
}

.ecabs-lc .ecabs-lc__img,
#top #wrap_all .ecabs-lc .ecabs-lc__img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-radius: 0;
  box-shadow: none;
  object-fit: contain;
  -webkit-user-drag: none;
  user-select: none;
}

/* ---------- Arrows ---------- */

.ecabs-lc .ecabs-lc__arrow,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow {
  position: absolute;
  top: calc(50% - 22px);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 44px;
  min-width: 0;
  height: 44px;
  min-height: 0;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-top-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
  border-left-width: 0;
  border-radius: 999px;
  background-color: var(--ecabs-lc-surface);
  background-image: none;
  line-height: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 200ms ease;
}

.ecabs-lc .ecabs-lc__arrow.ecabs-lc__arrow--prev,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow.ecabs-lc__arrow--prev {
  left: var(--ecabs-lc-inset);
  box-shadow:
    4px 4px 6px rgba(0, 0, 0, 0.12),
    16px 16px 11px rgba(0, 0, 0, 0.1),
    35px 35px 15px rgba(0, 0, 0, 0.06),
    62px 62px 17.5px rgba(0, 0, 0, 0.02);
}

.ecabs-lc .ecabs-lc__arrow.ecabs-lc__arrow--next,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow.ecabs-lc__arrow--next {
  right: var(--ecabs-lc-inset);
  box-shadow:
    -4px 4px 6px rgba(0, 0, 0, 0.12),
    -16px 16px 11px rgba(0, 0, 0, 0.1),
    -35px 35px 15px rgba(0, 0, 0, 0.06),
    -63px 62px 17.5px rgba(0, 0, 0, 0.02);
}

.ecabs-lc .ecabs-lc__arrow-icon,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow-icon {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
}

.ecabs-lc .ecabs-lc__arrow--prev .ecabs-lc__arrow-icon,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow--prev .ecabs-lc__arrow-icon {
  transform: rotate(180deg);
}

.ecabs-lc .ecabs-lc__arrow-img,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow-img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  max-width: none;
  height: 20px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  border-radius: 0;
  box-shadow: none;
  transition: opacity 200ms ease;
}

.ecabs-lc .ecabs-lc__arrow-img.ecabs-lc__arrow-img--hover,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow-img.ecabs-lc__arrow-img--hover {
  opacity: 0;
}

.ecabs-lc .ecabs-lc__arrow:focus-visible,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow:focus-visible,
.ecabs-lc .ecabs-lc__arrow:active,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow:active {
  background-color: var(--ecabs-lc-ink);
}

.ecabs-lc .ecabs-lc__arrow:focus-visible .ecabs-lc__arrow-img--rest,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow:focus-visible .ecabs-lc__arrow-img--rest,
.ecabs-lc .ecabs-lc__arrow:active .ecabs-lc__arrow-img--rest,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow:active .ecabs-lc__arrow-img--rest {
  opacity: 0;
}

.ecabs-lc .ecabs-lc__arrow:focus-visible .ecabs-lc__arrow-img--hover,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow:focus-visible .ecabs-lc__arrow-img--hover,
.ecabs-lc .ecabs-lc__arrow:active .ecabs-lc__arrow-img--hover,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow:active .ecabs-lc__arrow-img--hover {
  opacity: 1;
}

.ecabs-lc .ecabs-lc__arrow:focus-visible,
#top #wrap_all .ecabs-lc .ecabs-lc__arrow:focus-visible {
  outline: 2px solid var(--ecabs-lc-ink);
  outline-offset: 3px;
}

@media (hover: hover) {
  .ecabs-lc .ecabs-lc__arrow:hover,
  #top #wrap_all .ecabs-lc .ecabs-lc__arrow:hover {
    background-color: var(--ecabs-lc-ink);
  }

  .ecabs-lc .ecabs-lc__arrow:hover .ecabs-lc__arrow-img--rest,
  #top #wrap_all .ecabs-lc .ecabs-lc__arrow:hover .ecabs-lc__arrow-img--rest {
    opacity: 0;
  }

  .ecabs-lc .ecabs-lc__arrow:hover .ecabs-lc__arrow-img--hover,
  #top #wrap_all .ecabs-lc .ecabs-lc__arrow:hover .ecabs-lc__arrow-img--hover {
    opacity: 1;
  }

  .ecabs-lc .ecabs-lc__dot:hover,
  #top #wrap_all .ecabs-lc .ecabs-lc__dot:hover {
    opacity: 0.4;
  }
}

/* ---------- Dots ---------- */

.ecabs-lc .ecabs-lc__dots,
#top #wrap_all .ecabs-lc .ecabs-lc__dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: center;
  justify-content: center;
  column-gap: 12px;
  row-gap: 12px;
  box-sizing: border-box;
  max-width: calc(100% - 2 * var(--ecabs-lc-inset));
  min-height: 8px;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

.ecabs-lc .ecabs-lc__dots-item,
#top #wrap_all .ecabs-lc .ecabs-lc__dots-item {
  display: block;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  line-height: 0;
  list-style-type: none;
}

.ecabs-lc .ecabs-lc__dot,
#top #wrap_all .ecabs-lc .ecabs-lc__dot {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 8px;
  min-width: 0;
  height: 8px;
  min-height: 0;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  border-top-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
  border-left-width: 0;
  border-radius: 50%;
  background-color: var(--ecabs-lc-ink);
  background-image: none;
  box-shadow: none;
  opacity: 0.16;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 200ms ease;
}

.ecabs-lc .ecabs-lc__dot::after,
#top #wrap_all .ecabs-lc .ecabs-lc__dot::after {
  content: "";
  position: absolute;
  top: -6px;
  right: -6px;
  bottom: -6px;
  left: -6px;
}

.ecabs-lc .ecabs-lc__dot.is-active,
#top #wrap_all .ecabs-lc .ecabs-lc__dot.is-active {
  opacity: 1;
}

.ecabs-lc .ecabs-lc__dot:focus-visible,
#top #wrap_all .ecabs-lc .ecabs-lc__dot:focus-visible {
  outline: 2px solid var(--ecabs-lc-ink);
  outline-offset: 3px;
}

/* ---------- States ---------- */

.ecabs-lc:not(.ecabs-lc--ready) .ecabs-lc__arrow,
#top #wrap_all .ecabs-lc:not(.ecabs-lc--ready) .ecabs-lc__arrow,
.ecabs-lc:not(.ecabs-lc--ready) .ecabs-lc__dots,
#top #wrap_all .ecabs-lc:not(.ecabs-lc--ready) .ecabs-lc__dots {
  visibility: hidden;
}

.ecabs-lc.ecabs-lc--static .ecabs-lc__arrow,
#top #wrap_all .ecabs-lc.ecabs-lc--static .ecabs-lc__arrow,
.ecabs-lc.ecabs-lc--static .ecabs-lc__dots,
#top #wrap_all .ecabs-lc.ecabs-lc--static .ecabs-lc__dots {
  display: none;
}

.ecabs-lc.ecabs-lc--ready .ecabs-lc__track,
#top #wrap_all .ecabs-lc.ecabs-lc--ready .ecabs-lc__track {
  -webkit-touch-callout: none;
  user-select: none;
}

/* ---------- Ramp ---------- */

@media (max-width: 1199px) {
  .ecabs-lc,
  #top #wrap_all .ecabs-lc {
    --ecabs-lc-k: 0.85;
  }

  .ecabs-lc.ecabs-lc--scale,
  #top #wrap_all .ecabs-lc.ecabs-lc--scale {
    --ecabs-lc-mt-now: calc(var(--ecabs-lc-mt) * 0.75);
  }
}

@media (max-width: 899px) {
  .ecabs-lc,
  #top #wrap_all .ecabs-lc {
    --ecabs-lc-k: 0.72;
  }

  .ecabs-lc.ecabs-lc--scale,
  #top #wrap_all .ecabs-lc.ecabs-lc--scale {
    --ecabs-lc-mt-now: calc(var(--ecabs-lc-mt) * 0.6);
  }
}
