html {
  scroll-behavior: smooth;
  
}


/* 1. Reset the parent section so it doesn't hide the overlap */
.vc_section.set-top-padding {
    background: transparent !important; /* Removes the section's background */
    overflow: visible !important;       /* Vital: allows the box to "leak" out the top */
}

/* 2. Target the specific white column to overlap */
.set-padding-side.vc_column_container {
	margin-top: -42px;
	background-color: #F3F3F3 !important;
	background: #F3F3F3 !important;
	border-radius: 15px !important;
	z-index: 1 !important;
	position: relative !important;
}

/* 3. Ensure the video section doesn't cover the box */
.mp4-bg-row {
    z-index: 1 !important;
}

/*loader*/
#loader-wrapper {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: #ffffff;
    z-index: 99999;

    overflow: hidden !important;

    transition: opacity 0.15s ease, visibility 0.15s;
}

.loader-img {
    width: 120px !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.loader-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}


/*loader*/



.mp4-bg-video-row video {
  width: 100%;
}

.mp4-bg-video-row .custom-video-background {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 0;
  object-fit: cover;
}

.main-navigation a.active-menu-item {
    color: #0073aa !important; /* Change to your preferred brand color */
    font-weight: bold;
}


/*Mobile Menu*/

/* Position parent item so button sits inline */
#mobileMenu .menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

#mobileMenu .menu-item-has-children > a {
    flex: 1;
}

#mobileMenu .submenu-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    font-size: 14px;
    transition: transform 0.3s ease;
}

#mobileMenu .sub-menu {
    width: 100%;
}

/* Hide the original/duplicate chevron added by the theme walker */
#mobileMenu .menu-item-has-children > a::after,
#mobileMenu .menu-item-has-children > a .sub-arrow,
#mobileMenu .menu-item-has-children > a .dropdown-arrow {
    display: none !important;
}


/* Mobile Menu Active State */
#mobileMenu .mobile-menu a.nav-active {
    color: #005596;
    font-weight: 700;
}

/* Active sub-menu item */
#mobileMenu .mobile-menu .sub-menu a.nav-active {
    color: #fff;
    background:#004a87;
    padding: 10px 25px !important;
    font-weight: 600;
}

/* Mobile menu parent item — position chevron on the right */
.mobile-menu-wrap li.menu-item-has-children {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.mobile-menu-wrap li.menu-item-has-children > a {
    flex: 1;
}

.submenu-toggle {
    position: absolute;
    right: 0;
    top: 34px; /* adjust this to match your menu item height */
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px 12px;
    color: inherit;
    line-height: 1;
}


/*Mobile Menu*/



.mp4-bg-video-row-webinars video {
  width: 100%;
}

.mp4-bg-video-row-webinars .custom-video-background {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 0;
  object-fit: cover;
}

.mp4-bg-video-row-career video {
  width: 100%;
}

.mp4-bg-video-row-career .custom-video-background {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 0;
  object-fit: cover;
}


.mp4-bg-video-row-blog video {
  width: 100%;
}

.mp4-bg-video-row-blog .custom-video-background {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 0;
  object-fit: cover;
}



.mp4-bg-video-row-contact video {
  width: 100%;
}

.mp4-bg-video-row-contact .custom-video-background {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  z-index: 0;
  object-fit: cover;
}

/*Conatct Form 7*/

.cf7-form-wrapper {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cf7-field-wrap {
  width: 100%;
}

.cf7-input {
  width: 100%;
  height: 50px;
  padding: 0 12px;
  font-size: 18px;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  outline: none;
  color: #111;
  box-sizing: border-box;
  margin-bottom:15px;
  line-height:1.5 !important;
}

.cf7-input::placeholder {
  color: #666666;
}

.cf7-calendar-link {
  text-align: center;
  padding-top: 4px;
}

.cf7-calendar-link a {
  text-decoration: underline;
  font-size: 16px;
  color: #ffffff;
}

.cf7-submit-wrap {
  display: flex;
  justify-content: center;
  padding-top: 8px;
}



.cf7-submit-btn {
  background-color: #a1409e;
  color: #ffffff;
  font-weight: 400;
  padding: 4px 24px 7px;
  border-radius: 9999px;
  border: none;
  cursor: pointer;
  pointer-events: auto;
  margin-top: 10px;
  transition: background-color 0.3s ease;
  line-height: 1.5 !important;
  font-size: 1.25rem;
}

.contact-submit{
    padding: 4px 24px 7px !important;
    display: block;
    margin: 0 auto;
}

.cf7-submit-btn:hover {
  background-color: #b132a6;
}

.cf7-submit-wrap .wpcf7-submit,
.cf7-submit-wrap input[type="submit"] {
  display: block;
  margin: 0 auto;
}

.cf7-submit-wrap p {
  text-align: center;
  margin: 0;
}

#content .wpb_alert p:last-child, #content .wpb_text_column :last-child, #content .wpb_text_column p:last-child, .wpb_alert p:last-child, .wpb_text_column :last-child, .wpb_text_column p:last-child{
    margin-bottom: 4px;
}

/*Conatct Form 7*/

/* ==========================================
   1. GLOBAL PAGE ADJUSTMENTS
   ========================================== */
/* Allow the main website and footer to scroll normally */
/* ==========================================
   1. GLOBAL PAGE ADJUSTMENTS
   ========================================== */
/* ==========================================
   1. GLOBAL PAGE ADJUSTMENTS
   ========================================== */
/* ==========================================
   1. GLOBAL PAGE ADJUSTMENTS
   ========================================== */
/* ==========================================
   1. GLOBAL PAGE ADJUSTMENTS
   ========================================== */
html, body {

padding: 0;
height: auto;
width: 100%;
}

body{
    overflow-x:hidden;
    
}

.container,
article,
.entry-content,
.wpb-content-wrapper {
height: auto !important;
overflow: visible !important;
}

.homepage-hero-icon{
    margin-top:40px;
}

/* Base styles - shared by both */
.snap-container {
  height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  position: relative;
}

/* Mobile: native scroll-snap */
@media (max-width: 767px) {
  .snap-container {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
  }
}

/* Desktop: JS-driven snapping */
@media (min-width: 768px) {
  .snap-container {
    scroll-snap-type: none;
    scroll-behavior: auto;
  }
}

.snap-container > .snap-section:first-child{
    margin-top: -2px !important;
    padding-top: 0 !important;
}

.snap-container::-webkit-scrollbar {
display: none;
}

@media screen and (min-width: 768px) {
.snap-section {
    height: 102vh !important;
 }
}

.snap-section {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transition: all .6s ease;
    height: 100vh;
    width: 100%;
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
}

/*@media screen and (max-width: 780px) {
    .logo-header {
        width: 83px !important;
        height: 64px !important;
    }
}*/
.results-modal-overlay .overflow-y-auto,
[id^="serviceFullModal-"] {
  overscroll-behavior: contain;
}

.set-index-service{
	margin-top:-1px !important;
}