/**
 * Theme Name: bcforward-v2
 * Description: Child theme of Astra
 * Author: BCforward
 * Template: astra
 * Version: 1.0.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: bcforward-v2
 */

/* ==========================================================================
   Global Design Tokens — BCforward v2
   Extracted from Framer site (unique-tours-360260.framer.app)
   ========================================================================== */

:root {

  /* ---------- Colour Palette ---------- */

  --color-title-light: #182740;
  --color-title-dark: #ffffff;
  --color-text-light: #333333;
  --color-text-dark: rgba(255,255,255,0.8);
  --color-text-dark-secondary: rgba(255,255,255,0.9);

  /* Core backgrounds */
  --color-bg-primary:        #01061D;   /* deep navy hero/panel backgrounds */
  --color-bg-dark:           #29384B;   /* section backgrounds (stats, "how we deliver") */
  --color-bg-card-dark:      #182740;   /* sticky/overlay dark cards */
  --color-bg-mid:            #2C517A;   /* midnight blue panels & primary section headings */

  /* Light section backgrounds */
  --color-bg-light:          #D1DDEB;   /* soft blue-grey cards & alternating sections */
  --color-bg-light-alt:      #BACBDF;   /* alternate card backgrounds */
  --color-bg-grey:           #E5E9ED;   /* info tiles & forms */

  /* Text */
  --color-text-white:        #FFFFFF;   /* primary text on dark backgrounds */
  --color-text-dark:         #333333;   /* small headings & labels on light backgrounds */
  --color-text-muted:        #556C86;   /* icon strokes & muted headings */
  --color-text-heading-dark:         #182740;   /* Large headings & labels on light backgrounds */
  --color-text-blue:       #204d80;   /* blue text */
  --color-text-secondary: #838d9e;    /* secondary grey text */

  /* Accent / interactive */
  --color-accent:            #1789A3;   /* primary call-out teal ("outcomes" highlight) */
  --color-link:              #0099FF;   /* hyperlinks & CTA text */

  /* Translucent overlays */
  --color-overlay-white-sm:  rgba(255, 255, 255, 0.10);  /* frosted glass — subtle */
  --color-overlay-white-md:  rgba(255, 255, 255, 0.12);  /* frosted glass — standard */
  --color-overlay-white-lg:  rgba(255, 255, 255, 0.12);  /* frosted glass — emphasis */

  /* Borders */
  --color-border-light:      rgba(255, 255, 255, 0.10);  /* card & section separators */
  --color-border-white:      #FFFFFF;                    /* full-white borders */

  /* ---------- Gradient Stops ---------- */

  --gradient-teal-fade:      linear-gradient(180deg, #1A89A3 0%, rgba(0, 0, 0, 0) 100%);
  --gradient-blue-fade:      linear-gradient(180deg, #147DA9 0%, rgba(0, 0, 0, 0) 100%);
  --gradient-navy-fade:      linear-gradient(180deg, #0C5A9A 0%, rgba(0, 0, 0, 0) 100%);
  --gradient-slate-fade:     linear-gradient(180deg, #395F75 0%, rgba(0, 0, 0, 0) 100%);

  /* ---------- Typography ---------- */

  --font-serif:              'Playfair Display', Georgia, serif;
  --font-sans:               'Inter', system-ui, sans-serif;
  --font-primary:            'Montserrat', 'Helvetica Neue', Arial, sans-serif;

  /* Font sizes */
  --font-size-hero-accent:   68px;   /* Playfair italic accent word */
  --font-size-hero-title:    58px;   /* Inter Light main hero heading */
  --font-size-heading-h2:    36px;   /* Montserrat section headings h2 */
  --font-size-heading-h3:    22px;   /* Montserrat section headings h3 */
  --font-size-label:         14px;   /* Montserrat uppercase labels */
  --font-size-nav:           15px;   /* Montserrat navigation items */
  --font-size-body:          16px;   /* Montserrat body copy */
  --font-size-body-lg:       22px;   /* Montserrat larger body / intro */
  --font-size-body-sm:       14px;   /* Montserrat captions */

  /* Font weights */
  --font-weight-light:       300;
  --font-weight-regular:     400;
  --font-weight-medium:      500;
  --font-weight-semibold:    600;
  --font-weight-bold:        700;

  /* Letter spacing */
  --letter-spacing-accent:   -0.04em;   /* Playfair italic */
  --letter-spacing-heading:   0.01em;   /* Inter headings */
  --letter-spacing-label:     0.08em;   /* Montserrat uppercase labels */

  /* Line height */
  --line-height-body:        1.3;
  --line-height-heading:     1.1;

  /* ---------- Layout & Spacing ---------- */

  --max-width-content:       1230px;
  --viewport-design:         1440px;

  /* Section padding */
  --section-padding-large:   105px;
  --section-padding-medium:  80px;

  /* Gap scale */
  --gap-xs:    10px;
  --gap-sm:    20px;
  --gap-md:    30px;
  --gap-lg:    60px;

  /* ---------- Components ---------- */

  --border-radius-card:      20px;
  --border-radius-button:    100px;   /* pill shape */

  --button-height:           40px;

  /* Glass card */
  --glass-bg:                rgba(255, 255, 255, 0.12);
  --glass-blur:              blur(10px);

  /* Box shadow */
  --shadow-card:             0 4px 24px rgba(0, 0, 0, 0.25);

  --transition-timing-function: ease;
  --transition-duration: 0.3s;
}


html { scroll-behavior: smooth !important; }

/* ---------- Header Styles ---------- */

.ast-mobile-header-wrap {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button-link {
  display: inline-flex;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 14px;
  padding-bottom: 14px;
  line-height: 1.3em;
  white-space: nowrap;
  border-radius: var(--border-radius-button);
  background: #fff;
  
}
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button {
  padding: 0;
  background: none;
  border-radius: 0;
  margin-top: -3px;
}

.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button {
  display: inline-flex;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  overflow: hidden;
  height: 20px;
}

.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button .ast-custom-button-text {
  transition: transform var(--transition-duration) var(--transition-timing-function);
}
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button .ast-custom-button-text-hover {
  display: inline-block;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateY(100%);
}
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button-link:hover .ast-custom-button-text {
  transform: translateY(-100%);
}
.ast-header-button-1[data-section*="section-hb-button-"] .ast-builder-button-wrap .ast-custom-button-link:hover .ast-custom-button-text-hover {
  transform: translateY(-100%);
}
.ast-site-identity {
  padding: 0;
}

.site-header .ast-custom-button-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.site-header .ast-custom-button-link .ast-custom-button-link-icon-wrapper {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  width: 18px;
  height: 18px;
  overflow: hidden;
}

.site-header .ast-custom-button-link .ast-custom-button-link-icon-wrapper .ast-custom-button-link-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(/wp-content/uploads/2026/03/arrow-dark.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  transition: all var(--transition-duration) var(--transition-timing-function);
  transform: translateX(100%);
}

.site-header .ast-custom-button-link .ast-custom-button-link-icon-wrapper .ast-custom-button-link-icon-hover {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(/wp-content/uploads/2026/03/arrow-dark.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  transition: all var(--transition-duration) var(--transition-timing-function);
  transform: translateX(-100%);
}
.site-header .ast-custom-button-link:hover .ast-custom-button-link-icon-wrapper .ast-custom-button-link-icon-hover {
  transform: translateX(0);
}
.site-header .ast-custom-button-link:hover .ast-custom-button-link-icon-wrapper .ast-custom-button-link-icon {
  transform: translateX(200%);
}
.ast-theme-transparent-header #masthead {
  position: fixed;
  transition: all 0.3s ease;
  top: 0;
  z-index: 999;
}

.scrolled.ast-theme-transparent-header:not(.ast-main-header-nav-open) #masthead {
  top: -82px;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(10px);
}
.scrolled.scrolling-up.ast-theme-transparent-header #masthead {
  top: 0;
}


@media(min-width: 922px){
  .site-header .main-navigation > ul > li > a.menu-link {
    display: inline-flex;
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    overflow: hidden;
    height: 20px;
    line-height: 20px;
  }

  .site-header .main-navigation > ul > li {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .site-header .main-navigation > ul > li .ast-menu-toggle {
    padding: 0;
    display: block;
    background: none !important;
  }
  .site-header .main-navigation > ul > li .ast-menu-toggle svg {
    margin-left: 0;
  }

  .site-header .main-navigation > ul > li .ast-menu-toggle svg path {
    fill: #fff;
  }

  .site-header .main-navigation > ul > li > a.menu-link {
    padding: 0;
  }

  .site-header .main-navigation > ul > li > a.menu-link .menu-link-text {
    transition: transform var(--transition-duration) var(--transition-timing-function);
  }
  .site-header .main-navigation > ul > li > a.menu-link .menu-link-text-hover {
    display: inline-block;
    transition: transform var(--transition-duration) var(--transition-timing-function);
    transform: translateY(100%);
  }
  .site-header .main-navigation > ul > li > a.menu-link:hover .menu-link-text {
    transform: translateY(-100%);
  }
  .site-header .main-navigation > ul > li > a.menu-link:hover .menu-link-text-hover {
    transform: translateY(-100%);
  }

  .site-header li .sub-menu {
    padding-top: 43px;
    background: transparent !important;
    border: none !important;
    min-width: 310px !important;
    
  }

  .site-header .main-navigation > ul > li .sub-menu {
    transform: translateY(20px) !important;
    opacity: 0 !important;
    transition: transform var(--transition-duration) var(--transition-timing-function), opacity var(--transition-duration) var(--transition-timing-function) !important;
  }

  .site-header .main-navigation > ul > li:hover .sub-menu {
    transform: translateY(0) !important;
    opacity: 1 !important;
  }

  .site-header li .sub-menu:before {
    content: ' ' !important;
    display: block;
    position: absolute !important;
    top: 43px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background-color: rgba(10, 14, 15, 1);
    border-color: rgba(41, 41, 41, 1);
    border-width: 1px;
    border-style: solid;
    border-radius: 15px;
    box-shadow: rgba(0, 0, 0, 0.25) 4px 4px 10px 0px !important;
    z-index: 2;
    height: auto !important;
    transform: translateY(0) !important;
  }

  .site-header li .sub-menu:after {
    content: ' ';
    display: block;
    position: absolute;
    top: 33px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    border: 1px solid rgba(26, 26, 26, 1);
    background: rgba(1, 6, 29, 1);
    border-radius: 20px;
    z-index: 1;
  }
  .site-header li .sub-menu li {
    padding-left: 10px;
    padding-right: 10px;
    position: relative;
    z-index: 3;
  }

  .site-header li .sub-menu li:first-child {
    padding-top: 10px;
  }
  .site-header li .sub-menu li:last-child {
    padding-bottom: 10px;
  }

  .site-header li .sub-menu li a {
    padding: 10px !important;
    border-radius: 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .site-header li .sub-menu li a:hover {
    background-color: rgba(26, 26, 26, 1) !important;
  }

  

  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before,
  .site-header li .sub-menu li.with-icon a:before
   {
    content: '';
    width: 43px;
    height: 43px;
    background-color: #000;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: 24px 24px;
    background-position: center center;
    background-repeat: no-repeat;
  }

  .site-header li .sub-menu li.icon-users a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-users.svg);
  }
  .site-header li .sub-menu li.icon-bot a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-bot.svg);
  }
  .site-header li .sub-menu li.icon-book a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-book.svg);
  }
  .site-header li .sub-menu li.icon-globe a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-globe.svg);
  }
  .site-header li .sub-menu li.icon-suitcase a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-suitecase.svg);
  }
  .site-header li .sub-menu li.icon-app a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-terminal.svg);
  }
  .site-header li .sub-menu li.icon-atom a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-atom.svg);
  }
  .site-header li .sub-menu li.icon-window a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-cursor.svg);
  }
  .site-header li .sub-menu li.icon-health a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-heart-plus.svg);
  }

  .site-header li .sub-menu li.icon-book-text a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-book-text.svg);
  }
  .site-header li .sub-menu li.icon-copy a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-copy.svg);
  }
  .site-header li .sub-menu li.icon-newspaper a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-newspaper.svg);
  }
  .site-header li .sub-menu li.icon-notebook a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-notebook.svg);
  }
  .site-header li .sub-menu li.icon-book-open a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-book-open.svg);
  }
  .site-header li .sub-menu li.icon-user-star a:before {
    background-image: url(/wp-content/uploads/2026/04/menu-user-star.svg);
  }
}

