/* --------------------------------- Theme --------------------------------- */

/* 
  Page theme source:
  Put data-page-theme="dark" only on the actual page wrapper/main-wrapper for dark hero pages.
  Light pages can use data-page-theme="light" or no attribute.
*/

[data-theme-nav] {
  --nav-closed-color: #222222;
  --nav-open-color: #222222;
  --nav-roll-distance: 1.1em;

  color: var(--nav-closed-color);
  transition: color 0s linear 0s;
}

/* Instant white closed nav only when the main page wrapper is dark */
body:has(> .main-wrapper[data-page-theme="dark"]) [data-theme-nav],
body[data-page-theme="dark"] [data-theme-nav] {
  --nav-closed-color: #ffffff;
}

/* When nav is open, always use dark text because the tile is light */
[data-theme-nav][data-navigation-status="active"] {
  color: var(--nav-open-color);
  transition-delay: 0.30s;
}

/* On dark/image pages, delay switching back to white while the nav is closing */
body:has(> .main-wrapper[data-page-theme="dark"]) [data-theme-nav]:not([data-navigation-status="active"]),
body[data-page-theme="dark"] [data-theme-nav]:not([data-navigation-status="active"]) {
  transition-delay: 0.75s;
}

/* Make nav content inherit the current nav color */
[data-theme-nav] .current-time,
[data-theme-nav] .current-time p,
[data-theme-nav] a,
[data-theme-nav] p,
[data-theme-nav] .bold-nav__word,
[data-theme-nav] .bold-nav-full__link,
[data-theme-nav] .bold-nav-full__link *,
[data-theme-nav] .bold-nav-full__hamburger {
  color: inherit;
}

/* --------------------------------- Hamburger --------------------------------- */

.bold-nav-full__hamburger {
  color: inherit;
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar {
  background-color: currentColor;
  transform: translate(0, 0) rotate(0.001deg);
  transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, -.45em) scale(1, 1) rotate(0.001deg);
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, .45em) scale(1, 1) rotate(0.001deg);
}

/* Hamburger - Hover */

.bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, -.45em) scale(.5, 1) rotate(0.001deg);
}

.bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, .45em) scale(.5, 1) rotate(0.001deg);
}

/* Hamburger - Navigation Open */

[data-navigation-status="active"] .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, 0) rotate(45deg) scale(1, 1);
}

[data-navigation-status="active"] .bold-nav-full__hamburger-bar:nth-child(2) {
  transform: translate(-150%, 0) rotate(0.001deg) scale(1, 1);
}

[data-navigation-status="active"] .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, 0) rotate(-45deg) scale(1, 1);
}

/* Hamburger - Hover Navigation Open */

[data-navigation-status="active"] .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, 0) rotate(45deg) scale(.7, 1);
}

[data-navigation-status="active"] .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, 0) rotate(-45deg) scale(.7, 1);
}

/* --------------------------------- Tile --------------------------------- */

.bold-nav-full__tile {
  transition: clip-path 1s cubic-bezier(.9, 0, .1, 1);
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
}

/* Tile - Navigation Open */

