{# HEADER #}

header.header,
header .header__bottom{
  background-color: #003C71;
}

header a{
  letter-spacing: 0.5px;
}

header .header__menu-item--depth-1 > .header__menu-link:not(.button){
  padding-right: 12px;
}

header .header__menu-item--depth-1:hover > .header__menu-link:not(.button),
header .header__menu-item--depth-1:focus > .header__menu-link:not(.button),
header .header__menu-item--depth-1:hover svg,
header .header__menu-item--depth-1:focus svg{
  color: #259FC4 !important;
  fill: #259FC4 !important;
}

:root{ --header-solid:#003c71; }  /* the blue when scrolled */

/* Make sure the hero can slide under the header on the listing page */
.blog-hero, .blog-index__hero, .page-header, .banner, .header-image, .featured-image {
  margin-top: 0 !important;
}

/* --- At the very top: make the header transparent no matter the theme --- */
body.body--top header,
body.body--top .header,
body.body--top [role="banner"],
body.body--top .global-header {
  position: sticky; top: 0; z-index: 1000;
}

/* --- After scroll: bring the blue back on the OUTER shell only --- */
body.body--scrolled header,
body.body--scrolled .header,
body.body--scrolled [role="banner"],
body.body--scrolled .global-header {
  background: var(--header-solid) !important;
  background-image: none !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.12) !important;
  border: 0 !important;
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 1000;
}

/* Everything inside remains transparent so you don’t get a “double blue” */
body.body--scrolled header *:not(.button):not(nav),
body.body--scrolled .header *:not(.button):not(nav),
body.body--scrolled [role="banner"] *:not(.button):not(nav),
body.body--scrolled .global-header *:not(.button):not(nav) {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Dropdowns stay readable */
.hs-menu-wrapper ul ul { background:#fff !important; }


@media screen and (min-width: 900px){
  header .header__bottom{
    padding: 50px 0;
  }
  
  .body--scrolled header .header__bottom{
    padding-top: 22px;
    padding-bottom: 22px;
  }
  
  header .header__menu-submenu{
    padding: 10px 0;
    border-radius: 10px;
    border: none;
  }
  
  header .header__menu-submenu a.header__menu-link{
    padding-top: 6px;
    padding-bottom: 6px;
  }
  
  header .header__menu-submenu .header__menu-item:hover a.header__menu-link, 
  header .header__menu-submenu .header__menu-item:focus a.header__menu-link{
    color: #fff !important;
  }
}

@media screen and (max-width: 767px){
  
  header.header .header__logo-image{
    width: 250px;
  }
  
  .header .header__menu-item--depth-1 > .header__menu-link:not(.button),
  .header__menu-item--depth-1 .header__menu-child-toggle svg{
    color: #000 !important;
    fill: #000 !important;
  }
  
  header.header .header__menu--mobile{
    position: fixed;
    top: 0;
    right: 0;
    width: 240px;
    z-index: 99;
    padding: 60px 20px;
    height: 100vh;
  }
  
  header.header .header__menu-toggle--close{
    position: absolute;
    right: 170px;
    top: 20px;
    z-index: 999;
  }
  
  header.header .header__menu-toggle.header__menu-toggle--close svg{
    fill: #000;
    width: 15px;
    height: 15px;
  }
}

{# BODY #}

body a.header__button.button{
  padding-top: 5px;
  padding-bottom: 5px;
}

.hs-button, .button, .hs-button.primary {
  background-color: #0076CE !important;
  color: #ffffff !important;
  font-weight: bold;
  padding: 8px 32px;
  border-radius: 5px;
  font-size: 16px;
  text-transform: none;
  font-family: 'Open Sans', sans-serif;
  border: none;
  box-shadow: 4px 4px 0px #259FC4;
  transition: background-color 0.3s 
    ease-in-out, box-shadow 0.3s 
    ease-in-out;
}

.hs-button:hover, .button:hover, .hs-button.primary:hover {
  background-color: #259FC4 !important;
  box-shadow: none;
}

@media screen and (min-width: 1600px){
  body .dnd-section > .row-fluid, 
  body .content-wrapper, 
  body .header__wrapper{
    max-width: 1560px;
  }
}

{# BLOG #}

.hs-blog-listing form.hs-search-field__form{
  padding: 0;
  border-radius: 32px;
  background-color: #defffa;
  border: 1px solid #a9f0e5;
}

.hs-blog-listing form.hs-search-field__form .hs-search-field__input{
  border-radius: 32px;
  background-color: #defffa;
  padding-left: 30px;
}

.hs-blog-listing form.hs-search-field__form .hs-search-field__input::placeholder{
  color: #000;
}

.hs-blog-listing form.hs-search-field__form .hs-search-field__button{
  background-color: transparent;
  padding-right: 30px;
}

.hs-blog-listing form.hs-search-field__form .hs-search-field__button svg{
  fill: #000000;
  width: 20px;
  height: 20px;
}

.hs-blog-listing .blog-listing__post{
  border-radius: 10px;
  overflow: hidden;
  background-color: #006ABEe6;
}

.hs-blog-listing .blog-listing__post:nth-of-type(12n+6),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+8),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+10){
  background-color: #006ABEe6;
}

.hs-blog-listing .blog-listing__post:nth-of-type(12n+2),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+4),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+9),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+11){
  background-color: #49c5b1ef;
}

