:root {
  --nav-color: #ffffff;
}

.header .top-row .logo img {
    max-height: 60px;
    margin-right: 10px;
}

/* Override call-to-action image styles - only apply to background image */
.cta-background-image {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* Reset service card images to not be fixed positioned */
.call-to-action .services-wrap img {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  z-index: auto !important;
}


.footer .navmenu li:hover>a,
.footer .navmenu .active, 
.footer .navmenu .active:focus {
    color: var(--nav-color);
    background-color: var(--nav-hover-color);
    border-top: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
}

.footer .footer-phone a {
  color: white; 
  text-decoration: none; 
  transition: text-decoration 0.3s ease;
}
.footer .footer-phone a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Responsive header tweaks for small phones */
@media (max-width: 525px) {
  /* Stack contact column below logo */
  .header .top-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  /* Slightly reduce sitename and logo size so contact items fit */
  .header .top-row .logo img {
    max-height: 48px;
  }

  .header .top-row .logo .sitename {
    font-size: 20px;
    line-height: 1.1;
    margin-bottom: 0.25rem;
  }

  /* Make contact info smaller and allow wrapping */
  .header .phone-number-top {
    font-size: 1.05rem;
    font-weight: 700;
  }

  .header .address-top {
    font-size: 0.95rem;
    font-weight: 700;
  }

  .header .address-top a {
    white-space: normal;
    display: block;
  }

  .header .social-links {
    margin-top: 0.25rem;
  }

  .header .social-links a {
    font-size: 20px;
    padding: 6px 6px;
  }
}