.lgd-footer {
  margin-block-start: 3.125rem;
  padding-inline: 0;

  .paragraph--type--localgov-subscribe-panel {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    background-color: var(--color-accent);
    inline-size: 100%;
    block-size: 100%;
    inset-inline-start: 0;
    inset-block-end: 0;
    margin-block: 0;
    margin-inline: auto 0;
    flex-wrap: nowrap;

    @media screen and (min-width: 90rem) {
      inline-size: calc(90rem - 6.5rem);
    }

    @media (min-width: 73.75rem) and (max-width: 90rem) {
      inline-size: min(calc(100vw - 6.5rem), calc(90rem - 6.5rem));
    }

    @media (min-width: 48rem) and (max-width: 67.5rem) {
      inline-size: min(calc(100vw - 6.5rem), calc(67.5rem - 6.5rem));
    }

    @media (min-width: 30rem) and (max-width: 48rem) {
      flex-direction: column;
      justify-content: flex-end;
      inline-size: 100%;
      max-inline-size: 18.3125rem;
      align-items: flex-end;
    }

      @media (min-width: 26.875rem) and (max-width: 30rem) {
      flex-direction: column;
      align-items: flex-end;
    }

      @media (min-width: 24.375rem) and (max-width: 26.875rem) {
      flex-direction: column;
      justify-content: flex-end;
      inline-size: 100%;
      max-inline-size: 18.3125rem;
      align-items: flex-end;
    }

    .email-subscription-panel {
      p {
        margin: 0;
      }

      a {
        font-family: var(--font-family-primary), sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: var(--font-size-xl);
        line-height: 2.75rem;
        color: var(--color-black);
        text-decoration: none;
        cursor: pointer;

        &:hover {
          text-decoration: none;
        }

        @media screen and (min-width: 90rem) {
          font-size: min(var(--font-size-h1), var(--font-size-xl));
        }

        @media (min-width: 67.5rem) and (max-width: 90rem) {
          font-size: min(var(--font-size-h2), var(--font-size-h1));
        }

        @media (min-width: 48rem) and (max-width: 67.5rem) {
          font-size: clamp(var(--font-size-h4), var(--font-size-h3), var(--font-size-h2));
        }

        @media screen and (max-width: 48rem) {
          font-size: var(--font-size-h4);
        }
      }
    }

    .social-media-subscription-panel {
      position: relative;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-end;
      margin: 0;
      padding: 0;
      inline-size: 100%;

      @media screen and (max-width: 48rem) {
        flex-direction: column-reverse;
        align-items: flex-end;
        gap: .75rem;
      }

      /* Follow us on social media: */
      .social-media-subscription-panel__title {
        margin-inline-end: 50px;
        color: var(--color-black);
        font-family: var(--font-family-primary), sans-serif;
        font-size: var(--font-size-xl);
        font-weight: 400;
        font-style: normal;
        line-height: 44px;
        inline-size: 439px;
        block-size: 44px;
        margin-block: 0;
        text-align: end;

        @media screen and (min-width: 90rem) {
          font-size: min(var(--font-size-h1), var(--font-size-xl));
          margin-inline-end: 50px;
        }

        @media (min-width: 67.5rem) and (max-width: 90rem) {
          font-size: min(var(--font-size-h2), var(--font-size-h1));
          margin-inline-end: min(30px, 50px);
        }

        @media (min-width: 48rem) and (max-width: 67.5rem) {
          font-size: clamp(var(--font-size-h4), var(--font-size-h3), var(--font-size-h2));
          margin-inline-end: min(10px, 30px);
          inline-size: auto;
        }

        @media screen and (max-width: 48rem) {
          font-size: var(--font-size-h4);
          line-height: normal;
          inline-size: 90vw;
          block-size: auto;
          margin-inline-end: 0;

          .field__item {
            text-align: end;
          }
        }
      }

      .social-media-subscription-panel__links {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 20px;

        @media screen and (max-width: 48rem) {
          flex-direction: row;
        }

        .services--feature-block {
          inline-size: auto;
          block-size: auto;

          a {
            color: var(--color-black);

            .services--feature-icon {
              position: relative;
              display: block;
              inline-size: 3.75rem;
              block-size: 3.75rem;

              @media (min-width: 48rem) and (max-width: 67.5rem) {
                background-size: min(2.125rem, 3.75rem);
                inline-size: min(2.125rem, 3.75rem);
                block-size: min(2.125rem, 3.75rem);
              }

              @media screen and (max-width: 48rem) {
                background-size: 2.125rem;
                inline-size: 2.125rem;
                block-size: 2.125rem;
              }
            }

            .services--feature-icon::before {
              display: none;
            }

            .fa-facebook {
              background-image: url("../../assets/images/site/icons/facebook.svg");
              background-repeat: no-repeat;
              background-position: center;
              background-size: 3.75rem;

              @media (min-width: 48rem) and (max-width: 67.5rem) {
                background-size: min(2.125rem, 3.75rem);
              }

              @media screen and (max-width: 48rem) {
                background-size: 2.125rem;
              }
            }

            .fa-facebook:hover {
              background-image: url("../../assets/images/site/icons/facebook-hover.svg");
            }

            .fa-instagram {
              background-image: url("../../assets/images/site/icons/instagram.svg");
              background-repeat: no-repeat;
              background-position: center;
              background-size: 3.75rem;

              @media (min-width: 48rem) and (max-width: 67.5rem) {
                background-size: min(2.125rem, 3.75rem);
              }

              @media screen and (max-width: 48rem) {
                background-size: 2.125rem;
              }
            }

            .fa-instagram:hover {
              background-image: url("../../assets/images/site/icons/instagram-hover.svg");
            }
          }
        }
      }
    }

    @media screen and (min-width: 90rem) {
      padding-inline: 0;
    }
  }
}

