.elementor-40020 .elementor-element.elementor-element-a6a3a45{--display:flex;--min-height:84px;--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:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:34px;--padding-right:34px;}.elementor-40020 .elementor-element.elementor-element-a6a3a45:not(.elementor-motion-effects-element-type-background), .elementor-40020 .elementor-element.elementor-element-a6a3a45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-40020 .elementor-element.elementor-element-f2a74de img{width:150px;}.elementor-40020 .elementor-element.elementor-element-269e0d3.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-40020 .elementor-element.elementor-element-269e0d3 .elementor-menu-toggle{margin:0 auto;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-40020 .elementor-element.elementor-element-a6a3a45{--content-width:1092px;}}@media(max-width:1024px){.elementor-40020 .elementor-element.elementor-element-a6a3a45{--min-height:68px;}.elementor-40020 .elementor-element.elementor-element-f2a74de img{width:118px;}}@media(max-width:767px){.elementor-40020 .elementor-element.elementor-element-a6a3a45{--padding-top:0px;--padding-bottom:0px;--padding-left:34px;--padding-right:34px;}}/* Start custom CSS *//* HLI header: layout and colours come from the widgets; this adds what the panels can't do */
/* stays at the top while scrolling; under the admin bar when logged in. The theme puts overflow:hidden on
   <body>, which cancels sticky; clip stops sideways scrolling without creating a scroll container */
