/* Below 1385px */
@media (max-width: 85em) {
  .primary-heading {
    font-size: 4.4rem;
  }

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

/* Below 1200px */
@media (max-width: 75em) {
  html {
    /* 9px / 16px = 0.5625 */
    font-size: 56.25%;
  }

  .primary-heading {
    font-size: 4.4rem;
  }

  .secondary-heading {
    font-size: 3.6rem;
  }

  .tertiary-heading {
    font-size: 3rem;
  }

  .hero-section-container {
    gap: 0;
    padding: 2.4rem 0 4.8rem 0;
  }

  .testimonials {
    padding: 4.8rem;
  }

  .testimonial-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0rem;
  }

  .plan-tag {
    top: 19px;
    right: -86px;
    font-size: 1.2rem;
  }
}

/* Below 1100px */

@media (max-width: 71.8em) {
  /* 8px */
  html {
    font-size: 50%;
  }

  .hero-section-container {
    gap: 4.8rem;
  }

  .testimonial-container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* Below 900px */
@media (max-width: 56.25em) {
  .main-nav-list {
    gap: 3.2rem;
  }

  .hero-section-container {
    text-align: center;
    flex-direction: column;
  }

  .section-hero {
    padding: 0 4.8rem 4.8rem 4.8rem;
  }

  .hero-text {
    width: 85%;
  }

  .hero-imgs-container {
    margin-top: 1.2rem;
    justify-content: center;
  }

  .hero-text {
    margin: 2rem 0;
  }

  .hero-imgs img {
    width: 4.8rem;
    height: 4.8rem;
  }

  .features-list img {
    height: 2.4rem;
  }

  .step-number {
    font-size: 6rem;
  }

  .plans-container {
    gap: 4.8rem;
  }

  .plan {
    max-width: 35rem;
    padding: 3.2rem;
  }

  .plan-tag {
    top: 18px;
    right: -88px;
    font-size: 1.2rem;
  }

  .meals-details {
    gap: 3.2rem;
  }

  .meal-description {
    padding: 3.2rem 3.2rem 4.8rem 3.2rem;
  }

  .list {
    gap: 2rem;
  }
  .list-item {
    font-size: 1.6rem;
    line-height: 1.2;
  }
}

/* Below 800px */

@media (max-width: 50em) {
  .section-testimonials {
    grid-template-columns: 1fr;
  }

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

  .testimonial-item {
    padding: 1.6rem;
  }

  .gallery {
    grid-template-columns: repeat(6, 1fr);
  }

  .feature-icon {
    font-size: 2.4rem;
  }

  .features-container {
    gap: 2rem;
  }

  .cta {
    grid-template-columns: 6.5fr 4.5fr;
  }

  .cta-text {
    padding: 4.8rem;
  }
  .cta-form {
    grid-template-columns: 1fr;
  }

  .cta-btn {
    margin-top: 1.2rem;
  }

  .header {
    position: relative;
  }

  .mobile-nav {
    display: block;
  }

  .mobile-nav-btn {
    stroke: #333;
    width: 4.8rem;
    height: 4.8rem;
  }

  /* Navigation is closed */
  .main-nav {
    position: absolute;
    top: 0;
    right: 0;
    height: 100vh;
    width: 100%;
    background-color: #fff;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.5s ease-in;

    transform: translateX(100%);
  }

  .mobile-nav-icon[name="menu-outline"] {
    display: block;
  }

  .mobile-nav-icon[name="close-outline"] {
    display: none;
  }

  /* Navigation is open */
  .nav-open .main-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateX(0);
  }

  .nav-open .main-nav-links:link,
  .nav-open .main-nav-links:visited {
    font-size: 4rem;
  }

  .nav-open .main-nav-list {
    flex-direction: column;
  }

  .nav-open .mobile-nav-btn[name="menu-outline"] {
    display: none;
  }

  .nav-open .mobile-nav-btn[name="close-outline"] {
    display: block;
  }
}

/* Below 700px (Small Tablets)*/
@media (max-width: 43.75em) {
  .container {
    padding: 3.2rem;
  }

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

  .section-hero {
    padding: 0 3.2rem 4.8rem 3.2rem;
  }

  .hero-section-container {
    gap: 6.4rem;
    padding: 1.2rem 2.4rem 2.4rem 4rem;
  }

  .hero-img-container {
    width: 60%;
  }

  .features-list img {
    height: 2rem;
  }

  .meal-types {
    grid-column: 1/-1;
    justify-self: center;
  }

  .plans-container {
    gap: 3.2rem;
  }

  .plan {
    max-width: 90%;
  }

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

  .footer-container {
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: repeat(6, 1fr);
    gap: 4.8rem;
  }

  .footer-list-first,
  .footer-list-address {
    grid-row: 2;
    grid-column: span 3;
  }

  .footer-list-last,
  .footer-list-account,
  .footer-list-company {
    grid-column: span 2;
  }
}

/* Below 550px (Small Tablets)*/
@media (max-width: 34em) {
  .header {
    padding: 0 2.4rem;
  }

  .section-hero {
    padding: 0 2.4rem 3.2rem 2.4rem;
  }

  .hero-section-container {
    padding: 0 0 2.4rem 0;
  }

  .hero-img-container {
    width: 80%;
  }

  .features-list img {
    height: 1.8rem;
  }

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

  .step-img-container {
    transform: translateY(3.2rem);
  }

  .step-img-container img {
    width: 30%;
  }

  .step-img-container:nth-child(2) {
    grid-row: 1;
  }

  .step-img-container:nth-child(6) {
    grid-row: 5;
  }

  .grid-3-cols {
    grid-template-columns: 1fr;
  }

  .meal-card {
    width: 75%;
    justify-self: center;
  }

  .testimonial-container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

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

  .plans-container {
    grid-template-columns: 1fr;
  }

  .plan {
    justify-self: center;
  }

  .features-container {
    grid-template-columns: 1fr;
  }

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

  .cta-img {
    grid-row: 1;
    height: 35rem;
  }
}

/* Fixing flexbox gap properties in safari old browsers */


.no-flexbox-gap .main-nav-list li:not(:last-child) {
  margin-right: 4.8rem;
}

.no-flexbox-gap .list-item:not(:last-child) {
  margin-bottom: 1.6rem;
}

.no-flexbox-gap .list-icon:not(:last-child) {
  margin-right: 1.6rem;
}

.no-flexbox-gap .delivered-faces {
  margin-right: 1.6rem;
}

.no-flexbox-gap .meal-attribute:not(:last-child) {
  margin-bottom: 2rem;
}

.no-flexbox-gap .meal-icon {
  margin-right: 1.6rem;
}

.no-flexbox-gap .footer-row div:not(:last-child) {
  margin-right: 6.4rem;
}

.no-flexbox-gap .social-links li:not(:last-child) {
  margin-right: 2.4rem;
}

.no-flexbox-gap .footer-nav li:not(:last-child) {
  margin-bottom: 2.4rem;
}

@media (max-width: 75em) {
  .no-flexbox-gap .main-nav-list li:not(:last-child) {
    margin-right: 3.2rem;
  }
}

@media (max-width: 59em) {
  .no-flexbox-gap .main-nav-list li:not(:last-child) {
    margin-right: 0;
    margin-bottom: 4.8rem;
  }
}

