@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Jost:wght@400;500&display=swap');

body, p, li, a, td, label, input, textarea, select {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6, .block_ae6a45d316084e41be5347f9cca2aa44 .itemInnerContent em {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
}

h1, h2, h3, h4, h5, h6 { font-variant-numeric: lining-nums; }

#navTopLevel > li > a, .button, button, input[type="submit"], .imgEffect-content p,
.block_ae6a45d316084e41be5347f9cca2aa44 .itemInnerContent > p, .footerContent h2.contentTitle {
  font-family: 'Jost', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
}

/*--------SIMPLE LIST ITEMS SAME HEIGHT--------*/
.items_ae6a45d316084e41be5347f9cca2aa44 {
        display: -webkit-box; 
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex; 
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        -webkit-box-align: stretch;
        -moz-box-align: stretch;
        -ms-flex-align: stretch;
        -webkit-align-items: stretch;
        align-items: stretch;
}
/*-----END SIMPLE LIST ITEMS SAME HEIGHT--------*/




/* Page title banners: fix crop and navy overlay */
.pageTitleContainer {
  background-attachment: scroll !important;
  background-size: cover !important;
  background-position: center !important;
}
.pageTitleContainer::before {
  background: linear-gradient(to bottom, rgba(27,33,67,.75) 0%, rgba(27,33,67,.45) 45%, rgba(27,33,67,.55) 100%) !important;
}
.pageTitleContainer h1.pageTitle { color: #fff !important; }

/* Homepage hero overlay */
[class*="blockWrap_c9efdc"] { position: relative; }
[class*="blockWrap_c9efdc"]::after {
  content: ""; display: block !important; position: absolute;
  top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
  background: linear-gradient(to bottom, rgba(27,33,67,.7) 0%, rgba(27,33,67,.2) 35%, rgba(27,33,67,.25) 100%);
  pointer-events: none; z-index: 1 !important;
}
.headerAndNavContainer { z-index: 10 !important; }

/* White nav over the dark heroes (desktop only) */
@media (min-width: 765px) {
  #navTopLevel > li > a { color: #fff !important; }
  #navTopLevel > li > a.navButton {
    color: #fff !important; border-color: #fff !important; background: transparent !important;
  }
}

/* Stacked header range: push title below the nav */
@media (min-width: 765px) and (max-width: 1640px) {
  .pageTitleContainer {
    padding-top: 380px !important;
    padding-bottom: 120px !important;
  }
  #navTopLevel > li > a { letter-spacing: 0.12em !important; }
}

/* Service circles: navy overlay instead of gray */
.blockWrap_f7691c935a754d27b66b4cb1922469e3 .imgEffect-overlay {
  background: rgba(27,33,67,.5) !important; opacity: 1 !important;
}



@media (min-width: 765px) and (max-width: 1640px) {
  /* Push the title below the stacked header */
  .pageTitleContainer {
    padding-top: 380px !important;
    padding-bottom: 120px !important;
  }

  /* Slightly tighter nav so the button doesn't wrap to a second row */
  #navTopLevel > li > a {
    letter-spacing: 0.12em !important;
  }
}

@media (max-width: 764px) {
  /* Page title banners */
  .pageTitleContainer h1.pageTitle { font-size: 34px !important; line-height: 1.15 !important; }

  /* Headings */
  .primaryContent > .blockContainer h2.contentTitle { font-size: 30px !important; line-height: 1.2 !important; }
  .fullDetailsItem h2.contentTitle { font-size: 20px !important; line-height: 1.3 !important; }
  .primaryContent h3.contentTitle { font-size: 22px !important; line-height: 1.25 !important; }

  /* Body text */
  .primaryContent p, .primaryContent li { font-size: 16px !important; line-height: 1.65 !important; }

  /* Buttons: allow long labels to wrap cleanly */
  a.button {
    letter-spacing: 0.12em !important; padding: 14px 22px !important;
    white-space: normal !important; max-width: 100%; text-align: center; line-height: 1.4 !important;
  }
}

@media (max-width: 764px) {
  /* Line the button up with the menu links */
  #navTopLevel a.navButton {
    margin-left: 75px !important;
    margin-top: 16px !important;
  }

  /* Start the menu below the logo */
  #navTopLevel { padding-top: 140px !important; }
}

/* Nav button hover: navy fill */
#navTopLevel > li > a.navButton:hover {
  background: #1b2143 !important;
  color: #fff !important;
  border-color: #1b2143 !important;
}