/*--------------------
Theme Name: ThinkBIT Solutions (Child Theme)
Theme URI: http://underscores.me/thinkbit-child/
Description: ThinkBIT Child Theme
Author: ThinkBIT Solutions Phils. Inc.
Author URI: http://thinkbitsolutions.com
Template: thinkbit
Version:1.0.0
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

ThinkBIT Solutions is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
--------------------*/
/* WARNING!! This project uses SASS, DO NOT EDIT the CSS file */
/* WARNING!! This project uses SASS, DO NOT EDIT the CSS file */
/* WARNING!! This project uses SASS, DO NOT EDIT the CSS file */
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;600;700&display=swap");
*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, object, iframe, figure, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, em, img, small, strike, strong, sub, sup, tt, b, u, i, ol, ul, li, fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td, main, canvas, embed, footer, header, nav, section, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
}

a {
  text-decoration: none !important;
}

footer, header, nav, section, main {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  cursor: pointer;
}

.btn {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

/* heading */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Outfit", sans-serif !important !important;
}

small,
.small {
  font-size: 14px !important;
  line-height: 20px;
  font-weight: 300;
  letter-spacing: 0.25px;
}

body {
  font-family: "Outfit", sans-serif !important;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  line-height: 1.2;
  overflow: auto;
}
body.fixed {
  overflow: hidden;
  height: 100vh;
}

main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

::-moz-selection {
  color: white;
  background: #29abe2;
}

::selection {
  color: white;
  background: #29abe2;
}

.site-content {
  overflow: hidden;
  min-height: calc(100vh - 95px - 230px);
}

.z-0 {
  z-index: 0 !important;
}

@media (max-width: 780.9px) {
  .mobile-col-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
}

.back-to-top a {
  font-size: 24px;
  background-color: #333;
  color: #fff;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  display: block;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.back-to-top a:hover {
  background-color: #555;
}

.btn .stk-button {
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.btn .stk-button:hover {
  border: 0;
  background: radial-gradient(ellipse 106.12% 1170.54% at 108.08% 0%, #f3fbff 0%, #2a97d8 19.53%, #000000 100%) !important;
}

.btn-glass .stk-button {
  -webkit-box-shadow: none;
          box-shadow: none;
  font-weight: 400;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  background: rgba(41, 171, 226, 0.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.btn-glass .stk-button:hover {
  border: 1px solid black;
  background: radial-gradient(ellipse 106.12% 1170.54% at 108.08% 0%, #f3fbff 0%, #2a97d8 19.53%, #000000 100%) !important;
}

.btn-icon .stk-button,
.btn-text .stk-button {
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-weight: 400;
}

#cookie-notice {
  width: calc(100% - 32px - 32px);
  margin-inline: 32px;
  min-width: 0;
  border-radius: 20px;
  margin-bottom: 40px;
}
@media (min-width: 1024px) {
  #cookie-notice {
    width: calc(100% - 96px - 96px);
    margin-inline: 96px;
  }
}
#cookie-notice .cookie-notice-container {
  padding: 30px 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  row-gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 768px) {
  #cookie-notice .cookie-notice-container {
    padding: 15px 20px;
  }
}
#cookie-notice .cookie-notice-container .cn-text-container {
  margin: 0;
  font-size: 20px;
  line-height: normal;
  font-family: "Outfit", sans-serif !important;
}
@media (min-width: 1600px) {
  #cookie-notice .cookie-notice-container .cn-text-container {
    font-size: 24px;
  }
}
@media (max-width: 768px) {
  #cookie-notice .cookie-notice-container .cn-text-container {
    font-size: 14px;
  }
}
#cookie-notice .cookie-notice-container .cn-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 20px;
}
#cookie-notice .cookie-notice-container .cn-buttons-container button {
  height: 45px;
  margin-left: 0;
  width: 100%;
  font-size: 14px;
  line-height: normal;
  color: #ffffff;
  font-family: "Outfit", sans-serif !important;
}
@media (min-width: 1600px) {
  #cookie-notice .cookie-notice-container .cn-buttons-container button {
    font-size: 18px;
  }
}
#cookie-notice .cookie-notice-container .cn-buttons-container button:hover {
  background: radial-gradient(ellipse 106.12% 1170.54% at 108.08% 0%, #f3fbff 0%, #2a97d8 19.53%, #000000 100%) !important;
}
#cookie-notice .cookie-notice-container #cn-close-notice {
  display: none;
}

