/* Pin the contact bar and show a white navigation row as scrolling starts. */
:root {--ffc-header-nav-height:100px}
a[data-ffc-pending-link] {cursor:default}
body.freeport-site :is(#content,#content [id],#freeport-footer,#footer-map) {scroll-margin-top:calc(var(--ffc-header-height,157px) + var(--ffc-header-admin-offset,0px) + 16px)}
body.freeport-site.dark-variant #freeport-header {
  --ffc-header-bg:#fff;
  --ffc-header-text:#111;
  --ffc-header-line:#dce4ed;
  --ffc-header-logo:none;
  --ffc-header-action-bg:#003366;
  --ffc-header-action-text:#fff;
  --ffc-header-outline:#003366;
  position:sticky;top:var(--ffc-header-admin-offset,var(--wp-admin-bar-offset,0px));
  z-index:9999;width:100%;overflow:visible;background:transparent;
}
body.freeport-site.dark-variant.ffc-homepage #freeport-header {
  margin-bottom:calc(-1 * var(--ffc-header-nav-height));
}
body.freeport-site.dark-variant.ffc-homepage #freeport-header:not(.is-scrolled) {
  --ffc-header-bg:transparent;
  --ffc-header-line:transparent;
}
body.freeport-site.dark-variant.ffc-homepage #content .ffc-hero__inner {
  padding-top:calc(74px + var(--ffc-header-nav-height,100px));
}
body.freeport-site.dark-variant #freeport-header :is(.elementor-element-98601e2,.elementor-element-436aa960) {background:#003366}
body.freeport-site.dark-variant #freeport-header :is(.elementor-element-77be252,.elementor-element-115bb3e2) {
  background:var(--ffc-header-bg);border:0;
  box-shadow:0 1px 0 var(--ffc-header-line);
  transition:background-color 240ms ease,box-shadow 240ms ease;
}
body.freeport-site.dark-variant #freeport-header :is(.elementor-element-c80d914,.elementor-element-50564d11) img {
  filter:var(--ffc-header-logo);
}
body.freeport-site #freeport-header .elementor-element-c80d914 img {width:280px;max-width:100%;height:auto}
body.freeport-site #freeport-header .elementor-element-50564d11 img {width:200px;max-width:100%;height:auto}
body.freeport-site.dark-variant #freeport-header .elementor-element-1cc8630 .top-level-link {
  color:var(--ffc-header-text);transition:color 200ms ease;
}
body.freeport-site.dark-variant #freeport-header .elementor-element-1cc8630 .top-level-link:is(:hover,:focus-visible) {
  text-decoration:underline;text-underline-offset:6px;
}
body.freeport-site.dark-variant #freeport-header .elementor-element-2216317 .elementor-button {
  background:var(--ffc-header-action-bg);border:1px solid var(--ffc-header-action-bg);
  color:var(--ffc-header-action-text);transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease;
}
body.freeport-site.dark-variant #freeport-header .elementor-element-2216317 .ffc-tour-trigger {
  background:transparent;border-color:var(--ffc-header-outline);color:var(--ffc-header-outline);
}
body.freeport-site.dark-variant #freeport-header .elementor-element-2216317 .elementor-button:hover {box-shadow:inset 0 0 0 1px currentColor}
body.freeport-site.dark-variant #freeport-header .elementor-element-2216317 .elementor-button:focus-visible {outline:3px solid #ffb463;outline-offset:3px}

