.elementor-15 .elementor-element.elementor-element-4c9eb20{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-15 .elementor-element.elementor-element-4c9eb20:not(.elementor-motion-effects-element-type-background), .elementor-15 .elementor-element.elementor-element-4c9eb20 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-15 .elementor-element.elementor-element-4c9eb20{--justify-content:flex-start;}}/* Start custom CSS for html, class: .elementor-element-ed55383 *//* =========================================================
   Vision Verification – Custom Navigation
   Enqueue via functions.php:
   wp_enqueue_style('vision-nav', get_template_directory_uri() . '/vision-nav.css');
   ========================================================= */

:root {
  --nav-main:         #041C32;
  --nav-blue:         #3b59a3;
  --nav-orange:       #c85a1e;
  --nav-orange-hover: #3b59a3;
  --nav-white:        #ffffff;
  --nav-border:       rgba(255, 255, 255, 0.15);
  --nav-border-light: #e2e8f0;
  --nav-height:       72px;
}

/* All nav elements inherit font from the WordPress theme */
.vision-navbar,
.vision-navbar * {
  font-family: inherit;
  box-sizing: border-box;
}

/* ── Navbar shell ──────────────────────────────────────── */
.vision-navbar {
  background: #ffffff;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  display: block;
  overflow: visible;
}

/* Force the Elementor column and container holding the nav to have no padding/margin */
.elementor-widget-html:has(.vision-navbar),
.elementor-widget-html:has(.vision-navbar) .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-column:has(.vision-navbar),
.elementor-col-100:has(.vision-navbar),
.e-con:has(.vision-navbar),
.e-con-inner:has(.vision-navbar) {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

.vision-navbar-inner {
  display: flex;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
}

/* ── Logo ──────────────────────────────────────────────── */
.vision-navbar-logo {
  display: flex;
  align-items: center;
  padding: 0 24px;
  flex-shrink: 0;
  text-decoration: none;
}

.vision-navbar-logo img {
  height: 54px;
  width: auto;
  display: block;
}

/* ── Desktop menu ──────────────────────────────────────── */
/* WordPress outputs the menu as a <ul> — we target it via
   the menu location class added in header.php               */
.vision-navbar-menu {
  display: flex;
  align-items: stretch;
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0 8px;
  justify-content: center;
}

.vision-navbar-menu > li {
  position: relative;
  display: flex;
  align-items: center;
}

.vision-navbar-menu > li > a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 22px;
  height: 100%;
  min-height: var(--nav-height);
  font-size: 16px;
  font-weight: 300;
  color: var(--nav-main);
  text-decoration: none;
  white-space: nowrap;
}

/* WordPress adds .menu-item-has-children to items with sub-menus.
   We use this to show the chevron automatically.               */
.vision-navbar-menu > li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.55;
  transition: transform 0.2s;
  flex-shrink: 0;
}

.vision-navbar-menu > li.menu-item-has-children:hover > a::after {
  transform: rotate(180deg);
}

/* ── Dropdown (sub-menu) ───────────────────────────────── */
/* WordPress outputs child menus as .sub-menu               */
.vision-navbar-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--nav-main);
  border-top: 2px solid var(--nav-orange);
  min-width: 220px;
  padding: 6px 0;
  z-index: 200;
  list-style: none;
  margin: 0;
  border-radius: 0 0 10px 10px;
}

.vision-navbar-menu > li:hover > .sub-menu {
  display: block;
}

.vision-navbar-menu .sub-menu li {
  list-style: none;
}

.vision-navbar-menu .sub-menu a {
  display: block;
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 300;
  color: var(--nav-white);
  text-decoration: none;
  border-bottom: 1px solid var(--nav-border);
}

.vision-navbar-menu .sub-menu li:last-child a {
  border-bottom: none;
}

/* ── CTA button ────────────────────────────────────────── */
.vision-navbar-cta {
  display: flex;
  align-items: stretch;
  flex-shrink: 0;
  position: relative;
}

