.site-footer__main, .site-footer__lower {
  padding: $block-default-padding;

  display: flex;
  align-items: stretch;

  .site-footer__col {
    flex: 1 1 0;
    padding: 0 $block-default-padding;

    position: relative;

    // vertical divider between columns
    &:not(:first-child)::before {
      content: "";
      position: absolute;
      left: 0;
      width: 1px;
      background: rgba(255, 255, 255, 0.2);
    }

    &--menu{
      ul.navbar-nav {
        display: block;
        column-gap: 2rem;
        column-fill: auto;
      }
      li.nav-item {
        break-inside: avoid;
        margin: 0 0 0.5rem 0;
      }
    }
  }

  // Logo sizing
  .footer-logo {
    .navbar-brand,
    img {
      display: inline-block;
      max-width: 230px;
      width: 100%;
      height: auto;
    }
  }

  // Social icon sizing
  .social-links__icon {
    width: 21px;
    height: 21px;
    display: inline-block;
  }

  // Footer menu batching into columns
  .footer-menu__columns {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
  }

  .footer-menu__list {
    list-style: none;
    padding: 0;
    margin: 0;
    min-width: 0;
  }

  .footer-menu__item {
    margin: 0 0 0.5rem 0;
  }

  .footer-menu__link {
    text-decoration: none;
  }

  @include media-breakpoint-down(md) {
    flex-direction: column;
    gap: 2rem;
    padding: $block-default-padding;

    .site-footer__col {
      padding: 0;
    }

    .site-footer__col:not(:first-child)::before {
      display: none;
    }

    .site-footer__col--menu {
      ul.navbar-nav {
        column-count: 1 !important;
      }
    }
  }
}