/*
Theme Name: Harmony Provider Library
Theme URI: https://github.com/Automattic/harmony-provider-library-theme
Author: Automattic
Description: A starter theme called Harmony Provider Library.
Version: 1.0.0
*/




@font-face {
  font-family: IBM Plex Sans;
  src: url(inc/fonts/IBMPlexSans-Regular.ttf) format("truetype")
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: italic;
  src: url(inc/fonts/IBMPlexSans-Italic.ttf) format("truetype")
}

@font-face {
  font-family: IBM Plex Sans;
  font-weight: 700;
  src: url(inc/fonts/IBMPlexSans-Bold.ttf) format("truetype")
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: italic;
  font-weight: 700;
  src: url(inc/fonts/IBMPlexSansCondensed-BoldItalic.ttf) format("truetype")
}

@font-face {
  font-family: IBM Plex Sans Condensed;
  src: url(inc/fonts/IBMPlexSansCondensed-Regular.ttf) format("truetype")
}

@font-face {
  font-family: IBM Plex Sans Condensed;
  font-style: italic;
  src: url(inc/fonts/IBMPlexSansCondensed-Italic.ttf) format("truetype")
}

@font-face {
  font-family: IBM Plex Sans Condensed;
  font-weight: 700;
  src: url(inc/fonts/IBMPlexSansCondensed-Bold.ttf) format("truetype")
}

@font-face {
  font-family: IBM Plex Sans Condensed;
  font-style: italic;
  font-weight: 700;
  src: url(inc/fonts/IBMPlexSansCondensed-BoldItalic.ttf) format("truetype")
}

header.site-header {
  display: flex;
  font-size: .85rem;
  justify-content: space-between;
  margin-bottom: 2rem;
  width: 100%;
  z-index: 9999
}

@media screen and (max-width:768px) {
  header.site-header {
    position: sticky;
    top: 0
  }
}

header.site-header a {
  color: #0E4B6B;
}

header.site-header .toggle-btn {
  background-color: #fefcfa;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 6px;
  color: #000;
  display: none;
  height: 40px;
  width: 60px;
  z-index: 500
}

@media screen and (max-width:920px) {
  header.site-header .toggle-btn {
    display: block
  }
}

header.site-header #menu-bootstrap {
  justify-content: flex-end;
  width: 100%;
  z-index: 100
}

@media screen and (max-width:760px) {
  header.site-header #menu-bootstrap {
    margin-left: -2rem;
    margin-right: -2rem
  }
}

header.site-header .navbar {
  margin: 0 1rem;
  padding: 0;
  text-align: right;
  width: 100%
}

@media screen and (max-width:768px) {
  header.site-header .navbar {
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
    margin: 0
  }
}

header.site-header .navbar .nav-link {
  padding: 1rem;
  text-align: center
}

header.site-header .navbar .nav-link.dropdown-toggle.show,
header.site-header .navbar .nav-link:hover {
  background-color: #E7F5FB;
  color: #000
}

header.site-header .navbar .nav-link:after {
  transition: all .12s
}

header.site-header .navbar .nav-link.show:after {
  transform: scale(1.2) rotate(180deg)
}

header.site-header .dropdown-menu {
  animation: fadein .16s;
  border-radius: 0;
  left: auto;
  opacity: 0;
  padding: 0;
  right: 0;
  transition: all .16s;
  width: 350px
}

@media screen and (max-width:768px) {
  header.site-header .dropdown-menu {
    width: 100%
  }
}

header.site-header .dropdown-menu .dropdown-item {
  border-bottom: 1px solid #C5E5F2;
  margin: 0;
  padding: .75rem;
  position: relative;
  white-space: normal;
  word-break: break-word
}

header.site-header .dropdown-menu .dropdown-item:hover {
  background-color: #E7F5FB
}

header.site-header .dropdown-menu .dropdown-item:active {
  background-color: #C5E5F2
}

header.site-header .dropdown-menu .dropdown-item.active {
  background-color: transparent;
  color: #0E4B6B;
  font-weight: 700;
  padding-left: 1rem
}

header.site-header .dropdown-menu .dropdown-item.active:before {
  content: "»";
  display: block;
  left: .25rem;
  position: absolute;
  top: .65rem
}

header.site-header .dropdown-menu.show {
  opacity: 1
}

header.site-header .site-branding {
  align-content: center;
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 1rem;
  width: 100%
}

header.site-header .site-branding img {
  height: 3.5rem;
  margin-right: 1rem;
  z-index: 100
}

@media screen and (max-width:920px) {
  header.site-header .site-branding img {
    margin-left: 1rem
  }
}

@media screen and (max-width:760px) {
  header.site-header .site-branding {
    padding-left: .5rem;
    padding-right: .5rem
  }
}

header.site-header .page-menu-search-form {
  width: 100%
}

@media screen and (max-width:767px) {
  header.site-header .page-menu-search-form {
    padding-right: 1rem
  }
}

