.elementor-181 .elementor-element.elementor-element-baf7329{--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;border-style:solid;--border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#DDDDDD;--border-color:#DDDDDD;--padding-top:1%;--padding-bottom:1%;--padding-left:5%;--padding-right:5%;--z-index:4;}.elementor-181 .elementor-element.elementor-element-baf7329:not(.elementor-motion-effects-element-type-background), .elementor-181 .elementor-element.elementor-element-baf7329 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-58de43c );}.elementor-181 .elementor-element.elementor-element-45c2153{--display:flex;--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-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-181 .elementor-element.elementor-element-1bbd567{width:var( --container-widget-width, 43% );max-width:43%;--container-widget-width:43%;--container-widget-flex-grow:0;}.elementor-181 .elementor-element.elementor-element-1bbd567 img{width:100%;}.elementor-181 .elementor-element.elementor-element-9abac4e{--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;--justify-content:space-between;--align-items:center;--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-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-hamburger:hover{background-color:#02010100;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-menu-container{height:80px;border-radius:0px 0px 0px 0px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:600;text-transform:capitalize;line-height:1.2em;color:#000000;padding:0px 15px 0px 15px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a:hover{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a:focus{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a:active{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li:hover > a{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li:hover > a .elementskit-submenu-indicator{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a:hover .elementskit-submenu-indicator{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a:focus .elementskit-submenu-indicator{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a:active .elementskit-submenu-indicator{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li.current-menu-item > a{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li.current-menu-ancestor > a{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li.current-menu-ancestor > a .elementskit-submenu-indicator{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a .elementskit-submenu-indicator{color:#101010;fill:#101010;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a .ekit-submenu-indicator-icon{color:#101010;fill:#101010;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel > li > a{padding:15px 15px 15px 15px;color:#000000;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover{color:#707070;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel > li > a:focus{color:#707070;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel > li > a:active{color:#707070;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel > li:hover > a{color:#707070;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel > li.current-menu-item > a{color:#707070 !important;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-submenu-panel{padding:15px 0px 15px 0px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel{border-radius:0px 0px 0px 0px;min-width:220px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-hamburger{float:right;border-style:none;}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-hamburger .elementskit-menu-hamburger-icon{background-color:var( --e-global-color-primary );}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-hamburger > .ekit-menu-icon{color:var( --e-global-color-primary );}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-hamburger:hover .elementskit-menu-hamburger-icon{background-color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-hamburger:hover > .ekit-menu-icon{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-close{color:rgba(51, 51, 51, 1);}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-close:hover{color:rgba(0, 0, 0, 0.5);}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-181 .elementor-element.elementor-element-1ad5868 .elementor-menu-toggle{margin-left:auto;}.elementor-181 .elementor-element.elementor-element-1ad5868 .elementor-nav-menu .elementor-item{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:600;text-transform:capitalize;line-height:1.2em;}.elementor-181 .elementor-element.elementor-element-1ad5868 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-181 .elementor-element.elementor-element-1ad5868 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-1ad5868 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-181 .elementor-element.elementor-element-1ad5868 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-1ad5868 .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-181 .elementor-element.elementor-element-1ad5868 .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:var( --e-global-color-accent );}.elementor-181 .elementor-element.elementor-element-0f46695{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:10px 10px 10px 10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:20px;--padding-right:20px;}.elementor-181 .elementor-element.elementor-element-0f46695:not(.elementor-motion-effects-element-type-background), .elementor-181 .elementor-element.elementor-element-0f46695 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-181 .elementor-element.elementor-element-7c773a7 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-181 .elementor-element.elementor-element-7c773a7 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-181 .elementor-element.elementor-element-7c773a7{--e-icon-list-icon-size:16px;--icon-vertical-offset:0px;}.elementor-181 .elementor-element.elementor-element-7c773a7 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-181 .elementor-element.elementor-element-7c773a7 .elementor-icon-list-item > a{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;}.elementor-181 .elementor-element.elementor-element-7c773a7 .elementor-icon-list-text{color:var( --e-global-color-primary );transition:color 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-181 .elementor-element.elementor-element-20b569f .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:24px;font-weight:800;line-height:1.2em;color:var( --e-global-color-text );}.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-181 .elementor-element.elementor-element-baf7329{--justify-content:space-between;--padding-top:10px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-181 .elementor-element.elementor-element-1bbd567{--container-widget-width:45%;--container-widget-flex-grow:0;width:var( --container-widget-width, 45% );max-width:45%;}.elementor-181 .elementor-element.elementor-element-9abac4e{--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-nav-identity-panel{padding:10px 0px 10px 0px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-menu-container{max-width:350px;border-radius:0px 0px 0px 0px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a{font-size:16px;color:#000000;padding:10px 15px 10px 15px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel > li > a{padding:15px 15px 15px 15px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav .elementskit-submenu-panel{border-radius:0px 0px 0px 0px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-hamburger{padding:8px 8px 8px 8px;width:45px;border-radius:3px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 button.elementskit-menu-close{padding:8px 8px 8px 8px;margin:12px 12px 12px 12px;width:45px;border-radius:3px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-nav-logo > img{max-width:160px;max-height:60px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-nav-logo{margin:5px 0px 5px 0px;padding:5px 5px 5px 5px;}}@media(max-width:767px){.elementor-181 .elementor-element.elementor-element-baf7329{border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:15px;--padding-right:15px;}.elementor-181 .elementor-element.elementor-element-45c2153{--width:35%;}.elementor-181 .elementor-element.elementor-element-1bbd567{--container-widget-width:90%;--container-widget-flex-grow:0;width:var( --container-widget-width, 90% );max-width:90%;}.elementor-181 .elementor-element.elementor-element-9abac4e{--width:58%;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-navbar-nav > li > a{font-size:14px;}.elementor-181 .elementor-element.elementor-element-7ced1c4 .elementskit-nav-logo > img{max-width:120px;max-height:50px;}}@media(min-width:768px){.elementor-181 .elementor-element.elementor-element-45c2153{--width:37%;}.elementor-181 .elementor-element.elementor-element-0f46695{--width:20%;}}@media(max-width:1024px) and (min-width:768px){.elementor-181 .elementor-element.elementor-element-9abac4e{--width:60%;}.elementor-181 .elementor-element.elementor-element-0f46695{--width:55%;}}/* Start custom CSS for ekit-nav-menu, class: .elementor-element-7ced1c4 */button.elementskit-menu-close .elementskit-menu-hamburger-icon, button.elementskit-menu-hamburger .elementskit-menu-hamburger-icon {
    height: 3px !important;
    width: 100%;
    display: block;
    margin-bottom: 4px;
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-1ad5868 *//* =====================================================
   COURSES DIRECT HEADER MENU FINAL CSS
   Elementor Nav Menu Widget Class: cd-nav
===================================================== */

:root {
  --cd-navy: #002063;
  --cd-orange: #fb6501;
  --cd-orange-2: #ff7b24;
  --cd-sky: #2791fd;
  --cd-light: #f6f9ff;
  --cd-border: rgba(0, 32, 99, .10);
}

/* =====================================================
   GLOBAL Z-INDEX / OVERFLOW FIX
===================================================== */

html,
body {
  overflow-x: hidden !important;
}

body,
#page,
.site,
.elementor {
  position: relative;
}

.elementor-location-header {
  position: relative !important;
  z-index: 999999 !important;
  background: #ffffff;
}

.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-widget-container,
.cd-nav,
.cd-nav nav,
.cd-nav ul,
.cd-nav li {
  overflow: visible !important;
}

.cd-nav,
.cd-nav .elementor-widget-container,
.cd-nav .elementor-nav-menu--main,
.cd-nav .elementor-nav-menu--main > ul,
.cd-nav .elementor-nav-menu--main > ul > li,
.cd-nav .elementor-nav-menu--main .sub-menu {
  z-index: 9999999 !important;
}

/* Hero/content lower than header */
.elementor-location-header + *,
.elementor-location-header ~ * {
  position: relative;
  z-index: 1;
}

/* Add this class to hero section if needed */
.cd-hero,
.cd-hero * {
  z-index: 1 !important;
}

/* =====================================================
   DESKTOP MAIN MENU
===================================================== */

.cd-nav .elementor-nav-menu--main .elementor-nav-menu {
  display: flex;
  align-items: center;
  gap: 28px;
}

/* Main menu links */
.cd-nav .elementor-nav-menu--main .elementor-item {
  position: relative;
  color: var(--cd-navy) !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .01em;
  padding: 34px 0 32px !important;
  background: transparent !important;
  transition:
    color .24s ease,
    transform .24s ease;
}

/* Remove Elementor default pointer */
.cd-nav .elementor-nav-menu--main .elementor-item:before {
  display: none !important;
}

/* Custom underline */
.cd-nav .elementor-nav-menu--main .elementor-item:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 22px;
  width: 0;
  height: 3px;
  border-radius: 20px;
  background: linear-gradient(90deg, var(--cd-orange), var(--cd-orange-2));
  opacity: 1 !important;
  transform: none !important;
  transition: width .25s ease;
}

