/* Button */
:root {
  --button-009-color: #2b363f;
  --button-009-color-background: #E80029;
  --button-009-color-focus: #000;
  --button-009-border-radius: 0.25em;
  --button-009-icon-size: 1.25em;
  --button-009-padding-top: 1em;
  --button-009-padding-right: 1em;
  --button-009-padding-bottom: 1em;
  --button-009-padding-left: 1em;
  --button-009-gap: 0.375em;
  --button-009-overflow: clip;
  --button-009-focus-inset: -0.125em;
  --button-009-click-scale: 0.955 0.925;
  --button-009-ease-hover: cubic-bezier(0.32, 0.72, 0, 1);
  --button-009-ease-click: cubic-bezier(0.4, 0, 0.2, 1);
  --button-009-ease-focus: cubic-bezier(0.32, 0.72, 0, 1);
}

.button-009 {
  -webkit-tap-highlight-color: transparent;
  transition: scale 0.15s var(--button-009-ease-click);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button-009:is(:hover, :focus-visible) .button-009__text,
  [data-hover]:is(:hover, :focus-visible) .button-009 .button-009__text {
    translate: calc(var(--button-009-icon-size) + var(--button-009-gap) + var(--button-009-padding-right) - var(--button-009-padding-left)) 0 0;
    transition: translate 0.5s 0.075s var(--button-009-ease-hover);
  }

  .button-009:is(:hover, :focus-visible) .button-009__icon.is--left,
  [data-hover]:is(:hover, :focus-visible) .button-009 .button-009__icon.is--left {
    translate: 0 0 0;
    opacity: 1;
    transition: translate 0.5s 0.075s var(--button-009-ease-hover), opacity 0.15s 0.075s ease-out;
  }

  .button-009:is(:hover, :focus-visible) .button-009__icon.is--right,
  [data-hover]:is(:hover, :focus-visible) .button-009 .button-009__icon.is--right {
    translate: 1.5em 0 0;
    opacity: 0;
    transition: translate 0.5s 0.05s var(--button-009-ease-hover), opacity 0.15s 0.075s ease-out;
  }
}

.button-009:is(:focus-visible)::after {
  box-shadow: 0 0 0 0.125em var(--button-009-color-focus);
}

.button-009:active {
  scale: var(--button-009-click-scale);
}

.button-009::after {
  content: '';
  display: block;
  position: absolute;
  inset: var(--button-009-focus-inset);
  border-radius: var(--button-009-border-radius);
  transition: box-shadow 0.3s var(--button-009-ease-focus);
  pointer-events: none;
  z-index: 1;
}

.button-009__text {
  transition: translate 0.5s var(--button-009-ease-hover);
}

.button-009__icon {
  transition: translate 0.5s var(--button-009-ease-hover), opacity 0.15s ease-out;
}

.button-009__icon.is--left {
  opacity: 0;
  translate: -1.5em 0 0;
}

/* Basic GSAP Slider */
[data-gsap-slider-init] {
  --slider-status: on; /* Turn slider on/off */
  --slider-spv: 3; /* Slides per view */ 
  --slider-gap: 1.5em; /* Slides Gap */
}

@media screen and (max-width: 991px) {
   [data-gsap-slider-init] {
    --slider-status: on; /* Turn slider on/off */
    --slider-spv: 2.25; /* Slides per view */ 
    --slider-gap: 1.5em; /* Slides Gap */
  } 
}

@media screen and (max-width: 767px) {
  [data-gsap-slider-init] { 
    --slider-status: on; /* Turn slider on/off */
    --slider-spv: 1.15; /* Slides per view */ 
    --slider-gap: 1em; /* Gap */
  }
}

[data-gsap-slider-item]:last-child {
  margin-right: 0;
}

/* Controls */
[data-gsap-slider-status="not-active"] [data-gsap-slider-controls] {
  display: none;
}

[data-gsap-slider-control-status="not-active"] { 
  opacity: 0.2;
  pointer-events: none;
}

/* Customization */

.gsap-slider__control {
  transition: opacity 0.3s ease;
}

.demo-card {
  transition: all 0.3s ease;
}

[data-gsap-slider-item-status="not-active"] .demo-card {
  background-color: #131313;
}

.demo-card__tag {
  transition: all 0.3s ease;
}

[data-gsap-slider-item-status="not-active"] .demo-card__tag {
  opacity: 0;
}

/* Line Reveal Testimonials */
.text-line-mask{
  padding-bottom: 0.2em;
  margin-bottom: -0.2em;
}

/* Footer Parallax Effect */
/* Note: Both of the sets of CSS are not needed for the parallax effect */

/* ------------------------- Scaling System by Osmo [https://osmo.supply/] -------------------------  */

/* Desktop */
:root {
  --size-unit: 16; /* body font-size in design - no px */
  --size-container-ideal: 1440; /* screen-size in design - no px */
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
}

/* Tablet */
@media screen and (max-width: 991px) {
  :root {
    --size-container-ideal: 834; /* screen-size in design - no px */
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}

/* Mobile Landscape */
@media screen and (max-width: 767px) {
  :root {
    --size-container-ideal: 390; /* screen-size in design - no px */
    --size-container-min: 480px;
    --size-container-max: 767px;
  }
}

/* Mobile Portrait */
@media screen and (max-width: 479px) {
  :root {
    --size-container-ideal: 390; /* screen-size in design - no px */
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

/* ------------------------- Underline Link [https://osmo.supply/] -------------------------  */

[data-underline-link] {
  text-decoration: none;
  position: relative;
}

[data-underline-link]::before {
  content: "";
  position: absolute;
  bottom: -0.0625em;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}

@media (hover: hover) and (pointer: fine) {
  [data-hover]:hover [data-underline-link]::before,
  [data-underline-link]:hover::before {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
  }  
}





.section__testimonials {
  width: 100%;
  min-width: 0;
}

.section__testimonials ._5050-grid {
  width: 100%;
  min-width: 0;
  align-self: stretch;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.section__testimonials ._5050-grid > * {
  min-width: 0;
}

.section__testimonials ._5050__content-wrapper,
.section__testimonials .testimonial-lines,
.section__testimonials .testimonial-lines__main,
.section__testimonials .testimonial-lines__collection,
.section__testimonials .testimonial-lines__list,
.section__testimonials .testimonial-lines__item,
.section__testimonials .testimonial-lines__h {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

/* Lightbox Setup */
/* Active Classes */
.lightbox-wrap.is-active {
  display: flex;
}
.lightbox-img__item.is-active {
  visibility: visible;
}


/* Force containment of image */
.lightbox-img__item img { 
  object-fit: contain !important;
  min-width: auto;
  width: auto;
  max-height: 100%;
}


/* Simple Hover on Lightbox Buttons */
.lightbox-nav__button:hover .lightbox-nav__dot{ transform: translate(-100%, 0px) }
.lightbox-nav__button:nth-of-type(2):hover .lightbox-nav__dot{ transform: translate(100%, 0px) }