/* Fidelity fixes and keyboard/reduced-motion support for the migrated theme. */
body {
  overflow-x: clip;
}
.site-skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 100000;
  padding: 12px 18px;
  color: white;
  background: #172e83;
}
.site-skip-link:focus {
  top: 12px;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid #3765cc;
  outline-offset: 3px;
}
.wpb_animate_when_almost_visible {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (hover: none) {
  .item-link-container .item-bg-container > div {
    transform: none !important;
  }
}
.portfolio-gallery {
  columns: 3;
  column-gap: 5px;
}
.portfolio-gallery a {
  display: block;
  margin: 0 0 5px;
  break-inside: avoid;
}
.portfolio-gallery img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .portfolio-gallery {
    columns: 2;
  }
}
@media (max-width: 479px) {
  .portfolio-gallery {
    columns: 1;
  }
}
.site-submenu-toggle {
  display: none;
}
@media (max-width: 959px) {
  .ubermenu-item-level-0.ubermenu-item-has-children {
    position: relative;
  }
  .site-submenu-toggle {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 30;
    width: 48px;
    height: 50px;
    border: 0;
    background: transparent;
    color: inherit;
    font:
      700 23px Arial,
      sans-serif;
    cursor: pointer;
  }
  .ubermenu-item-level-0 > .ubermenu-target .ubermenu-sub-indicator,
  .ubermenu-item-level-0 > .ubermenu-target .ubermenu-sub-indicator-close {
    visibility: hidden !important;
  }
  .ubermenu .site-submenu-open > .ubermenu-submenu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}
@media (max-width: 959px) {
  .ubermenu .ubermenu-item-level-0.ubermenu-item-has-children {
    position: relative !important;
  }
  .ubermenu .site-submenu-toggle {
    width: 48px !important;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* The free icon font has the location glyph in its solid face; retain a local fallback while the original kit loads. */
.grid-icon.fa-regular.fa-location-dot {
  font-weight: 900;
}
