/* =========================
        Responsive Styling
========================== */

/* Base Font Scaling */
html {
  font-size: 16px;
}

@media (max-width: 1281px) {
  html {
    font-size: 13px;
  }
}
@media (max-width: 1050px) {
  html {
    font-size: 12.5px;
  }
  .home-img img {
    margin-top: 8.5rem;
    margin-right: 20rem;
  }
  .home-content h3 {
    font-size: 2.5rem;
  }
  .home-content h1 {
    font-size: 3.5rem;
  }
}

/* =========================
         Tablet 
========================== */
@media (max-width: 835px) {
  .logo {
    font-size: 2.5rem;
  }

  #menu-icon {
    display: block;
    margin-left: auto;
    font-size: 2.5rem;
  }
  .navbar {
    display: flex;
    gap: 1.5rem;
    flex-direction: column;
    position: absolute;
    top: 5rem;
    right: 0;
    font-size: 1.6rem;
    width: 100%;
    background: #323946;
    padding: 2rem 0;
    z-index: 999;
    visibility: hidden;
    opacity: 0;
    transition: all 0.5s ease;
  }
  .navbar.active {
    visibility: visible;
    opacity: 1;
  }
  .navbar a {
    font-size: 1.5rem;
  }
  .home {
    flex-direction: column-reverse;
  }
  .home-img img {
    width: 60vw;
    margin: 0 auto;
  }
  .home-content {
    text-align: center;
  }
  .btn {
    font-size: 2rem;
  }
  .portfolio-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

/* =========================
         Mobile 
========================== */
@media (max-width: 429px) {
  .logo {
    font-size: 1.8rem;
  }
  #menu-icon {
    margin-left: 2rem;
    font-size: 2rem;
  }
  .home-img img {
    width: 80vw;
  }
  .home-content h1 {
    font-size: 2rem;
  }
  .btn {
    font-size: 1.5rem;
  }
  .portfolio-container {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .contact form textarea {
    height: 20rem;
  }
}

@media (max-width: 391px) {
  .home-content h1 {
    line-height: 2;
  }
  .btn {
    font-size: 1.2rem;
  }
  .contact form textarea {
    height: 15rem;
  }
  .footer-text p {
    font-size: 0.8rem;
  }
}
