/* 1rem = 1em = 16px */

/***************************/
/* BELOW 1344px (Smaller desktops) */
/***************************/
@media (max-width: 84em) {
	.hero {
		max-width: 120rem;
	}

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

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

/***************************/
/* BELOW 1200px (Landscape tablets) */
/***************************/
@media (max-width: 75em) {
	html {
		font-size: 56.25%;
	}

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

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

	.grid {
		column-gap: 4.8rem;
		row-gap: 6.4rem;
	}

	.main-nav-list {
		gap: 3.2rem;
	}

	.header {
		padding: 0 2.4rem;
	}

	.hero {
		gap: 4.8rem;
	}

	.testimonials-container {
		padding: 4.8rem;
	}

	/* Bottom of page, removed whitespace */
	.section-cta {
		padding-bottom: 9.6rem;
	}

	.footer {
		padding: 9.6rem 0;
	}
}

/***************************/
/* BELOW 944px (Tablets) */
/***************************/
@media (max-width: 59em) {
	html {
		font-size: 50%;
	}

	.hero {
		grid-template-columns: 1fr;
		gap: 6.4rem;
		padding: 4.8rem 8rem;
	}

	.hero-img {
		width: 60%;
	}

	.hero-text-box,
	.hero-img-box {
		text-align: center;
	}

	.delivered-meals {
		justify-content: center;
	}

	.hero-summary {
		margin-bottom: 4.8rem;
	}

	.margin-top {
		margin-top: 3.2rem;
	}

	.logos img {
		height: 2.4rem;
	}

	.meal-desc {
		padding: 2.4rem 3.2rem 3.2rem 3.2rem;
	}

	.section-testimonial {
		grid-template-columns: 1fr;
	}

	.testimonials-container {
		padding-bottom: 8rem;
	}

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

	.cta {
		grid-template-columns: 3fr 2fr;
	}

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

	.btn--form {
		margin-top: 1.6rem;
	}

	/* Mobile Nav */
	.btn-mobile-nav {
		display: block;
		z-index: 9999;
	}

	.main-nav {
		background-color: rgba(255, 255, 255, 0.955);
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;

		display: flex;
		justify-content: center;
		align-items: center;
		transition: all 0.4s cubic-bezier(0.85, 0, 0.15, 1);

		/* Hide nav */
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
		transform: translateX(100%);
	}

	.nav-open .main-nav {
		/* Show nav */
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
		transform: translateX(0);
	}

	.main-nav-list {
		flex-direction: column;
		align-items: center;
		gap: 4.8rem;
	}

	.main-nav-link:link,
	.main-nav-link:visited {
		font-size: 3rem;
	}

	.icon-mobile-nav[name='menu-outline'],
	.nav-open .icon-mobile-nav[name='close-outline'] {
		display: block;
	}
	.nav-open .icon-mobile-nav[name='menu-outline'],
	.icon-mobile-nav[name='close-outline'] {
		display: none;
	}

	.overflow-y-disable {
		overflow-y: hidden !important;
	}
}

/***************************/
/* BELOW 704px (Smaller tablets) */
/***************************/
@media (max-width: 44em) {
	.heading-secondary {
		margin-bottom: 4.8rem;
	}

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

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

	.pricing-plan {
		width: 100%;
	}

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

	.nav-col {
		grid-row: 1;
		grid-column: span 2;
		margin-bottom: 3.2rem;
	}

	.logo-col,
	.address-col {
		grid-column: span 3;
	}
}

/***************************/
/* BELOW 544px (Mobile phones) */
/***************************/
@media (max-width: 34em) {
	.logos img {
		height: 1.2rem;
	}

	.hero {
		padding: 3.2rem 2.4rem;
	}

	.btn,
	.btn:link,
	.btn:visited {
		font-size: 1.8rem;
		padding: 2.4rem 1.6rem;
	}

	.hero-img {
		width: 80%;
	}

	.section-how {
		padding-top: 4.8rem;
	}

	.grid {
		row-gap: 4.8rem;
	}

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

	.step-img-box {
		transform: translateY(2.4rem);
	}

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

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

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

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

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

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

	.cta-text-box {
		padding: 4.8rem;
	}

	.footer {
		padding: 8rem 0;
	}
}

/* 
- FONT SIZE SYSTEM (px)
10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98

- SPACING SYSTEM (px)
2 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 96 / 128
*/

/***************************/
/* Fix flexbox gap in Safari */
/***************************/

.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;
	}
}
