.elementor-23666 .elementor-element.elementor-element-10edfe64{--display:flex;--min-height:0vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;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:#000000;--border-color:#000000;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5px;--padding-bottom:5px;--padding-left:40px;--padding-right:40px;}.elementor-23666 .elementor-element.elementor-element-10edfe64:not(.elementor-motion-effects-element-type-background), .elementor-23666 .elementor-element.elementor-element-10edfe64 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-23666 .elementor-element.elementor-element-10edfe64.e-con{--align-self:center;}.elementor-23666 .elementor-element.elementor-element-139a5f8 img{width:10rem;}.elementor-23666 .elementor-element.elementor-element-5968f12a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0% 0% 0% 0%;--e-nav-menu-horizontal-menu-item-margin:calc( 8px / 2 );}.elementor-23666 .elementor-element.elementor-element-5968f12a.elementor-element{--align-self:center;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-menu-toggle{margin-left:auto;background-color:rgba(255, 255, 255, 0);}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu .elementor-item{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:500;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main .elementor-item{color:#000000;fill:#000000;padding-left:6px;padding-right:6px;padding-top:4px;padding-bottom:4px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main .elementor-item:hover,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-primary );}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:8px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a, .elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-menu-toggle{color:#000000;fill:#000000;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown{background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#19191999;border-radius:10px 10px 10px 10px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a:hover,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a:focus,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a.highlighted,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-menu-toggle:hover,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-menu-toggle:focus{color:var( --e-global-color-primary );}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a:hover,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a:focus,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a.highlighted{background-color:#FFFFFF;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a.elementor-item-active{color:var( --e-global-color-primary );background-color:var( --e-global-color-10f633c );}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown .elementor-item, .elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:500;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:10px;border-top-right-radius:10px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:10px;border-bottom-left-radius:10px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a{padding-left:26px;padding-right:26px;padding-top:18px;padding-bottom:18px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown li:not(:last-child){border-style:solid;border-color:#B0B0B091;border-bottom-width:1px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:12px !important;}.elementor-23666 .elementor-element.elementor-element-5968f12a div.elementor-menu-toggle{color:#000000;}.elementor-23666 .elementor-element.elementor-element-5968f12a div.elementor-menu-toggle svg{fill:#000000;}.elementor-23666 .elementor-element.elementor-element-5968f12a div.elementor-menu-toggle:hover, .elementor-23666 .elementor-element.elementor-element-5968f12a div.elementor-menu-toggle:focus{color:#ACA298;}.elementor-23666 .elementor-element.elementor-element-5968f12a div.elementor-menu-toggle:hover svg, .elementor-23666 .elementor-element.elementor-element-5968f12a div.elementor-menu-toggle:focus svg{fill:#ACA298;}.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button{background-color:var( --e-global-color-primary );font-size:14px;font-weight:600;text-decoration:none;word-spacing:-0.03rem;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:40px 40px 40px 40px;padding:14px 018px 014px 18px;}.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:hover, .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:focus{background-color:#000000;color:#FFFFFF;border-color:var( --e-global-color-primary );}.elementor-23666 .elementor-element.elementor-element-17d8b9f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-23666 .elementor-element.elementor-element-17d8b9f.elementor-element{--align-self:center;}.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:hover svg, .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:focus svg{fill:#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-23666 .elementor-element.elementor-element-10edfe64{--justify-content:space-between;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:-110px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-23666 .elementor-element.elementor-element-5968f12a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown{border-width:0px 0px 1px 0px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a{padding-top:12px;padding-bottom:12px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:29px !important;}.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button{padding:012px 012px 012px 012px;}}@media(max-width:767px){.elementor-23666 .elementor-element.elementor-element-10edfe64{--justify-content:space-between;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:-72px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-23666 .elementor-element.elementor-element-10edfe64.e-con{--align-self:center;}.elementor-23666 .elementor-element.elementor-element-139a5f8 img{width:8rem;}.elementor-23666 .elementor-element.elementor-element-5968f12a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--dropdown a{padding-left:22px;padding-right:22px;padding-top:12px;padding-bottom:12px;}.elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-23666 .elementor-element.elementor-element-5968f12a .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:16px !important;}.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button{font-size:12px;line-height:18px;padding:8px 12px 8px 12px;}}

/* Start custom CSS for button, class: .elementor-element-17d8b9f *//* ============================================================
   NAV CTA - animation only.
   Every control stays in the widget panel: size, padding,
   typography, colours, radius, hover colours and the responsive
   settings. Nothing here sets any of those, and nothing here
   changes display, width, height or spacing.

   IMPORTANT: this button already carries the `arrow-btn` class,
   whose hover arrow lives on .elementor-button::after. That
   pseudo-element is left completely untouched - all three of the
   layers below avoid it:
     .elementor-button-content-wrapper::after   rainbow ring, spins
     .elementor-button-content-wrapper::before  the two drawing lights
     .elementor-button::before                  the wash
   The wrapper stays position:static on purpose, so its two
   pseudo-elements resolve against the button, not against itself.

   Cycle 14.8s:  1.3s draw -> 2.6s double spin -> 0.9s wash -> 10s idle
   ============================================================ */
@property --csa{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
@property --csb{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
@property --csr{ syntax:'<angle>'; inherits:false; initial-value:0deg; }

.elementor-23666 .elementor-element.elementor-element-17d8b9f{
  --ring:2.5px;   /* how far the ring sits outside the button */
  --o:1;          /* ring opacity */
  --wash:#000;    /* colour of the sweep */
  --on:#FFF;      /* label colour while the sweep passes */
  --cyc:14.8s;
}

/* the only two properties added to existing elements, both layout-neutral */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button{ position:relative; }
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper{ border-radius:inherit; }
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-text{ position:relative; z-index:1; }

/* The old `arrow-btn` hover arrow is retired on this button - the ring
   animation replaces it. The class is left on the widget so the rule keeps
   working for every other button that uses it. */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button::after{ display:none !important; }

/* the global Kit re-adds a border on :hover, which reads as a dark
   outline over the ring. Width only - colour stays the panel's. */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:active){ border-width:0 !important; }

.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button::before,
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::before,
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::after{
  content:"";
  position:absolute;
  border-radius:inherit;   /* follows the panel's radius */
  pointer-events:none;
}

/* full rainbow ring - sits behind the button's own background, so only
   the --ring overhang is visible as a rim */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::after{
  inset:calc(var(--ring) * -1);
  z-index:-1;
  opacity:0;
  /* The spectrum is repeated three times around the circle instead of once.
     A conic gradient is centred on the box, so on a 137x43 pill a single
     360deg sweep puts nearly the whole colour wheel on the two short ends
     and leaves the long top and bottom edges sitting inside one narrow
     angular band - a flat colour that barely changes as it turns. At a
     120deg period every edge carries a full spectrum and the rotation
     reads as colour travelling around the button. */
  background:repeating-conic-gradient(from var(--csr),
    #00C1FA 0deg,#0061FF 18deg,#0A429C 33deg,#7E18FF 50deg,
    #4900C8 67deg,#FF6F14 85deg,#FFC700 103deg,#00C1FA 120deg);
  animation:cs-nav-spin var(--cyc) linear infinite;
}

/* both drawing lights on one layer: A leaves the top and sweeps 225deg,
   B leaves the bottom-left and sweeps 135deg, and they meet */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::before{
  inset:calc(var(--ring) * -1);
  z-index:-2;
  opacity:0;
  background:
    conic-gradient(from 0deg,#00C1FA 0deg,#0061FF calc(var(--csa)*.5),#7E18FF var(--csa),#0000 var(--csa)),
    conic-gradient(from 225deg,#FFC700 0deg,#FF6F14 calc(var(--csb)*.5),#4900C8 var(--csb),#0000 var(--csb));
  animation:cs-nav-draw var(--cyc) linear infinite;
}

/* the wash - above the panel's background, below the label */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button::before{
  inset:0;
  background:var(--wash);
  opacity:.6;
  clip-path:inset(0 100% 0 0);
  animation:cs-nav-wash var(--cyc) linear infinite;
}

/* `inherit` in the keyframes means the resting label colour is whatever
   the panel says - only the 5% of the cycle the wash crosses is set here */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-text{ animation:cs-nav-label var(--cyc) linear infinite; }

/* Hover, focus AND click: every layer is hidden and every animation is
   paused, so the button is completely still while it is being used.
   The colours are NOT set here - hover background and hover text colour
   come from the widget panel (Style > Button > Hover). The label keyframes
   use `color:inherit`, which resolves against the button's current colour,
   so the panel's hover text colour flows through automatically. */
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:focus-visible,:active)::before,
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:focus-visible,:active) .elementor-button-content-wrapper::before,
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:focus-visible,:active) .elementor-button-content-wrapper::after,
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:focus-visible,:active) .elementor-button-text{
  animation-play-state:paused;
}
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:focus-visible,:active)::before,
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:focus-visible,:active) .elementor-button-content-wrapper::before,
.elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button:is(:hover,:focus,:focus-visible,:active) .elementor-button-content-wrapper::after{
  opacity:0 !important;
}

