/* Clarity Doctrine mobile footer containment fix */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

footer,
.site-footer,
[class*="footer"] {
  box-sizing: border-box;
}

@media (max-width: 768px) {
  footer,
  .site-footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-bottom: 120px !important;
  }

  footer *,
  .site-footer * {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  footer .container,
  footer .wrapper,
  footer .inner,
  footer [class*="container"],
  footer [class*="wrapper"],
  footer [class*="inner"],
  .site-footer .container,
  .site-footer .wrapper,
  .site-footer .inner,
  .site-footer [class*="container"],
  .site-footer [class*="wrapper"],
  .site-footer [class*="inner"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  footer .row,
  footer [class*="row"],
  footer [class*="grid"],
  footer [class*="columns"],
  footer [class*="footer"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  footer [class*="col"],
  footer [class*="column"],
  footer nav,
  footer section,
  footer aside,
  footer div {
    min-width: 0 !important;
  }

  footer nav,
  footer nav ul,
  footer ul {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  footer li {
    list-style: none !important;
  }

  footer a {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  footer .cd-force-logo-link,
  footer .cd-force-logo-img {
    max-width: 100% !important;
  }

  footer .cd-force-logo-img {
    width: min(420px, 100%) !important;
    height: auto !important;
  }

  footer h2,
  footer h3,
  footer h4,
  footer .heading,
  footer [class*="title"] {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Bottom credit/toggle bar should not cover the footer text on phone */
  body {
    padding-bottom: env(safe-area-inset-bottom);
  }

  [style*="position: fixed"],
  .fixed,
  [class*="fixed"],
  [class*="dock"],
  [class*="toggle"] {
    max-width: 100vw !important;
  }
}

@media (max-width: 480px) {
  footer,
  .site-footer {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  footer .cd-force-logo-img {
    width: min(360px, 100%) !important;
  }
}
