/* Added for the static-site rebuild (replaces GoDaddy Website Builder's
   React hydration runtime, which drove the mobile nav drawer, the
   desktop "About Us" dropdown, and the contact form). */

#n-3369-navId-mobile.bpr-drawer-open,
#n-3421-navId-mobile.bpr-drawer-open,
[id$="-navId-mobile"].bpr-drawer-open {
  transform: translateX(0) !important;
  visibility: visible !important;
}

/* Mobile drawer's "About Us" submenu list (hidden via display:none). */
[data-ux="NavigationDrawerList"].bpr-subnav-open {
  display: block !important;
}

/* GoDaddy's "priority+" nav renders every top-level item with
   visibility:hidden and only reveals the ones that fit via JS that
   measures available width. We don't have that JS anymore, and with
   only 7 items there's no need to replicate the overflow logic --
   just always show them (but not the redundant "More" duplicate list,
   which mirrors every item again for the no-JS/overflow fallback). */
nav[data-ux="Nav"] .nav-item:not(:has([data-aid="NAV_MORE"])) {
  visibility: visible !important;
}

/* The cookie-notice banner starts parked 500px below the viewport and
   is normally slid into view by GoDaddy's JS after hydration. */
[data-aid="FOOTER_COOKIE_BANNER_RENDERED"] {
  bottom: 0 !important;
}

[data-ux="Dropdown"].bpr-dropdown-open {
  display: block !important;
}

/* Decorative CSS-background banner (data-lazybg): GoDaddy's JS reveals it
   by removing `d-none` (done at build time) and, we found by inspecting
   the live hydrated DOM, folding its classes onto the outer
   BACKGROUND_IMAGE_RENDERED wrapper so the image layer takes no normal-
   flow space of its own -- it overlays the sibling content section
   instead of stacking above it. Reproduced here with position instead
   of restructuring the DOM: taking it out of flow via absolute
   positioning (sized to the wrapper by its sibling <section>'s own
   min-height) gives the same result without an extra ~200px gap. */
[data-aid="BACKGROUND_IMAGE_RENDERED"] {
  position: relative;
}
[data-lazybg="true"] {
  position: absolute;
  inset: 0;
}

.bpr-contact-cta {
  max-width: 560px;
  margin: 0 auto;
  padding: 32px 24px;
  text-align: center;
}

.bpr-contact-cta__lead {
  font-size: 1.25rem;
  margin: 0 0 24px;
}

.bpr-contact-cta__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.bpr-contact-cta__btn {
  display: inline-block;
  padding: 14px 28px;
  border-radius: 4px;
  background: #305598;
  /* !important: the page's own stylesheet sets `color: inherit` on any
     mailto:/tel: link (`.x-el a[href^="mailto:"]:not(.x-el)`), which
     otherwise wins on specificity and renders this as low-contrast
     dark text on the blue background. */
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
}

.bpr-contact-cta__btn--secondary {
  background: transparent;
  color: #305598 !important;
  border: 2px solid #305598;
  padding: 12px 26px;
}

.bpr-contact-cta__btn:hover {
  opacity: 0.85;
}

.bpr-gallery-placeholder {
  padding: 48px 24px;
  text-align: center;
  color: #666;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 4px;
  font-size: 0.95rem;
}

.bpr-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  padding: 8px 0 24px;
}

.bpr-photo-grid__item {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 6px;
}

.bpr-photo-grid__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.2s ease;
}

.bpr-photo-grid__item:hover img {
  transform: scale(1.05);
}