/* 1.3s = 8.78%   3.9s = 26.35%   4.8s = 32.43%   of 14.8s */
@keyframes cs-nav-spin{
  0%,8.77%{ --csr:0deg;   opacity:0 }
  8.78%   { --csr:0deg;   opacity:var(--o) }
  26.35%  { --csr:720deg; opacity:var(--o) }
  29%,100%{ --csr:720deg; opacity:0 }
}
@keyframes cs-nav-draw{
  0%          { --csa:0deg;--csb:0deg; opacity:var(--o); animation-timing-function:cubic-bezier(.45,0,.2,1) }
  8.78%,26.35%{ --csa:225deg;--csb:135deg; opacity:var(--o) }
  29%,100%    { --csa:225deg;--csb:135deg; opacity:0 }
}
/* The wash is CLIPPED, never moved. A translated box the size of the button
   ends up a full button-width OUTSIDE it, and nothing clips the button here -
   the ring has to be able to paint beyond its edge. That parked box showed as
   a dark capsule beside the button for the first 3.9s of every cycle.
   clip-path insets are measured against the element's own box, which never
   moves, so the wipe can never paint outside the button. */
@keyframes cs-nav-wash{
  0%,26.35%   { clip-path:inset(0 100% 0 0); animation-timing-function:cubic-bezier(.65,0,.35,1) }
  28.9%,29.9% { clip-path:inset(0 0 0 0) }
  32.43%,100% { clip-path:inset(0 0 0 100%) }
}
@keyframes cs-nav-label{
  0%,26.35%  { color:inherit }
  28%,31%    { color:var(--on) }
  33.5%,100% { color:inherit }
}

