.hidden {
  display: none;
}

/* Mobile Devices (max-width: 480px) */
@media (max-width: 480px) {

  header>* {
    margin: 0;
  }

  .nav_items,
  .menu_btn {
    display: none;
  }

  .hero_container {
    flex-direction: column;
    height: auto;
    padding: 20px;
  }

  .hero_text h1.heading,
  .school-section h2.heading,
  .about-info h2.heading {
    width: 100%;
    margin-bottom: 15px;
    font-size: 1.8rem;
  }

  .hero_text p {
    width: 100%;
    margin-bottom: 20px;
    font-size: 1rem;
  }

  .btn_group {
    flex-direction: column;
    gap: 1rem;
  }

  .avatart_stats {
    gap: 1rem;
  }

  .hero-image {
    width: 100%;
  }

  .about_section {
    flex-direction: column;
    align-items: start;
  }

  .about_image,
  .about_info {
    width: 100%;
  }

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

  .school_section .text_content {
    width: 100%;
  }

  .why-us {
    flex-direction: column;
    align-items: center;
  }

  .why_us_box {
    width: 100%;
    max-width: 90%;
    flex-direction: column;

  }

  .icon_text {
    height: auto;
  }

  h3 {
    line-height: 1.5;
  }

  img {
    width: 100%;
  }

  .icon {
    flex-shrink: 0;
  }

  .container {
    padding: 50px 15px;
  }

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

  .classes_section h2.heading {
    width: 100%;
    font-size: 1.8rem;
  }

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

  .newsletter {
    height: 450px;
  }

  .newsletter h2 {
    font-size: 2rem;
  }

  .newsletter .content {
    padding: 15px;
  }

  .newsletter .btn {
    font-size: 0.9rem;
  }

  .footer {
    grid-template-columns: repeat(1, 1fr);
    justify-items: flex-start;
  }
}

/* Tablet Devices (min-width: 481px and max-width: 1024px) */
@media (min-width: 481px) and (max-width: 768px) {
  header>* {
    margin: 0;
  }

  .nav_items {
    display: none;
  }

  .hero_container {
    flex-direction: column;
    height: auto;
  }

  .hero_text h1.heading,
  .school-section h2.heading,
  .about-info h2.heading {
    font-size: 2rem;
    width: 100%;
  }

  .hero_text p {
    font-size: 1.125rem;
  }

  .btn_group {
    flex-direction: row;
    gap: 1.5rem;
  }

  .avatart_stats {
    gap: 1.5rem;
  }

  .about_section {
    flex-direction: column;
    align-items: start;
  }

  .about_image,
  .about_info {
    width: 100%;
  }

  .about_image img {
    width: 65%;
  }

  .school_section {
    flex-direction: column-reverse;
    align-items: flex-start;

  }

  .school_section .text_content {
    width: 100%;
  }

  .classes_section h2.heading {
    width: 100%;
  }

  .class_cards {
    grid-template-columns: repeat(2, 1fr);
    padding: 15px;

  }

  .container {
    padding: 50px 24px;
  }

  .news_letter h2 {
    font-size: 2.25rem;
  }

  .news_letter p {
    font-size: 1rem;
  }

  .newsletter .btn {
    padding: 12px 24px;
    font-size: 1rem;
  }

  .footer {
    grid-template-columns: repeat(3, 1fr);
    justify-items: flex-start;
    gap: 2.5rem;
  }
}

/* Laptop Devices (min-width: 1025px and max-width: 1440px) */
@media (min-width: 769px) and (max-width: 1024px) {

  .hero_image {
    flex-shrink: 0;
  }

  .hero_text h1.heading,
  .school_section h2.heading,
  .about_info h2.heading {
    font-size: 2.5rem;
    width: 100%;
  }

  .hero_text p {
    font-size: 1.25rem;
  }

  .btn_group {
    flex-direction: row;
    gap: 2rem;
  }

  .avatart_stats {
    gap: 2rem;
  }

  .about_image img {
    width: 90%;
  }


  .school_section {
    flex-direction: row;
    align-items: center;
  }

  .class_cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }

  .news_letter h2 {
    font-size: 2.75rem;
  }

  .news_letter p {
    font-size: 1.125rem;
  }

  .newsletter .btn {
    padding: 14px 28px;
    font-size: 1.125rem;
  }
}