.lgd-footer__footer .padding-horizontal,
.lgd-footer__housekeeping .lgd-container {
  padding-inline: 0;
}

.lgd-footer__housekeeping {
  margin: 0;
  padding: 0;
}

.lgd-footer .lgd-region__inner--housekeeping {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  padding-inline: 3.25rem;
  padding-block: 1.5625rem;
  position: relative;
  inline-size: 100%;

  @media (min-width: 48rem) and (max-width: 90rem) {
    padding-inline: min(1.25rem, 3.25rem);
  }

  @media screen and (max-width: 48rem) {
    padding-inline: 1.25rem;
  }

  .field--name-field-subscribe-panel {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    inline-size: 100%;
  }
}

.lgd-footer .branding__item--logo {
  width: 13.625rem;
}

.menu--footer {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

.menu--footer li a {
  transition: color ease var(--transition-time);
  text-decoration: none;
  color: var(--color-link);
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 2.6875rem;
}

.menu--footer li a:hover {
  text-decoration: underline;
  color: var(--color-accent);
  text-underline-offset: 0.25rem;
}

.lgd-footer__footer *,
.lgd-footer__footer a,
.lgd-footer__footer h2,
.lgd-footer__footer h3,
.lgd-footer__footer h4,
.lgd-footer__footer h5,
.lgd-footer__footer h6 {
  color: inherit;
}

@media screen and (min-width: 48rem) {
  .lgd-region__inner--footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

@media screen and (min-width: 64rem) {
  .lgd-footer {
    margin-block-start: 4.375rem;
  }

  .lgd-footer__footer {
    padding-block: 0;
  }

  .menu--footer {
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 2.5rem;
    row-gap: 1rem;
  }

  .menu--footer li a {
    line-height: 1.4375rem;
  }

  .lgd-footer__housekeeping {
    padding-block: 0;
  }

  .lgd-footer__footer .padding-horizontal,
  .lgd-footer__housekeeping .lgd-container {
    padding-inline: 0;
  }

  .lgd-footer__webratings .lgd-container {
    flex-direction: row;
    align-items: center;
  }
}
