/* Global block for all sites START */

/* Hide code placeholder in the design editor START */
html.wf-design-mode .w-embed.w-script:before,
html.wf-design-mode .w-embed.w-script {
  display: none !important;
}
/* Hide code placeholder in the design editor END */

/* Hide horizontal scrollbar START */
html,
body {
  overflow-x: hidden;
  font-family: BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu,
    Cantarell, Helvetica Neue, Oxygen, Fira Sans, Droid Sans, sans-serif;
}
a {
  color: var(--theme-primary700);
}

html.scroll-locked,
body.scroll-locked {
  overflow-y: clip !important;
}
/* Hide horizontal scrollbar END */

/* Rules for applying theme colours to icons START */
[data-class~="element-icon-component"] svg path:nth-child(1) {
  fill: var(--theme-icon-shape-one);
}
[data-class~="element-icon-component"] svg path:nth-child(2) {
  fill: var(--theme-icon-shape-two);
}
[data-class~="element-icon-component"] svg path[stroke="#000"] {
  stroke: var(--theme-icon-stroke);
}
/* Rules for applying theme colours to icons END */

/* Rules for displaying icons as badges START */
[data-class~="element-icon-component"] {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  width: 60px;
  height: 60px;
}
[data-class~="element-icon-component--badge"] {
  background-color: #ffffff;
}
[data-class~="element-icon-component--badge"]:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  border-radius: 100px;
  opacity: 0.3;
  box-shadow: 0 5px 20px -2px var(--theme-primary600);
}

[data-class~="element-icon-component--transparent"] {
  background-color: transparent;
}
[data-class~="element-icon-component"] div {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
[data-class~="element-icon-component"] svg {
  max-width: 40px;
}
[data-class~="element-icon-component--xs"] {
  height: 30px;
  width: 30px;
}
[data-class~="element-icon-component--xs"] svg {
  max-width: 30px;
}

[data-class~="element-icon-component--lg"] {
  height: 70px;
  width: 70px;
}
[data-class~="element-icon-component--lg"] svg {
  max-width: 70px;
  width: 70px;
  height: 70px;
}
/* Rules for displaying icons as badges END */

/* Add shadow with brand color to Play button START */
[data-class~="c-lightbox_play-icon-container"]:before,
[data-class~="c-layout400_play-icon-container"]:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  border-radius: 100px;
  opacity: 0.3;
  box-shadow: 0 5px 20px -2px var(--theme-primary600);
}
/* Add shadow with brand color to Play button END */

/* Add shadow with brand color to active vertical tab button START */
[data-class~="clr-tab-vertical__link"] {
  border-radius: 0px;
}
[data-class~="clr-tab-vertical__link"].w--current {
  border-radius: 8px;
}
[data-class~="clr-tab-vertical__link"]:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0.2;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
}
[data-class~="clr-tab-vertical__link"].w--current:before {
  box-shadow: 0 5px 30px -5px var(--theme-primary600);
}
/* Add shadow with brand color to active vertical tab button END */

/* Rules allowing to reverse the order of left/right sections START */

@media screen and (min-width: 992px) {
  [data-class~="clr-reversegrid"]
    [data-class~="clr-reversegrid__inner"]
    > div:nth-child(1) {
    order: 2;
  }
  [data-class~="clr-reversegrid"]
    [data-class~="clr-reversegrid__inner"]
    > div:nth-child(2) {
    order: 1;
  }

  [data-class~="clr-reversegridarea"]
    [data-class~="clr-reversegridarea__inner"]
    > div:nth-child(1) {
    grid-area: 1 / 2 / 1 / 2 !important;
  }
  [data-class~="clr-reversegridarea"]
    [data-class~="clr-reversegridarea__inner"]
    > div:nth-child(2) {
    grid-area: 1 / 1 / 1 / 1 !important;
  }
}
/* Rules allowing to reverse the order of left/right sections END */

/* Custom Text selection highlight START */
::selection {
  background: var(--text-selection-highlight);
}
/* Custom Text selection highlight END */

