/* CSS Document */

/*
root {
	--mustard: #E0A74D;
	--sienna: #BE4827;
	--cactus: #9A9A74;
	--sky: #B3C1C5;
	--marshmallow: #F3F0E1;
	--stone: #49403F;
}*/

.header {
	text-align:center;
	background:#ffffff;
	padding:16px 0;
}

.header img {
	height:48px;
	margin:auto;
}

.section {
	max-width:none;
}

.section.divider {
	padding:32px;
}

.section.divider::before {
	content:"";
	display:block;
	width:90%;
	max-width:400px;
	height:4px;
	margin:0 auto 64px auto;
	border-radius:4px;
	background:#c2c2c2;
}

.section.footer {
	padding:32px;
	border-top:solid 2px #000000;
}

.section.footer > div {
	display:flex;
	justify-content:center;
	align-items:center;
}

.section.footer div > img {
	width:64px;
	border-radius:8px;
	margin:0 16px 0 0;
}

.section.footer div h2 {
	font-size:2em;
}

.section.footer div p {
	margin:0;
}

.section.footer div a {
	font-family:inherit;
	color:#45B6FC;
	font-weight:500;
}

/*.section:nth-child(even) {
	background-color:#f2f2f2;
}

.section:nth-child(odd) .container {
	background-color:#f2f2f2;
}*/

.section.hero {
	min-height:77vh;
	padding:32px 32px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	align-items:center;
	background-image:url("../img/coaching-hero-image.jpg");
	background-position:center; 
  	background-repeat:no-repeat;
  	background-size:cover;
}

.section.hero + .section {
	padding-top:64px;
}


.section.hero .cta-container {
	display:flex;
	flex-direction:column;
	gap:16px;
	padding:32px;
	text-align:center;
	background:#ffffff;
	box-shadow:0 5px 5px rgba(0,0,0,0.2);
	border-radius:12px;
	transform:translateY(32px)
}

.section.hero .cta-container h1 {
	font-size:2.5em;
}

.pricing-container {
	display:flex;
	flex-direction:column;
	gap:16px;
}

.pricing-container .price.regular, .pricing-container .price.discount>div, .pricing-container .assistance-container {
	display:flex;
	flex-direction:column;
	align-items:stretch;
	/*gap:8px;*/
	background:#f2f2f2;
	color:#000000;
	border-radius:12px;
	padding:16px;
	transition:background 0.5s, color 0.5s;
}

.pricing-container .assistance-container {
	gap:8px;
}

.pricing-container .price.discount {
	flex-direction:column;
}

.pricing-container>a {
	text-decoration:none;
}

.pricing-container .price h3 {
	margin:0;
}

.pricing-container.has-assistance .assistance-container {
	display:none;
}

.pricing-container.has-assistance .price.regular {
	color:#AAAAAA;
}

.pricing-container.has-assistance .price.regular h1>span:first-child {
	text-decoration:line-through;
}

.pricing-container.has-assistance .price.discount {
	display:flex;
}

.pricing-container .price.discount {
	display:none;
}

.pricing-container.has-assistance .price.discount>div {
	background:#E0A64C;
	color:#ffffff;
	flex-direction:row;
	justify-content:space-around;
	align-items:center;
	transition:background 0.5s, color 0.5s;
}

.pricing-container .price.discount>p {
	font-family:futura-pt, sans-serif;
	font-size:1.5em;
	text-align:center;
	margin:4px 0 0;
	color:#000000;
}


.pricing-container  .price.discount>div div {
	display:flex;
	flex-direction:column;
}

.pricing-container .price.discount .button {
	background:#ffffff;
	color:#E0A64C;
}

.section.benefits {
	height:50vh;
	padding:32px;
	color:#ffffff;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	align-items:flex-start;
	background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.35)), url("../img/happy-woman.jpg");
	background-position:50% 25%; 
  	background-repeat:no-repeat;
  	background-size:cover;
}

.section.benefits .row {
	flex:1;
	margin:0 auto;
	align-items:stretch;
}

.section.benefits .column {
	justify-content:space-between;
}

.service-container {
	display:flex;
	flex-direction:column;
	text-align:left;
	background:#ffffff;
	border-radius:12px;
	padding:16px;
	margin:32px 0px 0px;
}

.service-container:last-child {
	margin-bottom:16px;
}

.service-container>h3 {
	height:0;
	margin:0 0 16px;
	transform:translate(-32px, -32px);
}

.service-container>h2 {
	font-size:2em;
	margin:0 0 8px;
}

.service-container>.button, .service-container>.link {
	margin:16px 0 0;
}

.row.responsive.usps-item {
	align-items:center;
	width:100%;
}

.usps-item svg {
	margin:16px 0;
	max-width:64px;
	align-items:center;
}

.usps-item div {
	flex:1;
}