@media(max-width: 921px){
  .ast-button-wrap .menu-toggle.main-header-menu-toggle {
    padding: 0 !important;
  }
   .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar {
    padding-left: 40px !important;
    padding-right: 40px !important;
   }
   [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    fill: #fff !important;
    width: 25px;
    height: 25px;
   }
  .site-header .ast-header-button-1 .ast-custom-button-link {
    display: none !important;
  }

  .site-header .main-navigation > ul > li > a.menu-link .menu-link-text-hover {
    display: none !important;
  }
  .ast-mobile-header-wrap .ast-mobile-header-content {
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .ast-header-break-point .main-navigation ul .menu-item .menu-link .icon-arrow {
    display: none !important;
  }

  .ast-main-header-nav-open.ast-hfb-header .ast-mobile-header-wrap .ast-mobile-header-content {
    height: auto !important;
    min-height: 100vh !important;
  }

  #ast-mobile-header .content-align-flex-start {
    background-color: #000000 !important;
    color: #fff !important;
    max-height: none !important;
    padding-top: 80px;
    transform: translateY(-80px) !important;
  }
  .ast-header-break-point .main-header-menu {
    background: transparent !important;
    border: none !important;
  }
  .site-header .main-navigation > ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-top: 60px;
    margin-bottom: 60px; 
  }
  .site-header .main-navigation li {
    text-align: center !important;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }
  .site-header .main-navigation > ul > li.menu-item-has-children > a {
    text-decoration: underline;
  }
  .site-header .main-navigation > ul .sub-menu {
    width: 100% !important;
    padding-top: 30px !important;
    line-height: 1.4 !important;
  }
  .site-header .main-navigation > ul .sub-menu li {
    margin-bottom: 30px !important;
  }
  
  .site-header .main-navigation a.menu-link {
    color: #fff !important;
    width: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    font-size: 18px !important;
  }
  .ast-header-break-point .main-header-bar-navigation .menu-item-has-children>.ast-menu-toggle {
    position: relative;
  }
  .ast-header-break-point .main-header-bar-navigation {
    line-height: 1.4 !important;
  }
  .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
    top: initial !important;
    right: initial !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    
  }
  .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle svg {
    margin-top: 5px;
  }
  .ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle svg path {
    fill: #fff !important;
  }
  .ast-header-break-point .main-header-menu .sub-menu {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.2);
  }
}