header.site-header .page-menu-search-form input#hpl-search {
  background-color: #f4f4f4;
  border: 1px solid #aeaeae;
  border-radius: .5rem;
  width: 100%;
  z-index: 1
}

header.site-header .page-menu-search-form .search-input-container button {
  padding: .5rem 0 .7rem;
  right: 0
}

header.site-header .page-menu-search-form .search-input-container button svg {
  fill: #555
}

header.site-header .container-fluid {
  padding: 0
}

header.site-header .navbar-toggler {
  background-color: #fefcfa;
  z-index: 500
}

header.site-header .navbar-toggler[aria-expanded=true] {
  fill: #fff;
  background-color: #E7F5FB
}

@media screen and (max-width:768px) {
  header.site-header .nav-link {
    background-color: #1679AB;
    color: #fff;
    margin-bottom: 1px
  }

  header.site-header .site-branding {
    margin-bottom: .5rem
  }

  header.site-header #menu-bootstrap {
    animation: fadein .16s;
    backdrop-filter: blur(10px);
    background-color: rgba(22, 121, 171, .7);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
    height: calc(100vh - 88px);
    justify-content: flex-start;
    left: 0;
    margin-top: 1rem;
    opacity: 1;
    padding: 1rem;
    position: absolute;
    top: 4.5rem;
    transition: all .16s;
    width: 100vw
  }

  header.site-header #menu-bootstrap a.dropdown-menu:visited {
    color: #E7F5FB
  }
}