/* Main hover and active */
.cd-nav .elementor-nav-menu--main .elementor-item:hover,
.cd-nav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.cd-nav .elementor-nav-menu--main .current-menu-item > .elementor-item,
.cd-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item {
  color: var(--cd-orange) !important;
}

.cd-nav .elementor-nav-menu--main .elementor-item:hover:after,
.cd-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:after,
.cd-nav .elementor-nav-menu--main .current-menu-item > .elementor-item:after,
.cd-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item:after {
  width: 100%;
}

.cd-nav .elementor-nav-menu--main > ul > li:hover > a {
  transform: translateY(-1px);
}

/* Arrow */
.cd-nav .sub-arrow {
  margin-left: 8px;
  padding: 0 !important;
}

.cd-nav .sub-arrow svg {
  width: 10px;
  height: 10px;
  fill: currentColor;
  transition:
    transform .25s ease,
    fill .25s ease;
}

.cd-nav .menu-item-has-children:hover > a .sub-arrow svg {
  transform: rotate(180deg);
  fill: var(--cd-orange) !important;
}

/* =====================================================
   DESKTOP FIRST LEVEL DROPDOWN
===================================================== */

.cd-nav .elementor-nav-menu--main > ul > li {
  position: relative !important;
}

.cd-nav .elementor-nav-menu--main > ul > li > .sub-menu {
  width: 360px !important;
  min-width: 360px !important;
  max-width: 360px !important;
  padding: 14px !important;
  margin-top: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96)) !important;
  border: 1px solid rgba(0, 32, 99, .10) !important;
  border-radius: 22px;
  box-shadow:
    0 34px 90px rgba(0, 32, 99, .22),
    0 14px 32px rgba(0, 0, 0, .08) !important;
  backdrop-filter: blur(14px);
  overflow: visible !important;
}

