.homepage-footer .footer-container {
  padding: 0;
}

.homepage-footer .footer-grid-custom {
  grid-template-columns: 1.05fr 1.5fr 1.1fr 1fr;
  align-items: start;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

.homepage-footer .footer-grid-custom > div {
  min-width: 0;
}

.homepage-footer .footer-heading {
  font-size: 1.25rem;
  margin-bottom: 1.25rem;
}

.homepage-footer .footer-text,
.homepage-footer .footer-text-muted {
  line-height: 1.65;
}

.homepage-footer .footer-link {
  line-height: 1.5;
  padding: 0.4rem 0;
}

.homepage-footer .footer-links-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  column-gap: 1.25rem;
}

.homepage-footer .footer-hours {
  margin-top: 1.5rem;
}

.homepage-footer .footer-hours h4 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.homepage-footer .footer-hours .footer-text-muted {
  margin-top: 0.25rem;
  font-size: 0.85rem;
}

.homepage-footer .footer-all-articles {
  margin-top: 0.75rem;
  color: var(--accent);
  font-weight: 600;
}

@media (max-width: 1199px) {
  .homepage-footer .footer-grid-custom {
    grid-template-columns: 1fr 1.3fr;
    gap: 2.5rem;
  }
}

@media (max-width: 768px) {
  .homepage-footer {
    padding-inline: 1.5rem;
  }

  .homepage-footer .footer-heading {
    margin-bottom: 1rem;
  }
}

@media (max-width: 359px) {
  .homepage-footer .footer-links-cols {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
}