/* ===== Tooltip Vars ===== */
:root {
  --tt-bg: #000;
  --tt-fg: #fff;
  --tt-radius: 6px;
  --tt-pad: 10px;
  --tt-width: 180px;
  --tt-gap: 6px;
  --tt-arrow: 8px;
  --tt-fade: 0.2s;
}

/* ===== Trigger ===== */
[data-tooltip] {
  position: relative;
  display: inline-block;
  cursor: help;
  font-size: 0.825rem;
}

/* Base for arrow (before) + box (after) */
[data-tooltip]::before,
[data-tooltip]::after {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--tt-fade) ease-in-out;
  z-index: 9999;
}

[data-tooltip]::after {
  content: attr(data-tooltip);
  background: var(--tt-bg);
  color: var(--tt-fg);
  border-radius: var(--tt-radius);
  padding: var(--tt-pad);
  max-width: var(--tt-width);
  inline-size: max-content;
  text-wrap: balance;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25));
  height: max-content;
}

[data-tooltip]::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
}

/* Show on hover/focus */
[data-tooltip]:hover::before,
[data-tooltip]:hover::after,
[data-tooltip]:focus::before,
[data-tooltip]:focus::after {
  opacity: 1;
}

/* ===== DEFAULT: top-center (no tooltip-position) ===== */
[data-tooltip]::after {
  bottom: calc(100% + var(--tt-gap) + var(--tt-arrow));
  left: 50%;
  transform: translateX(-50%);
}

[data-tooltip]::before {
  bottom: calc(100% + var(--tt-gap));
  left: 50%;
  transform: translateX(-50%);
  border-width: var(--tt-arrow) var(--tt-arrow) 0 var(--tt-arrow);
  border-color: var(--tt-bg) transparent transparent transparent;
}

/* ===== CARDINAL POSITIONS ===== */
/* top */
[data-tooltip][tooltip-position="top"]::after {
  bottom: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  left: 50%;
  transform: translateX(-50%);
}

[data-tooltip][tooltip-position="top"]::before {
  bottom: calc(100% + var(--tt-gap));
  left: 50%;
  transform: translateX(-50%);
  border-width: var(--tt-arrow) var(--tt-arrow) 0 var(--tt-arrow);
  border-color: var(--tt-bg) transparent transparent transparent;
}

/* bottom */
[data-tooltip][tooltip-position="bottom"]::after {
  top: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
}

[data-tooltip][tooltip-position="bottom"]::before {
  top: calc(100% + var(--tt-gap));
  bottom: auto;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0 var(--tt-arrow) var(--tt-arrow) var(--tt-arrow);
  border-color: transparent transparent var(--tt-bg) transparent;
}

/* right */
[data-tooltip][tooltip-position="right"]::after {
  left: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  top: 50%;
  transform: translateY(-50%);
}

[data-tooltip][tooltip-position="right"]::before {
  left: calc(100% + var(--tt-gap));
  top: 50%;
  transform: translateY(-50%);
  border-width: var(--tt-arrow) var(--tt-arrow) var(--tt-arrow) 0;
  border-color: transparent var(--tt-bg) transparent transparent;
}

/* left */
[data-tooltip][tooltip-position="left"]::after {
  right: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  left: auto;
  top: 50%;
  transform: translateY(-50%);
}

[data-tooltip][tooltip-position="left"]::before {
  right: calc(100% + var(--tt-gap));
  left: auto;
  top: 50%;
  transform: translateY(-50%);
  border-width: var(--tt-arrow) 0 var(--tt-arrow) var(--tt-arrow);
  border-color: transparent transparent transparent var(--tt-bg);
}

/* ===== CORNER VARIANTS (align start/end on the cross-axis) ===== */
/* top-left */
[data-tooltip][tooltip-position="top-right"]::after {
  bottom: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  left: 0%;
  transform: none;
}

[data-tooltip][tooltip-position="top-right"]::before {
  bottom: calc(100% + var(--tt-gap));
  left: 50%;
  transform: translateX(-50%);
  border-width: var(--tt-arrow) var(--tt-arrow) 0 var(--tt-arrow);
  border-color: var(--tt-bg) transparent transparent transparent;
}

