/* -----------------------------------------
// START of styles for Hiding Scroll Bar
// ----------------------------------------- */

html, body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

/* -----------------------------------------
// END of styles for Hiding Scroll Bar
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Hiding Page Anchor Nav on Load
// ----------------------------------------- */

[data-anchor-hide] {
  opacity: 0;
  visibility: hidden;
}

.wf-design-mode [data-anchor-hide] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* -----------------------------------------
// END of styles for Hiding Page Anchor Nav on Load
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Nav Animation
// ----------------------------------------- */

[data-twostep-nav]{
  
  /* SMOOTH Ease */
  --cubic-default: cubic-bezier(0.38, 0.005, 0.215, 1);
  
  --animation-ease: 0.4s ease;
  
  --duration-default: 0.75s;
  --duration-default-long: 1s; 
  --duration-default-half: 0.5s; 
  
  --animation-default: var(--duration-default) var(--cubic-default);
  --animation-default-long: var(--duration-default-long) var(--cubic-default);
  --animation-default-half: var(--duration-default-half) var(--cubic-default);
}


/* Menu button */
.twostep-nav__toggle-bar{
  transition: transform var(--animation-default);
  transform: translateY(-0.25em) rotate(0.001deg);  
}

.twostep-nav__toggle:hover .twostep-nav__toggle-bar {
  transform: translateY(0.25em) rotate(0.001deg);
}

.twostep-nav__toggle .twostep-nav__toggle-bar:nth-child(2) {
  transform: translateY(0.15em) rotate(0.001deg);
}

.twostep-nav__toggle:hover .twostep-nav__toggle-bar:nth-child(2) {
  transform: translateY(-0.15em) rotate(0.001deg);
}

[data-nav-status="active"] .twostep-nav__toggle .twostep-nav__toggle-bar {
  transform: translateY(0em) rotate(45deg);
}

[data-nav-status="active"] .twostep-nav__toggle .twostep-nav__toggle-bar:nth-child(2) {
  transform: translateY(0em) rotate(-45deg);
}


/* Page dark overlay */
.twostep-nav__bg {
  transition: opacity var(--animation-default-half), visibility var(--animation-default-half);
}

[data-nav-status="active"] .twostep-nav__bg {
  transition: opacity var(--animation-default), visibility var(--animation-default) 0s;
  opacity: 1;
  visibility: visible;
}


/* Inner bar grow */
.twostep-nav__bar {
  transition: max-width var(--animation-default) 0.2s;
}

[data-nav-status="active"] .twostep-nav__bar {
  transition: max-width var(--animation-default-long) 0.2s;
  max-width: 100%;
}


/* Thin line in nav bar */
.twostep-nav__top-line {
  transition: all var(--animation-default) 0s;
  opacity: 0;
}

[data-nav-status="active"] .twostep-nav__top-line {
  transition: all var(--animation-default-long) 0.1s;
  opacity: 1;
}

@media screen and (max-width: 767px) {

  .twostep-nav__top-line {
    inset: auto 1em -0.5em;
  }
  
  [data-nav-status="active"] .twostep-nav__top-line {
    transition: all var(--animation-default-long) 0.1s;
    inset: auto 0.5em 0em;
  }
}

/* Border lines left and right nav bar */
.twostep-nav__border-line.is-left,
.twostep-nav__border-line.is-right {
  transition: all var(--animation-default) 0.575s;
  visibility: hidden;
  transform-origin: 0 0;
  transform: scaleY(0);
}

[data-nav-status="active"] .twostep-nav__border-line.is-left,
[data-nav-status="active"] .twostep-nav__border-line.is-right {
  transition: all var(--animation-default-half) 0s;
  visibility: visible;
  transform-origin: 0 0;
  transform: scaleY(1);
}

/* @media screen and (max-width: 767px) {

.twostep-nav__border-line.is-left,
.twostep-nav__border-line.is-right {
    inset: auto 1em -0.5em;
  }
  
[data-nav-status="active"] .twostep-nav__border-line.is-left,
[data-nav-status="active"] .twostep-nav__border-line.is-right {
    transition: all var(--animation-default-half) 0s;
    inset: auto 0.5em 0em;
  }
} */

/* Border lines top and bottom nav bar */
.twostep-nav__border-line.is-top,
.twostep-nav__border-line.is-bottom {
  transition: all var(--animation-default) 0.1s;
  visibility: hidden;
  transform-origin: center;
  transform: scaleX(0);
}

[data-nav-status="active"] .twostep-nav__border-line.is-top,
[data-nav-status="active"] .twostep-nav__border-line.is-bottom{
  transition: all var(--animation-default-long) 0.15s;
  visibility: visible;
  transform-origin: center;
  transform: scaleX(1);
}

