/* theme.css — shared rules extracted from the 12 page-css files
   (WordPress block / customizer boilerplate stripped; see build script
   in scratchpad for the derivation). DO NOT hand-edit generated sections
   without re-running the generator, or edits will be lost on next run. */

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root{
  /* Flatsome framework vars (site.css references them; WP used to inject them inline) */
  --fs-color-primary:#2c81e2;
  --fs-color-secondary:#232e6b;
  --fs-experimental-link-color:#2c81e2;
  --fs-experimental-link-color-hover:#232e6b;
  /* brand colors */
  --color-navy:#232e6b;
  --color-blue:#2c81e2;
  --color-blue-hover:#006ba1;
  --color-heading:#212121;
  --color-body:#505050;
  /* surfaces (collapses rgb(240,240,240) / rgb(250,250,250) / #f7f7f7 into one alt-grey) */
  --surface-white:#ffffff;
  --surface-white-rgb:255,255,255;
  --surface-alt:#f7f7f7;
  --surface-alt-rgb:247,247,247;
  --surface-navy:#232e6b;
  --surface-blue:#2c81e2;
  --overlay-wash-alpha:0.94;
  /* borders / radius / shadow (collapses 5px vs 10px card radii into one) */
  --border-color:#e0e0e0;
  --radius:10px;
  --radius-button:5px;
  --shadow-card:0 3px 6px -4px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);
  /* layout */
  --container-w:1270px;
  --section-y:clamp(30px,5vw,50px);
  --banner-overlay:rgba(0,0,0,0.35);
}

/* Base / reset elements */
body{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px}
body{color:var(--color-body)}
body{font-size:115%}
@media screen and (max-width:549px){body{font-size:100%}}
body{font-family:"Open Sans",sans-serif}
body{font-weight:400;font-style:normal}
html{background-color:var(--surface-white)}
body{overflow-x:hidden!important}
.col-services *{border-radius:var(--radius)!important}
.col-services .img *{border-bottom-left-radius:0px!important;border-bottom-right-radius:0px!important}
a span.site-title-new:hover{color:black!important;border:none!important}

/* Typography */
h1,h2,h3,h4,h5{color:var(--color-heading)}
h1,h2,h3,h4,h5{font-family:Poppins,sans-serif}
h1,h2,h3,h4,h5,.banner h1,.banner h2{font-weight:500;font-style:normal}
.banner h1{line-height:1.1em}
.banner p{font-size:130%}
.col-services h4{padding-left:20px;padding-right:20px;padding-bottom:20px}

/* Layout / container / grid */
.container,.row{max-width:var(--container-w)}
.row.row-small{max-width:1262.5px}
.row.row-large{max-width:1300px}
.col-process{margin-top:30px}
.col-process .icon-box{margin-top:-65px}
.col-homebg{background-image:url(/images/wp-content_uploads_2021_02_Post-Construction-scaled.jpg_356f5561.jpg);background-position:center center;background-size:cover;margin-left:15px;margin-right:-15px;border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}

/* Hero heights are per-page (art-directed) — see page-css/<page>.css */

/* Section padding is per-page (matches live site) — see page-css/<page>.css */

