@font-face
{
	font-family: Sofia;
	src: url('/wp-content/themes/astra-child/fonts/sofia-pro-regular-az.otf');
	font-weight: 400;
}

@font-face
{
	font-family: Sofia;
	src: url('/wp-content/themes/astra-child/fonts/sofia-pro-bold-az.otf');
	font-weight: 700;
}

:root
{
	/*
	--feelpeak-yellow: #f7e70e;
	--feelpeak-darker-yellow: #b0b000;
	
	--feelpeak-lighter-orange: #ffb266;
	--feelpeak-orange: #ff9933;
	--feelpeak-darker-orange: #bd5800;
	
	--feelpeak-light-blue: #f3f6fb;
	
	--feelpeak-dark-gray-text: #777777;
	*/
	
	--home-page-h0-font-size: 60px;
	--home-page-h1-font-size: 40px;
	--home-page-h2-font-size: 28px;
	--home-page-h3-font-size: 24px;
	--home-page-h4-font-size: 18px;
	--home-page-p-font-size: 16px;
	
	--home-page-massive-gap-padding: 100px;
	--home-page-large-gap-padding: 75px;
	--home-page-medium-gap-padding: 50px;
	--home-page-small-gap-padding: 30px;
	--home-page-tiny-gap-padding: 20px;
	
	--home-page-edge-padding: 35px;
}

#site-content.home-page-main-container h1,
#site-content.home-page-main-container h2,
#site-content.home-page-main-container h3,
#site-content.home-page-main-container h4,
#site-content.home-page-main-container h5,
#site-content.home-page-main-container h6,
#site-content.home-page-main-container p,
#site-content.home-page-main-container span,
#site-content.home-page-main-container div,
#site-content.home-page-main-container li
{
	font-family: "Sofia", sans-serif;
}

.home-page-main-container h1,
.home-page-main-container h2,
.home-page-main-container h3,
.home-page-main-container h4,
.home-page-main-container h5,
.home-page-main-container h6,
.home-page-main-container p,
.home-page-main-container span,
.home-page-main-container div,
.home-page-main-container li
{
	color: #000000;
}

.site-content p
{
	margin-bottom: 1.5em;
}

.ast-title-bar-wrap
{
	display: none;
}

main#site-content
{
	width: 100%;
}

#content > .ast-container
{
	margin: 0;
}

.main-header-bar .ast-container
{
	max-width: 1200px;
}

.home-page-main-container .home-page-template-button
{
	display: inline-block;
	padding: 20px 40px;
	/*margin-bottom: var(--home-page-medium-gap-padding);*/
	background-color: var(--feelpeak-yellow);
	border: none;
	border-radius: 16px;
	color: #000000;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
}

.home-page-main-container .yellow-button
{
	background-color: var(--feelpeak-yellow);
	color: #000000;
}

.home-page-main-container .yellow-button:hover
{
	background-color: var(--feelpeak-lighter-orange);
	color: #000000;
}

.home-page-main-container .yellow-button:active
{
	background-color: var(--feelpeak-orange);
	color: #000000;
}

.home-page-main-container .black-button
{
	background-color: #000000;
	color: #ffffff;
}

.home-page-main-container .top-section
{
	/*padding: 80px;*/
	padding: 0 var(--home-page-edge-padding) var(--home-page-edge-padding);
	background-repeat: no-repeat;
	background-position: top right;
}

.home-page-main-container .top-section .top-section-inner-container
{

}

.home-page-main-container .top-section .top-section-inner-container .top-section-content-container
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: 1200px;
	/*margin: 0 auto var(--home-page-medium-gap-padding) auto;*/
	margin: 0 auto;
	gap: var(--home-page-medium-gap-padding);
	box-sizing: content-box;
	background-repeat: no-repeat;
	/*background-position: 600px 0%;*/
	/*background-size: 600px;*/
	background-position: 650px 0%;
	background-size: 550px;
}

.home-page-main-container .top-section .top-section-inner-container .top-section-mobile-image-container,
.home-page-main-container .banner-section .social-media-banner .mobile-image
{
	display: none;
}

.home-page-main-container .top-section .top-section-heading-text h1
{
	max-width: 550px;
	font-size: var(--home-page-h0-font-size);
	font-weight: 600;
	margin-top: var(--home-page-large-gap-padding);
}

.home-page-main-container .top-section .top-section-description
{
	max-width: 450px;
}

.home-page-main-container .top-section .top-section-description-text
{
	font-size: var(--home-page-p-font-size);
}

.home-page-main-container .top-section .top-section-description p:last-of-type
{
	margin-bottom: 0;
}

.home-page-main-container .top-section .top-section-promo
{
	max-width: 450px;
}

.home-page-main-container .top-section .top-section-promo-text
{
	max-width: 550px;
	font-size: var(--home-page-p-font-size);
}