/* @media screen and (max-width: 767px) {

  .twostep-nav__border-line.is-top,
.twostep-nav__border-line.is-bottom {
    inset: auto 1em -0.5em;
  }
  
  [data-nav-status="active"] .twostep-nav__border-line.is-top,
[data-nav-status="active"] .twostep-nav__border-line.is-bottom {
    transition: all var(--animation-default) 0s;
    inset: auto 0.5em 0em;
  }
} */

/* Nav bar background */
.twostep-nav__bar__bg,
[data-nav-status="active"] .twostep-nav__back-bg{
  transition: background-color var(--animation-ease);
}

.twostep-nav__back{
  transition: all var(--animation-default);
  inset: 0em;
}

[data-nav-status="active"]  .twostep-nav__back {
  inset: 0em;
}

@media screen and (max-width: 767px) {
  
  [data-nav-status="active"]  .twostep-nav__back {
    inset: 0em;
  }  
  
}



/* Nav bottom */
.twostep-nav__bottom {
  transition: grid-template-rows var(--animation-default-half) 0s;
}

[data-nav-status="active"] .twostep-nav__bottom {
  transition: grid-template-rows var(--animation-default-long) 0.625s;
  grid-template-rows: 1fr;
}

@media screen and (max-width: 767px) {
  
  .twostep-nav__bottom {
    transition: grid-template-rows var(--animation-default-half) 0s, transform var(--animation-default) 0s;
    transform: translateY(-0.625em);
  }
  
  [data-nav-status="active"] .twostep-nav__bottom {
    transition: grid-template-rows var(--animation-default-long) 0.625s, transform var(--animation-default) 0.625s;
    transform: translateY(0em);
  }
}


/* Nav columns reveal */
.twostep-nav__bottom-row > * {
  transition: all var(--animation-default-long) 0s;
  transform: translateY(10em);
  opacity: 0;
}

.twostep-nav__bottom-row > *:nth-child(2) {
 transition-delay: 0.075s;
}

[data-nav-status="active"] .twostep-nav__bottom-row > * {
  transition: all var(--animation-default-long) 0.8s;
  transform: translateY(0em);
  opacity: 1;
}

[data-nav-status="active"] .twostep-nav__bottom-row > *:nth-child(2) {
  transition-delay: 0.8s;
}


/* -----------------------------------------
// END of styles for Nav Animation
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Accordion
// ----------------------------------------- */

.accordion-css__item-bottom {
  transition: grid-template-rows 0.6s cubic-bezier(0.95, 0.15, 0.125, 0.95);
}

[data-accordion-status="active"] .accordion-css__item-bottom {
  grid-template-rows: 1fr;
}

/* Animate Icon */
.accordion-css__item-icon {
  transition: transform 0.6s cubic-bezier(0.95, 0.15, 0.125, 0.95);
}

[data-accordion-status="active"] .accordion-css__item-icon {
  transform: rotate(0.001deg);
}

/* -----------------------------------------
// END of styles for Accordion
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Radial Slider
// ----------------------------------------- */

[data-radial-slider-init] {
  --slider-rotate: 18deg;
  --slider-radius: -500%;
}

[data-radial-slider-list] > :first-child {
  position: relative;
}

.radial-gsap-slider__control-dot[data-radial-slider-control-status="active"] {
  color: var(--swatch--brand-500);
}

@media screen and (max-width: 767px) {
  [data-radial-slider-init] {
    --slider-rotate: 12deg;
    --slider-radius: -450%;
  }

  [data-radial-slider-item] {
    width: 15em;
  }
}


/* Show Cards in a row Webflow Designer */
:is(.wf-design-mode, .wf-editor) [data-radial-slider-list] {
  justify-content: flex-start;
  overflow: scroll;
  gap: 1.5em;
}

:is(.wf-design-mode, .wf-editor) [data-radial-slider-item] {
  position: relative;
}

/* -----------------------------------------
// END of styles for Radial Slider
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Step by Step Timeline
// ----------------------------------------- */


/* Marker inside 'active' step item */ 
[data-step-timeline-item][data-status="active"] [data-step-timeline-marker] {
  background: var(--_theme---text);
  color: var(--_theme---background);
  border-color: var(--_theme---text);
} 

/* Marker inside 'current' step item */   
[data-step-timeline-item][data-current] [data-step-timeline-marker] {
  /*box-shadow: 0 0 0 0.2em var(--swatch--grey-92);*/
  background: var(--swatch--brand-500);
  color: #fff;
  border-color: var(--swatch--brand-500);
  
} 

/* Inactive state of the content wrapper */ 
[data-step-timeline-item] .step-timeline__content {
  opacity: 0.2;
}  

/* Make content full opacity in current step */
[data-step-timeline-item][data-status="active"] .step-timeline__content {
  opacity: 1;
}   
  
