/* ============================================
   Base Reset
   ============================================ */
html,
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior: none;
}

* {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

*::-webkit-scrollbar {
  display: none;
}

::selection {
  background-color: rgba(var(--color-rgb-green), 0.2);
}

/* ============================================
   Webflow Utility Reset
   ============================================ */
a,
.w-input,
.w-select {
  color: inherit;
}

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.w-richtext > * + * {
  margin-top: 0.75em;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.div-square {
  aspect-ratio: 1 / 1;
}

.container-center {
  margin-left: auto;
  margin-right: auto;
}

.text-style-2lines {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.text-style-3lines {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hide {
  display: none !important;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* ============================================
   Loading Icon
   ============================================ */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.loading-icon {
  animation: spin 0.8s linear infinite;
}

/* ============================================
   Accordion
   ============================================ */
.accordion-header-alt:hover .js-accordion-icon {
  filter: invert(1);
}

.js-accordion-body {
  display: none;
}

/* ============================================
   Marquee
   ============================================ */
.loop-marquee_item-top {
  will-change: transform;
}

@keyframes loop-marquee_item-top {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/* ============================================
   Logo Wall
   ============================================ */
[data-logo-wall-list] [data-logo-wall-item]:nth-child(n+7) {
  display: none;
}

/* ============================================
   Swiper — Navigation
   ============================================ */
.w-container .w-row {
  margin: 0;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.swiper_component .swiper-button-prev,
.swiper_component .swiper-button-next {
  position: static;
  top: auto;
  margin-top: 0;
  z-index: 5;
  background-color: var(--color-scheme--light-grey);
  cursor: pointer;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  transition: color 0.2s, background-color 0.3s;
  display: flex;
  color: inherit;
}

.swiper_component .swiper-button-prev:hover,
.swiper_component .swiper-button-prev:focus-visible,
.swiper_component .swiper-button-next:hover,
.swiper_component .swiper-button-next:focus-visible {
  background-color: #001d1b;
  color: #ffffff;
}

.swiper_component .swiper-button-prev svg,
.swiper_component .swiper-button-next svg {
  width: 1em;
  height: 1em;
}

.swiper_component .div_slider-navigation {
  justify-content: space-between;
  align-items: center;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  padding-right: 0;
  display: flex;
}

/* ============================================
   Swiper — Pagination Bullets
   ============================================ */
.swiper-pagination-bullet {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #F1F1F1;
  margin: 0 5px;
  border-radius: 50%;
  transition: all 0.3s;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: #008f83;
  width: 21px;
  border-radius: 10rem;
}

.swiper_component .swiper-pagination {
  position: static;
  transform: none;
  align-self: center;
  align-items: center;
  padding-left: 1rem;
  padding-right: 3rem;
  display: flex;
}

/* ============================================
   Tab System
   ============================================ */
[data-tabs="wrapper"] [data-tabs="item-progress"] {
  background-color: #1A6859;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 300ms ease;
}

[data-tabs="wrapper"] .tab-content__item.active [data-tabs="item-progress"] {
  transform: scaleX(1);
}

[data-tabs="wrapper"] .icon-1x1-medium {
  opacity: 0;
  transition: opacity 300ms ease;
}

[data-tabs="wrapper"] .tab-content__item.active .icon-1x1-medium {
  opacity: 1;
}

.tab-content__bottom:has(.tab-content__item.active) .tab-content__item:not(.active) {
  opacity: 0.5;
}

@media (hover: hover) and (pointer: fine) {
  .tab-content__item:not(.active):hover .tab-content__item-bottom {
    background-color: #1A6859;
  }
  .tab-content__item:not(.active):hover .content-item__nr {
    transform: translate(25%, 0px);
  }
}

/* ============================================
   Radial Marquee
   ============================================ */
@keyframes rotateMarquee {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

[data-radial-marquee-rotate] {
  animation: rotateMarquee 90s linear infinite;
  transform-origin: center center;
  animation-play-state: paused;
}

.radial-marquee__circle,
[data-radial-marquee-rotate] {
  will-change: transform;
}

[data-radial-marquee] .radial-marquee__item {
  --y: 500%;
  --y-circ: calc((var(--y) * -1) + 50%);
  transform-origin: center var(--y);
}

[data-theme-section="dark"] [data-radial-marquee] .radial-marquee__circle-svg {
  color: var(--color-neutral-550);
}

[data-radial-marquee] .radial-marquee__item:nth-child(1)  { transform: translateY(var(--y-circ)) rotate(0deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(2)  { transform: translateY(var(--y-circ)) rotate(20deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(3)  { transform: translateY(var(--y-circ)) rotate(40deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(4)  { transform: translateY(var(--y-circ)) rotate(60deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(5)  { transform: translateY(var(--y-circ)) rotate(80deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(6)  { transform: translateY(var(--y-circ)) rotate(100deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(7)  { transform: translateY(var(--y-circ)) rotate(120deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(8)  { transform: translateY(var(--y-circ)) rotate(140deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(9)  { transform: translateY(var(--y-circ)) rotate(160deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(10) { transform: translateY(var(--y-circ)) rotate(180deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(11) { transform: translateY(var(--y-circ)) rotate(200deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(12) { transform: translateY(var(--y-circ)) rotate(220deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(13) { transform: translateY(var(--y-circ)) rotate(240deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(14) { transform: translateY(var(--y-circ)) rotate(260deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(15) { transform: translateY(var(--y-circ)) rotate(280deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(16) { transform: translateY(var(--y-circ)) rotate(300deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(17) { transform: translateY(var(--y-circ)) rotate(320deg); }
[data-radial-marquee] .radial-marquee__item:nth-child(18) { transform: translateY(var(--y-circ)) rotate(340deg); }

.radial-marquee__card .radial-marquee__card-p {
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  min-height: 1.2em;
  overflow: hidden;
}

.radial-marquee__card video[data-video-status] {
  transition: opacity var(--animation-default), visibility var(--animation-default);
}

.radial-marquee__card video[data-video-status="loaded"] {
  opacity: 1;
  visibility: visible;
}

[data-svg-theme="dark"] .svg-img {
  opacity: 0.15;
}

[data-wf--hero-background-lines--variant="dark-mode"] .svg-img {
  opacity: 0.15;
}

/* ============================================
   Sticky Steps
   ============================================ */
@media screen and (min-width: 992px) {
  [data-sticky-steps-item-status] .sticky-steps__visual {
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
    opacity: 0;
    visibility: hidden;
  }

  [data-sticky-steps-item-status="before"] .sticky-steps__visual,
  [data-sticky-steps-item-status="active"] .sticky-steps__visual {
    opacity: 1;
    visibility: visible;
  }

  [data-sticky-steps-item-status] .sticky-steps__text {
    transition: opacity 0.5s ease-in-out;
    opacity: 0.25;
  }

  [data-sticky-steps-item-status="active"] .sticky-steps__text {
    opacity: 1;
  }
}

/* ============================================
   Number Odometer
   ============================================ */
[data-odometer-element] {
  display: inline-flex;
  align-items: center;
  font-variant-numeric: tabular-nums;
}

[data-odometer-part="mask"],
[data-odometer-part="static"] {
  display: inline-block;
  overflow: clip;
  padding: 0.05em;
  margin: -0.05em;
}

[data-odometer-part="roller"] {
  display: block;
  white-space: pre;
  text-align: center;
  will-change: transform;
}

[data-odometer-part="static"] {
  display: inline-block;
}