@keyframes fadein {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

html {
  font-size: 16px
}

* {
  text-wrap: wrap;
  word-wrap: break-word;
  box-sizing: border-box
}

h1,
h2,
h3,
h4,
h5,
h6 {
  word-break: break-all
}

body,
figure {
  margin: 0
}

figure {
  text-align: center
}

img {
  height: auto
}

.wp-block-image.alignfull {
  display: block;
  text-align: center
}

.wp-block-image.alignwide {
  margin-left: auto;
  margin-right: auto;
  max-width: 75%
}

.wp-block-image figure.alignleft {
  display: block;
  float: left;
  margin-right: 2em
}

.wp-block-image figure.alignright {
  display: block;
  float: right;
  margin-left: 2em
}

.wp-block-image figure.alignleft,
.wp-block-image figure.alignright {
  display: table
}

.wp-block-image figure.alignleft figcaption,
.wp-block-image figure.alignright figcaption {
  caption-side: bottom;
  color: gray;
  display: table-caption;
  font-size: 75%;
  margin-bottom: 1em
}

html {
  max-width: 100vw;
  overflow-x: hidden
}

body .site {
  display: grid;
  min-height: 100vh
}

body .site footer {
  align-self: flex-end
}

a {
  word-wrap: break-word;
  color: #0E4B6B;
  display: inline-block;
  line-height: 1.2rem;
  margin-bottom: .4rem;
  transition: all .12s
}

a:focus,
a:hover {
  color: #2993C9
}

a:visited {
  color: #0A364D
}

img {
  max-width: 100%;
  position: relative
}

.alignfull {
  margin: 0 calc(50% - 50vw);
  max-width: 100vw;
  overflow-x: hidden;
  width: 100vw
}

@media screen and (max-width:500px) {
  .alignfull {
    margin: 0;
    width: auto
  }
}

.site-branding img {
  min-width: 56px
}

header.entry-header {
  min-width: 400px
}

@media screen and (max-width:768px) {
  header.entry-header {
    min-width: auto
  }
}

figure {
  width: 100% !important
}

figure.wp-block-image.wp-lightbox-container {
  margin: 1rem 0
}

figure.wp-block-image.wp-lightbox-container img {
  border: 2px solid #686868;
  border-radius: 5px;
  margin: 1rem 0;
  transition: all .3s cubic-bezier(.25, .8, .25, 1);
  width: 100%
}

.lightbox-image-container,
.lightbox-image-container img,
.scrim,
.scrim img,
.wp-block-image,
.wp-block-image img,
.wp-lightbox-overlay,
.wp-lightbox-overlay img,
.wp-lightbox-overlay.zoom.active {
  touch-action: manipulation
}

.entry-title,
.page-title,
h1,
h2,
h3,
h4 {
  word-wrap: break-word;
  word-break: normal
}

@media screen and (max-width:768px) {

  .entry-title,
  .page-title {
    text-align: center;
    width: 100%
  }
}

.search.search-results .page-title {
  font-style: italic;
  font-weight: 100;
  margin-bottom: 2rem
}

.search.search-results .page-title span {
  color: #0E4B6B
}

ol li::marker {
  font-size: 1.6rem
}

.wp-element-caption {
  text-align: left
}

.wp-block-details {
  border: 1px solid #ccc;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
  margin-bottom: 1rem;
  max-height: 5rem;
  padding: 0 1rem;
  transition: all .6s ease-in-out
}

.wp-block-details summary {
  font-weight: 700;
  padding: 1rem
}

.wp-block-details summary:hover {
  color: #1679AB
}

.wp-block-details[open] {
  max-height: 100rem
}

table {
  border: 1px solid #ddd;
  border-collapse: collapse;
  font-size: .85rem;
  table-layout: fixed;
  width: 100%
}

@media screen and (max-width:920px) {
  table {
    font-size: .5rem
  }
}

table caption {
  caption-side: top;
  font-size: 1.6rem;
  text-align: center
}

table th {
  background-color: #f2f2f2;
  border: 1px solid #ddd;
  padding: 1rem;
  text-align: center
}

table tbody tr td,
table tbody tr th {
  word-wrap: break-word;
  border: 1px solid #ddd;
  padding: .5rem
}

.hpl-pdf-build,
.hpl-pdf-build p input {
  margin: 0;
  position: relative
}

.hpl-pdf-build p input {
  background-color: #fff;
  border: none;
  border-radius: 4px;
  color: #000;
  padding: 1rem 2rem;
  transition: background-color .2s;
  width: 100%
}

.hpl-pdf-build p input:focus,
.hpl-pdf-build p input:hover {
  background-color: #E7F5FB
}

.hpl-pdf-build p input:active {
  background-color: #fff
}

.hpl-pdf-build p .pdf-loader {
  background: linear-gradient(90deg, #0E4B6B, #1679AB, #0E4B6B);
  background-size: 200% 100%;
  bottom: 4px;
  display: none;
  height: 4px;
  left: 0;
  position: relative;
  width: 100%
}

.hpl-pdf-build p .pdf-loader.displayed {
  animation: moveBar 1s linear 10;
  display: block
}

@keyframes moveBar {
  0% {
    background-position: 100% 0
  }

  to {
    background-position: -100% 0
  }
}

body.home {
  display: flex;
  font-family: IBM Plex Sans, sans-serif;
  justify-content: center;
  margin: 0;
  max-width: 100vw;
  overflow-x: hidden
}

body.home header.site-header nav.navbar {
  background-color: transparent;
  box-shadow: none;
  margin: 0
}

@media screen and (max-width:768px) {
  body.home header.site-header nav.navbar {
    padding-right: .5rem
  }
}

body.home .site {
  display: flex;
  flex-basis: 1000px;
  flex-direction: column;
  margin: 0;
  max-width: 1000px;
  padding: 0
}

@media screen and (max-width:790px) {

  body.home,
  body.home .site {
    display: block
  }
}

@media screen and (max-width:768px) {
  body.home header.site-header {
    padding-bottom: 5rem
  }

  body.home #menu-bootstrap.navbar-nav {
    margin-left: 0;
    margin-right: 0;
    z-index: 1
  }

  body.home .nav-link.active {
    color: #fff
  }
}

body.archive .entry-content,
body.page .entry-content,
body.search .entry-content,
body.single .entry-content {
  margin: 0 .5rem
}

@media screen and (min-width:769px) {

  body.archive .site-header nav.navbar,
  body.page .site-header nav.navbar,
  body.search .site-header nav.navbar,
  body.single .site-header nav.navbar {
    margin: 0 -1rem
  }
}

body.archive .site-header .page-branding,
body.page .site-header .page-branding,
body.search .site-header .page-branding,
body.single .site-header .page-branding {
  align-items: center;
  display: flex;
  text-decoration: none
}

body.archive .site-header .page-branding .page-site-name,
body.page .site-header .page-branding .page-site-name,
body.search .site-header .page-branding .page-site-name,
body.single .site-header .page-branding .page-site-name {
  display: block;
  text-decoration: none;
  transition: all .12s
}

body.archive .site-header .page-branding img,
body.page .site-header .page-branding img,
body.search .site-header .page-branding img,
body.single .site-header .page-branding img {
  filter: saturate(100%);
  transition: all .12s
}

@media screen and (max-width:768px) {

  body.archive .site-header .page-branding img,
  body.page .site-header .page-branding img,
  body.search .site-header .page-branding img,
  body.single .site-header .page-branding img {
    display: none
  }
}

body.archive .site-header .page-branding:focus img,
body.archive .site-header .page-branding:hover img,
body.page .site-header .page-branding:focus img,
body.page .site-header .page-branding:hover img,
body.search .site-header .page-branding:focus img,
body.search .site-header .page-branding:hover img,
body.single .site-header .page-branding:focus img,
body.single .site-header .page-branding:hover img {
  transform: rotate(72deg)
}

body.archive .site-header .page-branding:focus .page-site-name,
body.archive .site-header .page-branding:hover .page-site-name,
body.page .site-header .page-branding:focus .page-site-name,
body.page .site-header .page-branding:hover .page-site-name,
body.search .site-header .page-branding:focus .page-site-name,
body.search .site-header .page-branding:hover .page-site-name,
body.single .site-header .page-branding:focus .page-site-name,
body.single .site-header .page-branding:hover .page-site-name {
  text-decoration: underline
}

body.archive .site-header .page-branding:active img,
body.page .site-header .page-branding:active img,
body.search .site-header .page-branding:active img,
body.single .site-header .page-branding:active img {
  transform: rotate(144deg)
}

@media screen and (max-width:768px) {

  body.archive #menu-bootstrap.navbar-nav,
  body.page #menu-bootstrap.navbar-nav,
  body.search #menu-bootstrap.navbar-nav,
  body.single #menu-bootstrap.navbar-nav {
    margin-left: 0
  }

  body.archive #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle,
  body.archive #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:visited,
  body.page #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle,
  body.page #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:visited,
  body.search #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle,
  body.search #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:visited,
  body.single #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle,
  body.single #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:visited {
    color: #E7F5FB
  }

  body.archive #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus,
  body.page #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus,
  body.search #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus,
  body.single #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus {
    background-color: #E7F5FB
  }

  body.archive #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus,
  body.archive #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:hover,
  body.page #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus,
  body.page #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:hover,
  body.search #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus,
  body.search #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:hover,
  body.single #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:focus,
  body.single #menu-bootstrap.navbar-nav .nav-link.dropdown-toggle:hover {
    color: #1679AB
  }
}