/* top-right */
[data-tooltip][tooltip-position="top-left"]::after {
  bottom: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  right: 0%;
  left: auto;
  transform: none;
}

[data-tooltip][tooltip-position="top-left"]::before {
  bottom: calc(100% + var(--tt-gap));
  left: 50%;
  transform: translateX(-50%);
  border-width: var(--tt-arrow) var(--tt-arrow) 0 var(--tt-arrow);
  border-color: var(--tt-bg) transparent transparent transparent;
}

/* bottom-left */
[data-tooltip][tooltip-position="bottom-right"]::after {
  top: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  left: 0;
  transform: none;
  bottom: auto;
}

[data-tooltip][tooltip-position="bottom-right"]::before {
  top: calc(100% + var(--tt-gap));
  left: 50%;
  transform: translateX(-50%);
  bottom: auto;
  border-width: 0 var(--tt-arrow) var(--tt-arrow) var(--tt-arrow);
  border-color: transparent transparent var(--tt-bg) transparent;
}

/* bottom-right */
[data-tooltip][tooltip-position="bottom-left"]::after {
  top: calc(100% + var(--tt-gap) + var(--tt-arrow) - 2px);
  right: 0;
  left: auto;
  transform: none;
  bottom: auto;
}

[data-tooltip][tooltip-position="bottom-left"]::before {
  top: calc(100% + var(--tt-gap));
  right: var(--tt-radius);
  left: 50%;
  transform: translateX(-50%);
  bottom: auto;
  border-width: 0 var(--tt-arrow) var(--tt-arrow) var(--tt-arrow);
  border-color: transparent transparent var(--tt-bg) transparent;
}

/* Custom checkbox for forms START */
[data-class~="uui-form-checkbox-icon-2"]
  .w-checkbox-input.w--redirected-checked {
  background-image: none !important;
  position: relative;
}

[data-class~="uui-form-checkbox-icon-2"]
  .w-checkbox-input.w--redirected-checked:before {
  content: "";
  position: absolute;
  display: inline-block;
  transform: rotate(45deg);
  height: 10px;
  width: 4px;
  border-bottom: 2.5px solid var(--theme-primary600);
  border-right: 2.5px solid var(--theme-primary600);
  top: 2px;
  left: 6px;
}
/* Custom checkbox for forms END */

/* Sections which have vertical tabs can show overlay buttons when users hover over illustrations.
    The following code controls the animation START */
[data-class~="clr-tab-vertical__image-wrapper"]
  [data-class~="clr-tab-vertical__image-hover-overlay"]
  [data-class~="clr-tab-vertical__image-hover-overlay__bg"] {
  backdrop-filter: blur(0px);
  transition: backdrop-filter 1s ease-in-out;
}

[data-class~="clr-tab-vertical__image-wrapper"]:hover
  [data-class~="clr-tab-vertical__image-hover-overlay"]
  [data-class~="clr-tab-vertical__image-hover-overlay__bg"] {
  backdrop-filter: blur(10px);
}

[data-class~="clr-tab-vertical__image-wrapper"]
  [data-class~="clr-tab-vertical__image-hover-overlay"]
  [data-class~="clr-tab-vertical__image-hover-overlay__content"] {
  transform: scale(0.96, 0.96);
  opacity: 0;
  transition: all 0.75s ease-in-out;
}

[data-class~="clr-tab-vertical__image-wrapper"]:hover
  [data-class~="clr-tab-vertical__image-hover-overlay"]
  [data-class~="clr-tab-vertical__image-hover-overlay__content"] {
  transform: scale(1, 1);
  opacity: 1;
}

@media screen and (max-width: 766px) {
  [data-class~="clr-tab-vertical__image-wrapper"]
    [data-class~="clr-tab-vertical__image-hover-overlay"]
    [data-class~="clr-tab-vertical__image-hover-overlay__bg"] {
    -webkit-mask-image: linear-gradient(transparent 0%, black 50%);
    mask-image: linear-gradient(transparent 0%, black 50%);
    backdrop-filter: blur(10px);
  }
  [data-class~="clr-tab-vertical__image-wrapper"]
    [data-class~="clr-tab-vertical__image-hover-overlay"]
    [data-class~="clr-tab-vertical__image-hover-overlay__content"] {
    transform: scale(1, 1);
    opacity: 1;
  }
}
/* Sections which have vertical tabs can show overlay buttons when users hover over illustrations. END */