.steps-container {
	
}

.step-item {
	display:flex;
	flex-direction:column;
	align-items:center;
}

.step-item>div:first-child {
	width:100%;
	gap:8px;
	background:#ffffff;
	border-radius:12px;
	padding:16px 16px 24px;
}

.step-item>div+div {
	background-color:#fff;
	border-radius:50px;
	box-shadow:0 0 4px #c2c2c2;
	width:20px;
	height:20px;
	transform:scale(2);
}

.coach-container {
	text-align:left;
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:16px 0;
}

.coach-container img {
	width:75px;
	border-radius:75px;
}

.coach-container .r {
	display:flex;
	align-items:center;
	gap:8px;
}

.coach-container .c {
	display:flex;
	flex-direction:column;
}

.review-container > .row.responsive {
	margin:8px 0;
	align-items:center;
}

.review-container h3 {
	margin:4px 0;
}

.rating-container {
	display:flex;
	align-items:center;
	gap:4px;
}

.rating-container > p {
	font-family:futura-pt, sans-serif;
	color:#B5B5B5;
}

.coach-container h2 {
	font-size:2.25em;
	margin:0 0 2px;
}

.coach-container h3 {
	margin:0;
}

.reviews-summary-container .overall-score {
	margin:16px 0;
}

.reviews-summary-container .overall-score > h1 {
	font-size:5em;
}

.reviews-summary-container .overall-score > h3 {
	margin:0;
}

.reviews-summary-container .category-scores {
	gap:8px;
	margin:16px 0;
}

.reviews-summary-container .r, .review-container .r {
	text-align:left;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.reviews-summary-container .r > p {
	font-family:futura-pt, sans-serif;
	font-weight:600;
}

.section.reviews .column {
	gap:32px;
}

.section.secondary-cta {
	background:#E0A64C;
	color:#ffffff;
}

.secondary-cta-container {
	max-width:800px;
	border-radius:12px;
	margin:auto;
}

.secondary-cta-container .column {
	gap:16px;
}

.secondary-cta-container .button.active {
	background:#ffffff;
	color:#E0A64C;
}

.faq-item-container {
	border-bottom:solid 2px #B5B5B5;
	text-align:left;
}

.faq-item-container .faq-header {
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:8px 0;
}

.faq-item-container .faq-header > h2 {
	font-family:adobe-text-pro, serif;
	font-weight:normal;
	font-size:1.6em;
	margin-right:16px;
}

.faq-item-container .faq-body {
	overflow:hidden;
	height:0px;
}

.faq-item-container .faq-body p {
	font-size:1.6em;
	color:#777777;
	margin:0 0 16px;
}

.faq-item-container .faq-body a {
	font-family:adobe-text-pro, serif;
	/*font-weight:normal;
	font-size:unset;
	letter-spacing:normal;
	text-transform:none;*/
	color:#50A1FF;
}

.faq-item-container .expand-arrow {
	transition:transform 0.2s ease-out;
}

.faq-item-container.toggled .expand-arrow {
	transform:rotate(-180deg);
}

.faq-item-container.toggled .faq-body {
	height:auto;
}

.button, .link {
	flex:none;
	align-self:center;
	padding:12px 32px;
	/*width:100%;*/
}

.timeslot.button:hover {
	background:#E0A64C;
	color:#ffffff;
	
}

.button.timeslot /*, .button#ts-confirmation-button*/ {
	flex:1;
	margin:8px 0;
	padding:16px 0;
	align-self:stretch;
	
}

/*.section>.row.responsive>.column:first-child {
	text-align:left;
}*/

.section>.row.responsive>.column:first-child h1 {
	margin-bottom:16px;
}

@media only screen and (max-width: 380px) {
	/*.row.ts {
		flex-direction:column;
		align-items:stretch;
		gap:unset;
	}*/
	
	.header {
		padding:8px 0;
	}
	
	.header img {
		height:36px;
	}
	
	.section.hero {
		background-size:145%;
		background-position:50% 95%;
		padding:0px 32px;
	}
}

@media only screen and (min-width: 600px) {
	
	/*.header {
		position:sticky;
		top:0;
	}*/
	
	.section.hero {
		flex-direction:row;
		justify-content:flex-start;
	}
	
	.section.hero .cta-container {
		max-width:33%;
		transform:none;
	}
	
	.section.hero + .section {
		padding-top:32px;
	}
	
	.section>.row.responsive .column:first-child h1 {
		margin-bottom:0px;
	}
	
	.section.secondary-cta {
		background:#ffffff;
	}
	
	.secondary-cta-container {
		background:#E0A64C;
	}
	
	.secondary-cta-container .row {
		padding:32px;
	}
	
	.usps-item svg {
		margin:0;
	}
	
	.review-container {
		text-align:left;
	}
	
}