/* Make content full opacity in current step */
[data-step-timeline-item][data-current] .step-timeline__content {
  opacity: 1;
} 

/* -----------------------------------------
// END of styles for Step by Step Timeline
// ----------------------------------------- */

/* -----------------------------------------
// START of styles for Mapbox
// ----------------------------------------- */

/* List item active styling */
[data-locator-item] {
  opacity: 0;
  transition: all 0.4s;
}

[data-locator-item][data-active="true"] {
  opacity: 1;
}

/* Active marker */
[data-locator-marker][data-active="true"] {
  /*background-color: #ff4f00; */
  color: var(--swatch--grey-8);
  /* outline: 1px solid #98a3b1;
  outline-offset: .5em; */
}


/* Hide marker template on site */
[data-globe-init="initialized"] [data-globe-marker-template] {
  display: none;
}


/* Change the container shape, background, and shadows */
.mapboxgl-ctrl-group {
    background-color: var(--swatch--grey-92);
    border-radius: 0px !important;
    border: var(--border-width--main) solid var(--_theme---border);
    box-shadow: none !important;
}

/* Style the buttons and text color inside them */
.mapboxgl-ctrl-group button {
    width: 36px;
    height: 36px;
    background-color: transparent;
    border-radius: 0px !important;
    outline: none !important;
    transition: all 0.15s cubic-bezier(0.38, 0.005, 0.215, 1);
}

/* Changes the icon color inside that button on hover */
.mapboxgl-ctrl-group button:hover::before {
    color: #ffffff !important;
}

/* Handle hover and active states */
.mapboxgl-ctrl-group button:hover {
    background-color: #ff4f00 !important;
    border-radius: 0px !important
}

/* Override the default Mapbox SVGs with custom text/Unicode symbols */
.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: none;
}
.mapboxgl-ctrl-zoom-in::before {
    content: "+";
    color: var(--_theme---border);
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    transition: all 0.15s cubic-bezier(0.38, 0.005, 0.215, 1);
}

.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: none;
}
.mapboxgl-ctrl-zoom-out::before {
    content: "−";
    color: var(--_theme---border);
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    transition: all 0.15s cubic-bezier(0.38, 0.005, 0.215, 1);
}

/* Adjust the internal border line separating the buttons */
.mapboxgl-ctrl-group button+button {
    border-top: var(--border-width--main) solid var(--_theme---border);
}

/* Hide mapbox logo and info */
.mapboxgl-ctrl-logo, .mapboxgl-ctrl-attrib {
  display: none !important;
}

/* -----------------------------------------
// END of styles for Mapbox
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for blinking nav indicator
// ----------------------------------------- */

.w--current .twostep-nav__page-indicator_wrap {
  animation: blink 1.25s steps(1, end) infinite;
}

@keyframes blink {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}

/* -----------------------------------------
// END of styles for blinking nav indicator
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Button Osmo 054
// ----------------------------------------- */

.button-054 {
  --button-054-color: inherit;
  --button-054-color-background: var(--_theme---background);
  --button-054-hover-color: #fff;
  --button-054-hover-color-background: var(--_theme---heading-accent);
  --button-054-color-focus: var(--_theme---border);
  --button-054-border-color: var(--_theme---border);
  --button-054-border-color-hover: var(--_theme---heading-accent);
  --button-054-border-width: var(--border-width--main);
  --button-054-border-radius: 0em;
  --button-054-padding: 0.75em 1em;
  --button-054-focus-inset: -0.125em;
  --button-054-click-scale: 0.955 0.925;
  --button-054-ease-hover: cubic-bezier(0.38, 0.005, 0.215, 1);
  --button-054-ease-click: cubic-bezier(0.4, 0, 0.2, 1);
  --button-054-ease-focus: cubic-bezier(0.32, 0.72, 0, 1);

  -webkit-tap-highlight-color: 
    transparent;
    position: relative;
    overflow: hidden;
    border: 0;
    box-shadow: inset 0 0 0 var(--button-054-border-width) var(--button-054-border-color);
    border-radius: var(--button-054-border-radius);
    transition: scale 0.15s var(--button-054-ease-click),
    box-shadow 0.12s 0s var(--button-054-ease-hover);
  }

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

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

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

.button-054__hover-inner {
  clip-path: inset(0% 100% 0% 0%);
  transition: clip-path 0.2s 0.2s var(--button-054-ease-hover);
}