/* Animated gradients */
@keyframes animation-gradient-initial {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes animation-gradient-bg {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
[data-class~="animated-gradient"] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
[data-class~="animated-gradient__item"] {
  will-change: opacity;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  animation-duration: 12s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  opacity: 0;
}
[data-class~="animated-gradient__item--1"] {
  animation-name: animation-gradient-initial;
  animation-delay: 0s;
  opacity: 1;
}
[data-class~="animated-gradient__item--2"] {
  animation-name: animation-gradient-bg;
  animation-delay: 4s;
}
[data-class~="animated-gradient__item--3"] {
  animation-name: animation-gradient-bg;
  animation-delay: 8s;
}

[data-class="clr-videobackground__source--cover"] {
  object-fit: cover;
  object-position: 100% 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* Global block for all sites END */

/* JS Animation Via Attributes Styles START */

[js-animation="perspective-on-hover-animation"]
  [js-animation="animation__target"] {
  transition: transform 0.5s ease-out;
  will-change: transform;
}

@keyframes perspectiveFloatingAnimations {
  0%,
  100% {
    transform: rotateX(0deg) rotateZ(0deg) rotateY(0deg) translate3d(0, 0, 0);
  }
  25% {
    transform: rotateX(1deg) rotateZ(0.5deg) rotateY(3deg)
      translate3d(0.5px, 2px, 0);
  }
  50% {
    transform: rotateX(-1deg) rotateZ(-0.5deg) rotateY(-3deg)
      translate3d(-0.5px, -1px, 0);
  }
  75% {
    transform: rotateX(0.5deg) rotateZ(0.5deg) rotateY(3deg)
      translate3d(0.5px, 1px, 0);
  }
}

[js-animation="perspective-animation"] [js-animation="animation__target"] {
  animation-name: perspectiveFloatingAnimations;
  animation-duration: 13s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: forwards;
  animation-play-state: paused;
}

[js-animation="perspective-animation"]
  [js-animation="animation__target"].isAnimated {
  animation-play-state: running;
}

[js-animation="perspective-animation-mouseover"]
  [js-animation="animation__target"] {
  transition: transform 3s ease-in-out;
}

[js-animation="perspective-animation-mouseover"] .isAnimated-0 {
  transform: rotateX(1deg) rotateZ(0.5deg) rotateY(3deg)
    translate3d(0.5px, 2px, 0);
}

[js-animation="perspective-animation-mouseover"] .isAnimated-25 {
  transform: rotateX(-1deg) rotateZ(-0.5deg) rotateY(-3deg)
    translate3d(-0.5px, -1px, 0);
}

[js-animation="perspective-animation-mouseover"] .isAnimated-50 {
  transform: rotateX(1deg) rotateZ(0.5deg) rotateY(3deg)
    translate3d(0.5px, 1px, 0);
}

[js-animation="perspective-animation-mouseover"] .isAnimated-75 {
  transform: rotateX(-1deg) rotateZ(-0.5deg) rotateY(-4deg)
    translate3d(-0.5px, -1px, 0);
}

[js-animation="perspective-animation-mouseover"] .isAnimated-100 {
  transform: rotateX(-1deg) rotateZ(0.5deg) rotateY(0deg) translate3d(0, 0, 0);
}

[js-animation="perspective-animation-mouseover"] .isAnimated-hover {
  transform: rotateX(0deg) rotateZ(0deg) rotateY(0deg) translate3d(0, 0, 0);
  transition: transform 1s ease-in-out;
}

.css-animation-zoominout--scale120-duration15 {
  animation: css-animation-zoominout--scale120-duration15 15s ease-in-out 30;
}
@keyframes css-animation-zoominout--scale120-duration15 {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.15, 1.15);
  }
  100% {
    transform: scale(1, 1);
  }
}

/* JS Animation Via Attributes Styles END */
