html, body {
  overflow-x: hidden;
  max-width: 100%;
}
img, video, iframe, svg {
  max-width: 100%;
}
.fpm-footer-grid {
  grid-template-columns: 1.5fr 1fr 1.1fr !important;
  gap: 32px !important;
}
.fpm-footer-grid > section:nth-child(3),
.fpm-footer-grid > .fpm-footer-duplicate {
  display: none !important;
}
.fpm-footer-grid > section:first-child .widget_block,
.fpm-footer-grid > section:first-child #block-6 {
  margin-top: 16px;
}
.fpm-footer-grid > section:first-child .rank-math-contact-hours label,
.fpm-footer-grid > section:first-child .wpseo_opening_hours_compat label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}
.site-footer .container {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .fpm-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 24px !important;
  }
  .fpm-footer-grid > section:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .fpm-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .site-footer {
    padding: 36px 0 20px !important;
  }
  .fpm-footer-bottom .container {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: left;
  }
  .site-header, .main-navigation, .menu {
    max-width: 100%;
  }
}