html:has(.hli-hdr), body:has(.hli-hdr) { overflow-x: clip !important; overflow-y: visible !important; }
.elementor-location-header { position: sticky; top: 0; z-index: 999; }
.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }
.hli-hdr { position: relative; z-index: 50; border-bottom: 1px solid #E3E8EF; }
.hli-hdr :focus-visible { outline: 3px solid #1C5FB8; outline-offset: 2px; border-radius: 4px; }

/* Skip link: first Tab stop, hidden until focused */
.hli-hdr .hli-skip { position: absolute; left: 16px; top: 0; z-index: 100; margin: 0; }
.hli-hdr .hli-skip .elementor-button { transform: translateY(-120%); padding: 10px 16px; border-radius: 0 0 8px 8px;
  background: #07172C !important; color: #FFFFFF; font: 600 15px/1.2 "Montserrat", sans-serif; opacity: 0; transition: transform .15s; }
.hli-hdr .hli-skip .elementor-button:focus {background: #07172C !important; transform: none; opacity: 1; outline-color: var(--e-global-color-a5c28f0); }

.hli-hdr .hli-logo img { display: block; height: auto; }
.hli-hdr .hli-logo, .hli-hdr .hli-donate { flex-shrink: 0; }

/* the content area: at most 1092px, centred, so its edges are those of the pages built as one HTML widget (Elementor's
   1140px box plus their 24px gutter); the gutter eases from 34px to 26px on phones instead of stepping at a breakpoint */
.hli-hdr { --hli-gutter: clamp(26px, 11px + 3.8vw, 34px); }
/* the burger panel's inset: the bar's edge, the gutter or the centred 1092px column, whichever is wider */
.hli-hdr .hli-menu .elementor-nav-menu--dropdown { --hli-edge: max(var(--hli-gutter), calc(50% - 546px)); }
.elementor-location-header .hli-hdr.e-con.e-parent { --padding-left: var(--hli-gutter); --padding-right: var(--hli-gutter); }
.hli-hdr > .e-con-inner { width: 100%; max-width: 1092px; margin-left: auto; margin-right: auto; }
.elementor-location-header .hli-hdr > .e-con-inner { column-gap: clamp(12px, 3vw, 24px); }

/* Desktop: logo at the left edge, Donate at the right edge, the menu items spread evenly across the space between */
@media (min-width: 1201px) {
  .hli-hdr .hli-menu { flex: 1 1 auto; margin: 0 24px; }
  .hli-hdr .hli-menu .elementor-nav-menu--main,
  .hli-hdr .hli-menu .elementor-nav-menu--main .elementor-nav-menu { width: 100%; justify-content: space-between; }
}
.hli-hdr .hli-menu { align-self: center; border: 0; position: relative; top: auto; }
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; align-items: center;
  margin: 0; padding: 0; }

/* Menu, top level: HLI blue, darker and underlined on hover and focus */
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-item { padding: 8px 12px; color: #1C5FB8;
  font: 600 17px/20px "Montserrat", sans-serif; letter-spacing: .1px; }
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-item:hover,
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-item:focus,
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-item.highlighted { color: #11396F; text-decoration: underline;
  text-decoration-thickness: 2px; text-underline-offset: 8px; }
/* The current page, and the section it sits in */
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.hli-hdr .hli-menu .elementor-nav-menu--main li.current-menu-ancestor > .elementor-item { color: #1C5FB8;
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; }
.hli-hdr .hli-menu .sub-arrow, .hli-hdr .hli-menu .sub-arrow svg { cursor: pointer; }

/* Submenus: white card, each item changes background on hover and on keyboard focus */
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu { min-width: 270px !important; width: max-content !important; padding: 10px 0; border-radius: 10px;
  background: #FFFFFF; box-shadow: 0 6px 24px rgba(7, 23, 44, .14); }
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-sub-item { padding: 8px 20px; color: #07172C; background: transparent;
  font: 600 15px/22px "Montserrat", sans-serif; }
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-sub-item:hover,
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-sub-item:focus,
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-sub-item.highlighted { color: #1C5FB8; background: #E8F0FB; }
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-sub-item:focus-visible { outline-offset: -3px; }
.hli-hdr .hli-menu .elementor-nav-menu--main .elementor-sub-item.elementor-item-active { color: #1C5FB8;
  box-shadow: inset 4px 0 0 #1C5FB8; }

/* Submenu buttons (shared.js): the chevron beside each item with a submenu, which opens it; the arrow Elementor puts
   inside the link is then hidden. The layout is keyed on WordPress's class, not the script's, so it holds from the
   first paint */
.hli-hdr .hli-menu .elementor-nav-menu--main li.menu-item-has-children { display: flex; align-items: center; }
.hli-hdr .hli-menu .elementor-nav-menu--main li.menu-item-has-children > a { padding-right: 0; }
.hli-hdr .hli-menu .elementor-nav-menu--main li.hli-has-toggle > a .sub-arrow { display: none; }
.hli-hdr .hli-menu .elementor-nav-menu--main > ul > li.hli-has-toggle > .hli-sub-toggle { margin-left: 2px; }
/* until shared.js adds the button, Elementor's arrow (the same chevron) takes the button's place and look, so the bar
   doesn't move when the button arrives. Nothing on the link changes between the two: Elementor animates its padding */
.hli-hdr .hli-menu .elementor-nav-menu--main > ul > li.menu-item-has-children:not(.hli-has-toggle) > a .sub-arrow {
  display: flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 32px;
  margin: 0 0 0 2px; padding: 0; }
.hli-hdr .hli-menu .elementor-nav-menu--main > ul > li.menu-item-has-children:not(.hli-has-toggle) > a .sub-arrow svg {
  width: 11px; height: 11px; fill: #1C5FB8; }
.hli-hdr .hli-menu .elementor-nav-menu--main .hli-sub-toggle,
.hli-hdr .hli-menu .elementor-nav-menu--main .hli-sub-toggle:hover,
.hli-hdr .hli-menu .elementor-nav-menu--main .hli-sub-toggle:focus { display: flex; align-items: center;
  justify-content: center; width: 28px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 6px;
  background: transparent; color: #1C5FB8; cursor: pointer; }
.hli-hdr .hli-menu .elementor-nav-menu--main .hli-sub-toggle svg { width: 11px; height: 11px; fill: currentColor;
  transition: transform .2s; }
.hli-hdr .hli-menu .elementor-nav-menu--main li.hli-has-toggle:hover > .hli-sub-toggle,
.hli-hdr .hli-menu .elementor-nav-menu--main .hli-sub-toggle[aria-expanded=true] { color: #11396F; }
.hli-hdr .hli-menu .elementor-nav-menu--main .hli-sub-toggle[aria-expanded=true] svg { transform: rotate(180deg); }
/* inside a submenu card the chevron points to the side its submenu opens on, and the row shares the hover colour. The
   link keeps the row's full width, with the chevron over its end: Elementor's menu opens the next level at the end of
   the link */
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu li.menu-item-has-children { display: block; position: relative; }
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu li.menu-item-has-children > a { padding-right: 48px; }
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu .hli-sub-toggle,
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu .hli-sub-toggle:hover,
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu .hli-sub-toggle:focus { position: absolute; top: 0; right: 0;
  bottom: 0; width: 40px; height: auto; border-radius: 0; }
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu .hli-sub-toggle svg,
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu .hli-sub-toggle[aria-expanded=true] svg { transform: rotate(-90deg); }
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu li.hli-has-toggle:hover > a,
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu li.hli-has-toggle:hover > .hli-sub-toggle,
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu li.hli-has-toggle > a[aria-expanded=true],
.hli-hdr .hli-menu .elementor-nav-menu--main .sub-menu li.hli-has-toggle > .hli-sub-toggle[aria-expanded=true] {
  color: #1C5FB8; background: #E8F0FB; }
.hli-hdr .hli-menu .elementor-nav-menu--main .hli-sub-toggle:focus-visible { outline-offset: -3px; }

/* Donate */
.hli-hdr .hli-donate .elementor-button { white-space: nowrap; padding: 11px 22px; border-radius: 40px; background: #FFE655; color: #1C5FB8;
  font: 600 17px/1 "Montserrat", sans-serif; box-shadow: 0 2px 6px rgba(7, 23, 44, .12); }
.hli-hdr .hli-donate .elementor-button:hover,
.hli-hdr .hli-donate .elementor-button:focus { background: #1C5FB8; color: #FFE655; }

/* Up to 1200px the six items don't fit beside the logo and Donate, so the burger takes over above Elementor's
   own 1024px switch too */
@media (min-width: 1025px) and (max-width: 1200px) {
  .hli-hdr .hli-menu .elementor-nav-menu--main { display: none !important; }
  .hli-hdr .hli-menu .elementor-menu-toggle { display: flex !important; }
  .hli-hdr .hli-menu nav.elementor-nav-menu--dropdown { display: block; }
}
/* Tablet and phone: logo, Donate, then the burger; the menu drops below the bar */
@media (max-width: 1200px) {
  /* logo and Donate shrink with the screen, so logo, Donate and the burger fit down to 320px */
  .hli-hdr .hli-logo { margin-right: auto; width: clamp(84px, 27vw, 118px); }
  .hli-hdr .hli-logo img { width: clamp(84px, 27vw, 118px); }
  .hli-hdr .hli-menu { order: 3; flex: 0 0 auto; width: auto; }
  .hli-hdr .hli-donate { order: 2; }
  .hli-hdr .hli-donate .elementor-button { display: inline-flex; align-items: center; height: 44px;
    padding: 0 clamp(12px, 4vw, 18px); font-size: clamp(14px, 3.6vw, 15px); }
  /* Burger: a round button like Donate, three bars drawn in CSS that turn into a cross when open */
  .hli-hdr .hli-menu .elementor-menu-toggle { position: relative; width: 44px; height: 44px; padding: 0;
    border: 2px solid #1C5FB8; border-radius: 40px; background: #FFFFFF; color: #1C5FB8; cursor: pointer; }
  .hli-hdr .hli-menu .elementor-menu-toggle svg { display: none !important; }
  .hli-hdr .hli-menu .elementor-menu-toggle::before,
  .hli-hdr .hli-menu .elementor-menu-toggle::after { content: ""; position: absolute; left: 50%; top: 50%;
    width: 18px; height: 2px; margin: -1px 0 0 -9px; border-radius: 2px; background: currentColor;
    transition: transform .2s, box-shadow .2s, opacity .2s; }
  .hli-hdr .hli-menu .elementor-menu-toggle::before { box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor; }
  .hli-hdr .hli-menu .elementor-menu-toggle::after { opacity: 0; }
  .hli-hdr .hli-menu .elementor-menu-toggle:hover { background: #E8F0FB; }
  .hli-hdr .hli-menu .elementor-menu-toggle[aria-expanded=true] { background: #1C5FB8; color: #FFFFFF; }
  .hli-hdr .hli-menu .elementor-menu-toggle[aria-expanded=true]::before { box-shadow: none; transform: rotate(45deg); }
  .hli-hdr .hli-menu .elementor-menu-toggle[aria-expanded=true]::after { opacity: 1; transform: rotate(-45deg); }

  /* The panel: the header opening downwards, white, scrolls by itself if taller than the screen */
  .hli-hdr .hli-menu, .hli-hdr .hli-menu .elementor-widget-container { position: static; }
  .hli-hdr .hli-menu nav.elementor-nav-menu--dropdown { position: absolute; top: 100%; left: 0; right: 0;
    width: auto !important; margin-top: 0 !important; max-height: calc(100vh - 68px) !important;
    max-height: calc(100dvh - 68px) !important; overflow-y: auto; overscroll-behavior: contain;
    border-top: 1px solid #E3E8EF; background: #FFFFFF; box-shadow: 0 16px 28px rgba(7, 23, 44, .18); }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown a { display: flex; align-items: center; justify-content: space-between;
    min-height: 54px; padding: 14px var(--hli-edge); border: 0; border-bottom: 1px solid #E3E8EF; background: #FFFFFF; color: #1C5FB8;
    font: 600 17px/1.3 "Montserrat", sans-serif; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .sub-menu a { min-height: 48px; padding-left: calc(var(--hli-edge) + 16px);
    background: #F4F7FB; color: #07172C; font-weight: 500; font-size: 16px; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .sub-menu .sub-menu a { padding-left: calc(var(--hli-edge) + 32px); }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown a:hover,
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown a:focus,
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown a.highlighted { background: #E8F0FB; color: #11396F; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown a.elementor-item-active { color: #1C5FB8;
    box-shadow: inset 4px 0 0 #1C5FB8; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown li.current-menu-ancestor > a { color: #1C5FB8; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown :focus-visible { outline-offset: -3px; }
  /* Submenu arrow: blue, in a round tap target at the right edge, flips when open. Elementor gives the svg no
     fill, so it would stay black whatever the text colour */
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .sub-arrow { display: flex; align-items: center;
    justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; margin: 0 0 0 12px; padding: 0;
    border-radius: 50%; background: #E8F0FB; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .sub-arrow svg { width: 12px; height: 12px; fill: #1C5FB8;
    transition: transform .2s; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown a[aria-expanded=true] .sub-arrow { background: #1C5FB8; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown a[aria-expanded=true] .sub-arrow svg { fill: #FFFFFF;
    transform: rotate(180deg); }
  /* The submenu button (shared.js) beside the item's link; the arrow inside the link is then hidden */
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown li.hli-has-toggle { display: flex; flex-wrap: wrap; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown li.hli-has-toggle > a { flex: 1 1 0; min-width: 0; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown li.hli-has-toggle > a .sub-arrow { display: none; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown li.hli-has-toggle > .sub-menu { flex: 0 0 100%; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle,
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle:hover,
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle:focus { display: flex; align-items: center;
    justify-content: center; flex: 0 0 auto; margin: 0; padding: 0 var(--hli-edge) 0 12px; border: 0;
    border-bottom: 1px solid #E3E8EF; border-radius: 0; background: #FFFFFF; cursor: pointer; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .sub-menu .hli-sub-toggle { background: #F4F7FB; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle span { display: flex; align-items: center;
    justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #E8F0FB; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle svg { width: 12px; height: 12px; fill: #1C5FB8;
    transition: transform .2s; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle:hover span { background: #D3E2F7; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle[aria-expanded=true] { background: #E8F0FB; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle[aria-expanded=true] span { background: #1C5FB8; }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle[aria-expanded=true] svg { fill: #FFFFFF;
    transform: rotate(180deg); }
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .hli-sub-toggle:focus-visible { outline-offset: -3px; }
}
/* the panel ends at the bottom of the screen and scrolls inside: below the bar (84px tall above 1024px) and the
   admin bar when logged in. Elementor's own limit (100vh) would push its end off the screen */
@media (min-width: 1025px) and (max-width: 1200px) {
  .hli-hdr .hli-menu nav.elementor-nav-menu--dropdown { max-height: calc(100dvh - 84px) !important; }
  .admin-bar .hli-hdr .hli-menu nav.elementor-nav-menu--dropdown { max-height: calc(100dvh - 116px) !important; }
}
@media (min-width: 783px) and (max-width: 1024px) {
  .admin-bar .hli-hdr .hli-menu nav.elementor-nav-menu--dropdown { max-height: calc(100dvh - 100px) !important; }
}
@media (max-width: 782px) {
  .admin-bar .hli-hdr .hli-menu nav.elementor-nav-menu--dropdown { max-height: calc(100dvh - 114px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .hli-hdr .hli-menu .elementor-menu-toggle::before, .hli-hdr .hli-menu .elementor-menu-toggle::after,
  .hli-hdr .hli-menu .elementor-nav-menu--dropdown .sub-arrow svg,
  .hli-hdr .hli-menu .hli-sub-toggle svg { transition: none; }
}/* End custom CSS */