.vision-navbar-cta a {
  display: flex;
  align-items: center;
  padding: 0 42px;
  background: var(--nav-orange);
  color: #fff;
  font-size: 16px;
  font-weight: 300;
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: 0.3px;
  transition: background 0.2s;
  border-radius: 0 0 0 10px;
  position: relative;
  /* Extend the button visually above and below without affecting layout */
  margin-top: -32px;
  padding-top: 32px;
  margin-bottom: -20px;
  padding-bottom: 20px;
  z-index: 10;
}

.vision-navbar-cta a:hover {
  background: var(--nav-orange-hover);
}

/* ── Hamburger ─────────────────────────────────────────── */
.vision-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 0 20px;
  min-height: var(--nav-height);
  background: none;
  border: none;
  margin-left: auto;
  flex-shrink: 0;
}

.vision-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--nav-main);
  border-radius: 2px;
  transition: all 0.25s;
}

.vision-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.vision-hamburger.open span:nth-child(2) { opacity: 0; }
.vision-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Mobile menu ───────────────────────────────────────── */
.vision-mobile-menu {
  display: none;
  flex-direction: column;
  background: #ffffff;
  border-top: 1px solid var(--nav-border-light);
}

.vision-mobile-menu.open {
  display: flex;
}

/* Top-level mobile links */
.vision-mobile-menu > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vision-mobile-menu > ul > li > a {
  display: block;
  padding: 14px 24px;
  font-size: 16px;
  font-weight: 300;
  color: var(--nav-main);
  text-decoration: none;
  border-bottom: 1px solid var(--nav-border-light);
}

/* Mobile items with children — accordion toggle */
.vision-mobile-menu > ul > li.menu-item-has-children > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.vision-mobile-menu > ul > li.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.55;
  transition: transform 0.2s;
  flex-shrink: 0;
}

.vision-mobile-menu > ul > li.menu-item-has-children.open > a::after {
  transform: rotate(180deg);
}

/* Mobile sub-menu */
.vision-mobile-menu .sub-menu {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--nav-main);
}

.vision-mobile-menu li.open > .sub-menu {
  display: block;
}

.vision-mobile-menu .sub-menu a {
  display: block;
  padding: 12px 24px 12px 40px;
  font-size: 16px;
  font-weight: 300;
  color: var(--nav-white);
  text-decoration: none;
  border-bottom: 1px solid var(--nav-border);
}

/* Mobile CTA */
.vision-mobile-cta {
  padding: 16px 24px;
}

.vision-mobile-cta a {
  display: block;
  background: var(--nav-orange);
  color: #fff;
  font-weight: 300;
  font-size: 16px;
  text-align: center;
  padding: 14px 24px;
  border-radius: 0;
  text-decoration: none;
  transition: background 0.2s;
}

.vision-mobile-cta a:hover {
  background: var(--nav-orange-hover);
}

/* ── Responsive breakpoints ────────────────────────────── */
@media (max-width: 1024px) {
  .vision-navbar-menu > li > a { padding: 0 12px; font-size: 15px; }
  .vision-navbar-cta a          { padding: 0 20px; font-size: 15px; }
  .vision-navbar-logo           { padding: 0 14px; }
  .vision-navbar-logo img       { height: 46px; }
}

@media (max-width: 820px) {
  .vision-navbar-menu { display: none; }
  .vision-navbar-cta  { display: none; }
  .vision-hamburger   { display: flex; }
}/* End custom CSS */
/* Start custom CSS *//* Fix: Give the sticky header vertical padding so logo is not flush to the top */
.elementor-sticky--active.elementor-element-4c9eb20 {
	  padding-top: 10px !important;
	  padding-bottom: 10px !important;
}

/* Shrink Get A Quote button ~10% on sticky scroll */
.elementor-sticky--active .elementor-element-295d69c .elementor-button {
	  padding: 36px 36px 36px 36px !important;
	  font-size: 13.5px !important;
}
}
}/* End custom CSS */