body.archive .site-main,
body.page .site-main,
body.search .site-main,
body.single .site-main {
  display: flex;
  max-width: 100%
}

body.archive .site-main article.page,
body.archive .site-main article.post,
body.archive .site-main section,
body.page .site-main article.page,
body.page .site-main article.post,
body.page .site-main section,
body.search .site-main article.page,
body.search .site-main article.post,
body.search .site-main section,
body.single .site-main article.page,
body.single .site-main article.post,
body.single .site-main section {
  margin: 0 2rem
}

@media screen and (max-width:760px) {

  body.archive .site-main article.page,
  body.archive .site-main article.post,
  body.archive .site-main section,
  body.page .site-main article.page,
  body.page .site-main article.post,
  body.page .site-main section,
  body.search .site-main article.page,
  body.search .site-main article.post,
  body.search .site-main section,
  body.single .site-main article.page,
  body.single .site-main article.post,
  body.single .site-main section {
    margin: 0;
    max-width: 100vw
  }
}

body.archive .site-main .grid-border-left,
body.archive .site-main .grid-border-right,
body.page .site-main .grid-border-left,
body.page .site-main .grid-border-right,
body.search .site-main .grid-border-left,
body.search .site-main .grid-border-right,
body.single .site-main .grid-border-left,
body.single .site-main .grid-border-right {
  width: 10%
}

@media screen and (min-width:1451px) {

  body.archive .site-main .grid-border-left,
  body.archive .site-main .grid-border-right,
  body.page .site-main .grid-border-left,
  body.page .site-main .grid-border-right,
  body.search .site-main .grid-border-left,
  body.search .site-main .grid-border-right,
  body.single .site-main .grid-border-left,
  body.single .site-main .grid-border-right {
    width: 30%
  }
}

@media screen and (max-width:1140px) {

  body.archive .site-main .grid-border-left,
  body.archive .site-main .grid-border-right,
  body.page .site-main .grid-border-left,
  body.page .site-main .grid-border-right,
  body.search .site-main .grid-border-left,
  body.search .site-main .grid-border-right,
  body.single .site-main .grid-border-left,
  body.single .site-main .grid-border-right {
    width: 1.25rem
  }
}

@media screen and (max-width:920px) {

  body.archive .site-main .grid-border-left,
  body.archive .site-main .grid-border-right,
  body.page .site-main .grid-border-left,
  body.page .site-main .grid-border-right,
  body.search .site-main .grid-border-left,
  body.search .site-main .grid-border-right,
  body.single .site-main .grid-border-left,
  body.single .site-main .grid-border-right {
    display: none
  }
}

body.archive .site-main .grid-border-left,
body.page .site-main .grid-border-left,
body.search .site-main .grid-border-left,
body.single .site-main .grid-border-left {
  background-color: #E7F5FB
}

body.archive .site-main .site,
body.page .site-main .site,
body.search .site-main .site,
body.single .site-main .site {
  margin-right: 2rem
}

body.archive article.page,
body.archive article.post,
body.archive section,
body.page article.page,
body.page article.post,
body.page section,
body.search article.page,
body.search article.post,
body.search section,
body.single article.page,
body.single article.post,
body.single section {
  width: 100%
}

body.search.search-results article.page.type-page,
body.search.search-results article.post.type-post {
  border: 1px solid #e3e3e3;
  border-radius: .5rem;
  margin-bottom: 1rem
}

body.search.search-results article.page.type-page .cats,
body.search.search-results article.post.type-post .cats {
  display: flex
}

body.search.search-results article.page.type-page .cats a,
body.search.search-results article.post.type-post .cats a {
  font-size: .8rem;
  margin: 1rem 1rem 0;
  text-decoration: none
}