.home-page-main-container .top-section .top-section-promo p:last-of-type
{
	margin-bottom: 0;
}

.home-page-main-container .top-section .home-page-template-button
{
	margin-bottom: var(--home-page-medium-gap-padding);
}

.home-page-main-container .promo-section
{
	padding: var(--home-page-massive-gap-padding) var(--home-page-edge-padding);
    background-size: cover;
}

.home-page-main-container .promo-section .promo-section-inner-container
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: 1200px;
	/*min-height: 725px;*/
	margin: auto;
	gap: var(--home-page-medium-gap-padding);
	box-sizing: content-box;
}

.home-page-main-container .promo-section .promo-section-heading
{
	text-align: left;
	width: 100%;
	max-width: 600px;
	font-size: var(--home-page-h2-font-size);
	font-weight: 600;
}

.home-page-main-container .promo-section .promo-section-bullet-points
{
	display: grid;
    grid-template-columns: repeat(2, calc(600px / 2));
    gap: 10px 20px;
}

.home-page-main-container .promo-section .promo-section-bullet-points .bullet-point
{
	display: flex;
	/*justify-content: center;*/
	justify-content: left;
	align-items: center;
	/*width: -moz-fit-content;*/ /* TODO: Remove this when Firefox supports the unprefixed version */
	/*width: fit-content;*/
	/*margin: 0 0 10px;*/
	padding: 0 20px 0 0;
	background-color: var(--feelpeak-light-blue);
	border-radius: 20px 20px 20px 20px;
	font-weight: 600;
}

.home-page-main-container .promo-section .promo-section-bullet-points .bullet-point .bullet-point-checkmark
{
	display: inline-block;
	font-size: 24px;
	margin: 0 10px 0 0;
	padding: 15px;
	background-color: var(--feelpeak-yellow);
	/*background-image: url(/wp-content/themes/astra-child/assets/service-page-checkmark-11px-v1.png);*/
	background-image: url(/wp-content/themes/astra-child/assets/opts-checkmark-5.svg);
	background-size: 11px;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 50%;
	flex-shrink: 0;
}

.home-page-main-container .promo-section .promo-section-bullet-points .bullet-point .bullet-point-text
{
	font-size: var(--home-page-p-font-size);
}

.home-page-main-container .categories-section .categories-section-inner-container
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: 1200px; /* was 1366px */
	/*min-height: 725px;*/
	margin: auto;
	gap: var(--home-page-massive-gap-padding); /* was 120px */
	box-sizing: content-box;
}

.home-page-main-container .category-cards-section
{
	padding: var(--home-page-massive-gap-padding) var(--home-page-edge-padding) calc(var(--home-page-massive-gap-padding) / 2);
    background-size: cover;
}

.home-page-main-container .category-cards-section .category-cards-section-category-cards
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	gap: 40px; /* Was 55px */
}

.home-page-main-container .category-cards-section .category-cards-section-category-card
{
	flex-direction: column;
	display: flex;
	justify-content: center;
	align-items: center;
}

.home-page-main-container .category-cards-section .category-cards-section-category-card .category-card-image
{
	width: 100%;
	max-width: 270px; /* Was 300 */
	max-height: 250px;
}

.home-page-main-container .category-cards-section .category-cards-section-category-card .category-name-container
{
	margin: -25px 0 0 0;
	max-width: 220px; /* was 250px */
	width: 100%;
	box-sizing: border-box;
}

.home-page-main-container .category-cards-section .category-cards-section-category-card .category-name-inner-container
{
	min-height: 85px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
	background-color: var(--feelpeak-yellow);
}

.home-page-main-container .category-cards-section .category-cards-section-category-card .category-name
{
	font-size: var(--home-page-h4-font-size);
	font-weight: 600;
	text-align: center;
}

.home-page-main-container .category-cards-section .category-cards-section-category-card .category-name-bottom-decoration
{
	height: 15px;
	margin-top: -1px; /* TODO: Remove this once Chrome fixes its new subpixel rendering bug */
	clip-path: polygon(100% 100%, 40% 100%, 45% 0, 100% 0);
	background-color: var(--feelpeak-yellow);
}

.home-page-main-container .banner-section
{
	padding: calc(var(--home-page-massive-gap-padding) / 2) var(--home-page-edge-padding) calc(var(--home-page-massive-gap-padding) / 2);
}

.home-page-main-container .banner-section .banner-section-inner-container
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: 1200px; /* was 1366px */
	/*min-height: 725px;*/
	margin: auto;
	gap: var(--home-page-massive-gap-padding); /* was 120px */
	box-sizing: content-box;
}

.home-page-main-container .banner-section .social-media-banner
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-basis: 250px;
	width: 100%;
	padding: 80px;
	gap: 30px;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
}