/* END Header Styles */

/* Common form styles */

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="file"],
.gform_wrapper select,
.gform_wrapper textarea {
  height: 50px !important;
  padding: 0 !important;
  line-height: 1.2em !important;
  background-color: transparent !important;
  margin: 0 0 10px !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.3) !important;
  color: var(--color-text-white) !important;
  border-radius: 0 !important;
  font-size: var(--font-size-body) !important;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
}
.light .gform_wrapper input[type="text"],
.light .gform_wrapper input[type="email"],
.light .gform_wrapper input[type="tel"],
.light .gform_wrapper input[type="file"],
.light .gform_wrapper select,
.light .gform_wrapper textarea {
  border-bottom: 1px solid #0000001a !important;
  color: #182740 !important;
}

.gform_wrapper input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  background-color: #fffc !important;
  border-color: #88888833 !important;
  margin-top: 2px !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
}

.gform_wrapper input[type="checkbox"]:checked {
  background-color: #0099ff !important;
  
}
.gform_wrapper input[type="checkbox"]:checked:before {
  color: #fff !important;
}

.gform_wrapper select {
  appearance: none !important; /* Hides default arrow */
  background-image: url("data:image/svg+xml,%3Csvg%20display%3D%22block%22%20role%3D%22presentation%22%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%224024583230%22%3E%3Cpath%20d%3D%22M%200%200%20L%206%206%20L%2012%200%22%20fill%3D%22transparent%22%20height%3D%226px%22%20id%3D%22HLE2KBXxw%22%20stroke-dasharray%3D%22%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%20stroke%3D%22white%22%20transform%3D%22translate(6%209)%22%20width%3D%2212px%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  background-size: 1em !important;
  padding-right: 1.5em !important;
}


.gform_wrapper .gform-field-label {
  color: inherit !important;
}
.gform_wrapper .gform-field-label p {
  color: inherit !important;
  opacity: 0.6 !important;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="file"]:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  border-bottom: 1px solid rgba(255,255,255,1) !important;
  outline: none !important;
}

