.elementor-5551 .elementor-element.elementor-element-3748da8{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5551 .elementor-element.elementor-element-3748da8.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5551 .elementor-element.elementor-element-cbbbb11{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5551 .elementor-element.elementor-element-cbbbb11.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle{margin-left:auto;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu .elementor-item{font-family:"Lexend Deca", Sans-serif;font-size:14px;font-weight:400;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .elementor-item{color:#1C450C;fill:#1C450C;padding-left:7px;padding-right:7px;padding-top:0px;padding-bottom:0px;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .elementor-item:focus{color:#4A7855;fill:#4A7855;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#1C450C;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a, .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle{color:#1C450C;fill:#1C450C;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown{background-color:#FFFFFF;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a:hover,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a:focus,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle:hover,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle:focus{color:#1C450C;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a:hover,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a:focus,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown a.highlighted{background-color:#FEFCF4;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown .elementor-item, .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Lexend Deca", Sans-serif;font-size:16px;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 div.elementor-menu-toggle{color:#1C450C;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 div.elementor-menu-toggle svg{fill:#1C450C;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 div.elementor-menu-toggle:hover, .elementor-5551 .elementor-element.elementor-element-efaf9e9 div.elementor-menu-toggle:focus{color:#4A7855;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 div.elementor-menu-toggle:hover svg, .elementor-5551 .elementor-element.elementor-element-efaf9e9 div.elementor-menu-toggle:focus svg{fill:#4A7855;}.elementor-5551 .elementor-element.elementor-element-efaf9e9{--nav-menu-icon-size:24px;}.elementor-5551 .elementor-element.elementor-element-2c43667{--display:flex;--justify-content:center;--padding-top:5px;--padding-bottom:5px;--padding-left:0px;--padding-right:0px;}.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-5551 .elementor-element.elementor-element-cbbbb11.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-5551 .elementor-element.elementor-element-efaf9e9{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .elementor-item{padding-left:7px;padding-right:7px;}.elementor-5551 .elementor-element.elementor-element-2c43667{--padding-top:5px;--padding-bottom:5px;--padding-left:12px;--padding-right:0px;}.elementor-5551 .elementor-element.elementor-element-2c43667.e-con{--flex-grow:0;--flex-shrink:0;}}@media(min-width:768px){.elementor-5551 .elementor-element.elementor-element-3748da8{--width:23%;}.elementor-5551 .elementor-element.elementor-element-cbbbb11{--width:55%;}}@media(max-width:1024px) and (min-width:768px){.elementor-5551 .elementor-element.elementor-element-3748da8{--width:auto;}.elementor-5551 .elementor-element.elementor-element-cbbbb11{--width:auto;}.elementor-5551 .elementor-element.elementor-element-2c43667{--width:auto;}}@media(max-width:767px){.elementor-5551 .elementor-element.elementor-element-3748da8{--width:auto;}.elementor-5551 .elementor-element.elementor-element-3748da8.e-con{--flex-grow:0;--flex-shrink:1;}.elementor-5551 .elementor-element.elementor-element-cbbbb11{--width:auto;}.elementor-5551 .elementor-element.elementor-element-2c43667{--width:auto;}}/* Start custom CSS for nav-menu, class: .elementor-element-efaf9e9 *//* Call menu item (tel:1300262797): hidden only in the full desktop menu (the yellow Call button covers that); shown in the hamburger dropdown. */
.elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main .fpc-nav-call { display: none; }

/* FPC header responsive fix 2026-10-08 (template 5551). Restore point: option fpc_backup_header5551_20261008.
   1) Compact nav 1025-1399px. The 9 top-level items need ~680px on one line and wrap below ~1310px,
      so the hamburger takes over from 1399px down. At 1024px and below Elementor's own
      dropdown breakpoint (Tablet) already handles this. */
@media (min-width: 1025px) and (max-width: 1399.98px) {
  .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-nav-menu--main { display: none; }
  .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle { display: flex; margin-inline-end: 12px; } /* gap before the Call button */
  .elementor-5551 .elementor-element.elementor-element-efaf9e9 nav.elementor-nav-menu--dropdown { display: block; }
}

/* 2) Dropdown overlay without Elementor's JS 'Full Width' stretch (switched off). Stretch wrote an
      inline width/left that went stale after a resize while the menu was open and widened the page.
      This widget, the nav column (cbbbb11) and the white bar (04d3a3c) are position:static, so the
      dropdown anchors to the full-width header section fd5bde7 and always matches its width.
      top = section bottom minus its 22px bottom padding = directly under the white bar.
      If fd5bde7's vertical padding changes, update the 22px here. */
.elementor-5551 .elementor-element.elementor-element-efaf9e9 { position: static; }
.elementor-5551 .elementor-element.elementor-element-efaf9e9 nav.elementor-nav-menu--dropdown {
  position: absolute;
  z-index: 9997;
  top: calc(100% - 22px);
  left: 0;
  right: 0;
  width: auto;
  margin-top: 0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cbbbb11 *//* FPC header responsive fix 2026-10-08: static so the nav dropdown anchors to header section fd5bde7.
   See nav widget efaf9e9 Custom CSS. */
.elementor-5551 .elementor-element.elementor-element-cbbbb11 { position: static; }/* End custom CSS */
/* Start custom CSS *//* =====================================================================
   FPC mobile floating navigation pill - header template 5551 (2026-10-14)
   Mobile only (max-width 767px). Tablet and desktop are not affected.

   At the top of the page the mobile header looks and works as before.
   When the header has scrolled fully out of view, the Elementor Custom
   Code snippet "FPC - Mobile floating nav pill" (ID 6700) adds the
   class "fpc-nav-float" to <body>. The rules below then restyle the
   EXISTING white bar 04d3a3c as a compact pill at the top right, reusing
   the same nav widget efaf9e9 (menu fpc-primary-nav) and the same Call
   button 1deb452. Nothing is moved, cloned or added in the DOM.

   Dependencies:
   - Section fd5bde7 has a native mobile Min Height of 118px
     (22px padding + 74px bar + 22px padding), so the page does not jump
     when the bar leaves the flow. Update it if the bar height changes.
   - Pill = 56px tall at 8px from the top, so the menu panel starts at
     76px (8 + 56 + 12).
   - 96px = bottom of the white bar at the top of the page.
   Restore point: option fpc_backup_header5551_floatnav_20261014.
   ===================================================================== */
@media (max-width: 767px) {

  /* 1) Open mobile menu, both states: never taller than the screen, scrolls inside. */
  .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
    max-height: calc(100vh - 96px);
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  /* 2) While the mobile menu is open, hide the 3CX chat launcher so it cannot
        cover menu items. It returns as soon as the menu closes.
     Element name written as call-us-select\6f r (CSS escape for the letter o): Elementor Pro replaces the
     word s-e-l-e-c-t-o-r in Custom CSS with the template wrapper, which would break the 3CX element name. */
  body:has(.elementor-5551 .elementor-menu-toggle.elementor-active) call-us-select\6f r {
    display: none !important;
  }

  /* 3) Anchor links (#postcode-checker etc.) land below the floating pill. */
  html {
    scroll-padding-top: 84px;
  }

  /* 4) Floating pill: the existing white bar fixed at the top right, logo hidden. */
  body.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-04d3a3c {
    position: fixed;
    top: calc(8px + env(safe-area-inset-top, 0px));
    right: calc(8px + env(safe-area-inset-right, 0px));
    left: auto;
    width: auto;
    max-width: none;
    padding: 6px 6px 6px 10px;
    box-shadow: 0 4px 16px rgba(24, 54, 13, 0.16);
    animation: fpc-nav-pill-in 0.2s ease-out;
  }
  body.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-3748da8 {
    display: none;
  }
  /* 8px between the hamburger and the Call button (12px in the full header). */
  body.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-2c43667 {
    padding: 0 0 0 8px;
  }
  /* 44px hamburger tap target in the pill (36px in the full header). */
  body.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle {
    padding: 10px;
  }

  /* 5) Menu panel under the pill: 8px from each side, rounded, scrolls inside. */
  body.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-efaf9e9 nav.elementor-nav-menu--dropdown {
    position: fixed;
    top: calc(76px + env(safe-area-inset-top, 0px));
    left: calc(8px + env(safe-area-inset-left, 0px));
    right: calc(8px + env(safe-area-inset-right, 0px));
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(24, 54, 13, 0.18);
  }
  body.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
    max-height: calc(100vh - 84px - env(safe-area-inset-top, 0px));
    max-height: calc(100dvh - 84px - env(safe-area-inset-top, 0px));
  }
}

/* Logged-in users only: between 601 and 767px WordPress keeps its 46px admin bar fixed. */
@media (min-width: 601px) and (max-width: 767px) {
  body.admin-bar.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-04d3a3c {
    top: 54px;
  }
  body.admin-bar.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-efaf9e9 nav.elementor-nav-menu--dropdown {
    top: 122px;
  }
  body.admin-bar.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-efaf9e9 .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
    max-height: calc(100vh - 130px);
    max-height: calc(100dvh - 130px);
  }
}

/* Pill entrance: short fade/slide, switched off for visitors who prefer reduced motion. */
@keyframes fpc-nav-pill-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.fpc-nav-float .elementor-5551 .elementor-element.elementor-element-04d3a3c {
    animation: none;
  }
}/* End custom CSS */