@media (prefers-reduced-motion:reduce){
  .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button::before,
  .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::before,
  .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::after,
  .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-text{ animation:none !important }
  .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button::before,
  .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::before,
  .elementor-23666 .elementor-element.elementor-element-17d8b9f .elementor-button-content-wrapper::after{ opacity:0 !important }
}/* End custom CSS */


/* Start custom CSS for container, class: .elementor-element-10edfe64 *//* ---- Fixed navbar height: same 64px at every width ---- */
.elementor-23666 .elementor-element.elementor-element-10edfe64 { height: 64px !important; min-height: 64px !important; }
.elementor-23666 .elementor-element.elementor-element-10edfe64 > .e-con-inner { min-height: 0; }

/* ---- Responsive nav (Glean pattern). Burger takes over at 1150px. ---- */
@media (max-width: 1150px) {
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-widget-nav-menu .elementor-nav-menu--main { display: none; }
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-widget-nav-menu .elementor-menu-toggle { display: flex; }
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-widget-nav-menu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown { display: block; }
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-element-17d8b9f { margin-left: auto !important; margin-right: 0 !important; }
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-element-5968f12a { order: 9; margin-left: 16px !important; margin-right: 0 !important; }
}
/* Panel spans the full header width between 1025-1150.
   NOTE: do NOT set position on the header here - the theme makes it
   position:fixed below 1200px and overriding that exposes the theme
   70px body spacer as white space above the navbar. */
@media (max-width: 1150px) and (min-width: 1025px) {
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-widget-nav-menu { position: static; }
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-widget-nav-menu .elementor-nav-menu--dropdown {
    left: 0 !important; right: 0 !important; width: auto !important;
  }
}

/* ---- Small phones: keep logo + CTA + burger on one row down to 320px ---- */
@media (max-width: 400px) {
  .elementor-23666 .elementor-element.elementor-element-10edfe64 { padding-left: 12px !important; padding-right: 12px !important; }
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-element-139a5f8 img { width: 104px !important; }
  .elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-element-5968f12a { margin-left: 12px !important; }
}

/* accordion script holder - must not take part in the header flex row */
.elementor-23666 .elementor-element.elementor-element-10edfe64 .elementor-element-80fbc19 { display: none !important; }/* End custom CSS */