body.search.search-results article.page.type-page h2,
body.search.search-results article.post.type-post h2 {
  font-size: 1.4rem;
  padding: 0 1rem
}

body.search.search-results article.page.type-page .entry-content,
body.search.search-results article.post.type-post .entry-content {
  margin: 1rem
}

body.search.search-results article.page.type-page .search-result-link,
body.search.search-results article.post.type-post .search-result-link {
  background-color: #E7F5FB;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-top: 1px solid #e3e3e3;
  color: #0E4B6B;
  display: block;
  font-weight: 700;
  margin: 0;
  padding: .75rem 1rem;
  text-decoration: none;
  width: 100%
}

body.search.search-results article.page.type-page .search-result-link:focus,
body.search.search-results article.page.type-page .search-result-link:hover,
body.search.search-results article.post.type-post .search-result-link:focus,
body.search.search-results article.post.type-post .search-result-link:hover {
  background-color: #fdfffc
}

body.search.search-results article.page.type-page h2 {
  padding: 1rem
}

body.error404 {
  align-content: center;
  align-items: center;
  display: flex;
  justify-content: center
}

body.error404 main {
  align-self: center
}

body.error404 main header {
  position: relative
}

body.error404 main header .blob-art {
  height: 70rem;
  left: 0;
  position: absolute;
  top: -45rem;
  width: 70rem;
  z-index: -1
}

body.error404 main .page-title {
  color: #0E4B6B;
  font-family: IBM Plex Sans Condensed, sans-serif;
  font-size: 6rem;
  font-weight: 700;
  line-height: 2rem;
  text-align: center;
  text-shadow: 5px 5px 1px #ccc
}

body.error404 main .page-title span {
  display: block
}

body.error404 main .page-title small {
  color: #1679AB;
  font-size: 1.2rem;
  line-height: 1.2rem;
  text-shadow: none
}

body.error404 main .page-content {
  position: relative;
  z-index: 1
}

body.error404 main .page-content .search-input-container input#hpl-search {
  border: 1px solid #333;
  width: 100%
}

body.error404 main .page-content .site-searchform button {
  right: 0
}

.front-page-hero {
  margin: 1rem 1rem 4rem;
  position: relative
}

.front-page-hero .front-page-hero__content {
  margin: 1rem 0
}

.front-page-hero .front-page-hero__content .front-page-hero__site-title-top {
  color: #1679AB;
  display: block;
  font-family: IBM Plex Sans Condensed, sans-serif;
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 1rem
}

.front-page-hero .front-page-hero__content .front-page-hero__tagline {
  width: 60%
}

@media screen and (max-width:875px) {
  .front-page-hero .front-page-hero__content .front-page-hero__tagline {
    width: 50%
  }
}

@media screen and (max-width:735px) {
  .front-page-hero .front-page-hero__content .front-page-hero__tagline {
    width: 100%
  }
}

.front-page-hero .front-page-hero__content .front-page-hero__site-title-bottom {
  color: #0A364D;
  font-family: IBM Plex Sans Condensed, sans-serif;
  font-size: 3.5rem;
  font-weight: 100
}

.front-page-hero .front-page-hero__content .front-page-hero__search {
  background-color: #1679AB;
  border-radius: .5rem;
  margin: 1rem 0;
  padding: 1rem;
  position: relative
}

.front-page-hero .front-page-hero__content .front-page-hero__search .search-inner {
  z-index: 100
}

.front-page-hero .front-page-hero__content .front-page-hero__search h2 {
  color: #fff;
  font-size: 3rem;
  font-weight: 200;
  text-transform: uppercase;
  word-break: break-word
}



@media screen and (max-width:735px) {
  .front-page-hero .front-page-hero__graphic {
    height: 72rem;
    position: absolute;
    right: 50%;
    top: -61rem;
    transform: translate(50%);
    width: 72rem
  }
}

.front-page-hero .hpl-recently-viewed {
  border: 2px solid #1679AB;
  border-radius: 1rem;
  margin: 5rem 0;
  overflow: hidden
}

.front-page-hero .hpl-recently-viewed .recents h3 {
  background: linear-gradient(to top right, #F2FCFE, #88BDD3);
  border-bottom: 1px solid #76AEC9;
  color: #0E4B6B;
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  padding: .5rem
}

.front-page-hero .hpl-recently-viewed .cat-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.front-page-hero .hpl-recently-viewed .cat-list li a {
  background-color: #EFF9FC;
  border-bottom: 1px solid #C5E5F2;
  display: block;
  font-size: .9rem;
  margin: 0;
  padding: .5rem;
  text-decoration: none
}

.front-page-hero .hpl-recently-viewed .cat-list li a:focus,
.front-page-hero .hpl-recently-viewed .cat-list li a:hover {
  background-color: #DEF3FA
}

.site-searchform {
  position: relative
}

.site-searchform #hpl-search {
  background-color: #E7F5FB;
  border: 0;
  padding: .75rem 48px .75rem .75rem;
  width: 60%
}