body .site-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99999;
}

body.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 768px) {
  body.admin-bar .site-header {
    top: 0;
  }
}

.mobile-nav {
  height: 56px;
  -webkit-transition: height 0.3s ease-in-out !important;
  transition: height 0.3s ease-in-out !important;
  overflow: hidden;
}

.nav-menu-content {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out !important;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out !important;
}

.mobile-nav.is-open {
  height: calc(100vh - 40px) !important;
}

.mobile-nav.is-open .nav-menu-content {
  opacity: 1;
  visibility: visible;
}

/* ====================== SOLUTIONS SECTION ====================== */
/* =========================================
   1. DESKTOP ONLY: Grid Layout
   ========================================= */
@media (min-width: 1023px) {
  /* Solutions Grid (3 columns) */
  .solutions-mixed-grid > .stk-column-wrapper > .stk-inner-blocks {
    display: -ms-grid !important;
    display: grid !important;
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  /* MELT: Strip the WordPress Query Loop wrappers so dynamic cards join the grid */
  .solutions-mixed-grid .wp-block-query,
  .solutions-mixed-grid .wp-block-post-template,
  .solutions-mixed-grid .wp-block-post {
    display: contents !important;
  }
  .solutions-mixed-grid > .stk-column-wrapper > .stk-inner-blocks > .wp-block-stackable-columns {
    width: 100% !important;
    margin: 0 !important;
  }
}
/* =========================================
   2. GLOBAL: Dynamic Custom Cards
   ========================================= */
/* Solutions Specific Styling */
.solution-custom-card {
  aspect-ratio: 560/542;
  border-radius: 20px;
  -webkit-box-shadow: 0px 4px 100px 0px rgba(41, 171, 226, 0.2);
          box-shadow: 0px 4px 100px 0px rgba(41, 171, 226, 0.2);
  padding: 40px 30px;
}
@media (max-width: 1023px) {
  .solution-custom-card {
    aspect-ratio: 326/317;
  }
}
.solution-custom-card {
  /* Solutions-specific Gradient Overlay */
}
.solution-custom-card .stk-block-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(305.73% 128.49% at 50% -28.49%, rgba(42, 151, 216, 0.5) 30%, rgba(0, 0, 0, 0) 100%), -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(#000000)) !important;
  background-image: radial-gradient(305.73% 128.49% at 50% -28.49%, rgba(42, 151, 216, 0.5) 30%, rgba(0, 0, 0, 0) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, #000000 100%) !important;
  background-color: transparent !important;
  opacity: 1 !important;
  z-index: 1;
  -webkit-transition: background-color 0.4s ease, background-image 0.4s ease;
  transition: background-color 0.4s ease, background-image 0.4s ease;
}

/* SHARED Base Resets & Transitions for BOTH */
.solution-custom-card {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  position: relative;
}
.solution-custom-card > .stk-container,
.solution-custom-card .stk-block-card__content {
  height: 100% !important;
}
.solution-custom-card {
  /* Image resets */
}
.solution-custom-card .stk-block-card__image img {
  opacity: 1 !important;
  -webkit-filter: none !important;
          filter: none !important;
}
.solution-custom-card {
  /* Smooth text transitions */
}
.solution-custom-card .stk-block-heading__text,
.solution-custom-card .stk-block-text__text {
  -webkit-transition: font-size 0.4s ease;
  transition: font-size 0.4s ease;
}

/* =========================================
   3. TABLET/MOBILE ONLY: Swiper Styles
   ========================================= */
@media (max-width: 1023px) {
  /* 1. Prevent Swiper from infinitely expanding its parent container */
  .solutions-mixed-grid > .stk-column-wrapper > .stk-inner-blocks,
  .partners-grid > .stk-column-wrapper > .stk-inner-blocks {
    min-width: 0;
  }
  /* 2. Constrain the main Swiper container */
  .solutions-mixed-grid .wp-block-query.swiper,
  .partners-grid .wp-block-query.swiper {
    width: 100%;
    overflow: hidden !important;
    min-width: 0;
    padding-top: 50px !important;
  }
  /* 3. Aggressively override WordPress native Grid/Flex classes */
  .solutions-mixed-grid .swiper-wrapper,
  .partners-grid .swiper-wrapper {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    -ms-grid-columns: none !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; /* Ensures scaled-down cards stay vertically centered */
  }
  /* 4. Reset the slide sizes */
  .solutions-mixed-grid .swiper-slide,
  .partners-grid .swiper-slide {
    max-width: none !important;
    height: auto !important;
  }
  /* =========================================
        SWIPER: NON-ACTIVE SLIDE STYLES
        ========================================= */
  /* Scale down non-active cards (Both) */
  .swiper-slide:not(.swiper-slide-active) .solution-custom-card,
  .swiper-slide:not(.swiper-slide-active) .partners-custom-card {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
  }
  /* Change overlay to solid 70% black on non-active cards (Both) */
  .swiper-slide:not(.swiper-slide-active) .solution-custom-card .stk-block-card__image::after {
    background-image: none !important;
    background-color: rgba(0, 0, 0, 0.6980392157) !important;
  }
  /* Make text smaller on non-active cards (Both) */
  .swiper-slide:not(.swiper-slide-active) .solution-custom-card .stk-block-heading__text,
  .swiper-slide:not(.swiper-slide-active) .partners-custom-card .stk-block-heading__text {
    font-size: 20px !important;
  }
  .swiper-slide:not(.swiper-slide-active) .solution-custom-card .stk-block-text__text,
  .swiper-slide:not(.swiper-slide-active) .partners-custom-card .stk-block-text__text {
    font-size: 14px !important;
  }
  /* =========================================
        CUSTOM NAVIGATION STYLES
        ========================================= */
  /* Shared control styles for both slider wrappers */
  .solutions-slider-controls,
  .ulap-slider-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px;
    margin-top: 30px;
    position: relative;
  }
  .solutions-slider-controls .swiper-button-prev,
  .solutions-slider-controls .swiper-button-next,
  .ulap-slider-controls .swiper-button-prev,
  .ulap-slider-controls .swiper-button-next {
    position: static !important;
    width: 64px !important;
    height: 46.5px !important;
    border: 1px solid #ffffff;
    border-radius: 100px;
    color: #ffffff;
    margin: 0 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  /* Disable default Swiper arrow fonts */
  .solutions-slider-controls .swiper-button-prev::after,
  .solutions-slider-controls .swiper-button-next::after,
  .ulap-slider-controls .swiper-button-prev::after,
  .ulap-slider-controls .swiper-button-next::after {
    content: none !important;
    display: none !important;
  }
  /* Style the new custom SVG arrows */
  .solutions-slider-controls .swiper-button-prev svg,
  .solutions-slider-controls .swiper-button-next svg,
  .ulap-slider-controls .swiper-button-prev svg,
  .ulap-slider-controls .swiper-button-next svg {
    width: 22px;
    height: auto;
    color: #ffffff;
  }
  .solutions-slider-controls .swiper-pagination,
  .ulap-slider-controls .swiper-pagination {
    position: static !important;
    width: auto !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
  }
  .solutions-slider-controls .swiper-pagination-bullet,
  .ulap-slider-controls .swiper-pagination-bullet {
    background: #ffffff !important;
    opacity: 1 !important;
    width: 10px;
    height: 10px;
    margin: 0 !important;
  }
  .solutions-slider-controls .swiper-pagination-bullet-active,
  .ulap-slider-controls .swiper-pagination-bullet-active {
    background: #29abe2 !important;
  }
}
/* ====================== END SOLUTIONS SECTION ====================== */
/* ====================== PARTNERS LOGO MARQUEE ====================== */
.wp-block-gallery.auto-scroll {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
  overflow: hidden !important;
  width: 100%;
  position: relative;
}

.wp-block-gallery.auto-scroll .wp-block-image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: 0 25px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto !important;
}

.wp-block-gallery.auto-scroll .wp-block-image img {
  width: auto;
  max-width: none;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.auto-scroll-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  -webkit-animation: scroll 30s linear infinite;
          animation: scroll 30s linear infinite;
}

.wp-block-gallery.auto-scroll:hover .auto-scroll-inner {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

/* =========================================
   MAP PINS: DESKTOP ONLY
   ========================================= */
@media (min-width: 1023px) {
  .america-pin,
  .europe-pin,
  .africa-pin,
  .middle-east-pin,
  .asia-pacific-pin,
  .oceania-pin {
    position: relative;
    cursor: pointer;
    z-index: unset;
  }
  .america-pin .stk--svg-wrapper,
  .europe-pin .stk--svg-wrapper,
  .africa-pin .stk--svg-wrapper,
  .middle-east-pin .stk--svg-wrapper,
  .asia-pacific-pin .stk--svg-wrapper,
  .oceania-pin .stk--svg-wrapper {
    z-index: 2;
  }
  /* Base hidden state, positioned relative to the pin itself */
  .america-pin-tooltip,
  .europe-pin-tooltip,
  .asia-pacific-pin-tooltip,
  .oceania-pin-tooltip {
    position: absolute;
    top: 0;
    right: 70%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    z-index: 5;
  }
  .africa-pin-tooltip,
  .middle-east-pin-tooltip {
    position: absolute;
    top: 0;
    left: 110%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
    z-index: 5;
  }
  /* Show tooltip on hover of the pin */
  .america-pin:hover .america-pin-tooltip,
  .europe-pin:hover .europe-pin-tooltip,
  .africa-pin:hover .africa-pin-tooltip,
  .middle-east-pin:hover .middle-east-pin-tooltip,
  .asia-pacific-pin:hover .asia-pacific-pin-tooltip,
  .oceania-pin:hover .oceania-pin-tooltip,
  .america-pin-tooltip:hover,
  .europe-pin-tooltip:hover,
  .africa-pin-tooltip:hover,
  .middle-east-pin-tooltip:hover,
  .asia-pacific-pin-tooltip:hover,
  .oceania-pin-tooltip:hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  /* Change Pin SVG fill color on hover */
  .america-pin:hover svg.ugb-custom-icon > g:first-of-type > path,
  .europe-pin:hover svg.ugb-custom-icon > g:first-of-type > path,
  .africa-pin:hover svg.ugb-custom-icon > g:first-of-type > path,
  .middle-east-pin:hover svg.ugb-custom-icon > g:first-of-type > path,
  .asia-pacific-pin:hover svg.ugb-custom-icon > g:first-of-type > path,
  .oceania-pin:hover svg.ugb-custom-icon > g:first-of-type > path {
    fill: #283bf2;
  }
}
@media (max-width: 1023px) {
  /* =========================================
        TOOLTIP SWIPER (MOBILE/TABLET)
        ========================================= */
  /* Target the dynamically created swiper div, NOT the map container */
  .tooltips-swiper {
    width: 100%;
    overflow: hidden !important;
    margin-bottom: 47.5px !important;
  }
  .tooltips-swiper .swiper-wrapper {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important;
  }
  .tooltips-swiper .swiper-wrapper .swiper-slide {
    height: 300px !important;
  }
  .tooltips-swiper .swiper-wrapper .swiper-slide .stk-block-columns,
  .tooltips-swiper .swiper-wrapper .swiper-slide .stk-block-columns .stk-inner-blocks,
  .tooltips-swiper .swiper-wrapper .swiper-slide .stk-block-columns .stk-inner-blocks .stk-block-content {
    height: 100%;
  }
  /* Force nested Stackable wrappers to stretch to equal height */
  .map-tooltips-container [class*=-pin-tooltip] > .stk-row,
  .map-tooltips-container [class*=-pin-tooltip] > .stk-row > .stk-column,
  .map-tooltips-container [class*=-pin-tooltip] > .stk-row > .stk-column > .stk-column-wrapper,
  .map-tooltips-container [class*=-pin-tooltip] > .stk-row > .stk-column > .stk-column-wrapper > .stk-block-content {
    height: 100% !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
}
.wp-block-stackable-icon[class*=dot-] {
  cursor: pointer;
  z-index: 2;
}
.wp-block-stackable-icon[class*=dot-] .ugb-custom-icon circle {
  stroke: #ffffff;
}
.wp-block-stackable-icon[class*=dot-] .ugb-custom-icon circle:last-of-type {
  fill: #ffffff;
}
.wp-block-stackable-icon[class*=dot-].active .ugb-custom-icon circle {
  stroke: #29abe2;
}
.wp-block-stackable-icon[class*=dot-].active .ugb-custom-icon circle:last-of-type {
  fill: #29abe2;
}

.stk-block-progress-bar .stk-progress-bar__bar {
  width: calc(var(--progress-percent, 0%) + 25px) !important;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

[class*=tooltip-] {
  position: absolute;
  top: 100% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  -webkit-transform: translate(-50%, 20px) !important;
          transform: translate(-50%, 20px) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
  transition: opacity 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s, -webkit-transform 0.18s ease;
  z-index: 100;
  width: 345px;
  max-width: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

[class*=tooltip-].tooltip--active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transform: translate(-50%, 20px) !important;
          transform: translate(-50%, 20px) !important;
}

@media (max-width: 1023px) {
  .stk-block-progress-bar {
    position: absolute !important;
    top: 0;
    left: 50%;
    width: 3px !important;
    height: 100%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1;
  }
  .stk-block-progress-bar__container,
  .stk-block-progress-bar .stk-progress-bar {
    width: 100% !important;
    height: 100% !important;
  }
  .stk-block-progress-bar .stk-progress-bar__bar {
    width: 100% !important;
    height: 0;
    -webkit-transition: height 0.3s ease;
    transition: height 0.3s ease;
  }
  .wp-block-stackable-icon[class*=dot-] {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    -webkit-transform: none !important;
            transform: none !important;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .wp-block-stackable-icon[class*=dot-] svg.ugb-custom-icon {
    margin: 0 auto;
  }
  [class*=tooltip-] {
    position: relative !important;
    display: none !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: none !important;
            transform: none !important;
    max-width: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transform: translate(-50%, 10px) !important;
            transform: translate(-50%, 10px) !important;
  }
  [class*=tooltip-].tooltip--active {
    display: block !important;
  }
}
/* =========================================
       GLOBAL REACH SWIPER (MOBILE/TABLET)
       ========================================= */
.global-reach-grid.swiper {
  width: 100%;
  overflow: hidden !important;
  min-width: 0;
}

/* 1. HIGH SPECIFICITY TO KILL STACKABLE'S CSS GRID */
.global-reach-grid.swiper > .stk-row.swiper-wrapper {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important; /* Make cards equal height */
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
  /* The Magic Bullet: Kill the native WordPress/Stackable Grid */
  -ms-grid-columns: none !important;
  grid-template-columns: none !important;
  grid-auto-columns: auto !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* 2. Target the columns acting as slides */
.global-reach-grid.swiper .swiper-slide {
  height: auto !important;
  max-width: none !important;
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important;
  /* Force the browser to respect Swiper's calculated widths */
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important;
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important;
  /* Scale the entire card (including background) smoothly */
  -webkit-transition: -webkit-transform 0.4s ease !important;
  transition: -webkit-transform 0.4s ease !important;
  transition: transform 0.4s ease !important;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease !important;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 5. Force the inner wrapper to stretch and fill the height */
.global-reach-grid.swiper .swiper-slide > .stk-column-wrapper {
  height: 100% !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

/* =========================================
       LEADERS SWIPER (MOBILE/TABLET)
       ========================================= */
.leaders-grid.swiper {
  width: 100%;
  overflow: hidden !important;
  min-width: 0;
}

/* 1. Kill Stackable's Grid & Align Wrapper */
.leaders-grid.swiper > .stk-row.swiper-wrapper {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
  /* Kill Stackable Grid and Gaps */
  -ms-grid-columns: none !important;
  grid-template-columns: none !important;
  grid-auto-columns: auto !important;
  gap: 0 !important;
  -webkit-column-gap: 0 !important;
     -moz-column-gap: 0 !important;
          column-gap: 0 !important;
  row-gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* 2. Target the columns acting as slides */
.leaders-grid.swiper .swiper-slide {
  height: auto !important;
  max-width: none !important;
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important;
  /* Prevent browser from squishing the cards */
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important;
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important;
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important;
  /* Kill Stackable's native left-margins, keep right margin for Swiper */
  margin-left: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  /* Scale the entire card smoothly */
  -webkit-transition: -webkit-transform 0.4s ease !important;
  transition: -webkit-transform 0.4s ease !important;
  transition: transform 0.4s ease !important;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease !important;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

/* 5. Force the inner wrapper to stretch and fill the height */
.leaders-grid.swiper .swiper-slide > .stk-column-wrapper {
  height: 100% !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
}

.error-404 {
  min-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* WARNING!! This project uses SASS, DO NOT EDIT the CSS file */
/* WARNING!! This project uses SASS, DO NOT EDIT the CSS file */
/* WARNING!! This project uses SASS, DO NOT EDIT the CSS file */
/*# sourceMappingURL=style.css.map */