[data-navigation-status="active"] .bold-nav-full__tile {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* --------------------------------- Tile Links --------------------------------- */

/*
  Required structure:

  .bold-nav-full__ul
    .bold-nav-full__li
      .bold-nav-full__link
        .bold-nav-full__link-text

  Only one .bold-nav-full__link-text is needed.
  The hover duplicate is created with text-shadow.
*/

.bold-nav-full__li {
  overflow: hidden;
  transition: opacity 0.5s cubic-bezier(.7, 0, .3, 1);
}

.bold-nav-full__link {
  transform: translateY(100%) rotate(5deg);
  transition: transform 0.75s cubic-bezier(.7, 0, .3, 1);
  text-decoration: none;
}

/* Closing order */

.bold-nav-full__li:nth-child(1) .bold-nav-full__link { transition-delay: 0.2s; }
.bold-nav-full__li:nth-child(2) .bold-nav-full__link { transition-delay: 0.15s; }
.bold-nav-full__li:nth-child(3) .bold-nav-full__link { transition-delay: 0.1s; }
.bold-nav-full__li:nth-child(4) .bold-nav-full__link { transition-delay: 0.05s; }
.bold-nav-full__li:nth-child(5) .bold-nav-full__link { transition-delay: 0s; }

/* Tile Links - Navigation Open */

[data-navigation-status="active"] .bold-nav-full__link {
  transform: translateY(0%) rotate(0.001deg);
  transition-delay: 0.3s;
}

/* Opening order */

[data-navigation-status="active"] .bold-nav-full__li:nth-child(1) .bold-nav-full__link { transition-delay: 0.3s; }
[data-navigation-status="active"] .bold-nav-full__li:nth-child(2) .bold-nav-full__link { transition-delay: 0.35s; }
[data-navigation-status="active"] .bold-nav-full__li:nth-child(3) .bold-nav-full__link { transition-delay: 0.4s; }
[data-navigation-status="active"] .bold-nav-full__li:nth-child(4) .bold-nav-full__link { transition-delay: 0.45s; }
[data-navigation-status="active"] .bold-nav-full__li:nth-child(5) .bold-nav-full__link { transition-delay: 0.5s; }

/* --------------------------------- Tile Links Hover Fade --------------------------------- */

.bold-nav-full__ul:has(.bold-nav-full__li:hover) .bold-nav-full__li {
  opacity: 0.15;
}

.bold-nav-full__ul:has(.bold-nav-full__li:hover) .bold-nav-full__li:hover {
  opacity: 1;
}

/* --------------------------------- Tile Links Text Hover --------------------------------- */

.bold-nav-full__link .bold-nav-full__link-text {
  display: block;
  white-space: nowrap;
  text-shadow: 0 var(--nav-roll-distance) 0 currentColor;
  transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
  transform: translateY(0%) rotate(0.001deg);
  will-change: transform;
}

.bold-nav-full__link:hover .bold-nav-full__link-text {
  transform: translateY(calc(var(--nav-roll-distance) * -1)) rotate(0.001deg);
}

/* --------------------------------- Bottom Words --------------------------------- */

/* Original behavior: no separate animation. They are only revealed/hidden by the tile mask. */
.bold-nav__word {
  transform: none;
  transition: none;
}
/* --------------------------------- BUNNY PLAYER --------------------------------- */

/* Animation */
[data-bunny-player-init] :is(.bunny-player__placeholder, .bunny-player__dark, .bunny-player__playpause, .bunny-player__loading) {
  transition: opacity 0.3s linear, visibility 0.3s linear;
}

/* Placeholder */
[data-bunny-player-init][data-player-status="playing"] .bunny-player__placeholder,
[data-bunny-player-init][data-player-status="paused"] .bunny-player__placeholder,
[data-bunny-player-init][data-player-activated="true"][data-player-status="ready"] .bunny-player__placeholder {
  opacity: 0;
  visibility: hidden;
}

/* Dark Overlay */
[data-bunny-player-init] .bunny-player__dark {
  opacity: 0;
}

[data-bunny-player-init][data-player-status="paused"][data-player-hover="active"] .bunny-player__dark,
[data-bunny-player-init][data-player-status="playing"][data-player-hover="active"] .bunny-player__dark,
[data-bunny-player-init]:hover .bunny-player__dark {
  opacity: 0.3;
}

[data-bunny-player-init][data-player-status="playing"] .bunny-player__dark {
  opacity: 0;
}

[data-bunny-player-init][data-player-status="playing"][data-player-hover="active"] .bunny-player__dark,
[data-bunny-player-init][data-player-status="playing"]:hover .bunny-player__dark {
  opacity: 0.3;
}

/* Play/Pause */
[data-bunny-player-init] .bunny-player__playpause {
  opacity: 0;
}

[data-bunny-player-init][data-player-hover="active"] .bunny-player__playpause,
[data-bunny-player-init]:hover .bunny-player__playpause {
  opacity: 1;
}

[data-bunny-player-init][data-player-status="loading"] .bunny-player__playpause {
  opacity: 0;
}

[data-bunny-player-init][data-player-status="playing"] .bunny-player__play-svg,
[data-bunny-player-init][data-player-status="loading"] .bunny-player__play-svg {
  display: none;
}

[data-bunny-player-init][data-player-status="playing"] .bunny-player__pause-svg,
[data-bunny-player-init][data-player-status="loading"] .bunny-player__pause-svg {
  display: block;
}

/* Loading */
[data-bunny-player-init][data-player-status="loading"] .bunny-player__loading {
  opacity: 1;
  visibility: visible;
}

/* Interface */
.bunny-player__interface {
  opacity: 0;
  transform: translateY(1em) rotate(0.001deg);
  transition: all 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}

[data-bunny-player-init][data-player-hover="active"] .bunny-player__interface,
[data-bunny-player-init]:hover .bunny-player__interface {
  opacity: 1;
  transform: translateY(0em) rotate(0.001deg);
}

[data-bunny-player-init][data-player-status="loading"] .bunny-player__interface {
  opacity: 0;
  transform: translateY(1em) rotate(0.001deg);
}

[data-bunny-player-init][data-player-status="loading"][data-player-hover="active"] .bunny-player__interface,
[data-bunny-player-init][data-player-status="loading"]:hover .bunny-player__interface {
  opacity: 1;
  transform: translateY(0em) rotate(0.001deg);
}

/* Timeline */
[data-bunny-player-init][data-player-status="idle"][data-player-activated="false"] .bunny-player__timeline,
[data-bunny-player-init][data-player-status="ready"][data-player-activated="false"] .bunny-player__timeline {
  pointer-events: none;
}

/* Timeline Handle */
[data-bunny-player-init] .bunny-player__timeline-handle {
  transition: transform 0.15s ease-in-out;
}

[data-bunny-player-init][data-timeline-drag="true"] .bunny-player__timeline-handle {
  transform: translate(-50%, -50%) scale(1);
}

/* Fullscreen */
[data-bunny-player-init][data-player-fullscreen="true"] .bunny-player__fullscreen-shrink-svg {
  display: block;
}

[data-bunny-player-init][data-player-fullscreen="true"] .bunny-player__fullscreen-scale-svg {
  display: none;
}

/* Mute */
[data-bunny-player-init][data-player-muted="true"] .bunny-player__volume-mute-svg {
  display: block;
}

[data-bunny-player-init][data-player-muted="true"] .bunny-player__volume-up-svg {
  display: none;
}

/* Cover Mode */
[data-bunny-player-init][data-player-update-size="cover"] {
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

[data-bunny-player-init][data-player-update-size="cover"] [data-player-before] {
  display: none;
}

[data-bunny-player-init][data-player-update-size="cover"][data-player-fullscreen="false"] .bunny-player__video {
  object-fit: cover;
}


/* --------------------------------- HEADING ANIMATION --------------------------------- */


[data-heading-reveal="scroll"] {
  opacity: 0;
}


/* --------------------------------- SERVICE CARDS HERO --------------------------------- */

.preview-follower__inner,
.preview-follower__label {
  transition: opacity 0.1s ease, transform 0.6s cubic-bezier(0.65, 0.1, 0, 1);
}

/* html:not(.wf-design-mode) */
.preview-follower__inner {
  opacity: 0;
  transform: scale(0);
}

/* html:not(.wf-design-mode) */
.preview-follower__label {
  opacity: 0;
  transform: translate(0px, 100%);
}

.preview-follower [data-follower-visual] {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
}

/* Preview item base */
.preview-item {
  position: relative;
}

@media (hover: hover) and (min-width: 992px) {
  .preview-item {
    border-bottom: 1px solid #D3D3D3;
  }

  .preview-item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    background-color: #222222;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
    pointer-events: none;
  }

  body:has([data-follower-collection]:hover) .preview-follower__inner {
    opacity: 1;
    transform: scale(1);
  }

  body:has([data-follower-collection]:hover) .preview-follower__label {
    opacity: 1;
    transform: translate(0px, 0%);
  }

  body:has(.preview-item:hover) .preview-item:not(:hover) {
    opacity: 0.3;
  }

  .preview-item:hover::after {
    transform: scaleX(1);
  }
}



/* Video mask grow */
[data-video-mask-grow="outer"] {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

[data-video-mask-grow="mask"] {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 80%;
  height: 80%;
  overflow: hidden;
  transform: translate(-50%, -50%);
}

[data-video-mask-grow="target"] {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100vw;
  height: 56.25vw;
  max-width: none;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

@media screen and (max-width: 991px) {
  [data-video-mask-grow="mask"] {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: 100%;
    transform: none;
  }

  [data-video-mask-grow="target"] {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: 100%;
    transform: none;
  }
}


/* Footer H2 text link fade */

.footer-upper_links > a.heading-style-h2 {
  opacity: 1 !important;
  transition: opacity 0.6s cubic-bezier(0.625, 0.05, 0, 1) !important;
  will-change: opacity;
}

/* Only fade links when an actual link is hovered */
.footer-upper_links:has(> a.heading-style-h2:hover) > a.heading-style-h2 {
  opacity: 0.2 !important;
}

/* Keep hovered link fully visible */
.footer-upper_links:has(> a.heading-style-h2:hover) > a.heading-style-h2:hover {
  opacity: 1 !important;
}





[data-logo-wall-list] [data-logo-wall-item]:nth-child(n+9) {
  display: none;
}

@media screen and (max-width: 991px) {
  [data-logo-wall-list] [data-logo-wall-item]:nth-child(n+7) {
    display: none;
  }
}



.wf-design-mode .img-carousel__panel{
  position: relative; 
}

.wf-design-mode .img-carousel__list{
  overflow: auto;
  justify-content: flex-start;
}

.img-carousel__panel:nth-of-type(even){
  justify-content: center;
}
