.site-footer {
  border-top: 1px solid var(--color-lt-grey);
}

.site-footer-main {
  padding-top: var(--vertical-padding);
  padding-bottom:  var(--vertical-padding) 0;

  a,
  .nav-link {
    &:is(:focus-visible) {
      box-shadow: var(--visible-focus-box-shadow);
    }
  }
}

/* Social media links */
.site-footer-main {
  border-bottom: 1px solid var(--color-lt-grey);
  padding-bottom: var(--vertical-padding);

  .footer-branding {
    a {
      display: block;
    }

    img {
      display: block;
      width: 100%;
      max-width: 20rem;
    }
  }

  .social-media-links--platforms {
    display: flex;
    gap: .5rem;
    justify-content: flex-end;
    justify-content: end;
    .platform-name {
      display: none;
    }
  }
}

.menu--bottom-footer-menu {
  .nav {
    --bs-nav-link-padding-x: .8rem;
  }
  .nav-link {
    color: var(--color-black);

    &:is(:hover) {
      text-decoration: underline;
    }

    &:is(:focus,:focus-visible) {
      outline-style: dashed;
    }
  }
}

/* Larger screen layout */
@media (min-width: 960px) {
  .site-footer-main  {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;

    .footer-branding {
      flex: 1 0 auto;

      img {
        max-width: 22rem;
      }
    }

    .block-social-media-links h2 {
        text-align: right;
      }

    .social-media-links--platforms {
      margin-right: -.35em;
    }
  }
}

/* Small screen layout */
@media (max-width: 960px) {
  .site-footer-main {
    text-align: center;

    .footer-branding img {
      display: block;
      margin: 0 auto 1rem;
      max-width: 20rem;
    }

    .block-menu {
      margin-bottom: 1rem;
    }

    .social-media-links--platforms {
      justify-content: center;
    }
  }
}

/* Bottom footer */

.region-bottom-footer {
  padding-top: var(--vertical-padding);
  padding-bottom: var(--vertical-padding);
  font-size: .75rem;

  .block-block-content {
    a:has(img) {
      display: block;
    }

    img {
      max-width: 15rem;
    }
  }
}

@media (min-width: 960px) {
  .region-bottom-footer {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
    "copyright funding"
    "menu funding";
    gap: 0 1rem;
    justify-content: space-between;

    .block-copyright-block {
      grid-area: copyright
    }

    .block-menu {
      grid-area: menu
    }

    .block-block-content {
      grid-area: funding;
      display: flex;
      justify-content: flex-end;
    }
  }

  .menu--bottom-footer-menu {
    .nav {
      margin-left: calc(-1 * var(--bs-nav-link-padding-x));
    }

    .nav-item + .nav-item {
      border-left: 1px solid var(--color-black);
    }

    .nav-link {
      margin: -.7rem 0;
    }
  }
}

@media (max-width: 959px) {
  .region-bottom-footer {
    text-align: center;

    .footer-branding img {
      margin: 0 auto;
    }
  }

  .menu--bottom-footer-menu .nav {
    flex-direction: column;
    margin-bottom: 1rem;
  }
}