/* Header & navigation */
.header-main{height:100px}
.header-bottom{min-height:10px}
.header-top{min-height:50px}
.transparent .header-main{height:30px}
.header.show-on-scroll,.stuck .header-main{height:100px!important}
.header-bg-color{background-color:var(--surface-white)}
.header-bottom{background-color:var(--color-blue)}
.header-main .nav>li>a{line-height:16px}
.stuck .header-main .nav>li>a{line-height:50px}
.header-bottom-nav>li>a{line-height:16px}
@media (max-width:549px){.header-main{height:100px}}
.nav-dropdown{border-radius:var(--radius)}
.nav-dropdown{font-size:100%}
.header-top{background-color:var(--surface-alt)!important}
.nav>li>a{font-family:"Open Sans",sans-serif}
.mobile-sidebar-levels-2 .nav>li>ul>li>a{font-family:"Open Sans",sans-serif}
.nav>li>a,.mobile-sidebar-levels-2 .nav>li>ul>li>a{font-weight:400;font-style:normal}
.nav>li>a,.links>li>a{text-transform:none}
.header:not(.transparent) .header-nav-main.nav>li>a{color:var(--color-heading)}
.header:not(.transparent) .header-nav-main.nav>li>a:hover,.header:not(.transparent) .header-nav-main.nav>li.active>a,.header:not(.transparent) .header-nav-main.nav>li.current>a,.header:not(.transparent) .header-nav-main.nav>li>a.active,.header:not(.transparent) .header-nav-main.nav>li>a.current{color:var(--color-blue)}
.header-nav-main.nav-line-bottom>li>a:before,.header-nav-main.nav-line-grow>li>a:before,.header-nav-main.nav-line>li>a:before,.header-nav-main.nav-box>li>a:hover,.header-nav-main.nav-box>li.active>a,.header-nav-main.nav-pills>li>a:hover,.header-nav-main.nav-pills>li.active>a{color:#FFF!important;background-color:var(--color-blue)}
.nav-vertical-fly-out>li+li{border-top-width:1px;border-top-style:solid}
.current-menu-item .nav-top-link::before{height:2px}
.nav-top-link::before{height:2px!important}
.header-contact i::before{color:var(--color-blue)}
@media screen and (max-width:1275px){.header-button{display:none}}
@media screen and (min-width:1276px){.header-bottom{display:none}}

/* Buttons & forms (incl. wpcf7) */
input[type="submit"],input[type="button"],button:not(.icon),.button:not(.icon){border-radius:var(--radius-button)!important}
.button.primary,input[type="submit"].button{background-color:var(--color-blue)!important;border-color:var(--color-blue)!important;color:#fff!important}
.button.primary:hover{background-color:var(--color-blue-hover)!important;border-color:var(--color-blue-hover)!important}
.button.primary.is-outline{background-color:#fcfcfc!important;border:1px solid var(--border-color)!important;color:var(--color-blue)!important}
.button.primary.is-outline:hover{border:1px solid var(--color-blue)!important;color:var(--color-blue)!important}
.button.white{background-color:var(--surface-white)!important;color:var(--color-blue)!important}
.button.white:hover{background-color:var(--surface-alt)!important}
.wpcf7 table,.wpcf7 tr,.wpcf7 td{border:none!important}
input,textarea{border:1px solid var(--border-color)!important;box-shadow:none!important;border-radius:var(--radius-button)!important;background-color:var(--surface-alt)!important;padding:20px 15px!important}
input:focus,textarea:focus{border:1px solid var(--color-blue)!important;background-color:var(--surface-white)!important;box-shadow:0px 0px 3px 0px rgba(0,0,0,0.1)!important}
/* wpcf7 submit styled to match .button.primary */
.wpcf7-submit{width:100%;padding:5px!important;color:#ffffff!important;background-color:var(--color-blue)!important;border:1px solid var(--color-blue)!important;border-radius:var(--radius-button)!important;font-weight:bolder;letter-spacing:0.03em}
.wpcf7-submit:hover,.wpcf7:focus{border:1px solid var(--color-blue-hover)!important;background-color:var(--color-blue-hover)!important}
.wpcf7-submit:active{background-color:var(--color-blue-hover)!important}
.page-id-98 .wpcf7 textarea{min-height:200px;max-width:100%}

/* Page-section helpers (wavy, footer_cta, radius_img, etc.) */
.pre-wavy-section{z-index:250!important;padding-bottom:130px!important}
.wavy-section{margin-top:-130px;z-index:500!important}
.z-999{z-index:888!important}
.site-title-new{font-family:"Poppins",sans-serif;font-weight:700;font-size:20px;margin-left:-50px}
.site-title-new{color:var(--color-blue)}
.radius_img img,.radius_img .img-inner{border-radius:var(--radius)}
.footer_cta{background-image:linear-gradient(120deg,var(--color-navy),var(--color-blue))}
.accent-top-right{position:relative}
.accent-top-right::before{content:"";position:absolute;width:176px;height:171px;right:-50px;top:-50px;z-index:-1!important;background-image:url(/images/wp-content_uploads_2021_02_accent-dots.png_46b8529c.png);background-position:left left;background-size:cover}

/* Cards — one radius, one shadow (site.css box-shadow-2), one border color */
.is-border{border-color:var(--border-color)}

/* Utilities (mobile-only / no-mobile / misc) */
.mobile-only{display:none}
@media (max-width:549px){.mobile-only{display:block!important}}
@media (max-width:549px){.no-mobile{display:none}}

/* Other shared rules */
:where(body){margin:0}
#logo img{max-height:100px}
#logo{width:268px}
.transparent #logo img{max-height:30px}
.stuck #logo img{max-height:100px!important}
.top-bar-nav>li>a{line-height:27px}
@media (max-width:549px){#logo img{max-height:100px}}
.absolute-footer{display:none!important}
#header{z-index:999!important}
select{border:1px solid var(--border-color);box-shadow:none;background-color:var(--surface-alt);border-radius:var(--radius-button);height:42px!important}
select:focus{border:1px solid var(--color-blue)!important;background-color:var(--surface-white)!important;box-shadow:0px 0px 3px 0px rgba(0,0,0,0.1)!important}
.google-map{margin-bottom:-30px!important}
.covid iframe{border-radius:var(--radius)}

/* footer */
#col-465485319>.col-inner{margin:0px 0px -20px 0px}
@media (min-width:550px){#col-465485319>.col-inner{margin:0px 0px -50px 0px}}
#col-1103920304>.col-inner{margin:0px 0px -50px 0px}
#section_1433582795{padding-top:50px;padding-bottom:50px;background-color:var(--color-blue)}
#image_1751264541{width:50%}
#gap-675567339{padding-top:5px}
#gap-1326181616{padding-top:12px}
#gap-376314756{padding-top:5px}
#gap-684630920{padding-top:12px}
#gap-869280078{padding-top:5px}
#gap-1636186874{padding-top:12px}
#gap-1823686704{padding-top:5px}
#gap-673379723{padding-top:12px}
#gap-1210952746{padding-top:5px}
#col-373828240>.col-inner{margin:0px 0px -55px 0px}
#section_33482340{padding-top:30px;padding-bottom:30px;background-color:var(--color-navy)}