.light .gform_wrapper input[type="text"]:focus,
.light .gform_wrapper input[type="email"]:focus,
.light .gform_wrapper input[type="tel"]:focus,
.light .gform_wrapper input[type="file"]:focus,
.light .gform_wrapper select:focus,
.light .gform_wrapper textarea:focus {
  border-bottom: 1px solid #000000 !important;
}


.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder,
.gform_wrapper input[type="file"] {
  color: rgba(255,255,255,1) !important;
}

.light .gform_wrapper input::placeholder,
.light .gform_wrapper textarea::placeholder,
.light .gform_wrapper input[type="file"] {
  color: rgba(0,0,0,1) !important;
}

.gform_wrapper select.placeholder-active { 
  color: rgba(255,255,255,1) !important;
}
.gform_wrapper select { 
  color: #fff !important;
}

.gform_wrapper select option {
  background-color: white;
  color: black;
}

.light .gform_wrapper select.placeholder-active { 
  color: rgba(0,0,0,1) !important;
}
.light .gform_wrapper select { 
  color: #000000 !important;
}

.gform_wrapper input[type="file"]::file-selector-button {
  background-color: transparent !important;
  color: #fff !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  cursor: pointer;
  font-size: var(--font-size-body) !important;
}
.light .gform_wrapper input[type="file"]::file-selector-button {
  color: #000000 !important;
}
.gform_wrapper .gform_fileupload_rules {
  display: none !important;
}