/* Top pointer */
.cd-nav .elementor-nav-menu--main > ul > li > .sub-menu:before {
  content: "";
  position: absolute;
  top: -8px;
  left: 42px;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border-left: 1px solid rgba(0, 32, 99, .08);
  border-top: 1px solid rgba(0, 32, 99, .08);
  transform: rotate(45deg);
  border-radius: 4px 0 0 0;
  z-index: -1;
}

/* Dropdown animation */
.cd-nav .elementor-nav-menu--main .menu-item > .sub-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px) scale(.97);
  transform-origin: top center;
  transition:
    opacity .24s ease,
    transform .24s ease,
    visibility .24s ease;
}

.cd-nav .elementor-nav-menu--main .menu-item:hover > .sub-menu,
.cd-nav .elementor-nav-menu--main .menu-item:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* SmartMenus inline override */
.cd-nav .elementor-nav-menu--main .sub-menu[style] {
  max-width: none !important;
}

.cd-nav .sm-nowrap {
  white-space: normal !important;
}

/* =====================================================
   DESKTOP DROPDOWN ITEMS
===================================================== */

.cd-nav .elementor-nav-menu--main .sub-menu > li {
  position: relative;
  border-radius: 15px;
  z-index: 1;
}

.cd-nav .elementor-nav-menu--main .sub-menu > li:hover {
  z-index: 5;
}

