/* Isolates the landing-page footer from Bootstrap / legacy app styles */

body.has-pfl-site-footer {
  padding-bottom: 0 !important;
}

#pfl-site-footer {
  font-family: 'Work Sans', sans-serif;
  color: #5F6B67;
  -webkit-font-smoothing: antialiased;
  margin-bottom: 0;
}

#pfl-site-footer *,
#pfl-site-footer *::before,
#pfl-site-footer *::after {
  box-sizing: border-box;
}

#pfl-site-footer footer {
  position: static !important;
  width: auto !important;
  margin-bottom: 0 !important;
  background: #F7F8F6 !important;
  border: none !important;
  padding-top: 6rem !important;
  padding-bottom: 0 !important;
}

#pfl-site-footer .pfl-footer-inner {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

@media (min-width: 768px) {
  #pfl-site-footer .pfl-footer-inner {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
}

#pfl-site-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#pfl-site-footer li {
  list-style: none !important;
  line-height: 1.7 !important;
}

#pfl-site-footer li:hover {
  text-decoration: none !important;
  background: transparent !important;
}

#pfl-site-footer h4 {
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #112C4E !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: none !important;
}

#pfl-site-footer p {
  margin: 0 0 0.75rem !important;
  color: #5F6B67 !important;
  font-family: 'Work Sans', sans-serif !important;
}

#pfl-site-footer a {
  text-decoration: none !important;
  background: transparent !important;
}

#pfl-site-footer a:hover,
#pfl-site-footer a:focus {
  text-decoration: none !important;
}

#pfl-site-footer .pfl-footer-brand-col > p {
  font-size: 14px !important;
  line-height: 1.7 !important;
  margin-bottom: 0.75rem !important;
  color: #5F6B67 !important;
}

#pfl-site-footer .pfl-footer-brand-col > p + p {
  font-size: 12px !important;
  line-height: 1.625 !important;
  margin-bottom: 1.25rem !important;
}

#pfl-site-footer .pfl-footer-brand-col img {
  height: 40px !important;
  width: auto !important;
  max-width: none !important;
  min-height: 40px !important;
  object-fit: contain !important;
  border: none !important;
}

#pfl-site-footer .pfl-footer-brand-col > div:first-child {
  margin-bottom: 1.25rem !important;
}

#pfl-site-footer .pfl-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 3rem !important;
  margin-bottom: 5rem !important;
}

#pfl-site-footer .pfl-footer-brand-col {
  grid-column: span 2 / span 2 !important;
}

@media (min-width: 768px) {
  #pfl-site-footer .pfl-footer-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  #pfl-site-footer .pfl-footer-brand-col {
    grid-column: span 1 / span 1 !important;
  }
}

#pfl-site-footer .pfl-footer-bottom {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 0.75rem !important;
  border-top: 1px solid #E5E7EB !important;
  padding-top: 1.75rem !important;
  padding-bottom: 1.75rem !important;
  font-size: 12px !important;
  color: #9ca3af !important;
}

@media (min-width: 768px) {
  #pfl-site-footer .pfl-footer-bottom {
    flex-direction: row !important;
  }
}

#pfl-site-footer .pfl-footer-bottom p {
  margin: 0 !important;
  color: #9ca3af !important;
  font-size: 12px !important;
}

#pfl-site-footer .pfl-footer-tagline {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 700;
}

#pfl-site-footer .pfl-footer-socials {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 1.5rem !important;
}

#pfl-site-footer .pfl-footer-socials a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  flex-shrink: 0 !important;
  border-radius: 9999px !important;
  background: #E5E7EB !important;
  color: #5F6B67 !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

#pfl-site-footer .pfl-footer-socials a svg {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
}

#pfl-site-footer .pfl-footer-socials a:hover {
  background: #00342b !important;
  color: #fff !important;
}

#pfl-site-footer .pfl-footer-links a {
  color: #5F6B67 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  transition: color 0.15s ease !important;
}

#pfl-site-footer .pfl-footer-links a:hover {
  color: #00342b !important;
}

#pfl-site-footer .pfl-footer-links li + li {
  margin-top: 14px !important;
}

.land-foot {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