.home-page-main-container .banner-section .social-media-banner .left-column
{
	flex-basis: 75%;
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-self: start;
}

.home-page-main-container .banner-section .social-media-banner .right-column
{
	flex-basis: 25%;
	display: flex;
	align-self: start;
	justify-content: flex-end;
}

.home-page-main-container .banner-section .social-media-banner .social-media-banner-heading-text
{
	font-size: 48px;
	font-weight: 600;
}

.home-page-main-container .banner-section .social-media-banner .social-media-buttons
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
}

.home-page-main-container .banner-section .social-media-banner .social-media-button
{
	background-color: black;
	padding: 17px;
	border-radius: 50%;
	flex-shrink: 0;
}

.home-page-main-container .banner-section .social-media-banner .social-media-button img
{
	display: block;
}

.home-page-main-container .banner-section .social-media-banner .email-input-row p
{
	font-size: var(--home-page-p-font-size);
	margin: 0;
}

.home-page-main-container .categories-section
{
	padding: calc(var(--home-page-massive-gap-padding) / 2) var(--home-page-edge-padding) var(--home-page-massive-gap-padding);
}

.home-page-main-container .categories-section .categories-section-inner-container
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	max-width: 1200px; /* was 1366px */
	/*min-height: 725px;*/
	margin: auto;
	gap: var(--home-page-massive-gap-padding); /* was 120px */
	box-sizing: content-box;
}

.home-page-main-container .categories-section .category-row
{
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 50px; /* was 60px; */
}

.home-page-main-container .categories-section .category-name
{
	font-size: var(--home-page-h2-font-size);
	font-weight: 600;
}

.home-page-main-container .categories-section .category-name-and-posts-button
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.home-page-main-container .categories-section .category-cards
{
	display: flex;
	justify-content: space-evenly;
	align-items: start;
	flex-wrap: wrap;
	gap: 40px; /* was 28px */
}

.home-page-main-container .categories-section .category-card
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	width: 100%;
	max-width: 270px; /* was 320px */
	gap: 15px;
}

.home-page-main-container .categories-section .view-all-category-posts-button
{
	display: inline-flex;
	padding: 20px 22px;
	gap: 20px;
	background-color: #ffffff;
	border-bottom: 1px solid black;
	color: black;
	font-size: var(--home-page-p-font-size);
	line-height: 1;
}

.home-page-main-container .categories-section .view-all-category-posts-button .button-text
{
	font-weight: 600;
}

.home-page-main-container .categories-section .category-card .post-name
{
	font-size: var(--home-page-h4-font-size);
	font-weight: 600;
	line-height: 1.3;
}

.home-page-main-container .categories-section .category-card .post-date
{
	width: 100%;
	color: black;
	font-size: var(--home-page-p-font-size);
}

.home-page-main-container .categories-section .category-card-image-link
{
	margin-bottom: 8px;
}

@media (max-width: 1600px)
{

}

@media (max-width: 1400px)
{
	.home-page-main-container .top-section .top-section-heading-text h1
	{
		/*max-width: 500px;*/
		/*font-size: 72px;*/
	}
	
	.home-page-main-container .top-section .top-section-promo-text
	{
		max-width: 500px;
	}
	
	.home-page-main-container .top-section .top-section-inner-container .top-section-content-container
	{
		background-position: 650px 0%;
		background-size: 550px;
	}
}

@media (max-width: 1280px)
{

}

@media (max-width: 1200px)
{
	.home-page-main-container .top-section .top-section-inner-container .top-section-content-container
	{
		background-position: calc(100vw - 480px) 0%;
		background-size: 480px;
	}
	
	.home-page-main-container .top-section .top-section-heading-text h1
	{
		/*max-width: 480px;*/
	}
	
	.home-page-main-container .top-section .top-section-promo
	{
		max-width: 480px;
		margin-bottom: 0;
	}
}

@media (max-width: 1080px)
{	
	.home-page-main-container .banner-section .social-media-banner .left-column
	{
		max-width: 65%;
	}
	
	.home-page-main-container .banner-section .social-media-banner .social-media-banner-heading-text
	{
		font-size: 36px;
	}
	
	.home-page-main-container .banner-section .social-media-banner
	{
		flex-direction: column;
		background-position: 75% 0%;
	}
}


@media (max-width: 1000px)
{
	.home-page-main-container .top-section .top-section-heading-text h1
	{
		max-width: 420px;
		font-size: 48px;
	}
	
	.home-page-main-container .top-section .top-section-description,
	.home-page-main-container .top-section .top-section-promo-text
	{
		max-width: 420px;
	}
	
}


