/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 24 2026 | 22:12:40 */
/* =====================================================================
   HARBOR & SHADE: MODERN LUXURY UPGRADE  (v2, safe version)
   Built for your site: Hello Elementor Child + Elementor Pro header (#113)
   + Jeg Kit nav menu.

   v2: this CSS no longer changes your text colors, button colors or
   service-card text, so dark boxes, text-link buttons and the hover
   cards keep their original design.

   WHERE TO PASTE: Custom CSS & JS > edit your existing CSS snippet >
   select all > paste this over it > Update
     - Where on page: Header   - Where in site: Frontend
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&display=swap');

:root{
  --hs-navy: #01193D;   /* your Primary color   */
  --hs-gold: #DDAD67;   /* your menu hover gold */
}

/* ---------------------------------------------------------------------
   1) NO LOADING ANIMATIONS (fadeInLeft / fadeInRight / fadeInUp)
   --------------------------------------------------------------------- */
.elementor-invisible{ visibility: visible !important; opacity: 1 !important; }
.elementor-element.animated,
.animated{ animation: none !important; -webkit-animation: none !important; }

/* ---------------------------------------------------------------------
   2) STICKY WHITE NAV BAR
   --------------------------------------------------------------------- */
.elementor-location-header{
  position: sticky !important;
  top: 0;
  z-index: 9999;
  background: #fff !important;
  box-shadow: 0 2px 20px rgba(1,25,61,.08);
}
.admin-bar .elementor-location-header{ top: 32px; }
@media (max-width:782px){ .admin-bar .elementor-location-header{ top: 46px; } }

.elementor-location-header > .e-con,
.elementor-location-header > .elementor-element{
  background: #fff !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
.elementor-location-header img{ filter: none !important; }

/* Desktop menu links: navy on the white bar (they were white) */
@media (min-width:1025px){
  .elementor-location-header .jkit-nav-menu .jkit-menu > li > a{
    color: var(--hs-navy) !important;
  }
  .elementor-location-header .jkit-nav-menu .jkit-menu > li > a:hover,
  .elementor-location-header .jkit-nav-menu .jkit-menu > li.current-menu-item > a,
  .elementor-location-header .jkit-nav-menu .jkit-menu > li.current-menu-ancestor > a{
    color: var(--hs-gold) !important;
  }
  .elementor-location-header .jkit-nav-menu .jkit-menu > li > a i,
  .elementor-location-header .jkit-nav-menu .jkit-menu > li > a svg{
    color: var(--hs-navy) !important; fill: var(--hs-navy) !important;
  }
}
/* Mobile hamburger icon: navy so it shows on white */
.elementor-location-header .jkit-hamburger-menu i,
.elementor-location-header .jkit-hamburger-menu svg{
  color: var(--hs-navy) !important; fill: var(--hs-navy) !important;
}

/* Header used to float over the first photo (margin-top:-150px on every
   page). Now the photo starts cleanly below the white bar. */
[data-elementor-type="wp-page"] > .elementor-top-section:first-child,
[data-elementor-type="wp-page"] > .e-con:first-child{
  margin-top: 0 !important;
  padding-top: 110px !important;
}
.elementor-69 > .elementor-top-section:first-child{ padding-top: 150px !important; } /* Home hero */
@media (max-width:1024px){
  [data-elementor-type="wp-page"] > .elementor-top-section:first-child,
  [data-elementor-type="wp-page"] > .e-con:first-child{ padding-top: 90px !important; }
}
@media (max-width:767px){
  [data-elementor-type="wp-page"] > .elementor-top-section:first-child,
  [data-elementor-type="wp-page"] > .e-con:first-child{ padding-top: 70px !important; }
  .elementor-69 > .elementor-top-section:first-child{ padding-top: 90px !important; }
}

/* ---------------------------------------------------------------------
   3) LUXURY HEADLINES (font only, your colors stay the same)
   --------------------------------------------------------------------- */
h1.elementor-heading-title,
h2.elementor-heading-title,
.jkit-heading .heading-title{
  font-family: 'Playfair Display', Georgia, serif !important;
  letter-spacing: -0.01em;
}

/* Slightly larger, airier paragraphs (size only, no color change) */
.elementor-widget-text-editor p{
  font-size: 17px;
  line-height: 1.75;
}
@media (max-width:767px){ .elementor-widget-text-editor p{ font-size: 16px; } }

/* ---------------------------------------------------------------------
   4) BUTTONS: modern rounded shape (your colors stay the same)
   --------------------------------------------------------------------- */
.elementor-button{
  border-radius: 999px !important;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.elementor-button:hover{ transform: translateY(-2px); }

/* Hover color #ECBB73 (gold) on every button, with navy text for readability */
.elementor-button:hover,
.elementor-button:focus{
  background-color: #ECBB73 !important;
  color: var(--hs-navy) !important;
  box-shadow: 0 10px 24px rgba(236,187,115,.35);
}
.elementor-button:hover .elementor-button-text,
.elementor-button:hover .elementor-button-icon,
.elementor-button:focus .elementor-button-text{
  color: var(--hs-navy) !important;
}
.elementor-button:hover svg{ fill: var(--hs-navy) !important; }

/* Leave the text-link "BOOK NOW" in the navy Services box as a plain link */
.elementor-element-73cce8b3 .elementor-button:hover,
.elementor-element-6fa2ac0 .elementor-button:hover{
  background-color: transparent !important;
  box-shadow: none !important;
}
.elementor-element-73cce8b3 .elementor-button:hover .elementor-button-text,
.elementor-element-6fa2ac0 .elementor-button:hover .elementor-button-text,
.elementor-element-73cce8b3 .elementor-button:hover svg,
.elementor-element-6fa2ac0 .elementor-button:hover svg{
  color: #ECBB73 !important; fill: #ECBB73 !important;
}

/* ---------------------------------------------------------------------
   5) SOFTER IMAGES
   --------------------------------------------------------------------- */
.elementor-widget-image img{ border-radius: 14px; }
.elementor-location-header .elementor-widget-image img,
.elementor-location-footer .elementor-widget-image img{ border-radius: 0; }

/* ---------------------------------------------------------------------
   6) STICKY "CALL / FREE ESTIMATE" BAR  (HTML is in the second snippet)
   --------------------------------------------------------------------- */
.hs-cta-bar{
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998;
  display: none; gap: 10px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: #fff; box-shadow: 0 -4px 22px rgba(1,25,61,.14);
}
.hs-cta-bar a{
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 50px; border-radius: 999px; text-decoration: none;
  font-weight: 700; font-size: 15px; letter-spacing: .3px;
}
.hs-cta-bar .hs-call{ background: var(--hs-navy); color: #fff; }
.hs-cta-bar .hs-quote{ background: var(--hs-gold); color: var(--hs-navy); }
.hs-cta-bar svg{ width: 18px; height: 18px; }
@media (max-width:1024px){
  .hs-cta-bar{ display: flex; }
  body{ padding-bottom: 76px; }
}
.hs-float{
  position: fixed; right: 24px; bottom: 24px; z-index: 9998;
  display: none; align-items: center; gap: 10px;
  padding: 16px 26px; border-radius: 999px; text-decoration: none;
  background: var(--hs-gold); color: var(--hs-navy) !important;
  font-weight: 700; font-size: 15px; letter-spacing: .3px;
  box-shadow: 0 12px 30px rgba(1,25,61,.28);
  transition: background .2s ease, color .2s ease;
}
.hs-float:hover{ background: var(--hs-navy); color: #fff !important; }
@media (min-width:1025px){ .hs-float{ display: inline-flex; } }