.button-054__hover {
  clip-path: inset(calc(50% - 0.025rem) 0% calc(50% - 0.025rem) 0%);
  transition: clip-path 0.3s var(--button-054-ease-hover);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button-054:is(:hover, :focus-visible),
  [data-hover]:is(:hover, :focus-visible) .button-054 {
    box-shadow: inset 0 0 0 var(--button-054-border-width) var(--button-054-border-color-hover);
    transition: box-shadow 0.2s 0.3s var(--button-054-ease-hover);
  }

  .button-054:is(:hover, :focus-visible) .button-054__hover-inner,
  [data-hover]:is(:hover, :focus-visible) .button-054 .button-054__hover-inner {
    clip-path: inset(0% 0% 0% 0%);
    transition: clip-path 0.2s 0.05s var(--button-054-ease-hover);
  }

  .button-054:is(:hover, :focus-visible) .button-054__hover,
  [data-hover]:is(:hover, :focus-visible) .button-054 .button-054__hover {
    clip-path: inset(0% 0% 0% 0%);
    transition: clip-path 0.3s 0.2s var(--button-054-ease-hover);
  }
}

/* -----------------------------------------
// END of styles for Button Osmo 054
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Button Osmo 060
// ----------------------------------------- */

:root {
  --button-060-color: inherit;
  --button-060-color-background: transparent;
  --button-060-color-focus: var(--_theme---border);
  --button-060-border-radius: 0em;
  --button-060-padding: 0.125em 0.125em;
  --button-060-focus-inset: -0.125em;
  --button-060-hover-scale: 1.06 1.095;
  --button-060-click-scale: 0.955 0.925;
  --button-060-ease-hover: cubic-bezier(0.38, 0.005, 0.215, 1);
  --button-060-ease-click: cubic-bezier(0.4, 0, 0.2, 1);
  --button-060-ease-focus: cubic-bezier(0.32, 0.72, 0, 1);
}

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

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button-060:is(:hover, :focus-visible) .button-060__bg,
  [data-hover]:is(:hover, :focus-visible) .button-060 .button-060__bg {
    scale: var(--button-060-hover-scale);
    transition-delay: 0.05s;
  }

  .button-060:is(:hover, :focus-visible) .button-060__line,
  [data-hover]:is(:hover, :focus-visible) .button-060 .button-060__line {
    scale: 1 1;
    transition-delay: 0.05s;
  }

  .button-060:is(:hover, :focus-visible) .button-060__text,
  [data-hover]:is(:hover, :focus-visible) .button-060 .button-060__text {
    transform: translate3d(0.375em, 0, 0);
    transition-delay: 0.05s;
  }

  .button-060:is(:hover, :focus-visible) .button-060__text,
  [data-hover]:is(:hover, :focus-visible) .button-060 .button-060__text {
    transform: translate3d(0.375em, 0, 0);
    transition-delay: 0.05s;
  }
}

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

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

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

.button-060__bg {
  transition: scale 0.45s var(--button-060-ease-hover);
}

.button-060__line {
  transform-origin: left center;
  translate: -0.5em;
  scale: 0 1;
  transition: scale 0.3s var(--button-060-ease-hover);
}

.button-060__text {
  transition: transform 0.3s var(--button-060-ease-hover);
}

/* -----------------------------------------
// END of styles for Button Osmo 060
// ----------------------------------------- */


/* -----------------------------------------
// START of styles for Nav Hide
// ----------------------------------------- */

.twostep-nav__wrapper {
  transform: translateY(0);
  transition: transform 0.4s cubic-bezier(0.38, 0.005, 0.215, 1);
  will-change: transform;
}

.twostep-nav__wrapper.is-hidden {
  transform: translateY(-200%);
}

/* -----------------------------------------
// END of styles for Nav Hide
// ----------------------------------------- */

/* -----------------------------------------
// START of styles for Section Anchor Dock
// ----------------------------------------- */

[data-section-dock-link][data-active] { 
  color: #fff;
}

[data-section-dock-link][data-active] .section-dock__link-num {
  color: rgba(255, 255, 255, 0.6);
}

.wf-design-mode [data-section-dock-init][data-preview="true"] .section-dock__list { 
  position: static;
  opacity: 1;
  visibility: visible;
}

/* -----------------------------------------
// END of styles for Section Anchor Dock
// ----------------------------------------- */

/* -----------------------------------------
// START of styles for Rotating Text
// ----------------------------------------- */

[data-rotating-title] {
  width: 100%;
}

[data-rotating-words] {
  display: inline-block;
  position: relative;
}

.rotating-text__inner {
  display: inline-block;
}

.rotating-text__word {
  display: block;
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 0;
}

.rotating-line{
  padding-bottom: 0.1em;
  margin-bottom: -0.1em;
  white-space: nowrap;
}

.rotating-line-mask{
  overflow-x: visible !important;
  overflow-y: clip !important;
}


/* -----------------------------------------
// END of styles for Rotating Text
// ----------------------------------------- */

/* -----------------------------------------
// START of styles for 
// ----------------------------------------- */