/* Shared layout overrides (all pages) */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  background: #025376;
  color: #fff;
  padding: 0.75rem 1rem;
}

.skip-link:focus {
  left: 1rem;
  top: 1rem;
}

header,
.header-area {
  position: relative;
  z-index: 99999;
}

.header-area .main-header-area:not(.sticky) {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
}

#sticky-header {
  z-index: 99999;
}

/* Display CMS banner media at its natural aspect ratio, below the navbar. */
.page-banner--media .breadcam_area {
  position: relative;
  display: grid;
  min-height: 280px !important;
  height: 500px !important;
  padding: 0 !important;
  overflow: hidden;
  background-color: #025376;
  background-image: none !important;
}

.page-banner--media .page-banner__image {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  align-self: start;
}

.page-banner--media .breadcam_area::before {
  z-index: 1;
}

.page-banner--media .bradcam_text {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.page-banner--media .bradcam_text h3 {
  margin-right: 0;
  margin-left: 0;
  text-align: center;
}

@media (max-width: 767px) {
  .page-banner--media .breadcam_area {
    min-height: 220px !important;
    height: 220px !important;
  }
}

.footer .social_links__icon {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

/* Spread Navigation / Services / How To Reach Us like live footer */
@media (min-width: 1200px) {
  .footer .footer-columns {
    display: flex;
    justify-content: space-between;
  }

  .footer .footer-columns > [class*="col-"] {
    flex: 0 0 auto;
    max-width: none;
    width: auto;
  }
}