.hs-blog-listing .blog-listing__post:nth-of-type(12n+3),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+5),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+7),
.hs-blog-listing .blog-listing__post:nth-of-type(12n+12){
  background-color: #259FC4ef;
}

.hs-blog-listing .blog-listing--card .blog-listing__post-image-wrapper{
  height: auto;
}

.hs-blog-listing .blog-listing--card .blog-listing__post-image{
  aspect-ratio: 4 / 3;
}

.hs-blog-listing .blog-listing__post-content{
  padding: 50px;
  color: #fff;
  letter-spacing: 0.5px;
}

.hs-blog-listing .blog-listing__post-content a{
  color: #fff;
}

.hs-blog-listing .blog-listing__post-content .button{
  background-color: transparent !important;
  padding: 0;
  box-shadow: none;
}

.hs-blog-listing .blog-listing__post-content a:hover,
.hs-blog-listing .blog-listing__post-content .button:hover,
.hs-blog-listing .blog-listing__post-content .button:hover *{
  color: #000 !important;
  fill: #000;
}

.hs-blog-listing .blog-listing__post-content .button span{
  padding-left: 0.5rem;
}

@media screen and (max-width: 767px){
  .hs-blog-listing h1,
  .hs-blog-listing h1 span{
    font-size: 36px !important;
    line-height: 1.5;
  }
  
  .hs-blog-listing .hs-elevate-rich-text h3,
  .hs-blog-listing .hs-elevate-rich-text h2{
    text-align: center !important;
  }
  
  .hs-blog-listing .hs-elevate-rich-text h2{
    font-size: 32px !important;
    margin-bottom: 60px !important;
  }
  
  .hs-blog-listing .hs-elevate-rich-text:has(.cta-buttons){
    width: 
  }
  
  .hs-blog-listing .cta-buttons{
    justify-content: center !important;
    flex-direction: column;
    max-width: 262px;
    margin: 0 auto;
  }
}

{# BLOG POST #}
.hs-blog-post .content-wrapper{
  max-width: 1560px;
}

.hs-blog-post .blog-post__featured-image{
  width: 100%;
  height: 554px;
  border-radius: 30px;
  background-size: cover;
  background-position: center;
  margin-bottom: 20px;
}

.hs-blog-post article.blog-post{
  max-width: 750px;
  margin: 0 auto;
}

@media screen and (max-width: 767px){
  .hs-blog-post .blog-post__featured-image{
    max-height: 200px;
  }
}


{# FOOTER #}

footer .footer-socials svg{
  fill: #0078D7;
}

footer .footer-socials a span{
  line-height: 0;
}

footer .footer-menu ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

footer .footer-menu ul li strong{
  font-size: 15px;
  letter-spacing: 0.25px;
}


footer .footer-menu ul li a{
  font-size: 14px;
  letter-spacing: 0.5px;
  color: #001E39;
}

footer.footer hr{
  border-bottom-color: rgba(241,241,241,1.0) !important;
}

@media screen and (max-width: 900px){
  footer .footer-socials{
    flex-direction: column;
    gap: 30px !important;
    margin-bottom: 40px;
  }
  
  footer .footer-menu{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 60px !important;
  }
  
  footer .footer-bottom{
    text-align: center !important;
    margin-bottom: 0.75rem;
  }
}








