/* One shared stylesheet for every page. Fonts are self-hosted in /assets/fonts/. */
@font-face{font-family:Raleway;font-weight:400 600;font-style:normal;font-display:swap;src:url(/assets/fonts/raleway-400.woff2) format("woff2")}
@font-face{font-family:Raleway;font-weight:700 900;font-style:normal;font-display:swap;src:url(/assets/fonts/raleway-700.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:400 600;font-style:normal;font-display:swap;src:url(/assets/fonts/lato-400.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:700 900;font-style:normal;font-display:swap;src:url(/assets/fonts/lato-700.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:500 800;font-style:normal;font-display:swap;src:url(/assets/fonts/montserrat-600.woff2) format("woff2")}

:root{--blue:#325885;--blue-2:#0353a0;--green:#0a7d1e;--ink:#4a4a4a;--hero:url(/assets/img/slider.webp)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/1.65 Raleway,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--blue-2)}
h1,h2,h3,h4,h5{margin:0 0 .5em;line-height:1.2}
p{margin:0 0 1em}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 15px}
.wrap.narrow{max-width:700px}
.sr-only,.skip-link:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:100;background:#fff;color:#000;padding:10px 14px}
:focus-visible{outline:3px solid #0353a0;outline-offset:2px}

/* Header */
.topbar{background:#f3f3f3;font:600 15px/44px Montserrat,Arial,sans-serif;color:#333}
.topbar a{color:#006b12;text-decoration:underline}
.mainbar{background:#fff}
.mainbar-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:14px;padding-bottom:14px}
.logo{display:block;line-height:0}
.logo img{height:83px;width:auto;max-width:100%}
.site-menu ul{display:flex;gap:10px;margin:0;padding:0;list-style:none}
.site-menu a{display:block;padding:8px 15px;border-radius:4px;font:500 18px/1.4 Montserrat,Arial,sans-serif;color:#222;text-decoration:none}
.site-menu a:hover,.site-menu a[aria-current]{background:var(--blue-2);color:#fff}
.menu-btn{display:none;width:48px;height:48px;padding:0;border:0;border-radius:4px;background:transparent;color:#0353a0;cursor:pointer;align-items:center;justify-content:center}
.menu-btn svg{display:block}

/* Title bar on inner pages */
.title-bar{background:linear-gradient(rgba(10,10,10,.68),rgba(10,10,10,.68)),var(--hero) center/cover;color:#fff;text-align:center;padding:46px 0 50px}
.title-bar h1{margin:6px 0 0;font:700 44px/1.15 Montserrat,Arial,sans-serif;text-transform:uppercase;overflow-wrap:anywhere}
.crumbs{font:600 14px/1.5 Montserrat,Arial,sans-serif;text-transform:uppercase}
.crumbs a,.crumbs .leaf{color:#fff}
.crumbs .sep{margin:0 8px;color:#e6e6e6}

/* Home hero: photo with the quote form on top of it */
.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;column-gap:40px;align-items:center;min-height:380px;position:relative;padding:22px max(15px,calc((100% - 1200px) / 2 + 15px));background:#2b2b2b;color:#fff}
.hero-copy{display:contents}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.5) 55%,rgba(0,0,0,.2) 100%)}
.hero-tagline{position:relative;z-index:2;margin:0;max-width:560px;font:600 30px/1.35 Montserrat,Arial,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.quote-panel{position:relative;z-index:2;background:rgba(16,16,16,.88);padding:14px 20px 16px}
.panel-top{margin:0;font:500 15px/1.4 Montserrat,Arial,sans-serif}
.panel-title{margin:0;font:900 30px/1.2 Lato,Arial,sans-serif}
.panel-sub{margin:2px 0 10px;font:400 15px/1.35 Lato,Arial,sans-serif;color:#eee}

/* Forms */
.lead-form .lead-field{margin-bottom:6px}
.lead-form label{display:block;margin-bottom:4px;font:600 14px/1.3 Montserrat,Arial,sans-serif;color:#333}
.lead-form input,.lead-form textarea{display:block;width:100%;padding:8px 10px;border:1px solid #d2d2d2;border-radius:4px;background:#f5f5f5;color:#111;font:400 16px/1.3 Raleway,Arial,sans-serif}
.lead-form input{height:38px}
.lead-form textarea{height:60px;resize:vertical}
.lead-form ::placeholder{color:#595959;opacity:1}
.lead-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.btn{display:inline-block;border:0;cursor:pointer;text-align:center;text-decoration:none;font:600 15px/1.2 Montserrat,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}
.btn-form{margin-top:4px;padding:13px 35px;border-radius:4px;background:var(--blue-2);color:#fff;font-size:16px}
.quote-panel .btn-form{width:100%;background:var(--green)}
.btn-form[disabled]{opacity:.6;cursor:wait}
.form-status{margin:10px 0 0;padding:8px 12px;border:2px solid #b32d2e;background:#fff;color:#8a1f1f;font-size:15px}
.form-status[hidden]{display:none}
.lead-form[data-status=sent] .form-status{border-color:#2d7a34;color:#1d5a23}
.lead-form.stacked label{margin-top:10px;font-size:14px;text-transform:uppercase}
.lead-form.stacked input{height:50px}
.lead-form.stacked textarea{height:130px}

/* Page sections */
.badges{padding:30px 0;background:#fff}
.badges .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 40px}
.badges img{height:auto;max-height:64px;width:auto}
.block{padding:50px 0}
.block.alt{background:#f9f9f9}
.intro{padding:10px 0 50px}
.page-h1{margin:0 0 30px;text-align:center;font:700 35px/1.15 Lato,Arial,sans-serif;color:var(--blue)}
.block-title{margin:0;text-align:center;font:700 35px/1.15 Lato,Arial,sans-serif;text-transform:uppercase;color:var(--blue)}
.block-sub{margin:8px 0 24px;text-align:center;font:700 16px/1.4 Lato,Arial,sans-serif;text-transform:uppercase;color:#222}
.blue-h{margin:0;font:700 35px/1.15 Lato,Arial,sans-serif;color:var(--blue)}
.sub-h{margin:0 0 6px;font:400 22px/1.3 Lato,Arial,sans-serif;color:var(--blue)}
.tagline{margin:0 0 14px;font:400 34px/1.2 Lato,Arial,sans-serif;color:#4a4a4a}
.side-h{font:700 35px/1.15 Lato,Arial,sans-serif;text-transform:uppercase;color:var(--blue)}
.cols{display:grid;gap:40px}
.cols.two{grid-template-columns:1fr 1fr}
.cols.center{align-items:center}
.photo{display:block;width:100%;height:auto}
.list-lead{margin:20px 0 10px;font:600 17px/1.4 Raleway,Arial,sans-serif;text-transform:uppercase;color:var(--blue)}
.block ul{margin:0 0 1em;padding:0;list-style:none}
.block ul li{position:relative;margin-bottom:10px;padding-left:28px;font-weight:600}
.block ul li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;background:var(--blue);-webkit-mask:var(--check) center/contain no-repeat;mask:var(--check) center/contain no-repeat;--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-204.7 323.3L84.7 244.7l33.9-33.9 77.5 77.5 148.7-148.7 33.9 33.9z'/%3E%3C/svg%3E")}
.block ul ul{margin-top:10px}
.block ul.info-list li{padding-left:0;font-weight:400}
.block ul.info-list li::before{display:none}
.cta-band{background:var(--blue);color:#fff;padding:30px 0}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta-top{margin:0;font:400 23px/1.3 Lato,Arial,sans-serif;letter-spacing:1px}
.cta-sub{margin:0;font:400 16px/1.4 Lato,Arial,sans-serif}
.cta-big{margin:0 0 16px;font:700 35px/1.2 Lato,Arial,sans-serif;letter-spacing:1px}
.cta-band.center{text-align:center}
.btn-dark,.btn-grey{padding:16px 26px;border:1px solid #fff;border-radius:1px;color:#fff;white-space:nowrap}
.btn-dark{background:#000}
.btn-grey{background:#3d3d3d}
.btn-blue,.btn-blue-sm{background:var(--blue-2);color:#fff;border-radius:4px;padding:14px 34px}
.btn-blue-sm{padding:10px 18px;font-size:14px}

/* Contact, feedback, thank-you */
.contact-cols{grid-template-columns:1fr 2fr}
.contact-info{padding-right:30px;border-right:1px solid #d6d6d6}
.info-title{margin:0 0 14px;font:700 20px/1.3 Montserrat,Arial,sans-serif;color:#222}
.info-list{margin:0;padding:0;list-style:none}
.info-list li{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}
.info-list svg{flex:none;margin-top:3px;color:#325985}
.info-list p{margin:0}
.feedback-title{margin:0 0 18px;font:600 30px/1.2 Montserrat,Arial,sans-serif;text-transform:uppercase;color:#325885}
.thanks{padding:90px 0;text-align:center}
.thanks h1{margin:0 0 12px;font:700 48px/1.1 Montserrat,Arial,sans-serif;color:var(--blue)}
.thanks-lead{font:600 22px/1.4 Montserrat,Arial,sans-serif;color:#222}
.thanks .btn{margin-top:14px}

/* Blog */
.with-sidebar{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
.post-card{padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid #e5e5e5}
.post-card h2{margin:0 0 10px;font:700 24px/1.3 Montserrat,Arial,sans-serif}
.post-card h2 a{color:var(--blue);text-decoration:none}
.post-date{margin:0 0 4px;font:600 14px/1.4 Montserrat,Arial,sans-serif;color:#595959;text-transform:uppercase}
.prose{overflow-wrap:anywhere}
.sidebar section{margin-bottom:28px}
.sidebar h2{margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--blue);font:700 18px/1.3 Montserrat,Arial,sans-serif;color:#222}
.sidebar ul{margin:0;padding:0;list-style:none}
.sidebar li{padding:7px 0;border-bottom:1px solid #eee}
.block .sidebar li{padding-left:0;font-weight:400}
.block .sidebar li::before{display:none}
.sidebar a{color:var(--blue-2)}

/* Footer */
.footer-widgets{background:#1e1e1e;color:#d6d6d6;padding:44px 0 24px}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.site-footer h2{margin:0 0 16px;font:700 16px/1.3 Montserrat,Arial,sans-serif;color:#fff;letter-spacing:.5px}
.site-footer a{color:#fff}
.footer-logo{display:block;width:200px;height:auto;margin-bottom:14px}
.footer-links{margin:0;padding:0;list-style:none}
.footer-links li{padding:8px 0;border-bottom:1px solid #444}
.info-block{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #444}
.info-block h3{margin:0;font:600 16px/1.3 Montserrat,Arial,sans-serif;color:#fff}
.info-block p{margin:0}
.footer-bottom{background:#fff;padding:22px 0;text-align:center;color:#000}
.footer-title{margin:0 0 6px;font:500 20px/1.3 Montserrat,Arial,sans-serif;color:#222}
.footer-copy{margin:0;font-size:14px;line-height:1.5;color:#000}
.call-bar{display:none}

@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .logo img{height:64px}
  .menu-btn{display:flex}
  .site-menu{display:none;flex:0 0 100%}
  .menu-open .site-menu{display:block}
  .site-menu ul{flex-direction:column;gap:0;border-top:1px solid #e5e5e5}
  .site-menu a{padding:12px 6px;border-radius:0;border-bottom:1px solid #e5e5e5;font-size:16px}
  .title-bar{padding:32px 0 36px}
  .title-bar h1{font-size:28px}
  .hero{display:block;min-height:0;padding:0;background:#1b1b1b}
  .hero-copy{display:flex;align-items:center;position:relative;min-height:230px;padding:26px 20px}
  .hero-shade{background:rgba(0,0,0,.6)}
  .hero-tagline{font-size:22px}
  .quote-panel{background:#1b1b1b;padding:20px 20px 24px}
  .cols.two,.contact-cols,.with-sidebar{grid-template-columns:1fr;gap:28px}
  .contact-info{padding:0 0 20px;border-right:0;border-bottom:1px solid #d6d6d6}
  .block{padding:34px 0}
  .block-title,.page-h1,.side-h,.blue-h{font-size:26px}
  .tagline{font-size:26px}
  .cta-row{flex-direction:column;text-align:center}
  .cta-top{font-size:20px}
  .cta-big{font-size:24px}
  .btn-dark,.btn-grey{white-space:normal}
  .thanks h1{font-size:34px}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:500px){
  body{padding-bottom:50px}
  .call-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;height:50px;background:#1b7f40;color:#fff;font:600 18px/50px Raleway,Arial,sans-serif;text-align:center;text-decoration:none}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
