/* Footer geometry hotfix — loaded last to bypass old cached footer rules. */
html,
body{
  margin-bottom:0!important;
  padding-bottom:0!important;
}

footer.footer{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
footer.footer > .container{
  width:min(1320px,calc(100% - 40px))!important;
  max-width:1320px!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
footer.footer .footer-container{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:32px 0 14px!important;
  gap:16px!important;
  box-sizing:border-box!important;
}
footer.footer .footer-container > .divider{
  width:min(1200px,100%)!important;
  margin:0 auto!important;
}

/* The menu sits at the exact vertical centre of its glass block. */
footer.footer .links{
  width:min(1200px,100%)!important;
  max-width:1200px!important;
  height:132px!important;
  min-height:132px!important;
  margin:0 auto!important;
  padding:0 28px!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
footer.footer .links .socials{
  display:none!important;
}
footer.footer .links nav.menu{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
footer.footer .links nav.menu > ul{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  align-content:center!important;
  justify-content:center!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  gap:12px!important;
}
footer.footer .links nav.menu > ul > li{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
}

footer.footer .links-2,
footer.footer .page-footer-logos,
footer.footer .footer-bottom,
footer.footer .copyright{
  width:min(1200px,100%)!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
footer.footer .page-footer-logos{
  border-radius:28px!important;
  overflow:hidden!important;
  background-clip:padding-box!important;
}
footer.footer .page-footer-logos::before{
  border-radius:inherit!important;
}
footer.footer .page-footer-logos::after,
footer.footer .page-footer-logos-list::before,
footer.footer .page-footer-logos-list::after{
  display:none!important;
  content:none!important;
}

footer.footer .footer-bottom{
  margin-top:0!important;
  margin-bottom:0!important;
  padding:18px 24px!important;
}
footer.footer .copyright{
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:12px 0 14px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  text-align:center!important;
  line-height:1.3!important;
}
footer.footer .copyright .text{
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}

@media (max-width:767px){
  footer.footer > .container{
    width:calc(100% - 24px)!important;
  }
  footer.footer .footer-container{
    padding-top:22px!important;
    padding-bottom:10px!important;
  }
  footer.footer .links{
    height:auto!important;
    min-height:0!important;
    padding:22px 16px!important;
  }
  footer.footer .page-footer-logos{
    border-radius:20px!important;
  }
  footer.footer .copyright{
    padding-bottom:10px!important;
  }
}
