/* Mixins */
/* Keyframes */
/* Bootstrap Overrides */
:root {
  --bs-body-color: #2F5D7F;
  --bs-light-rgb: 246,246,246;
  --bs-link-color: #2F5D7F;
  --bs-link-hover-color: #29ABE2; }

.btn {
  --bs-btn-border-radius: 3px; }

.btn-primary {
  --bs-btn-bg: #29ABE2;
  --bs-btn-border-color: #29ABE2;
  --bs-btn-hover-bg: #2F5D7F;
  --bs-btn-hover-border-color: #2F5D7F; }

.offcanvas {
  --bs-offcanvas-bg: var(--bs-dark); }

.badge {
  --bs-badge-border-radius: 0;
  --bs-badge-font-weight: 400; }

p, .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1.5rem; }

@media screen and (min-width: 1200px) {
  .h1, h1 {
    font-size: 2rem; } }

@media screen and (min-width: 1200px) {
  .h2, h2 {
    font-size: 1.75rem; } }

@media screen and (min-width: 1200px) {
  .h3, h3 {
    font-size: 1.5rem; } }

@media screen and (min-width: 1200px) {
  .h4, h4 {
    font-size: 1.25rem; } }

@media screen and (min-width: 1200px) {
  .h5, h5 {
    font-size: 1rem; } }

.card {
  --bs-card-border-radius: 0;
  --bs-card-inner-border-radius: 0; }

.modal-backdrop {
  --bs-backdrop-opacity: 0.8; }

.carousel-control-next,
.carousel-control-prev {
  opacity: 0.7; }

.carousel-control-next-icon,
.carousel-control-prev-icon {
  padding: 1.5rem;
  background-size: 50%; }

/* Bootstrap Extensions */
.bg-dark-blue {
  background-color: #122B3B; }

.bg-mid-blue {
  background-color: #2F5D7F; }

.bg-very-light {
  background-color: #F9F9F9; }

.links-light a {
  color: var(--bs-light); }
  .links-light a:hover {
    color: white; }

.links-mid-blue a {
  color: #2F5D7F; }
  .links-mid-blue a:hover {
    color: #29ABE2; }

.links-text-decoration-none a {
  text-decoration: none; }

/* WordPress Overrides */
/* FontAwesome Overrides */
/* Custom Styles */
body {
  font-family: 'Cabin', sans-serif; }

a {
  transition-property: color;
  transition-duration: 0.2s; }

.overlap {
  margin-top: 1.5rem; }
  @media screen and (min-width: 992px) {
    .overlap {
      margin-top: -87px; } }

.grecaptcha-badge {
  visibility: hidden; }

.awaken {
  opacity: 0;
  transform: translateY(5rem);
  transition-property: all;
  transition-duration: 1s; }
  .awaken.fade {
    transform: none;
    transition-duration: 0.5s; }
  .awaken.in-viewport {
    opacity: 1;
    transform: translateY(0); }

.hover-rise {
  transform: translate(0, 0);
  transition-property: transform;
  transition-duration: 0.2s; }
  .hover-rise:hover {
    transform: translate(0, -1rem); }

.boxed h1, .boxed .h1,
.boxed h2, .boxed .h2 {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
  margin: 0 -1.5rem 1.5rem;
  padding: 1rem 1.5rem 1.5rem 1.5rem; }
  .boxed h1:first-child, .boxed .h1:first-child,
  .boxed h2:first-child, .boxed .h2:first-child {
    padding-top: 0; }

.wysiwyg-content .wp-caption {
  max-width: 100%; }
.wysiwyg-content img {
  max-width: 100%;
  height: auto; }
.wysiwyg-content iframe {
  max-width: 100%; }
.wysiwyg-content .alignleft,
.wysiwyg-content .alignright {
  width: 100%;
  margin-bottom: 1.5rem; }
  @media screen and (min-width: 768px) {
    .wysiwyg-content .alignleft,
    .wysiwyg-content .alignright {
      width: auto;
      max-width: calc(50% - 1.5rem); } }
@media screen and (min-width: 768px) {
  .wysiwyg-content .alignleft {
    float: left;
    margin: 0 1.5rem 1.5rem 0; } }
@media screen and (min-width: 768px) {
  .wysiwyg-content .alignright {
    float: right;
    margin: 0 0 1.5rem 1.5rem; } }
.wysiwyg-content .aligncenter {
  margin: auto;
  display: block; }
.wysiwyg-content .alignnone {
  display: block;
  margin-bottom: 1.5rem; }
@media screen and (min-width: 768px) {
  .wysiwyg-content ul {
    column-count: 2;
    column-gap: 2rem; } }
.wysiwyg-content ul li {
  break-inside: avoid; }

.single-column-uls ul {
  column-count: initial; }

.mobile-menu {
  padding: 0;
  margin: 0;
  list-style: none; }
  .mobile-menu a {
    padding: 0.5rem 1rem;
    display: block;
    border-top: 1px solid var(--bs-gray-700);
    color: var(--bs-light);
    text-decoration: none; }
    .mobile-menu a:hover {
      color: white; }
  .mobile-menu ul {
    list-style: none;
    padding: 0; }
    .mobile-menu ul a {
      padding-left: 2rem; }

.image-link {
  text-decoration: none;
  position: relative;
  display: block; }
  .image-link img {
    object-fit: cover;
    object-position: center; }
  .image-link .overlay {
    padding: 1rem;
    background-color: #2F5D7F;
    color: var(--bs-light);
    position: absolute;
    left: 0;
    bottom: 0;
    top: auto;
    width: 100%;
    height: auto;
    margin: 0;
    transition-property: background-color, color;
    transition-duration: 0.2s; }
  .image-link:hover .overlay {
    background-color: white;
    color: #2F5D7F; }

header .desktop-menu {
  padding: 0;
  margin: 0;
  list-style: none;
  white-space: nowrap;
  display: flex;
  gap: 1.5rem;
  justify-content: flex-end; }
  header .desktop-menu > li {
    position: relative;
    display: flex;
    align-items: center;
    height: 50px; }
    header .desktop-menu > li > .sub-menu {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translate(-50%, 10rem);
      padding: 0;
      text-align: left;
      list-style: none;
      transition-property: all;
      transition-duration: 0.2s;
      opacity: 0;
      pointer-events: none;
      box-shadow: 0 0 12px 0px rgba(0, 0, 0, 0.2);
      border-radius: 3px;
      background-color: var(--bs-dark);
      overflow: hidden; }
      header .desktop-menu > li > .sub-menu > li a {
        display: block;
        padding: 0.5rem 1rem;
        transition-property: color, background-color;
        transition-duration: 0.2s; }
        header .desktop-menu > li > .sub-menu > li a:hover {
          background-color: black;
          color: white; }
      header .desktop-menu > li > .sub-menu .sub-menu {
        display: none; }
    header .desktop-menu > li:hover .sub-menu {
      opacity: 1;
      pointer-events: all;
      transform: translate(-50%, 0rem); }

#map .gm-style-iw {
  padding: 10px;
  color: #2f5d7f;
  font-family: 'Cabin',sans-serif;
  font-weight: 400; }
  #map .gm-style-iw .content {
    width: 250px; }
    #map .gm-style-iw .content p {
      margin: 0; }