.gform_wrapper .gform_fields {
  row-gap: 50px !important;
  column-gap: 30px !important;
}

.gform_wrapper .gform-field-label {
  color: #fff !important;
}

.gform_wrapper .gform_footer {
  margin-top: 50px !important;
}

.gform_wrapper .gform_footer .gform_button {
  background-color: #fff !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--border-radius-button) !important;
  padding: 14px 24px !important;
  margin: 0 !important;
  font-size: var(--font-size-body-sm) !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  line-height: 1.3em !important;
  text-transform: uppercase !important;
  column-gap: 12px !important;
}

.gform_wrapper .gform_footer .gform_button:hover {
  background-color: #fff !important;
  color: #000 !important;


}

.gform_wrapper .gform_footer .gform_button span.arrow-icon {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background-image: url(/wp-content/uploads/2026/03/arrow.svg) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.gform_wrapper .gform_footer .gform_button .gform_button-text-wrapper {
  display: inline-flex !important;
  position: relative !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow: hidden !important;
  height: 18px !important;
}
.gform_wrapper .gform_footer .gform_button .gform_button-text-wrapper .gform_button-text-wrapper-text {
  transition: transform var(--transition-duration) var(--transition-timing-function);
}
.gform_wrapper .gform_footer .gform_button .gform_button-text-wrapper .gform_button-text-wrapper-text-hover {
  display: inline-block;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateY(100%);
}
.gform_wrapper .gform_footer .gform_button:hover .gform_button-text-wrapper .gform_button-text-wrapper-text {
  transform: translateY(-100%);
}
.gform_wrapper .gform_footer .gform_button:hover .gform_button-text-wrapper .gform_button-text-wrapper-text-hover {
  transform: translateY(-100%);
}

.gform_wrapper .gform_footer .gform_button .gform_button-icon-wrapper {
  display: inline-flex;
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  overflow: hidden;
  height: 18px;
  width: 18px;
}
.gform_wrapper .gform_footer .gform_button .gform_button-icon-wrapper .gform_button-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateX(0%);
}
.gform_wrapper .gform_footer .gform_button .gform_button-icon-wrapper .gform_button-icon-hover {
  display: inline-block;
  width: 18px;
  height: 18px;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateX(0%);
}
.gform_wrapper .gform_footer .gform_button:hover .gform_button-icon-wrapper .gform_button-icon {
  transform: translateX(100%);
}
.gform_wrapper .gform_footer .gform_button:hover .gform_button-icon-wrapper .gform_button-icon-hover {
  transform: translateX(100%);
}

.gform_confirmation_message {
  color: #fff !important;
  padding-top: 30px !important;
}


/* END Common form styles */

/* ---------- Footer Styles ---------- */

.site-footer .footer-nav-wrap .astra-footer-horizontal-menu li:first-child a {
  padding-right: 15px;
  border-right: 1px solid rgba(255,255,255,0.6) !important;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}



.site-footer .footer-nav-wrap .astra-footer-horizontal-menu li:last-child a {
  padding-left: 15px;
}

.site-footer {
  background: linear-gradient(rgb(0, 41, 83) 0%, rgb(0, 6, 24) 100%);
}