.cd-nav .elementor-nav-menu--main .elementor-sub-item {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  color: var(--cd-navy) !important;
  background: transparent !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.01em;
  padding: 12px 44px 12px 42px !important;
  border-radius: 14px;
  white-space: normal !important;
  overflow: hidden;
  isolation: isolate;
  transform: translateX(0);
  transition:
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease,
    transform .22s ease;
}

/* Left chevron */
.cd-nav .elementor-nav-menu--main .elementor-sub-item:before {
  content: "";
  position: absolute;
  left: 17px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--cd-orange);
  border-bottom: 2px solid var(--cd-orange);
  transform: translateY(-50%) rotate(-45deg);
  transition:
    left .24s ease,
    transform .24s ease;
}

/* Background swipe */
.cd-nav .elementor-nav-menu--main .elementor-sub-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(251,101,1,.12), rgba(39,145,253,.06));
  transform: translateX(-104%);
  transition: transform .28s ease;
  z-index: -1;
  border-radius: inherit;
}

/* Hover */
.cd-nav .elementor-nav-menu--main .elementor-sub-item:hover,
.cd-nav .elementor-nav-menu--main .menu-item:hover > .elementor-sub-item {
  color: var(--cd-orange) !important;
  background: linear-gradient(90deg, #fff3eb 0%, #ffffff 100%) !important;
  box-shadow:
    inset 4px 0 0 var(--cd-orange),
    0 12px 26px rgba(0,32,99,.08) !important;
  transform: translateX(6px);
}

.cd-nav .elementor-nav-menu--main .elementor-sub-item:hover::after,
.cd-nav .elementor-nav-menu--main .menu-item:hover > .elementor-sub-item::after {
  transform: translateX(0);
}

.cd-nav .elementor-nav-menu--main .elementor-sub-item:hover:before,
.cd-nav .elementor-nav-menu--main .menu-item:hover > .elementor-sub-item:before {
  left: 22px;
  transform: translateY(-50%) rotate(-45deg) scale(1.15);
}

/* Current dropdown item */
.cd-nav .elementor-nav-menu--main .sub-menu .current-menu-item > a,
.cd-nav .elementor-nav-menu--main .sub-menu .current-menu-ancestor > a {
  color: var(--cd-orange) !important;
  background: #fff3eb !important;
  box-shadow: inset 4px 0 0 var(--cd-orange);
}

/* Right arrow */
.cd-nav .elementor-nav-menu--main .elementor-sub-item .sub-arrow {
  position: absolute;
  right: 16px;
  top: 50%;
  margin: 0;
  transform: translateY(-50%);
}

.cd-nav .elementor-nav-menu--main .elementor-sub-item .sub-arrow svg {
  width: 9px;
  height: 9px;
  transform: rotate(-90deg);
}

/* =====================================================
   CATEGORY COLOR ACCENTS
===================================================== */

.cd-nav .elementor-nav-menu--main .sub-menu > li:nth-child(1) > a {
  background: linear-gradient(90deg, rgba(245,198,109,.24), transparent) !important;
}

.cd-nav .elementor-nav-menu--main .sub-menu > li:nth-child(4) > a {
  background: linear-gradient(90deg, rgba(244,203,187,.34), transparent) !important;
}

.cd-nav .elementor-nav-menu--main .sub-menu > li:nth-child(7) > a {
  background: linear-gradient(90deg, rgba(226,235,247,.70), transparent) !important;
}

.cd-nav .elementor-nav-menu--main .sub-menu > li:nth-child(9) > a {
  background: linear-gradient(90deg, rgba(253,228,234,.70), transparent) !important;
}

.cd-nav .elementor-nav-menu--main .sub-menu > li:nth-child(12) > a {
  background: linear-gradient(90deg, rgba(248,224,210,.60), transparent) !important;
}

/* =====================================================
   DESKTOP SECOND LEVEL SUBMENU
===================================================== */

.cd-nav .elementor-nav-menu--main .sub-menu .sub-menu {
  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
  top: 0 !important;
  left: calc(100% + 10px) !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  padding: 12px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 32, 99, .08);
  border-radius: 20px;
  box-shadow:
    0 26px 64px rgba(0, 32, 99, .18),
    0 8px 20px rgba(0, 0, 0, .06);
  z-index: 99999999 !important;
}