/* Tablet breakpoint */
@media (max-width: 900px)
{
	:root
	{
		--home-page-h0-font-size: 32px;
		--home-page-h1-font-size: 32px;
		--home-page-h2-font-size: 28px;
		--home-page-h3-font-size: 24px;
		--home-page-h4-font-size: 20px;
		--home-page-p-font-size: 16px;
		
		--home-page-massive-gap-padding: 80px;
		--home-page-large-gap-padding: 50px;
		--home-page-medium-gap-padding: 35px;
		--home-page-small-gap-padding: 25px;
		--home-page-tiny-gap-padding: 15px;
		
		--home-page-edge-padding: 15px;
	}
	
	.home-page-main-container .top-section .top-section-heading-text h1
	{
		max-width: 400px;
		font-size: 48px;
	}
	
	.home-page-main-container .top-section .top-section-category-card .category-name-container
	{
		min-height: 85px;
	}
	
	.home-page-main-container .top-section .top-section-inner-container .top-section-content-container
	{
		background-position: calc(100vw - 320px) 0%;
		background-size: 400px;
	}
	
	.home-page-main-container .top-section .top-section-description,
	.home-page-main-container .top-section .top-section-promo-text
	{
		max-width: 400px;
	}
	
	.home-page-main-container .promo-section .promo-section-inner-container
	{
		align-items: center;
	}
	
	.home-page-main-container .promo-section .promo-section-heading
	{
		max-width: none;
		text-align: center;
	}
	
	.home-page-main-container .promo-section .promo-section-bullet-points
	{
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	
	.home-page-main-container .categories-section .category-cards
	{
		gap: 35px 20px;
	}
	
	.home-page-main-container .categories-section .category-card
	{
		gap: 0;
	}
	
	.home-page-main-container .categories-section .category-row
	{
		gap: 30px;
	}
	
	.home-page-main-container .banner-section .social-media-banner
	{
		padding: 40px;
	}
	
	.home-page-main-container .banner-section .social-media-banner .social-media-banner-heading-text
	{
		font-size: var(--home-page-h0-font-size);
	}
}

@media (max-width: 700px)
{
	.ast-button, .ast-custom-button, body, button, input[type=button], input[type=submit], textarea
	{
		line-height: 1.7;
	}
	
	.home-page-main-container .categories-section .category-name-and-posts-button
	{
		flex-direction: column;
		gap: 20px;
	}
	
	.home-page-main-container .categories-section .view-all-category-posts-button
	{
		border: 1px solid black;
	}
	
	.home-page-main-container .top-section .top-section-inner-container .top-section-mobile-image-container
	{
		display: block;
	}
	
	.home-page-main-container .top-section .top-section-inner-container .top-section-content-container
	{
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		background-image: none!important;
	}
	
	.home-page-main-container .banner-section .social-media-banner .left-column
	{
		max-width: 300px;
	}
}



/* Mobile breakpoint */
@media (max-width: 600px)
{
	:root
	{
		--home-page-h0-font-size: 23px;
		--home-page-h1-font-size: 23px;
		--home-page-h2-font-size: 21px;
		--home-page-h3-font-size: 19px;
		--home-page-h4-font-size: 17px;
		--home-page-p-font-size: 16px;
		
		--home-page-massive-gap-padding: 60px;
		--home-page-large-gap-padding: 40px;
		--home-page-medium-gap-padding: 30px;
		--home-page-small-gap-padding: 20px;
		--home-page-tiny-gap-padding: 10px;
		
		--home-page-edge-padding: 15px;
	}
		
	.home-page-main-container .top-section .top-section-heading-text h1
	{
		font-size: 42px;
	}
	
	.home-page-main-container .top-section .top-section-category-card .category-name-container
	{
		max-width: 200px;
		min-height: 70px;
	}
	
	.home-page-main-container .categories-section .category-name
	{
		text-align: center;
	}
	
	.home-page-main-container .banner-section .social-media-banner .mobile-image
	{
		display: block;
		order: 2;
	}
	
	.home-page-main-container .banner-section .social-media-banner .mobile-image img
	{
		max-width: 300px;
		max-height: 242px;
		height: auto;
	}
	
	.home-page-main-container .banner-section .social-media-banner .social-media-button
	{
		padding: 10px;
	}
	
	.home-page-main-container .banner-section .social-media-banner
	{
		padding: 20px 20px 0 20px;
		max-height: none;
		background-image: none!important;
	}
	
	.home-page-main-container .banner-section .social-media-banner .left-column,
	.home-page-main-container .banner-section .social-media-banner .right-column
	{
		flex-basis: 100%;
		justify-content: center;
		width: 100%;
		max-width: none;
		text-align: center;
	}
}

@media (max-width: 500px)
{	
	.home-page-main-container .top-section .top-section-heading-text h1
	{
		font-size: 30px;
	}
}

@media (max-width: 350px)
{
	.home-page-main-container .top-section .top-section-heading-text h1
	{
		font-size: 24px;
	}
}