.footer-form-text .tagline {
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  padding: 5px 0px 5px 10px;
  font-weight: 600;
  text-transform: uppercase;
  border-left: 2px solid var(--color-title-dark);
  color: var(--color-title-dark);
  margin: 0 0 20px;
}

.footer-form-text h2 {
   font-size: var(--font-size-heading-h2);
   margin: 0 0 50px;
   color: var(--color-title-dark) !important;
   font-weight: normal;
}

.footer-widget-area h2 {
  color: var(--color-title-dark) !important;
}

.site-footer ul.menu li {
  margin-bottom: 20px;
}

.site-footer .gform_widget input[type="text"],
.site-footer .gform_widget input[type="email"],
.site-footer .gform_widget input[type="tel"] {
  height: 50px;
  padding: 0;
  line-height: 1.2em;
  background: transparent;
  margin: 0 0 10px;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid rgba(255,255,255,0.3);
  color: var(--color-text-dark);
  border-radius: 0;
  font-size: var(--font-size-body);
  display: flex;
  align-items: center;
  text-align: left;
}

.site-footer .gform_widget input[type="text"]:focus,
.site-footer .gform_widget input[type="email"]:focus,
.site-footer .gform_widget input[type="tel"]:focus {
  border-bottom: 1px solid rgba(255,255,255,1);
  outline: none;
}

.site-footer .gform_widget input::placeholder {
  color: rgba(255,255,255,1);
}

.site-footer .gform_widget .gform_fields {
  row-gap: 50px;
  column-gap: 30px;
}

.site-footer .gform_widget .gform_footer {
  margin-top: 50px;
}

.site-footer .gform_widget .gform_footer .gform_button {
  background-color: #fff !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--border-radius-button) !important;
  padding: 14px 24px !important;
  margin: 0 !important;
  font-size: var(--font-size-body-sm) !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  line-height: 1.3em !important;
  text-transform: uppercase !important;
  column-gap: 12px !important;
}

.site-footer .gform_widget .gform_footer .gform_button:hover {
  background-color: #fff !important;
  color: #000 !important;
}

.site-footer .gform_widget .gform_footer .gform_button span.arrow-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(/wp-content/uploads/2026/03/arrow.svg) !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.site-footer .gform_widget .gform_footer .gform_button .gform_button-text-wrapper {
  display: inline-flex;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  overflow: hidden;
  height: 18px;
}
.site-footer .gform_widget .gform_footer .gform_button .gform_button-text-wrapper .gform_button-text-wrapper-text {
  transition: transform var(--transition-duration) var(--transition-timing-function);
}
.site-footer .gform_widget .gform_footer .gform_button .gform_button-text-wrapper .gform_button-text-wrapper-text-hover {
  display: inline-block;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateY(100%);
}
.site-footer .gform_widget .gform_footer .gform_button:hover .gform_button-text-wrapper .gform_button-text-wrapper-text {
  transform: translateY(-100%);
}
.site-footer .gform_widget .gform_footer .gform_button:hover .gform_button-text-wrapper .gform_button-text-wrapper-text-hover {
  transform: translateY(-100%);
}

.site-footer .gform_widget .gform_footer .gform_button .gform_button-icon-wrapper {
  display: inline-flex;
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  overflow: hidden;
  height: 18px;
  width: 18px;
}
.site-footer .gform_widget .gform_footer .gform_button .gform_button-icon-wrapper .gform_button-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateX(0%);
}
.site-footer .gform_widget .gform_footer .gform_button .gform_button-icon-wrapper .gform_button-icon-hover {
  display: inline-block;
  width: 18px;
  height: 18px;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateX(0%);
}
.site-footer .gform_widget .gform_footer .gform_button:hover .gform_button-icon-wrapper .gform_button-icon {
  transform: translateX(100%);
}
.site-footer .gform_widget .gform_footer .gform_button:hover .gform_button-icon-wrapper .gform_button-icon-hover {
  transform: translateX(100%);
}

.site-footer .ast-footer-social-1-wrap {
  margin-bottom: 30px;
}

.embeddedServiceHelpButton {
  display: none !important;
}
@media(max-width: 767px){
  .embeddedServiceHelpButton {
    display: none !important;
  }
}

