:root{
  --bv-primary:#123c56;
  --bv-accent:#f49b25;
  --bv-ink:#163042;
  --bv-muted:#667788;
  --bv-surface:#f5f8fb;
  --bv-border:#e4ebf1
}

body{
  color:var(--bv-ink);
  background:#fff;
  font-family:"Nunito Sans",sans-serif
}

.ftco-navbar-light{
  box-shadow:0 8px 30px rgba(13,49,69,.08)
}

.hero-wrap.hero-wrap-2{
  min-height:270px;
  background-position:center;
  background-size:cover
}

.hero-wrap.hero-wrap-2 .overlay{
  background:linear-gradient(135deg,rgba(18,60,86,.92),rgba(18,60,86,.65))
}

.hero-wrap.hero-wrap-2 .bread{
  font-weight:900;
  letter-spacing:-.03em;
  font-size:clamp(2rem,5vw,3.4rem)
}

.ftco-section.bg-light{
  background:var(--bv-surface)!important
}

.site-redesign .container,
.ftco-section .container{
  max-width:1180px
}

.content-panel{
  background:#fff;
  border:1px solid var(--bv-border);
  border-radius:18px;
  box-shadow:0 15px 45px rgba(18,60,86,.08);
  padding:28px
}

.content-panel h2,
.content-panel h3{
  color:var(--bv-primary);
  font-weight:800
}

.content-panel p,
.content-panel li{
  color:#4d6272;
  line-height:1.85
}

.content-panel .btn-primary,
.btn-primary{
  background:var(--bv-primary);
  border-color:var(--bv-primary);
  border-radius:10px;
  padding:.65rem 1.1rem
}

.content-panel .btn-primary:hover,
.btn-primary:hover{
  background:#0c2c40;
  border-color:#0c2c40
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px
}

.feature-card{
  background:#fff;
  border:1px solid var(--bv-border);
  border-radius:16px;
  padding:22px;
  box-shadow:0 10px 28px rgba(18,60,86,.06);
  height:100%
}

.feature-card h3{
  font-size:1.05rem;
  margin-bottom:8px
}

.feature-card p{
  margin:0;
  color:var(--bv-muted);
  line-height:1.7
}

.eyebrow{
  display:inline-flex;
  padding:.35rem .7rem;
  border-radius:999px;
  background:#eaf4f9;
  color:var(--bv-primary);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em
}

.section-title{
  font-weight:900;
  color:var(--bv-primary);
  letter-spacing:-.02em
}

.lead-copy{
  font-size:1.08rem;
  color:#536a7a;
  line-height:1.8
}

.blog-entry{
  height:100%;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 35px rgba(18,60,86,.08);
  border:1px solid var(--bv-border)
}

.blog-entry .block-20{
  min-height:190px
}

.blog-entry .text{
  min-height:210px
}

.meta-date{
  background:var(--bv-accent);
  color:#fff;
  border-radius:0 12px 0 0
}

.heading a,
.blog-entry h2 a,
.blog-entry h3 a{
  color:var(--bv-primary)
}

.calc-shell{
  max-width:900px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--bv-border);
  border-radius:18px;
  padding:26px;
  box-shadow:0 15px 45px rgba(18,60,86,.08)
}

.calc-shell .form-control,
.calc-shell select{
  border-radius:10px;
  border:1px solid #d9e3ea;
  min-height:46px
}

.calc-result{
  border-radius:14px;
  background:#eef7fb;
  border:1px solid #d6ebf4;
  padding:20px
}

.author-card{
  background:#fff;
  border:1px solid var(--bv-border);
  border-radius:20px;
  padding:28px;
  box-shadow:0 15px 45px rgba(18,60,86,.08)
}

@media(max-width:767.98px){
  .hero-wrap.hero-wrap-2{
    min-height:220px
  }

  .content-panel,
  .calc-shell,
  .author-card{
    padding:20px
  }

  .blog-entry .text{
    min-height:0
  }
}

