@media (min-width: 144.1rem) {
  html {
    font-size: 68%;
  }


  .contact__title,
  .cta h2 {
    font-size: 4.8rem;
  }
}

@media (min-width: 102.5rem) and (max-width: 144rem) {
  .contact__cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .social__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 76.9rem) and (max-width: 102.4rem) {
  .contact__cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .social__grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-top {
    grid-template-columns: 2fr 1fr 1fr;
  }
}

@media (min-width: 64.1rem) and (max-width: 76.8rem) {
  .contact__cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .social__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-top {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* -------------------------------
   TABLETS (≤ 1024px / 64rem)
-------------------------------- */
@media (max-width: 64rem) {

  .nav-links {
    display: none;
  }

  .menuClose {
    display: block;
  }

  .contact__title {
    font-size: 3.4rem;
  }

  .social__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-top {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

/* -------------------------------
   SMALL TABLETS / LARGE PHONES
   (≤ 768px / 48rem)
-------------------------------- */
@media (max-width: 48rem) {

  .nav-links {
    display: none;
  }

  .menuClose {
    display: block;
  }

  .navbar {
    width: 100%;
    padding: 1rem;
  }

  .nav-container {
    width: 100%;
    padding: 1rem 1.6rem;
  }

  .contact {
    padding: 12rem 1.6rem;
  }

  .contact__title {
    font-size: 3rem;
  }

  .contact__cards {
    grid-template-columns: 1fr;
  }

  .social__grid {
    grid-template-columns: 1fr;
  }

  .cta h2 {
    font-size: 3rem;
  }

  .footer-top {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

/* -------------------------------
   PHONES (≤ 480px / 30rem)
-------------------------------- */
@media (max-width: 30rem) {

  .logo span {
    font-size: 1.8rem;
  }

  aside {
    right: 1.2rem;
    width: calc(100% - 2.4rem);
  }
}

/* -------------------------------
   VERY SMALL PHONES (≤ 360px)
-------------------------------- */
@media (max-width: 22.5rem) {

  .logo-icon,
  .footer-logo-icon {
    width: 3rem;
    height: 3rem;
  }
}