.site-footer .widget_nav_menu .menu-link {
  display: inline-flex;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  overflow: hidden;
  height: 20px;
  font-size: 15px;
}
.site-footer .widget_nav_menu .menu-link .menu-link-text {
  transition: transform var(--transition-duration) var(--transition-timing-function);
}
.site-footer .widget_nav_menu .menu-link .menu-link-text-hover {
  display: inline-block;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateY(100%);
}
.site-footer .widget_nav_menu .menu-link:hover .menu-link-text {
  transform: translateY(-100%);
}
.site-footer .widget_nav_menu .menu-link:hover .menu-link-text-hover {
  transform: translateY(-100%);
}

@media (max-width: 921px) {
    [data-section="section-fb-social-icons-1"] .footer-social-inner-wrap {
        text-align: left;
    }

    .footer-widget-area[data-section="sidebar-widgets-footer-widget-2"].footer-widget-area-inner {
        text-align: left;
    }

    .footer-widget-area[data-section="sidebar-widgets-footer-widget-2"].footer-widget-area-inner {
        text-align: left;
    }

    .footer-widget-area[data-section="sidebar-widgets-footer-widget-3"].footer-widget-area-inner {
        text-align: left;
    }

    .footer-widget-area[data-section="sidebar-widgets-footer-widget-3"].footer-widget-area-inner {
        text-align: left;
    }

    .footer-widget-area[data-section="sidebar-widgets-footer-widget-4"].footer-widget-area-inner {
        text-align: left;
    }

    .footer-widget-area[data-section="sidebar-widgets-footer-widget-4"].footer-widget-area-inner {
        text-align: left;
    }

    .footer-widget-area[data-section="section-footer-menu"] .astra-footer-tablet-vertical-menu {
        display: flex;
    }
    .gform-theme--foundation .gform_fields {
      grid-template-columns: 1fr !important;
    }
}


/* END Footer Styles */

/* ---------- Elementor CTA Hover Animation Styles ---------- */

.elementor-button-text-wrapper {
  overflow: hidden;
  padding-top: 1px;
  height: 18px;
  display: inline-flex;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
}

.elementor-button-text {
  transition: transform var(--transition-duration) var(--transition-timing-function);
}

.elementor-button-text-hover {
  display: inline-block;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateY(100%);
}

.elementor-button:hover .elementor-button-text {
  transform: translateY(-100%);
}

.elementor-button:hover .elementor-button-text-hover {
  transform: translateY(-100%);
}

.elementor-button-icon-wrapper {
  overflow: hidden;
  height: 18px;
  width: 14px;
  display: inline-flex;
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
}

.elementor-button-icon {
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateX(-100%);
}

.elementor-button-icon-hover {
  display: inline-block;
  transition: transform var(--transition-duration) var(--transition-timing-function);
  transform: translateX(-100%);
}

.elementor-button:hover .elementor-button-icon {
  transform: translateX(100%);
}

.elementor-button:hover .elementor-button-icon-hover {
  transform: translateX(0);
}

/* END Elementor CTA Hover Animation Styles */


/* CSS Animations */

@keyframes bouncing {
  from { transform: translateY(10px); }
  to { transform: translateY(0px); }
}

.bouncing {
  transform: translateY(10px);
  animation: bouncing 1s ease infinite alternate;
}

/* END CSS Animations */

/* Gradient lines decorations */

.with-lines {
  position: relative;
  overflow: hidden;
}

@media(min-width: 1024px){
  .hero.with-lines .lines {
    position: absolute;
    top: 30px;
    bottom: 30px;
    right: 45px;
    left: auto;
    gap: 16px;
  }
  .hero.with-lines .lines div { 
    width: 12px;
  }
}

.card.with-lines .lines {
  position: absolute;
  top: 0;
  bottom: 0;
  right: auto;
  left: 268px;
  gap: 10px;
}

.card.with-lines .lines div { 
  width: 8px;
}

.cta.with-lines .lines {
  position: absolute;
  top: 0;
  bottom: 0;
  right: auto;
  left: 100px;
  gap: 10px;
}

.cta2.with-lines .lines {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100px;
  left: auto;
  gap: 10px;
}

.cta-bottom.with-lines .lines {
  position: absolute;
  top: 0;
  bottom: 0;
  right: auto;
  left: 75px;
  gap: 10px;
}

.cta.with-lines .lines div { 
  width: 8px;
}
.cta2.with-lines .lines div { 
  width: 8px;
}
.cta-bottom.with-lines .lines div { 
  width: 8px;
}

