.footer {
  color: #696969;
  background-color: #F5F7FC;
  font-size: 13px;
  padding: 48px 20px 24px;

  a {
      color: #696969;
      text-decoration: none;
      transition: color 0.2s;

      &:hover {
          color: #333;
      }
  }

  p {
      font-size: 14px !important;
  }

  .footer-container {
      max-width: 1570px;
      margin: 0 auto;
  }

  .footer-row {
      display: flex;
      flex-wrap: wrap;
      margin: 0 -20px;
  }

  .footer-info-col {
      width: 100%;
      padding: 0 12px;
      margin-bottom: 40px;

      .footer-info-content {
          text-align: center;
      }

      .footer-logo {
          display: inline-block;
          margin-bottom: 20px;

          img {
              max-width: 235px;
              height: auto;
          }
      }

      .footer-address {
          font-family: 'Public Sans';
          font-style: normal;
          font-weight: 400;
          font-size: 14px;
          line-height: 20px;
          text-align: center;
          color: #737373;
          margin-bottom: 12px;
      }

      .footer-phone {
          display: inline-flex;
          align-items: center;
          font-family: 'Public Sans';
          font-style: normal;
          font-weight: 400;
          font-size: 14px;
          line-height: 20px;
          color: #737373;
          margin-bottom: 16px;
      }

      .footer-social {
          display: flex;
          gap: 12px;
          justify-content: center;
          margin-bottom: 16px;

          a {
              display: flex;

              img {
                  width: 20px;
                  height: 20px;
              }
          }
      }

      .footer-copyright {
        font-family: 'Public Sans';
        font-style: italic;
        font-weight: 400;
        font-size: 12px;
        line-height: 16px;
        color: #696969;
      }
  }

  .footer-content-col {
      width: 100%;
      padding: 0 12px;
  }

  .footer-content-row {
      display: flex;
      flex-wrap: wrap;
      margin: 0 -12px;
  }

  .footer-links-col {
      width: 50%;
      padding: 0 12px;
  }

  .footer-links-row {
      display: flex;
      flex-wrap: wrap;
  }

  .footer-categories {
      width: 100%;
      margin-bottom: 32px;
  }

  .footer-resources {
      width: 100%;
  }

  .footer-cities-col {
      width: 50%;
      padding: 0 12px;
  }

  .footer-heading {
      font-family: 'Public Sans';
      font-style: normal;
      font-weight: 600;
      font-size: 14px;
      line-height: 20px;
      color: #404040;
      margin: 0 0 16px 0;
  }

  .footer-links-list {
      display: flex;
      flex-direction: column;
      gap: 8px;

      a {
        font-family: 'Public Sans';
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        color: #737373;
      }
  }

  .footer-cities-grid {
      column-count: 1;
      column-gap: 20px;

      a {
        font-family: 'Public Sans';
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        color: #737373;
        display: block;
        margin-bottom: 6px;
      }
  }
}

@media (min-width: 576px) {
  .footer {
      .footer-links-col {
          width: 16.666667%;
      }

      .footer-cities-col {
          width: 83.333333%; /* col-sm-10 */
      }

      .footer-cities-grid {
          column-count: 3; /* 3 colunas */
          column-gap: 20px;
      }
  }
}

/* Medium devices (≥768px) - Bootstrap md */
@media (min-width: 768px) {
  .footer {
      .footer-links-col {
          width: 23%; /* col-md-3 */
      }

      .footer-cities-col {
          width: 77%; /* col-md-9 */
      }

      .footer-cities-grid {
          column-gap: 24px;
      }
  }
}

/* Large devices (≥992px) - Bootstrap lg */
@media (min-width: 992px) {
  .footer {
      padding: 64px 40px 32px;

      .footer-info-col {
          width: 30%; /* col-lg-3 */
          margin-bottom: 0;
      }

      .footer-content-col {
          width: 70%; /* col-lg-9 */
      }

      .footer-cities-grid {
          column-count: 4; /* 4 colunas */
          column-gap: 28px;
      }
  }
}

/* Extra large devices (≥1200px) - Bootstrap xl */
@media (min-width: 1200px) {
  .footer {
      .footer-cities-grid {
          column-gap: 32px;
      }
  }
}

/* Extra extra large devices (≥1400px) - Bootstrap xxl */
@media (min-width: 1400px) {
  .footer {
      .footer-cities-grid {
          column-gap: 36px;
      }
  }
}

/* Very large screens (≥1920px) */
@media (min-width: 2560px) {
  .footer {
      .footer-cities-grid {
          column-count: 8; /* 8 colunas */
          column-gap: 18px;
      }

      .footer-categories {
        width: 50%; /* col-xxl-6 */
        margin-bottom: 0;
        padding-right: 20px;
      }

    .footer-resources {
        width: 50%; /* col-xxl-6 */
        padding-left: 20px;
    }
  }
}