.bv-page-accent{
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--bv-primary),var(--bv-accent));
  max-width:1180px;
  margin:0 auto 10px
}

/* Blog archive */
.blog-archive-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
  margin-left:0!important;
  margin-right:0!important
}

.blog-archive-row>.col-md-6.col-lg-4{
  width:auto!important;
  max-width:none!important;
  flex:none!important;
  margin:0!important;
  padding:0!important
}

@media(max-width:991.98px){
  .blog-archive-row{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:575.98px){
  .blog-archive-row{
    grid-template-columns:1fr
  }
}


/* =========================================================
   TOP MENU SOCIAL ICONS
   X + TikTok = BLACK / DARK
   ========================================================= */

.bg-top .ftco-footer-social li,
.bg-top .ftco-footer-social li a{
  opacity:1!important;
  visibility:visible!important;
}

.bg-top .ftco-footer-social li a .social-icon-x,
.bg-top .ftco-footer-social li a .social-icon-tiktok{
  filter:brightness(0)!important;
  opacity:1!important;
  visibility:visible!important;
}

.bg-top .ftco-footer-social li a .social-icon-x *,
.bg-top .ftco-footer-social li a .social-icon-tiktok *{
  fill:#000!important;
  color:#000!important;
  -webkit-text-fill-color:#000!important;
}


/* =========================================================
   FOOTER SOCIAL ICONS
   ALL ICONS = WHITE
   ========================================================= */

/* IMPORTANT:
   ftco-animate can hide the LI itself with
   opacity:0 / visibility:hidden.
   Force the entire social item to remain visible.
*/

.ftco-footer .ftco-footer-social,
.ftco-footer .ftco-footer-social li{
  opacity:1!important;
  visibility:visible!important;
}

.ftco-footer .ftco-footer-social li{
  display:inline-block!important;
  transform:none!important;
}

.ftco-footer .ftco-footer-social li a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  text-decoration:none!important;
}

/* Font-icon social icons */
.ftco-footer .ftco-footer-social li a span.icon-facebook:before,
.ftco-footer .ftco-footer-social li a span.icon-instagram:before,
.ftco-footer .ftco-footer-social li a span.icon-linkedin:before,
.ftco-footer .ftco-footer-social li a span.icon-twitter:before,
.ftco-footer .ftco-footer-social li a span.icon-youtube:before{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}

/* X + TikTok SVG/image icons */
.ftco-footer .ftco-footer-social li a .social-icon-x,
.ftco-footer .ftco-footer-social li a .social-icon-tiktok{
  filter:brightness(0) invert(1)!important;
  opacity:1!important;
  visibility:visible!important;
}

.ftco-footer .ftco-footer-social li a .social-icon-x *,
.ftco-footer .ftco-footer-social li a .social-icon-tiktok *{
  fill:#fff!important;
  color:#fff!important;
  stroke:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Catch SVG icons even when the SVG class is on the SVG itself */
.ftco-footer .ftco-footer-social li a svg.social-icon-x,
.ftco-footer .ftco-footer-social li a svg.social-icon-tiktok{
  fill:#fff!important;
  color:#fff!important;
  stroke:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}


/* =========================================================
   FOOTER HOVER
   ========================================================= */

.ftco-footer .ftco-footer-social li a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.2)!important;
}

.ftco-footer .ftco-footer-social li a:hover span:before{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.ftco-footer .ftco-footer-social li a:hover .social-icon-x,
.ftco-footer .ftco-footer-social li a:hover .social-icon-tiktok{
  filter:brightness(0) invert(1)!important;
}


/* =========================================================
   SAFETY OVERRIDE
   Prevent animation classes from hiding footer icons
   ========================================================= */

.ftco-footer .ftco-footer-social .ftco-animate,
.ftco-footer .ftco-footer-social li.ftco-animate,
.ftco-footer .ftco-footer-social li.ftco-animate a{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

