.elementor-3960 .elementor-element.elementor-element-22cd085{border-style:solid;border-width:0px 0px 1px 0px;border-color:#FFFFFF20;margin-top:0px;margin-bottom:-90px;z-index:99;}.elementor-3960 .elementor-element.elementor-element-bfe6ebf > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.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-3960 .elementor-element.elementor-element-c47ae3b{text-align:start;}.elementor-3960 .elementor-element.elementor-element-c47ae3b img{width:100%;height:40px;object-fit:contain;object-position:center left;}.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-3960 .elementor-element.elementor-element-2b70865 .elementor-menu-toggle{margin-left:auto;background-color:#FFFFFF1F;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu .elementor-item{font-family:"metanow", Sans-serif;font-size:15px;font-weight:500;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-item:focus{color:#D5D5D5;fill:#D5D5D5;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#D5D5D5;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a, .elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-menu-toggle{color:#0F172A;fill:#0F172A;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a:hover,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a:focus,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-menu-toggle:hover,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-menu-toggle:focus{color:#0A56A0;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a:hover,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a:focus,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a.highlighted{background-color:#0A56A017;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a.elementor-item-active{color:#0A56A0;background-color:#0A56A017;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown .elementor-item, .elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"metanow", Sans-serif;font-size:16px;font-weight:500;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown a{padding-left:20px;padding-right:20px;padding-top:15px;padding-bottom:15px;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--dropdown li:not(:last-child){border-style:solid;border-color:#E7EDF4;border-bottom-width:1px;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:30px !important;}.elementor-3960 .elementor-element.elementor-element-2b70865 div.elementor-menu-toggle{color:#FFFFFF;}.elementor-3960 .elementor-element.elementor-element-2b70865 div.elementor-menu-toggle svg{fill:#FFFFFF;}.elementor-3960 .elementor-element.elementor-element-2b70865 div.elementor-menu-toggle:hover, .elementor-3960 .elementor-element.elementor-element-2b70865 div.elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-3960 .elementor-element.elementor-element-2b70865 div.elementor-menu-toggle:hover svg, .elementor-3960 .elementor-element.elementor-element-2b70865 div.elementor-menu-toggle:focus svg{fill:#FFFFFF;}.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-menu-toggle:hover, .elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-menu-toggle:focus{background-color:#FFFFFF33;}.elementor-3960 .elementor-element.elementor-element-2b70865{--nav-menu-icon-size:26px;}.elementor-3960 .elementor-element.elementor-element-4e06c84.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3960 .elementor-element.elementor-element-0b8f534 .elementor-button{background-color:transparent;font-family:"metanow", Sans-serif;font-size:15px;font-weight:600;fill:#FFFFFF;color:#FFFFFF;background-image:radial-gradient(at top left, #FFFFFF00 68%, var( --e-global-color-4efdab3 ) 100%);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-4efdab3 );border-radius:50px 50px 50px 50px;padding:12px 35px 12px 35px;}.elementor-3960 .elementor-element.elementor-element-0b8f534 .elementor-button:hover, .elementor-3960 .elementor-element.elementor-element-0b8f534 .elementor-button:focus{background-color:var( --e-global-color-4efdab3 );}.elementor-3960 .elementor-element.elementor-element-0b8f534{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:481px){.elementor-3960 .elementor-element.elementor-element-4a2ba3e{width:20%;}.elementor-3960 .elementor-element.elementor-element-d0948ee{width:59.332%;}.elementor-3960 .elementor-element.elementor-element-4e06c84{width:20%;}}@media(max-width:1200px) and (min-width:481px){.elementor-3960 .elementor-element.elementor-element-4a2ba3e{width:40%;}.elementor-3960 .elementor-element.elementor-element-d0948ee{width:7%;}.elementor-3960 .elementor-element.elementor-element-4e06c84{width:53%;}}@media(max-width:1023px) and (min-width:481px){.elementor-3960 .elementor-element.elementor-element-d0948ee{width:10%;}.elementor-3960 .elementor-element.elementor-element-4e06c84{width:50%;}}@media(max-width:767px) and (min-width:481px){.elementor-3960 .elementor-element.elementor-element-4a2ba3e{width:40%;}.elementor-3960 .elementor-element.elementor-element-d0948ee{width:15%;}.elementor-3960 .elementor-element.elementor-element-4e06c84{width:45%;}}@media(max-width:1366px){.elementor-3960 .elementor-element.elementor-element-22cd085{padding:0px 0px 0px 0px;}}@media(max-width:1023px){.elementor-3960 .elementor-element.elementor-element-0b8f534 .elementor-button{font-size:16px;padding:15px 15px 15px 15px;}}@media(max-width:767px){.elementor-3960 .elementor-element.elementor-element-c47ae3b img{height:34px;}.elementor-3960 .elementor-element.elementor-element-0b8f534{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}@media(max-width:480px){.elementor-3960 .elementor-element.elementor-element-4a2ba3e{width:75%;}.elementor-3960 .elementor-element.elementor-element-c47ae3b img{height:30px;}.elementor-3960 .elementor-element.elementor-element-d0948ee{width:25%;}.elementor-3960 .elementor-element.elementor-element-0b8f534{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;}.elementor-3960 .elementor-element.elementor-element-0b8f534 .elementor-button{font-size:14px;}}/* Start custom CSS for nav-menu, class: .elementor-element-2b70865 *//* === Animated nav: sliding pill + morphing dropdown + megamenu ===
   Pairs with the "Nav — pill + morphing dropdown + megamenu" Custom Code snippet.
   Driven from Appearance → Menus (Screen Options → CSS Classes, Description):
     mnx-mega         on a TOP-LEVEL item → megamenu layout
     mnx-cols-2|3|4   on a TOP-LEVEL item → columns of a flat megamenu (default 2)
     mnx-i-NAME       on ANY item         → icon
     mnx-c-RRGGBB     on ANY item         → that item's accent: icon, hover text,
                                            hover background and icon tint
     mnx-foot         on a CHILD item     → footer row: label is the link, Description the note
     Description on a TOP-LEVEL item      → the panel's heading
     Description on a CHILD item          → sub-label
   Nest items one level deeper and level 2 becomes column headings. */

.elementor-3960 .elementor-element.elementor-element-2b70865{ position:relative; }
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main{ position:relative; z-index:2; }

/* ---------- top level ---------- */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item{
  position:relative; z-index:1; border-radius:99px;
  transition:color .28s cubic-bezier(.22,1,.36,1);
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .sub-arrow svg{
  transition:transform .28s cubic-bezier(.22,1,.36,1);
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li:hover > .elementor-item .sub-arrow svg,
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.highlighted .sub-arrow svg{
  transform:rotate(180deg);
}
/* the script lifts a top-level description into the panel; this covers the moment before */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item .mnx-desc{ display:none !important; }

/* ---------- sliding pill ---------- */
.elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-pill{
  position:absolute; top:0; left:0; z-index:0;
  width:0; height:0; border-radius:99px;
  background:rgba(255,255,255,.14);
  opacity:0; pointer-events:none;
  transform:translate3d(0,0,0);
  transition:transform .3s cubic-bezier(.22,1,.36,1),
             width .3s cubic-bezier(.22,1,.36,1),
             height .3s cubic-bezier(.22,1,.36,1),
             opacity .18s linear;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-pill.is-on{ opacity:1; }
.elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-pill.mnx-instant{ transition:opacity .18s linear; }

/* ---------- shared morphing sheet behind every dropdown ---------- */
.elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-sheet{
  position:absolute; top:0; left:0; z-index:1;
  width:0; height:0; border-radius:16px;
  background:#ffffff;
  box-shadow:0 0 0 1px rgba(15,23,42,.06), 0 18px 44px -14px rgba(15,23,42,.35);
  opacity:0; visibility:hidden; pointer-events:none;
  transform-origin:top left;
  transform:translate3d(var(--mnx-x,0px), calc(var(--mnx-y,0px) - 6px), 0) scale(.97);
  transition:transform .3s cubic-bezier(.22,1,.36,1),
             width .3s cubic-bezier(.22,1,.36,1),
             height .3s cubic-bezier(.22,1,.36,1),
             opacity .2s ease,
             visibility 0s linear .3s;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-sheet.is-open{
  opacity:1; visibility:visible;
  transform:translate3d(var(--mnx-x,0px), var(--mnx-y,0px), 0) scale(1);
  transition:transform .3s cubic-bezier(.22,1,.36,1),
             width .3s cubic-bezier(.22,1,.36,1),
             height .3s cubic-bezier(.22,1,.36,1),
             opacity .2s ease,
             visibility 0s linear 0s;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-sheet.is-mega{ border-radius:18px; }
.elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-sheet.mnx-instant{ transition:none; }

/* ---------- the real first-level dropdown rides on top, transparent ---------- */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown{
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  padding:10px !important;
  min-width:248px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity .22s ease, transform .22s cubic-bezier(.22,1,.36,1);
}
/* The panel starts invisible above and only becomes visible once the script has
   marked it open. Without this rule every dropdown renders fully transparent. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown.mnx-in{
  opacity:1; transform:none; pointer-events:auto;
}
/* A plain (non-mega) dropdown sizes to its own content, so a sub-label sits on one
   line instead of wrapping three deep inside a fixed 248px column — capped so a long
   description can never stretch the panel across the bar. Needs !important because
   SmartMenus caps every dropdown with an inline max-width. Scoped away from the
   megamenu, which has its own width trio further down. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown:not(.mnx-is-mega){
  width:max-content !important;
  min-width:248px !important;
  max-width:min(88vw, 352px) !important;
}
/* Switching straight from one dropdown to another: SmartMenus keeps the old panel
   displayed for a moment after the sheet has already morphed to the new one, so a
   fade would leave its items hanging over the page with no sheet behind them.
   The script sets this to drop the outgoing contents at once instead. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown.mnx-snap{
  opacity:0 !important;
  transition:none !important;
}

/* ---------- typeface ----------
   metanow is registered by the Use Any Font plugin as the family "metanow".
   Set on the panel and everything inside it, so the heading, labels, sub-labels,
   footer note and footer link all match the bar rather than the theme default. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown,
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown *{
  font-family:"metanow", sans-serif !important;
}

/* ---------- sub-items ----------
   --mnx-rgb is written onto the item by the script from its mnx-c-RRGGBB class;
   everything colour-bearing reads it, and falls back to the house blue. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-sub-item{
  display:flex; align-items:flex-start; gap:12px;
  border-radius:11px;
  padding:9px 12px !important;
  font-size:14px; font-weight:500; line-height:1.35;
  color:#0F172A !important;
  background-color:transparent !important;
  transition:background-color .25s ease, color .25s ease;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-sub-item:hover,
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-sub-item:focus,
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-sub-item.elementor-item-active{
  background-color:rgba(var(--mnx-rgb, 10,86,160), .09) !important;
  color:rgb(var(--mnx-rgb, 10,86,160)) !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-txt{ display:block; min-width:0; }
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-desc{
  display:block; margin-top:2px;
  font-size:12px; font-weight:400; line-height:1.4;
  color:#000000d1;
  white-space:normal;
}

/* ---------- icons ---------- */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-ico{
  flex:0 0 auto; width:36px; height:36px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  color:rgb(var(--mnx-rgb, 10,86,160));
  background:rgba(var(--mnx-rgb, 10,86,160), .10);
  box-shadow:inset 0 0 0 1px rgba(var(--mnx-rgb, 10,86,160), .20);
  transition:background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-ico svg{ width:19px; height:19px; display:block; }
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-sub-item:hover .mnx-ico{
  background:rgb(var(--mnx-rgb, 10,86,160));
  color:#ffffff;
  box-shadow:inset 0 0 0 1px rgb(var(--mnx-rgb, 10,86,160));
}

/* ---------- megamenu ----------
   Two things fight us here, both because SmartMenus works through inline styles:
   it caps every dropdown with an inline max-width (so the width trio below needs
   !important, or the grid spills out of a narrow box), and it CLOSES a dropdown
   with an inline display:none. An unconditional "display:grid !important" would
   outrank that and pin the panel open forever — so the grid only switches on
   once the script has marked the panel open with .mnx-in. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .mnx-is-mega{
  grid-template-columns:repeat(var(--mnx-cols,2), minmax(238px,1fr));
  gap:2px 8px;
  width:max-content !important;
  min-width:0 !important;
  max-width:min(92vw, 1060px) !important;
  padding:14px !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .mnx-is-mega.mnx-in{
  display:grid !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li.mnx-cols-2 > .mnx-is-mega{ --mnx-cols:2; }
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li.mnx-cols-3 > .mnx-is-mega{ --mnx-cols:3; }
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li.mnx-cols-4 > .mnx-is-mega{ --mnx-cols:4; }

/* ---------- megamenu: grouped into real columns (three menu levels) ---------- */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .mnx-is-mega.mnx-has-groups{
  align-items:flex-start;
  flex-wrap:wrap;
  gap:24px;
  width:max-content !important;
  min-width:0 !important;
  max-width:min(92vw, 1060px) !important;
  padding:16px 18px !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .mnx-is-mega.mnx-has-groups.mnx-in{
  display:flex !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-is-mega.mnx-has-groups > li{
  flex:0 1 auto; min-width:204px;
}
/* level 2 turns into the column heading */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-is-mega.mnx-has-groups > li > .elementor-sub-item{
  font-size:12px !important; font-weight:600 !important;
  color:#000000 !important;
  background-color:transparent !important;
  padding:6px 12px 10px !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-is-mega.mnx-has-groups > li > .elementor-sub-item:hover{
  background-color:transparent !important; color:#000000 !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-is-mega.mnx-has-groups > li > .elementor-sub-item .mnx-ico,
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-is-mega.mnx-has-groups > li > a .sub-arrow{
  display:none !important;
}
/* level 3 stays visible inside its column. Safe to force here: the script only
   ever inspects first-level panels, so a pinned level 3 cannot wedge it open. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .mnx-is-mega.mnx-has-groups.mnx-in > li > .sub-menu{
  display:block !important;
  position:static !important;
  top:auto !important; left:auto !important; right:auto !important; bottom:auto !important;
  width:auto !important; min-width:0 !important; max-width:none !important;
  margin:0 !important; padding:0 !important;
  opacity:1 !important; visibility:visible !important; transform:none !important;
  background:transparent !important; box-shadow:none !important; border:0 !important;
  z-index:auto !important;
}

/* ---------- panel heading and footer ----------
   Heading: the top-level item's own Description, lifted out of the bar and into
   the panel by the script. Footer: a child carrying mnx-foot — its label is the
   link, its Description the note beside it. Both span the full panel width.
   These come last so they outrank the column-heading rules above. */
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-head{
  grid-column:1 / -1;
  flex:0 0 100%;
  font-size:12px; font-weight:600;
  letter-spacing:0;
  text-transform:none;
  color:#000000;
  padding:2px 12px 10px;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-foot{
  grid-column:1 / -1;
  flex:0 0 100%;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:4px 18px;
  margin-top:8px;
  padding:12px 12px 2px;
  border-top:1px solid #E7EDF4;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-foot > .mnx-desc{
  margin-top:0;
  flex:1 1 220px;
  min-width:0;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-foot > .elementor-sub-item{
  flex:0 0 auto;
  gap:6px;
  padding:4px 0 !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:rgb(var(--mnx-rgb, 10,86,160)) !important;
  background-color:transparent !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-foot > .elementor-sub-item:hover{
  background-color:transparent !important;
  color:#07437D !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-foot .mnx-ico{
  display:none !important;
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-foot .mnx-txt::after{
  content:"→";
  display:inline-block;
  margin-left:6px;
  transition:transform .25s cubic-bezier(.22,1,.36,1);
}
.elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu--dropdown > li.mnx-foot > .elementor-sub-item:hover .mnx-txt::after{
  transform:translateX(3px);
}

/* ---------- the burger menu stays exactly as it was ---------- */
.elementor-3960 .elementor-element.elementor-element-2b70865 nav.elementor-nav-menu--dropdown .mnx-desc{ display:none !important; }
@media (max-width:1024px){
  .elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-pill, .elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-sheet{ display:none !important; }
}

@media (prefers-reduced-motion:reduce){
  .elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-pill, .elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-sheet,
  .elementor-3960 .elementor-element.elementor-element-2b70865 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown{
    transition-duration:1ms !important;
  }
}

/* ---------- breakpoint alignment fix ----------
   The burger takes over at Elementor's tablet breakpoint, which is max-width:1023px
   on this site. The rule above hides the pill and sheet up to 1024px, so at exactly
   1024px the desktop menu was shown while its white sheet stayed hidden, leaving
   dropdown items on a transparent panel. Restore both from 1024px up. */
@media (min-width:1024px){
  .elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-pill, .elementor-3960 .elementor-element.elementor-element-2b70865 .mnx-sheet{ display:block !important; }
}/* End custom CSS */
/* Start custom CSS *//* ==========================================================================
   Web Header (3960) — responsive pass
   The burger now takes over at <=1200px (widget: Breakpoint = tablet_extra),
   so an iPad in landscape gets the mobile menu instead of a six-item bar
   wrapping onto a second line.
   ========================================================================== */

/* 1 - The sliding pill and the morphing white sheet belong to the desktop
   bar. The widget CSS switches them at 1024px; the burger boundary is now
   1200px, so move them with it or the sheet lingers in burger mode. */
@media (max-width: 1200px) {
  .elementor-element-2b70865 .mnx-pill,
  .elementor-element-2b70865 .mnx-sheet { display: none !important; }
}
@media (min-width: 1201px) {
  .elementor-element-2b70865 .mnx-pill,
  .elementor-element-2b70865 .mnx-sheet { display: block !important; }
}

/* 2 - Laptop band (1201-1366): six items plus the logo and the CTA in one
   row. Elementor lets the top level flex-wrap, and a second line would make
   the header taller than the -90px it pulls the hero up by. Tighten the bar
   so it cannot reach that point. */
@media (min-width: 1201px) and (max-width: 1366px) {
  .elementor-element-2b70865 .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
    font-size: 14px;
    padding-left: 11px;
    padding-right: 11px;
  }
}

/* 3 - Bar order in burger mode: logo, CTA, burger. The burger is the primary
   navigation control and belongs at the right thumb edge, not sandwiched
   between the logo and the button. */
@media (max-width: 1200px) {
  .elementor-element-4a2ba3e { order: 1; }
  .elementor-element-4e06c84 { order: 2; }
  .elementor-element-d0948ee { order: 3; }
}

/* 4 - Open-panel height. Elementor caps it at --menu-height (100vh) measured
   from below the header, so the last items sit past the bottom of a phone
   screen with no way to reach them. dvh keeps it honest as the browser
   chrome shows and hides. */
@media (max-width: 1200px) {
  .elementor-element-2b70865 .elementor-nav-menu--toggle { --menu-height: calc(100vh - 110px); }
}
@supports (height: 100dvh) {
  @media (max-width: 1200px) {
    .elementor-element-2b70865 .elementor-nav-menu--toggle { --menu-height: calc(100dvh - 110px); }
  }
}

/* 5 - Burger panel: the same white card as the desktop megamenu, readable
   type at every level, and rows big enough to hit. */
@media (max-width: 1200px) {
  .elementor-element-2b70865 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    border-radius: 0 0 18px 18px;
    box-shadow: 0 18px 44px -14px rgba(15, 23, 42, .35);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }
  /* Elementor sets dropdown sub-items to .85em, which is 13.6px here - too
     small to read or hit on a phone. */
  .elementor-element-2b70865 nav.elementor-nav-menu--dropdown .elementor-sub-item { font-size: 15px; }
  /* 48px minimum row at every level. */
  .elementor-element-2b70865 nav.elementor-nav-menu--dropdown a { min-height: 48px; }
  /* The chevron is the only way to open a level, so make it a real target
     instead of a 10px glyph, and park it at the end of the row. */
  .elementor-element-2b70865 nav.elementor-nav-menu--dropdown .sub-arrow {
    margin: -15px 0 -15px auto;
    padding: 15px 2px 15px 18px;
  }
  /* Third-level rows are indented by Elementor with a transparent left
     border; soften the step so deep product branches stay readable. */
  .elementor-element-2b70865 nav.elementor-nav-menu--dropdown ul ul a { font-size: 14px; }
}

/* 6 - Toggle: a 48px tap target around the 26px icon. Elementor ships a
   22px icon with .25em padding, which lands near 33px. */
@media (max-width: 1200px) {
  .elementor-element-2b70865 .elementor-menu-toggle {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 10px;
  }
}

/* 7 - Long labels must not push the header sideways on a narrow phone. */
@media (max-width: 767px) {
  .elementor-element-0b8f534 .elementor-button { white-space: nowrap; }
  .elementor-element-22cd085 > .elementor-container { flex-wrap: nowrap; }
}


/* 8 - Elementor routes the toggle's hover colour through the dropdown-item
   hover colour, which would turn the burger brand-blue on this dark bar.
   Keep it white in every state; the hover tint lives on the background. */
@media (max-width: 1200px) {
  .elementor-element-2b70865 .elementor-menu-toggle,
  .elementor-element-2b70865 .elementor-menu-toggle:hover,
  .elementor-element-2b70865 .elementor-menu-toggle:focus { color: #FFFFFF; }
  .elementor-element-2b70865 .elementor-menu-toggle svg,
  .elementor-element-2b70865 .elementor-menu-toggle .e-font-icon-svg { fill: #FFFFFF; }
}


/* 9 - Park the burger at the right edge of the bar. The widget's Toggle
   Align is set to right as well; this makes it independent of how that
   control is implemented. The widget container is a column flexbox, so the
   cross axis is the horizontal one. */
@media (max-width: 1200px) {
  .elementor-element-2b70865 .elementor-menu-toggle { align-self: flex-end; }
}/* End custom CSS */