@media screen and (max-width:768px) {
  .site-searchform #hpl-search {
    margin-left: .5rem;
    width: 100%
  }
}

.site-searchform label {
  color: #E7F5FB;
  display: none
}

.site-searchform button {
  background-color: transparent;
  border: none;
  box-shadow: none;
  cursor: pointer;
  height: 48px;
  padding: .35rem;
  position: absolute;
  right: 40%;
  top: 0;
  transition: all .12s
}

@media screen and (max-width:735px) {
  .site-searchform button {
    right: 0
  }
}

.site-searchform button:focus svg,
.site-searchform button:hover svg {
  fill: #2993C9;
  filter: drop-shadow(1px 1px 1px #0E4B6B);
  transform: translate(-1px, -1px)
}

.site-searchform button svg {
  fill: #1679AB;
  height: 100%;
  transition: all .12s;
  width: 48px
}

.front-page-categories {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 1fr;
  margin-bottom: 5rem;
  padding: 1rem
}

@media screen and (max-width:960px) {
  .front-page-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media screen and (max-width:725px) {
  .front-page-categories {
    grid-template-columns: repeat(1, minmax(0, 1fr))
  }
}


.front-page-categories .front-page-category-card h3 {
  word-break: break-word
}

.front-page-categories .category-page-link {
  background: linear-gradient(to right top, #C2E7F5, #BCE2F1, #B2DDF0, #ADE0EF, #C8EAF6);
  border-radius: .7rem .7rem 0 0;
  margin-bottom: 0;
  position: relative;
  z-index: 1
}

.front-page-categories .category-page-link:before {
  background-color: #fff;
  border-radius: .7rem .7rem 0 0;
  content: "";
  height: 100%;
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  transition: opacity .2s;
  width: 100%;
  z-index: -1
}

.front-page-categories .category-page-link:hover:before {
  opacity: 0
}

.front-page-categories .category-page-link:active {
  filter: saturate(3)
}

.front-page-categories .category-page-link:active:before {
  opacity: 0
}

.front-page-categories .cat-icon svg {
  fill: #1679AB;
  height: 5rem;
  padding: 1.25rem 1.25rem .5rem;
  width: 100%
}

.front-page-categories h3 {
  color: #0E4B6B;
  font-size: 1.2rem;
  padding: 0 .5rem .5rem
}


.front-page-featured {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 1fr;
  margin-bottom: 5rem;
  padding: 1rem
}

@media screen and (max-width:960px) {
  .front-page-featured {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media screen and (max-width:725px) {
  .front-page-featured {
    grid-template-columns: repeat(1, minmax(0, 1fr))
  }
}

.front-page-featured .front-page-featured-card {
  display: flex;
  flex-direction: column
}

.front-page-featured .front-page-featured-card .featured-card-header {
  background-color: #1679AB;
  border-bottom: 1.5rem solid #0E4B6B;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  color: #E7F5FB;
  padding: 1rem;
  position: relative;
  text-align: center
}

.front-page-featured .front-page-featured-card .featured-card-header h3 {
  font-size: 1.2rem;
  line-height: 1.2rem;
  word-break: break-word
}

.front-page-featured .front-page-featured-card .featured-card-header:after,
.front-page-featured .front-page-featured-card .featured-card-header:before {
  background-color: #1679AB;
  border-radius: 0 0 50% 50%;
  content: "";
  overflow: hidden;
  padding: 1.25rem 1.5rem;
  position: absolute;
  top: calc(100% + .3rem);
  transform: translateX(-50%)
}

.front-page-featured .front-page-featured-card .featured-card-header:after {
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 4px 4px 1px hsla(0, 0%, 4%, .6);
  padding: .6rem;
  top: calc(100% + .75rem)
}

.front-page-featured .front-page-featured-card .featured-card-body {
  border: 4px solid #1679AB;
  border-radius: 2px 2px 1rem 1rem;
  border-top: 0;
  flex: 1;
  margin-top: 1rem;
  padding: 1rem 1rem 2rem;
  position: relative
}

.front-page-featured .front-page-featured-card .featured-card-body a {
  bottom: .75rem;
  position: absolute
}

.site-footer {
  align-items: center;
  background-color: #0E4B6B;
  color: #E7F5FB;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem .5rem;
  text-align: center
}

.site-footer a {
  color: #fff
}

.site-footer .footer__title-container {
  color: #E7F5FB;
  font-family: IBM Plex Sans Condensed, sans-serif;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.6rem;
  margin-bottom: 1rem;
  text-align: left
}

.site-footer .footer__title-container .footer__site-title-top {
  display: block;
  font-size: 1.5rem
}

.site-footer .footer__title-container .footer__site-title-bottom {
  font-weight: 200
}

.page-aside {
  background-color: #E7F5FB;
  border-right: 1px solid rgba(143, 179, 217, .5);
  box-sizing: border-box;
  flex: 1;
  font-size: .85rem;
  min-width: 260px;
  padding: 1.5rem;
  transition: all .26s;
  z-index: 1
}

@media screen and (max-width:920px) {
  .page-aside {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
    display: none;
    margin-right: 0;
    overflow: hidden;
    padding: 0;
    width: 0
  }

  .page-aside.animating-open {
    display: block
  }

  .page-aside.animating-close {
    width: 0
  }

  .page-aside.open:not(.page-aside.animating-close) {
    display: block;
    left: 0;
    overflow-y: auto;
    padding: 8rem 1.5rem 0;
    position: absolute;
    top: 0;
    width: 100vw
  }
}

.page-aside .page-aside-inner {
  position: relative
}

.page-aside .page-aside-inner svg {
  display: none
}

.page-aside .page-aside-inner .aside-categories {
  margin: 0
}

.page-aside .page-aside-inner .aside-categories .aside-category-card details {
  background: linear-gradient(to top left, #F5FCFE, #E0F3F9);
  border: 1px solid #76AEC9;
  border-radius: 1rem;
  margin: 0 -1rem .5rem;
  overflow: hidden;
  padding: 0
}

.page-aside .page-aside-inner .aside-categories .aside-category-card summary {
  background: linear-gradient(to top left, #DEF3FA, #C8EAF6);
  cursor: pointer;
  display: block;
  font-weight: 600;
  padding: 1rem 1rem 1rem 2rem;
  position: relative
}

.page-aside .page-aside-inner .aside-categories .aside-category-card summary:before {
  border: none;
  content: "+";
  font-size: 1.4rem;
  left: 12px;
  position: absolute;
  top: .8rem;
  transform: rotate(180deg);
  transition: transform .25s ease
}

.page-aside .page-aside-inner .aside-categories .aside-category-card details[open]>summary:before {
  content: "—";
  font-size: 1.2rem;
  left: 10px;
  top: .78rem;
  transform: rotate(0)
}

.page-aside .page-aside-inner .aside-categories .aside-category-card details summary::-webkit-details-marker {
  display: none
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents {
  background-image: linear-gradient(to bottom right, #F0FBFC, #C5E5F2);
  border: 1px solid #B9C8DF;
  border-radius: 12px;
  margin: 2rem -1rem 3.25rem;
  position: relative
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents:after {
  border-bottom: 1px solid #76AEC9;
  bottom: -2rem;
  content: "";
  display: block;
  height: 1rem;
  left: 1rem;
  position: absolute;
  width: calc(100% - 2rem)
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents .cat-list,
.page-aside .page-aside-inner .aside-categories .aside-category-card.recents h3 {
  background-color: red;
  margin: 0;
  padding: 0 1rem
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents h3 {
  background-color: #1679AB;
  background-image: linear-gradient(to top right, #ffffff, #e0f3f9);
  border-bottom: 1px solid #76AEC9;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: .35rem 1rem
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents .cat-list {
  background-image: linear-gradient(to bottom right, #ffffff, #E5F0FB);
  border: none;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  padding: 0
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents .cat-list li a {
  border-bottom: 1px solid #ccc;
  color: #555;
  display: block;
  margin: 0;
  padding: .7rem 1rem
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents .cat-list li a:focus,
.page-aside .page-aside-inner .aside-categories .aside-category-card.recents .cat-list li a:hover {
  background-color: #C6E4FF;
  text-decoration: none
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents .cat-list li a:active {
  background-color: #E7F5FB
}

.page-aside .page-aside-inner .aside-categories .aside-category-card.recents .cat-list li:last-child a {
  border: none
}

.page-aside .page-aside-inner h2 {
  border-bottom: 1px solid #76AEC9;
  color: #0E4B6B;
  font-family: IBM Plex Sans Condensed, sans-serif;
  padding-bottom: 1.5rem
}

.page-aside .page-aside-inner h2 .page-title_upper {
  display: block;
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1.4rem
}

.page-aside .page-aside-inner h2 .page-title_lower {
  color: #000;
  font-size: 2rem;
  font-weight: 300;
  line-height: 2rem
}

.page-aside .page-aside-inner h3 {
  color: #102543;
  font-size: 1rem;
  font-weight: 700;
  margin: 1.5rem 0
}

.page-aside .page-aside-inner .cat-list {
  list-style: none;
  margin-right: .5rem;
  padding-top: .75rem
}

.page-aside .page-aside-inner .cat-list li a {
  line-height: 1rem;
  padding: .35rem 0;
  position: relative;
  text-decoration: none
}

.page-aside .page-aside-inner .cat-list li a:focus,
.page-aside .page-aside-inner .cat-list li a:hover {
  color: #1679AB;
  text-decoration: underline
}

.page-aside .page-aside-inner .cat-list li a:active {
  color: #2993C9
}

.page-aside .page-aside-inner .cat-list li a.active {
  color: #0A364D;
  font-weight: 700;
  pointer-events: none
}

.page-aside .page-aside-inner .cat-list li a.active:after {
  color: #2993C9;
  content: "›";
  font-weight: 700;
  left: -.75rem;
  position: absolute;
  top: .2rem
}

@media screen and (max-width:920px) {
  .page-aside .page-aside-inner .aside-category-card:not(.recents) .cat-list {
    margin: 0;
    padding: 0;
    text-decoration: none
  }

  .page-aside .page-aside-inner .aside-category-card:not(.recents) .cat-list li a {
    border-top: 1px solid #1679AB;
    margin-bottom: 0;
    padding: 1.25rem;
    width: 100%
  }
}

.post-feedback-details {
  margin-bottom: 4rem;
  margin-top: 4rem
}

.post-feedback-details summary {
  font-size: 1.4rem;
  text-decoration: underline
}

.post-feedback-details .post-feedback-form {
  border: 1px solid #1679AB;
  border-radius: 1rem;
  font-size: .8rem;
  margin: 2rem 0;
  padding: 4rem
}

.post-feedback-details .post-feedback-form .feedback-img {
  height: 200px
}

.post-feedback-details .post-feedback-form .gform_wrapper {
  display: block !important
}

.post-feedback-details .post-feedback-form #gform_submit_button_1 {
  background-color: #ce531e
}

.post-feedback-details .post-feedback-form #gform_submit_button_1:focus,
.post-feedback-details .post-feedback-form #gform_submit_button_1:hover {
  background-color: #e36e3c
}

.post-feedback-details .post-feedback-form #gform_submit_button_1:active {
  background-color: #e67f53
}

/* Overall card: no outer border, we’ll put it on the body */
.front-page-categories .front-page-category-card {
  border: none;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* New blue header bar like screenshot */
.front-page-categories .front-page-category-card__header {
  background-color: #1679AB;
  border-bottom: 1.5rem solid #0E4B6B;  /* darker strip */
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  color: #E7F5FB;
  padding: 1rem;
  position: relative;
  text-align: center;
}

/* Category name */
.front-page-categories .front-page-category-card__header h3 {
  margin: 0;
  color: #E7F5FB;           /* override old h3 color */
  font-size: 1.2rem;
  line-height: 1.2rem;
  word-break: break-word;
}

/* Circle tab under header */
.front-page-categories .front-page-category-card__header::before,
.front-page-categories .front-page-category-card__header::after {
  background-color: #1679AB;
  border-radius: 0 0 50% 50%;
  content: "";
  overflow: hidden;
  padding: 1.25rem 1.5rem;
  position: absolute;
  top: calc(100% + .3rem);
  left: 50%;
  transform: translateX(-50%);
}

.front-page-categories .front-page-category-card__header::after {
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 4px 4px 1px hsla(0, 0%, 4%, .6);
  padding: .6rem;
  top: calc(100% + .75rem);
}

/* Body/list now becomes the white rounded box with border */
.front-page-categories .cat-list {
  background-color: #fff;            /* was #E7F5FB */
  border: 4px solid #1679AB;
  border-radius: 0 0 1rem 1rem;
  border-top: 0;
  flex: 1;
  list-style: none;
  margin: 1rem 0 0;
  padding: 1rem 1rem 2rem;
  position: relative;
  text-align: left;                  /* keep your left text */
}

.front-page-hero .front-page-hero__graphic {
  height: 100rem;
  pointer-events: none;
  position: absolute;
  right: -45rem !important;
  top: -60rem !important;
  width: 100rem;
}

@media screen and (max-width: 735px) {
  .front-page-hero .front-page-hero__graphic {
    height: 72rem !important;
    position: absolute !important;
    right: 50% !important;
    top: -61rem !important;
    transform: translate(50%) !important;
    width: 72rem !important;
  }
}

/* Force images to stay left and add space below */
.wp-block-image {
    text-align: left !important;
    padding-left: 32px !important; /* added padding */
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-bottom: 30px !important; /* space below image */
    display: block !important;
}

.wp-block-image img {
    margin-left: 0 !important;
    margin-right: auto !important;
    display: block !important;
    float: none !important; 
}

/* Add padding to all paragraphs */
.entry-content p,
.wp-block-post-content p {
    padding-left: 32px;
}

/* Print button for individual posts */
.article-print-button {
    margin-top: 30px;
    margin-bottom: 30px;
}

.article-print-button button {
    cursor: pointer;
    padding: 10px 18px;
}

/* Print only the post title, updated date, and content */
@media print {

    body.single-post * {
        visibility: hidden !important;
    }

    body.single-post article,
    body.single-post article .entry-title,
    body.single-post article .post-updated-date,
    body.single-post article .entry-content,
    body.single-post article .entry-content * {
        visibility: visible !important;
    }

    body.single-post article {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-post article > * {
        display: none !important;
    }

    body.single-post article .entry-title,
    body.single-post article .post-updated-date,
    body.single-post article .entry-content {
        display: block !important;
    }

    body.single-post .article-print-button,
    body.single-post .pmb-print-this-page {
        display: none !important;
    }
}