@media(min-width:1025px) {
  body.freeport-site.dark-variant #freeport-header .elementor-element-77be252 {position:relative;inset:auto}
  body.freeport-site.dark-variant #freeport-header .elementor-element-32198b5 > .elementor-widget-wrap {
    grid-template-columns:auto minmax(0,1fr) auto;gap:24px;
  }
  body.freeport-site.dark-variant #freeport-header .elementor-element-1cc8630 {justify-self:stretch}
}
/* Keep every desktop action visible when a laptop cannot fit one navigation row. */
@media(min-width:1025px) and (max-width:1279px) {
  body.freeport-site.dark-variant #freeport-header .elementor-element-32198b5 > .elementor-widget-wrap {
    grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(64px,auto) auto;gap:0 24px;
  }
  body.freeport-site.dark-variant #freeport-header .elementor-element-c80d914 {grid-column:1;grid-row:1}
  body.freeport-site.dark-variant #freeport-header .elementor-element-2216317 {grid-column:2;grid-row:1}
  body.freeport-site.dark-variant #freeport-header .elementor-element-1cc8630 {grid-column:1/-1;grid-row:2;justify-self:center}
  body.freeport-site.dark-variant #freeport-header .elementor-element-1cc8630 .top-level-link {padding-block:10px}
}
@media(min-width:1800px) {
  body.freeport-site.dark-variant.ffc-homepage #content .ffc-hero__inner {padding-top:calc(100px + var(--ffc-header-nav-height,100px))}
}
@media(max-width:1024px) {
  :root {--ffc-header-nav-height:90px}
  body.freeport-site :is(#content,#content [id],#freeport-footer,#footer-map) {scroll-margin-top:calc(var(--ffc-header-height,126px) + var(--ffc-header-admin-offset,0px) + 16px)}
  body.freeport-site.dark-variant #freeport-header .elementor-element-115bb3e2,
  body.freeport-site.dark-variant #freeport-header .elementor-element-115bb3e2 .elementor-widget-wrap {background:var(--ffc-header-bg) !important;transition:background-color 240ms ease}
  body.freeport-site.dark-variant #freeport-header .elementor-element-68e0c8f8 .elementor-icon,
  body.freeport-site.dark-variant #freeport-header .elementor-element-68e0c8f8 .elementor-icon:is(:hover,:focus) {color:var(--ffc-header-outline);fill:var(--ffc-header-outline);border-color:var(--ffc-header-outline)}
}
@media(max-width:1280px) {
  body.freeport-site.dark-variant.ffc-homepage #content .ffc-hero__inner {padding-top:calc(32px + var(--ffc-header-nav-height,100px))}
}
@media(max-width:767px) {
  body.freeport-site.dark-variant.ffc-homepage #content .ffc-hero__inner {padding-top:calc(24px + var(--ffc-header-nav-height,90px))}
}
@media(prefers-reduced-motion:reduce) {
  body.freeport-site #freeport-header * {transition:none !important}
}
/* Comfortable targets without widening the compact mobile contact bar. */
@media(max-width:1024px){#freeport-header .brand-mobile-contact-social .brand-social-links{gap:6px}#freeport-header .brand-mobile-contact-social .brand-social-links a{min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center}}

/* Keep navigation glyphs visible against their navy button fills. */
#freeport-header button.ffc-menu-toggle {color:#fff!important;fill:none!important}
#freeport-header button.ffc-menu-toggle svg {stroke:currentColor;fill:none}

/* Isolate navigation controls from the legacy theme's pink button states. */
body.freeport-site #freeport-header button.ffc-menu-toggle,
body.freeport-site #freeport-header button.ffc-menu-toggle:is(:hover,:focus,:active),
body.freeport-site .mobile-dialog button.brand-drawer-close,
body.freeport-site .mobile-dialog button.brand-drawer-close:is(:hover,:focus,:active) {
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;min-width:44px;min-height:44px;padding:0;
  background:#003366;color:#fff!important;border:1px solid #003366;
  border-radius:6px;box-shadow:none;opacity:1;
  -webkit-tap-highlight-color:rgba(0,51,102,.15);
}
body.freeport-site #freeport-header button.ffc-menu-toggle svg,
body.freeport-site .mobile-dialog button.brand-drawer-close svg {
  display:block;flex:none;width:24px;height:24px;
  color:inherit;stroke:currentColor;stroke-width:2.5;fill:none!important;
}
body.freeport-site #freeport-header button.ffc-menu-toggle:focus-visible,
body.freeport-site .mobile-dialog button.brand-drawer-close:focus-visible {
  outline:3px solid #07549b;outline-offset:3px;
}
body.freeport-site .mobile-dialog .brand-drawer-nav a:is(:hover,:focus,:active),
body.freeport-site .mobile-dialog .brand-drawer-nav summary:is(:hover,:focus,:active) {
  color:#003366;background:#edf3fa;
  -webkit-tap-highlight-color:rgba(0,51,102,.15);
}
body.freeport-site .mobile-dialog .brand-drawer-appointment:is(:hover,:focus,:active) {
  color:#fff;background:#00264d;border-color:#00264d;
}