/* Second level pointer */
.cd-nav .elementor-nav-menu--main .sub-menu .sub-menu:before {
  content: "";
  position: absolute;
  left: -8px;
  top: 24px;
  width: 18px;
  height: 18px;
  background: #ffffff;
  border-left: 1px solid rgba(0, 32, 99, .08);
  border-bottom: 1px solid rgba(0, 32, 99, .08);
  transform: rotate(45deg);
  border-radius: 0 0 0 4px;
  z-index: -1;
}

.cd-nav .elementor-nav-menu--main .sub-menu .sub-menu .elementor-sub-item {
  min-height: 46px;
  font-size: 13.5px;
  font-weight: 750;
  padding: 11px 16px 11px 38px !important;
}

/* =====================================================
   HEADER CALL BUTTON
===================================================== */

.cd-header-call a,
.elementor-location-header a[href^="tel"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  padding: 0 22px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--cd-orange) 0%, var(--cd-orange-2) 100%) !important;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(251, 101, 1, .24);
  transition:
    transform .22s ease,
    box-shadow .22s ease;
}

.cd-header-call a:hover,
.elementor-location-header a[href^="tel"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(251, 101, 1, .32);
}

/* =====================================================
   TABLET AND MOBILE COMPLETE FIX
===================================================== */

@media (max-width: 1024px) {

  /* Disable desktop menu overflow behavior on mobile */
  .cd-nav .elementor-nav-menu--main {
    display: none !important;
  }

  /* Burger button */
  .cd-nav .elementor-menu-toggle {
    width: 48px;
    height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--cd-orange) 0%, var(--cd-orange-2) 100%) !important;
    border-radius: 14px;
    box-shadow: 0 14px 28px rgba(251, 101, 1, .28);
    margin-left: auto;
    padding: 0 !important;
    position: relative;
    z-index: 100000001 !important;
    transition:
      transform .22s ease,
      box-shadow .22s ease;
  }

  .cd-nav .elementor-menu-toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(251, 101, 1, .34);
  }

  .cd-nav .elementor-menu-toggle svg {
    width: 22px;
    height: 22px;
    fill: #ffffff !important;
  }

  /* Mobile dropdown container */
  .cd-nav .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: auto !important;
    right: 0 !important;
    width: min(360px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    padding: 14px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0, 32, 99, .08);
    border-radius: 22px;
    box-shadow:
      0 28px 70px rgba(0, 32, 99, .22),
      0 8px 24px rgba(0, 0, 0, .08);
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: calc(100vh - 120px) !important;
    z-index: 100000000 !important;
  }

  /* Elementor sometimes injects inline full-width */
  .cd-nav .elementor-nav-menu--dropdown[style] {
    width: min(360px, calc(100vw - 24px)) !important;
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 12px) !important;
    max-width: calc(100vw - 24px) !important;
  }

  /* Mobile dropdown visible animation */
  .cd-nav .elementor-nav-menu--dropdown:not([aria-hidden="true"]) {
    animation: cdMobileMenuIn .24s ease both;
  }

  @keyframes cdMobileMenuIn {
    from {
      opacity: 0;
      transform: translateY(12px) scale(.97);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  /* Mobile top menu item */
  .cd-nav .elementor-nav-menu--dropdown .elementor-item {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    color: var(--cd-navy) !important;
    background: #ffffff !important;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .01em;
    padding: 16px 16px !important;
    border-radius: 14px;
    border-bottom: 1px solid rgba(0, 32, 99, .07);
    box-shadow: none !important;
    transition:
      background .22s ease,
      color .22s ease,
      transform .22s ease,
      padding-left .22s ease;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-item:before,
  .cd-nav .elementor-nav-menu--dropdown .elementor-item:after {
    display: none !important;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-item:hover,
  .cd-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
  .cd-nav .elementor-nav-menu--dropdown .current-menu-item > .elementor-item,
  .cd-nav .elementor-nav-menu--dropdown .current-menu-ancestor > .elementor-item {
    color: var(--cd-orange) !important;
    background: #fff3eb !important;
    padding-left: 20px !important;
    transform: translateX(2px);
  }

  /* Mobile submenu block */
  .cd-nav .elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 6px 0 10px 0 !important;
    padding: 8px 0 8px 12px !important;
    background: var(--cd-light) !important;
    border-left: 3px solid var(--cd-sky);
    border-radius: 14px;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  /* Stop desktop submenu card/pointer on mobile */
  .cd-nav .elementor-nav-menu--dropdown .sub-menu:before {
    display: none !important;
  }

  /* Mobile submenu item */
  .cd-nav .elementor-nav-menu--dropdown .elementor-sub-item {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    color: var(--cd-navy) !important;
    background: transparent !important;
    font-size: 13.5px;
    font-weight: 750;
    line-height: 1.35;
    padding: 12px 14px 12px 28px !important;
    border-radius: 12px;
    white-space: normal !important;
    box-shadow: none !important;
    transition:
      background .22s ease,
      color .22s ease,
      transform .22s ease,
      padding-left .22s ease;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-sub-item:before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 2px solid var(--cd-orange);
    border-bottom: 2px solid var(--cd-orange);
    transform: translateY(-50%) rotate(-45deg);
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-sub-item:after {
    display: none !important;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-sub-item:hover,
  .cd-nav .elementor-nav-menu--dropdown .current-menu-item > .elementor-sub-item {
    color: var(--cd-orange) !important;
    background: #ffffff !important;
    padding-left: 32px !important;
    transform: translateX(2px);
  }

  /* Nested submenu inside mobile */
  .cd-nav .elementor-nav-menu--dropdown .sub-menu .sub-menu {
    margin: 6px 0 8px 8px !important;
    padding: 6px 0 6px 10px !important;
    background: #ffffff !important;
    border-left: 3px solid var(--cd-orange);
    border-radius: 12px;
  }

  /* Mobile arrow */
  .cd-nav .elementor-nav-menu--dropdown .sub-arrow {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: auto;
    padding: 0 !important;
    border-radius: 50%;
    background: rgba(0, 32, 99, .06);
  }

  .cd-nav .elementor-nav-menu--dropdown .sub-arrow svg {
    width: 10px;
    height: 10px;
    fill: currentColor;
    transition: transform .25s ease;
  }

  .cd-nav .elementor-nav-menu--dropdown .highlighted .sub-arrow svg,
  .cd-nav .elementor-nav-menu--dropdown .elementor-item-active .sub-arrow svg {
    transform: rotate(180deg);
  }

  /* Do not let mobile submenu appear as desktop floating box */
  .cd-nav .elementor-nav-menu--dropdown .menu-item > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* =====================================================
   SMALL MOBILE FIX
===================================================== */

@media (max-width: 767px) {

  /* Keep mobile menu inside viewport */
  .cd-nav {
    position: relative !important;
  }

  .cd-nav .elementor-menu-toggle {
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }

  .cd-nav .elementor-nav-menu--dropdown,
  .cd-nav .elementor-nav-menu--dropdown[style] {
    width: min(340px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    right: 0 !important;
    left: auto !important;
    top: calc(100% + 10px) !important;
    padding: 12px !important;
    border-radius: 18px;
    max-height: calc(100vh - 105px) !important;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-item {
    font-size: 13.5px;
    padding: 14px 14px !important;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-sub-item {
    font-size: 13px;
    padding: 11px 12px 11px 28px !important;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-sub-item:hover {
    padding-left: 31px !important;
  }

  .cd-nav .elementor-nav-menu--dropdown .sub-menu {
    padding-left: 10px !important;
  }
}

/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media (max-width: 420px) {

  .cd-nav .elementor-nav-menu--dropdown,
  .cd-nav .elementor-nav-menu--dropdown[style] {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    right: 0 !important;
  }

  .cd-nav .elementor-nav-menu--dropdown .elementor-item {
    font-size: 13px;
  }
}/* End custom CSS */