/* ==========================================================================
   Footer Styles
========================================================================== */
/* Site Footer */
footer {
  padding: 2rem 0 0 0;
}

/* Main Footer */
.uh-footer {
  width: 100%;
  position: relative;
  z-index: 90;
}

.uh-footer-main {
  background-color: #C8102E;
  color: white;
  padding: 3rem 0 0 0;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 0.9rem;         /* Updated from 1.25rem */
  line-height: 1.5;
}

/* Container Spacing */
.uh-footer .container-fluid {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

/* Column Styling */
.footer-col {
  margin-bottom: 2rem;
}

/* Footer Logo - Left aligned with consistent spacing */
.footer-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start; /* Keep left alignment as you prefer */
  padding-left: 0.25rem; /* Small padding to match the spacing of other columns */
}

.footer-logo a {
  display: block;
  text-align: left; /* Changed to match the flex-start alignment */
  max-width: 100%;
}

.footer-logo img {
  width: 260px; /* Fixed width for the logo */
  max-width: 100%; /* Ensures responsiveness on small screens */
  height: auto; /* Maintains aspect ratio */
  margin-bottom: 20px;
}

/* Footer Description and Newsletter Signup (Smaller Text with Max Width) */
.footer-description, .newsletter-signup {
  font-size: 0.875em;
  line-height: 1.4;
}

/* Footer Description (Max Width) */
.footer-description {
  max-width: 425px;
  font-size: 1.25em;
  padding-left: 4px;
}

/* Newsletter Description (Max Width) */
.newsletter-signup {
  max-width: 300px;
}

/* Subscribe Button */
.subscribe-button {
  background-color: #FFF9D9; /* Light brand color for contrast */
  color: #C8102E; /* Red brand color for text */
  font-size: 1rem;
  font-weight: bold;
  text-transform: uppercase;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.subscribe-button:hover {
  background-color: white;
  color: #C8102E;
}

/* Contact Info */
.contact-info {
  margin-top: 1rem;
}

.contact-info p {
  margin-bottom: 0.5rem;
  color: white;
  font-size: 1rem;
  line-height: 1.5;
}

.contact-info a {
  color: #FFF9D9;
  text-decoration: none;
  transition: color 0.2s ease;
}

.contact-info a:hover {
  color: white;
  text-decoration: underline;
}

/* Footer Headings */
.uh-footer h2 {
  color: white;
  font-size: 1.25rem;         /* Matches h3 size */
  font-weight: normal;        /* No bold */
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  position: relative;
  padding-bottom: 0.75rem;
  line-height: 1.3;
  font-family: 'League Gothic', sans-serif;
}

.uh-footer h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 2.5rem;
  height: 2px;
  background-color: #FFF9D9;
}

/* Quick Links */
.footer-links-items {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links-items a {
  color: #FFF9D9;
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-block;
  line-height: 1.4;
}

.footer-links-items a:hover {
  color: white;
  text-decoration: underline;
}

/* Social Media Links */
.social-media-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 1rem;
}

.social-media-list li {
  margin-bottom: 0.5rem;
}

.social-media-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #FFF9D9;
  transition: background-color 0.2s ease;
}

.social-media-list a:hover {
  background-color: #ffffff;
}

.social-media-list svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: #c8102e;
  transition: fill 0.2s ease;
}

/* Newsletter Signup */
.newsletter-signup {
  color: #FFF9D9;
}

.newsletter-signup p {
  margin-bottom: 1rem;
  line-height: 1.5;
}

/* ==========================================================================
   Compliance Footer
========================================================================== */
.uh-footer-compliance {
  background-color: #54585A;
  color: white;
  padding: 1.25rem 0;
  font-size: 0.875rem;
  font-family: 'Source Sans 3', sans-serif;
  margin-top: 0; /* Ensure no space between footers */
  line-height: 1.6;
}

/* Paragraph-style compliance footer */
.compliance-paragraph {
  display: block;
  text-align: left;
  word-wrap: break-word;
}

/* Copyright Text */
.copyright {
  color: white;
  margin-right: 0.25rem;
}

/* Separator style */
.separator {
  color: rgba(255, 255, 255, 0.5);
  margin: 0 0.35rem;
  font-size: 0.8rem;
}

/* Link styles */
.uh-footer-compliance a {
  color: #FFF9D9;
  text-decoration: none;
  transition: color 0.2s ease;
  white-space: normal;
  display: inline;
}

.uh-footer-compliance a:hover {
  color: white;
  text-decoration: underline;
}

/* Highlight the "Report a problem" link */
.nav-item-highlighted a {
  color: #F6BE00;
}

.nav-item-highlighted a:hover {
  color: white;
}

/* Responsive Adjustments */
/* General responsive adjustments */
@media (max-width: 991.98px) {
  .footer-col {
    margin-bottom: 2rem;
  }

  .uh-footer-main {
    padding: 2.5rem 0;
  }

  .uh-footer h2 {
    margin-bottom: 1rem;
  }
}

/* Tablet-specific alignment fixes for the 2x2 layout */
@media (min-width: 768px) and (max-width: 991.98px) {
  /* First column (logo) and third column (social media) alignment */
  .footer-col:nth-child(1),
  .footer-col:nth-child(3) {
    padding-left: 1.5rem; /* Consistent left padding */
  }

  /* Ensure the headings in columns 2 and 4 align */
  .footer-col:nth-child(2) h2,
  .footer-col:nth-child(4) h2 {
    padding-left: 0.25rem; /* Slight padding for visual alignment */
  }

  /* Adjust the logo size on tablet for better proportion */
  .footer-logo img {
    width: 280px; /* Slightly smaller on tablet */
  }

  .footer-logo {
    min-height: 120px;
  }
}

/* Mobile adjustments */
@media (max-width: 767.98px) {
  .uh-footer-compliance {
    padding: 1rem 0.75rem;
    line-height: 1.8;
  }

  .compliance-paragraph {
    display: block;
  }

  /* Add more space between items on mobile */
  .separator {
    margin: 0 0.25rem;
  }

  .footer-logo {
    min-height: 100px;
    padding-left: 0; /* Remove extra padding on mobile */
  }

  /* Keep consistent left alignment for all columns on mobile */
  .footer-col {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Adjust heading size on mobile */
  .uh-footer h2 {
    font-size: 1.75rem;
  }
}

@media (max-width: 575.98px) {
  .uh-footer-main {
    padding: 2rem 0;
  }

  .social-media-list {
    gap: 0.75rem;
  }

  .footer-logo img {
    max-width: 90%;
  }
}

/* ==========================================================================
   Footer Overrides - To ensure full width with no gaps
========================================================================== */
/* Override generic footer padding */
footer.uh-footer-main,
footer.uh-footer-compliance {
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 0;
}
/* Override the region-footer padding */
.region-footer {
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 100%;
}
/* Ensure the container-fluid inside footers extends fully */
.uh-footer .container-fluid {
  width: 100%;
  max-width: 100%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
/* Fix compliance footer padding */
.uh-footer-compliance {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
/* Make sure there's no margin at the bottom of the page */
body > footer:last-child {
  margin-bottom: 0;
}