.lines {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
}
.lines div {
  height: 100%;
}
.lines .line1 {
  background: linear-gradient(#1a89a3 0%,#0000 100%);
}
.lines .line2 {
  background: linear-gradient(#147da9 0%,#201f2100 100%);
}
.lines .line3 {
  background: linear-gradient(#0c5a9a 0%,#0000 100%);
}
.lines .line4 {
  background: linear-gradient(#395f75 0%,#201f2100 100%);
}

@media(max-width: 767px){
  .cta.with-lines .lines {
    display: none;
  }
  .cta2.with-lines .lines {
    display: none;
  }
  .cta-bottom.with-lines .lines {
    display: none;
  }
  .card.with-lines .lines {
    left: auto;
    right: 15px;
  }
}

/* END Gradient lines decorations */

/* Background Spectra Noise Animation */

.site-footer,
.hero,
.hero-spectra {
  position: relative;
}

.spectra {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* END Background Spectra Noise Animation */

.ast-header-break-point .main-header-bar {
  line-height: 1 !important;
}
.custom-hamburger {
  --hamburger-size: 40px;
  --hamburger-stroke: 2;
  --hamburger-color: #ffffff;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  width: var(--hamburger-size) !important;
  height: var(--hamburger-size) !important;
  padding: 0 !important;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer;
  appearance: none !important;
  -webkit-appearance: none;
}

.custom-hamburger svg {
  width: 100%;
  height: 100%;
  transform: rotate(0deg);
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.custom-hamburger .line {
  fill: none;
  stroke: var(--hamburger-color);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: var(--hamburger-stroke);
  transition:
    stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.custom-hamburger .line-top-bottom {
  stroke-dasharray: 12 63;
  stroke-dashoffset: 0;
}

.custom-hamburger.is-active svg {
  transform: rotate(-45deg);
}

.custom-hamburger.is-active .line-top-bottom {
  stroke-dasharray: 20 300;
  stroke-dashoffset: -32.42;
}

/* Optional keyboard focus */
.custom-hamburger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* Content styles */

.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    color: #204d80;
    font-weight: 500 !important;
    margin-top: 40px;
}

.page-content.blog-page-content h2 {
  font-size: 24px !important;
}

.page-content h4 {
    font-size: 24px;
}
.page-content h4:first-child {
    margin-top: 0;
}

.page-content table {
    margin-top: 40px;
    border-radius: 10px;
    background: rgba(250,250,250,1);
    border-color: rgba(153,153,153,0.25);
    height: auto !important;
    overflow: hidden;
}
.page-content tr,
.page-content td,
.page-content th {
    border-color: rgba(153,153,153,0.25);
}
.page-content td {
    vertical-align: top;
}
.page-content .table-headers td {
    background: #e5e9ed;
}


.blog-page-content .e-con>.e-con-inner {
  gap: 1.2em !important;
  --divider-color: var(--color-text-blue) !important;
}
.elementor-widget-divider {
  --divider-color: var(--color-text-blue) !important;
}
/* END Content styles */



.animated-fast {
  animation-duration: 1s !important;
}

.popup-trigger a {
  outline: none !important;
}

.popup {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  transform: translateX(-50%) translateY(-40%) !important;
  width: 95% !important;
  max-width: 600px !important;
  height: auto !important;
  max-height: 80svh !important;
  overflow: auto !important;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-duration) var(--transition-timing-function) !important;
  z-index: 1000 !important;
  flex-wrap: nowrap !important;
}

.elementor-editor-active .popup {
  position: relative !important;
  left: 0% !important;
  top: 0% !important;
  transform: translateX(0%) translateY(0%) !important;
  width: 100% !important;
  max-width: auto !important;
  height: auto !important;
  max-height: auto !important;
  overflow: initial !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.popup--active {
  transform: translateX(-50%) translateY(-50%) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-duration) var(--transition-timing-function);
  z-index: 999;
}

.popup-overlay--active {
  opacity: 1;
  visibility: visible;
}

.popup-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  background: none !important;
  border: none !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 4px !important;
}

.sticky-cards .elementor-sticky {
  transform-origin: center top !important;
}

.sticky-cards .elementor-sticky.elementor-sticky--active:nth-child(1) {
  transform: translateY(0px) scale(0.96) !important;
}
.sticky-cards .elementor-sticky.elementor-sticky--active:nth-child(3) {
  transform: translateY(20px) scale(0.98) !important;
}
