.elementor-1507 .elementor-element.elementor-element-8bf5a85{--display:flex;--min-height:100px;--justify-content:flex-end;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:1%;--padding-right:1%;--z-index:9999;}.elementor-1507 .elementor-element.elementor-element-c8c2145{--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:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:4%;}.elementor-1507 .elementor-element.elementor-element-4c178f1{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1507 .elementor-element.elementor-element-e0c6172{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;z-index:99;}.elementor-1507 .elementor-element.elementor-element-e0c6172 img{width:220px;}.elementor-1507 .elementor-element.elementor-element-b49168f{--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:flex-end;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1507 .elementor-element.elementor-element-ed725df{width:initial;max-width:initial;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;transition:background 0.5s;--e-nav-menu-divider-content:"";--e-nav-menu-divider-style:solid;--e-nav-menu-divider-width:0.5px;--e-nav-menu-divider-height:54px;--e-nav-menu-divider-color:#FFFFFF73;--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu .elementor-item{font-family:"space-grotesk-variable", Sans-serif;font-size:14px;font-weight:400;text-transform:uppercase;line-height:1em;letter-spacing:0.5px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-d6cea4e );fill:var( --e-global-color-d6cea4e );padding-left:26px;padding-right:26px;padding-top:15px;padding-bottom:15px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main .elementor-item:focus{color:#fff;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-secondary );}.elementor-1507 .elementor-element.elementor-element-ed725df .e--pointer-framed .elementor-item:before,
					.elementor-1507 .elementor-element.elementor-element-ed725df .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-secondary );}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:var( --e-global-color-secondary );}.elementor-1507 .elementor-element.elementor-element-ed725df .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-1507 .elementor-element.elementor-element-ed725df .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:var( --e-global-color-secondary );}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown{border-radius:6px 6px 6px 6px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:6px;border-top-right-radius:6px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:6px;border-bottom-left-radius:6px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown a{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown li:not(:last-child){border-style:solid;border-color:#F3F3F47D;border-bottom-width:0.5px;}.elementor-1507 .elementor-element.elementor-element-ed725df div.elementor-menu-toggle{color:var( --e-global-color-d6cea4e );}.elementor-1507 .elementor-element.elementor-element-ed725df div.elementor-menu-toggle svg{fill:var( --e-global-color-d6cea4e );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1366px){.elementor-1507 .elementor-element.elementor-element-8bf5a85{--justify-content:flex-end;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:1%;--padding-right:1%;}.elementor-1507 .elementor-element.elementor-element-c8c2145{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1507 .elementor-element.elementor-element-4c178f1{--justify-content:center;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--main .elementor-item{padding-left:15px;padding-right:15px;padding-top:15px;padding-bottom:15px;}}@media(max-width:1200px){.elementor-1507 .elementor-element.elementor-element-8bf5a85{--justify-content:flex-end;}.elementor-1507 .elementor-element.elementor-element-c8c2145{--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;}.elementor-1507 .elementor-element.elementor-element-e0c6172 img{width:200px;}.elementor-1507 .elementor-element.elementor-element-b49168f{--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-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown a{padding-left:28px;padding-right:28px;}.elementor-1507 .elementor-element.elementor-element-ed725df{--nav-menu-icon-size:24px;}}@media(max-width:767px){.elementor-1507 .elementor-element.elementor-element-8bf5a85{--min-height:74px;}.elementor-1507 .elementor-element.elementor-element-c8c2145{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1507 .elementor-element.elementor-element-4c178f1{--width:50%;}.elementor-1507 .elementor-element.elementor-element-e0c6172 img{width:123px;}.elementor-1507 .elementor-element.elementor-element-b49168f{--width:50%;--justify-content:center;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown{border-radius:6px 6px 6px 6px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:6px;border-top-right-radius:6px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:6px;border-bottom-left-radius:6px;}.elementor-1507 .elementor-element.elementor-element-ed725df .elementor-nav-menu--dropdown a{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;}}@media(min-width:768px){.elementor-1507 .elementor-element.elementor-element-4c178f1{--width:20%;}}@media(max-width:1200px) and (min-width:768px){.elementor-1507 .elementor-element.elementor-element-4c178f1{--width:25%;}.elementor-1507 .elementor-element.elementor-element-b49168f{--width:74%;}}/* Start custom CSS for container, class: .elementor-element-4c178f1 *//* =========================================================
   PHOVIR HEADER — nav collapses to hamburger on sticky
   Class-based: serves both header templates.
   No JavaScript. Sticky goes on .phv-bar.

   Required CSS classes (Advanced → CSS Classes):
     .phv-header  outer container (+ .phv-dark on the dark template)
     .phv-row     header row
     .phv-logo    logo container
     .phv-bar     sticky nav+button container
     .phv-nav     Nav Menu widget
     .phv-btn     Button widget
   ========================================================= */

/* ----- 0. colours ----- */
.phv-header {
    --phv-burger-bg:   #263238;
    --phv-burger-fg:   #ffffff;
    --phv-panel-bg:    #263238;
    --phv-panel-fg:    #ffffff;
    --phv-panel-hover: #0048F8;
}

/* dark header on light pages — change these four only */
.phv-header.phv-dark {
    --phv-burger-bg:   #0134B0;
    --phv-burger-fg:   #ffffff;
    --phv-panel-bg:    #0134B0;
    --phv-panel-hover: #0048F8;
}


/* ----- 1. height lock: burger and button identical ----- */
.phv-nav .elementor-menu-toggle,
.phv-btn .elementor-button {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    box-sizing: border-box !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* button widget's 10px bottom margin throws centring out by 5px */
.phv-btn {
    margin: 0 !important;
}


/* ----- 2. hamburger appearance ----- */
.phv-nav .elementor-menu-toggle {
    background: var(--phv-burger-bg) !important;
    color: var(--phv-burger-fg) !important;
    width: 64px !important;
    min-width: 64px !important;
    flex: 0 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    align-self: center !important;
    margin-left: auto;
    transition: opacity .3s ease, transform .3s ease;
}

.phv-nav .elementor-menu-toggle svg,
.phv-nav .elementor-menu-toggle i {
    fill: var(--phv-burger-fg) !important;
    color: var(--phv-burger-fg) !important;
    font-size: 24px;
}


/* ----- 3. dropdown panel, child pages, arrow, square corners -----
   NB the desktop fly-out sub-menus also carry .elementor-nav-menu--dropdown,
   so these rules style both the hamburger panel and the hover submenus.
   !important is required: Elementor sets .elementor-nav-menu--dropdown
   to #fff, which otherwise leaves sub-items white-on-white. */
.phv-nav .elementor-nav-menu--dropdown,
.phv-nav .elementor-nav-menu--dropdown ul,
.phv-nav .elementor-nav-menu--dropdown li {
    background-color: var(--phv-panel-bg) !important;
}

/* square corners — Elementor puts a 6px radius on the panel,
   the sub-menu ul AND the sub-item link */
.phv-nav .elementor-nav-menu--dropdown,
.phv-nav .elementor-nav-menu--dropdown ul,
.phv-nav .elementor-nav-menu--dropdown li,
.phv-nav .elementor-nav-menu--dropdown a,
.phv-nav ul.sub-menu.elementor-nav-menu--dropdown {
    border-radius: 0 !important;
}

.phv-nav .elementor-nav-menu--dropdown a,
.phv-nav .elementor-nav-menu--dropdown a.elementor-sub-item {
    color: var(--phv-panel-fg) !important;
    background-color: transparent !important;
}

/* indent + slightly de-emphasise child pages */
.phv-nav .elementor-nav-menu--dropdown a.elementor-sub-item {
    padding-left: 32px !important;
    font-size: 12px !important;
    opacity: .85;
}

/* chevron SVG has a hardcoded black fill — make it follow the text colour */
.phv-nav .elementor-nav-menu .sub-arrow svg,
.phv-nav .elementor-nav-menu .sub-arrow svg path,
.phv-nav .elementor-nav-menu--dropdown .sub-arrow svg,
.phv-nav .elementor-nav-menu--dropdown .sub-arrow svg path {
    fill: currentColor !important;
}

.phv-nav .elementor-nav-menu--dropdown .sub-arrow {
    color: var(--phv-panel-fg) !important;
}

.phv-nav .elementor-nav-menu--dropdown a:hover,
.phv-nav .elementor-nav-menu--dropdown a.elementor-item-active,
.phv-nav .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.phv-nav .elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active {
    background-color: var(--phv-panel-hover) !important;
    color: var(--phv-panel-fg) !important;
    opacity: 1;
}


/* ----- 4. background overlay behind the open dropdown ----- */
body::after {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 28, .6);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
    z-index: 9998;
    pointer-events: none;
}

body:has(.elementor-menu-toggle.elementor-active)::after {
    opacity: 1;
    visibility: visible;
}

body:has(.elementor-menu-toggle.elementor-active) .phv-bar {
    z-index: 10000 !important;
}


/* ----- 5. ≤1200px: dropdown overlays instead of pushing the page ----- */
@media (max-width: 1200px) {

    .phv-bar {
        position: relative;
    }

    .phv-nav {
        position: static !important;
    }

    .phv-nav nav.elementor-nav-menu--dropdown {
        position: absolute !important;
        top: 100% !important;
        right: 15px !important;
        left: auto !important;
        width: 260px !important;
        max-width: calc(100vw - 30px) !important;
        z-index: 9999 !important;
        margin: 6px 0 0 0 !important;
    }
}


/* ----- 6. ≤767px: single-row header ----- */
@media (max-width: 767px) {

    .phv-nav .elementor-menu-toggle,
    .phv-btn .elementor-button {
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

    .phv-row {
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 0 15px !important;
    }

    .phv-logo {
        width: auto !important;
        flex: 0 0 auto !important;
    }

    .phv-logo img {
        width: 100px !important;
        max-width: 100px !important;
    }

    .phv-bar {
        width: auto !important;
        flex: 1 1 auto !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .phv-nav,
    .phv-btn {
        width: auto !important;
        flex: 0 0 auto !important;
    }

    .phv-btn .elementor-button {
        padding-left: 14px !important;
        padding-right: 14px !important;
        font-size: 11px !important;
        white-space: nowrap;
    }

    .phv-nav .elementor-menu-toggle {
        width: 48px !important;
        min-width: 48px !important;
    }

    .phv-nav .elementor-menu-toggle svg,
    .phv-nav .elementor-menu-toggle i {
        font-size: 20px;
    }

    /* Elementor writes left/width inline on sticky — !important required.
       padding-right must be calc(1% + 15px): the outer container uses a
       PERCENTAGE padding (1%), so a flat 15px causes a 3.75px jump. */
    .phv-bar.elementor-sticky--active {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-right: calc(1% + 15px) !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }
}


/* ----- 7. ≥1201px: swipe from full menu to hamburger ----- */
@media (min-width: 1201px) {

    .phv-nav {
        position: relative;
    }

    /* overflow must stay VISIBLE at rest or the hover fly-out submenus,
       which hang below the 54px bar, get clipped */
    .phv-nav .elementor-nav-menu--main {
        height: 54px;
        overflow: visible;
        opacity: 1;
        transform: translateX(0);
        max-width: 1200px;
        transition: opacity .35s ease, transform .35s ease, max-width .45s ease;
    }

    .phv-nav .elementor-nav-menu--main ul.elementor-nav-menu {
        flex-wrap: nowrap !important;
        height: 54px;
    }

    .phv-nav .elementor-menu-toggle {
        display: none !important;
        opacity: 0;
        transform: scale(.8);
    }

    .phv-bar.elementor-sticky--active {
        align-items: center;
    }

    /* clipping is only needed while the menu is collapsing */
    .phv-bar.elementor-sticky--active .phv-nav .elementor-nav-menu--main {
        position: absolute;
        right: 0;
        top: 0;
        height: 54px;
        overflow: hidden;
        opacity: 0;
        transform: translateX(30px);
        max-width: 0;
        pointer-events: none;
    }

    .phv-bar.elementor-sticky--active .phv-nav .elementor-menu-toggle {
        display: inline-flex !important;
        opacity: 1;
        transform: scale(1);
    }

    .phv-nav nav.elementor-nav-menu--dropdown {
        display: none;
    }

    /* !important needed — Elementor's "Full Width" dropdown writes width/left inline */
    .phv-nav .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
        display: block !important;
        position: absolute;
        top: 100%;
        right: 0 !important;
        left: auto !important;
        width: 320px !important;
        max-width: calc(100vw - 30px) !important;
        z-index: 9999;
    }
}/* End custom CSS */