@media (prefers-reduced-motion: no-preference) {
	:root {
		interpolate-size: allow-keywords;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
}

a {
	color: var(--color-accent);
	text-decoration: underline;
	transition: color 0.2s;
}

p {
	margin: 0 0 1.5em;
	overflow-wrap: break-word;

	&:last-child {
		margin: 0;
	}
}

table {
	width: 100%;
}

img, picture, video, canvas, svg {
	max-width: 100%;
	display: block;
	height: auto;
}

[hidden] {
	display: none !important;
}

ol, ul {
	padding: 0 0 0 1.5em;
	margin-bottom: 1em;
}

input, button, textarea, select {
	font: inherit;
}

h1.p1 {
	font-size: 3.2rem;
}

h2.p1 {
	font-size: 2.4rem;
}

h3.p1 {
	font-size: 2rem;
}

.alignleft {
	float: left;
	margin-right: 1rem;
}

.alignright {
	float: right;
	margin-left: 1rem;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.page-width {
	max-width: var(--container-width);
	margin: 0 auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}

.page-width--narrow {
	max-width: calc(0.85 * var(--container-width));
}

.page-width--narrower {
	max-width: calc(0.62 * var(--container-width));
}

.ratio-container {
	--ratio: 4/3;
	aspect-ratio: var(--ratio);

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.bigger-text {
	font-size: 2.1rem;
	line-height: 1.7em;
}

/* SECTIONS */
.page-section__header--center {
	text-align: center;
}

.page-section {
	margin: var(--section-spacing) auto;
	scroll-margin: var(--section-spacing);

	&:first-child {
		margin-top: calc(var(--section-spacing) * 0.5);
	}
}

.page-section--heading {
	margin-bottom: calc(var(--section-spacing) * 0.35);

	.h4 {
		margin-bottom: 1rem;
	}
}

.page-section--sp-bottom--small {
	margin-bottom: calc(var(--section-spacing) * 0.5);
}

.page-section--sp-top--small {
	margin-top: calc(var(--section-spacing) * 0.5);
}

.page-section--heading + .page-section {
	margin-top: 0;
}

.section-title {
	text-align: center;
	
	.page-section:not(:has(& + .section-content)) & {
		margin-bottom: 2em;
	}
}

.page-section--img-txt {
	header {
		text-align: center;
		margin-bottom: 2em;

		h2 {
			max-width: 740px;
			margin-left: auto;
			margin-right: auto;
		}
	}
}

.img-txt-block {
	display: flex;
	gap: 3rem 6rem;
	align-items: center;
/* 
	.page-section:first-child & {
		align-items: flex-start;
	} */

	.button {
		width: 500px;
		max-width: 100%;
	}
}

.img-txt-block--img-txt {
	flex-direction: row-reverse;
}

.img-txt__txt {
	flex: 9;
}

.img-txt__img {
	flex: 10;
	position: relative;
}

.img-txt-block--sm-img .img-txt__img {
	flex: 5;
	max-width: 70%;
}

.img-txt__txt h1 {
	margin-bottom: 0.6em;
}

.img-txt__img {
	img {
		background: var(--color-light-gray);
		width: 100%;
		border-radius: 20px;
	}
}

.img-txt__featured-product-info {
	position: absolute;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	color: #fff;
	padding: 2.5rem 3.5rem;
	bottom: 0;
	left: 0;
	width: 100%;
}

.img-txt__img .woocommerce-Price-amount {
	border: 2px solid;
	border-radius: 50px;
	height: 5rem;
	padding: 0 2rem;
	font-size: 2.8rem;
	display: flex;
	align-items: center;
	margin-bottom: 0.5rem;
}

.img-txt__featured-product-title {
	font-size: 5rem;
	font-weight: 500;
	margin: 0;
}

.img-txt-block--reverse {
	flex-direction: row-reverse;
}

.img-txt__subtitle {
	font-size: 21px;
	line-height: 1.5em;
	max-width: 500px;
}

.page-section--richtext ul,
.img-txt__txt ul {
	display: flex;
	gap: 1em;
	flex-direction: column;
	margin: 1.7em 0;

	&:last-child {
		margin-bottom: 0;
	}

	&:first-child {
		margin-top: 0;
	}
}

ul.stylized-list-grid,
ul.stylized-list {
	list-style-type: none;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 2em 0;
	padding: 0;
}

ul.stylized-list-grid {
	display: grid;
	gap: 5rem 8rem;
	grid-template-columns: repeat(auto-fill, minmax(40rem, 1fr));

	.bigger-text:has(+ br) {
		margin-bottom: 0.4em;
		display: inline-block;
	}
}

.stylized-list-grid li,
.stylized-list li {
	padding-left: 4rem;
	position: relative;

	&::before {
		content: '';
		width: 2.5rem;
		height: 2.5rem;
		border-radius: 50%;
		top: 1px;
		left: 0;
		position: absolute;
		background: var(--color-blue);
	}

	&::after {
		content: '';
		position: absolute;
		top: 1rem;
		left: 0.7rem;
		width: 1.1rem;
		height: 0.6rem;
		border-style: solid;
		border-color: var(--color-accent);
		border-width: 0 0 2px 2px;
		rotate: -45deg;
	}
}

.stylized-list-grid li::before {
	top: 4px;
}

.stylized-list-grid li::after {
	top: 1.2rem
}

@media (max-width: 900px) {
	.img-txt__img .ratio-container {
		aspect-ratio: 1;
	}

	.img-txt__featured-product-title {
		font-size: 2.4rem;
	}

	.img-txt__img .woocommerce-Price-amount {
		font-size: 2.4rem;
		height: 4.5;
	}

	.img-txt__featured-product-info {
		align-items: center;
		padding: 0 2rem 1.5rem 2rem;
	}

	.img-txt__img .woocommerce-Price-amount {
		margin: 0;
	}
}

@media (max-width: 768px) {
	ul.stylized-list-grid {
		grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
		gap: 3rem 6rem;
	}
}

.img-txt__txt {
	max-width: 100%;
}

.img-txt__txt:not(.img-txt-block--sm-img) {
	.stylized-list,
	& .img-txt__txt > p {
		max-width: 50rem;
	}
}

.california-seal {
	line-height: 2em;
	font-size: 14px;
	padding: 20px 30px;
	display: flex;
	align-items: center;
	background-color: var(--color-light-gray);
	border-radius: 10px;
	gap: 25px;
	margin-top: 30px;

	img {
		width: 68px;
		height: auto;
		object-fit: contain;
		border-radius: 50%;
		background: #c8a769;
	}

	p {
		margin: 0;
	}
}

.page-section--background-accent {
	background: var(--color-accent);
	padding: var(--section-spacing) 0;
	margin: 0;
	color: #fff;

	&:last-child {
		margin-bottom: 0;
	}
}

.page-section--gray-bg {
	background: var(--color-light-gray);
	padding: var(--section-spacing) 0;
	margin: 0;

	&:last-child {
		margin-bottom: 0;
	}
}

.page-section--gray-contained-bg {
	max-width: var(--container-width);
	margin-left: auto;
	margin-right: auto;
	background: var(--color-light-gray);
	border-radius: 3rem;
	padding: calc(0.5 * var(--section-spacing)) var(--container-padding);
}

.page-section--gray-contained-bg .page-width {
	padding: 0;
}

/**** FAQ ****/

.faq-blocks {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	text-align: left;
	margin-top: 5rem;
	--faq-padding: 5.5rem;
}

.faq-blocks--2 {
	grid-template-columns: 1fr 1fr;
}

.faq-block {
	summary {
		list-style-type: none;
		position: relative;
		padding-left: var(--faq-padding);
		font-size: 1.8rem;
		line-height: 1.5em;
		font-weight: 500;
		cursor: pointer;
		transition: color 0.2s;

		&:hover {
			color: var(--color-accent);
			
			&::before {
				border-color: var(--color-accent);
			}
		}

		&::before {
			content: '';
			position: absolute;
			top: -4px;
			left: 0;
			width: 36px;
			height: 36px;
			border: 2px solid var(--color-accent-light);
			border-radius: 50%;
			transition: border-color 0.2s;
		}

		&::after {
			content: '+';
			position: absolute;
			top: 1px;
			left: 9px;
			font-weight: normal;
			font-size: 27px;
			color: var(--color-accent);
		}
	}

	&[open] summary::after {
		content: '—';
		font-size: 23px;
		left: 8px;
	}
}

.faq-block__answer {
	margin: 20px 0 10px;
	font-size: 16px;
	padding-left: var(--faq-padding);
}

@media (max-width: 900px) {
	.faq-blocks--2 {
		grid-template-columns: 1fr;
	}
}

/**** SLIDER ****/
.slider {
	--slides-per-page: 3;
	--gap: 10px;
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	gap: var(--gap);
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scroll-snap-stop: always;
}

.slider--full {
	.slider__slide {
		scroll-margin-left: var(--side-offset);

		&:first-child {
			margin-left: var(--side-offset);
		}

		&:last-child {
			margin-right: var(--side-offset);
			scroll-margin-right: var(--side-offset);
		}
	}
}

.slider {
	display: flex;
	--slides-per-page: 3;
	--gap: 0px;
	overflow-x: auto;
}

.slider__slide {
	--gap_per_item: var(--gap) * ( var(--slides-per-page) - 1 ) / var(--slides-per-page);
	flex: 0 0 calc(100% / var(--slides-per-page) - var(--gap_per_item));
}

.slider__control {
	opacity: 0;
	position: absolute;
}

/**** END SLIDER ****/

/***** INFO CARDS *****/
.page-section--info-cards {
	text-align: center;

	.heading {
		text-wrap: balance;
		font-weight: bold;
	}
}

.page-section--info-cards .page-section__header {
	max-width: 80rem;
	margin: 0 auto 5rem;
}

.info-cards {
	display: flex;
	--gap: 3rem;
	gap: var(--gap);
	justify-content: space-evenly;
}

.info-card {
	max-width: 40rem;
	background: #294871;
	color: #fff;
	border-radius: 1rem;
	padding: 1.5rem 1.5rem 2.5rem;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.5em;
}

.info-card__title {
	color: inherit;
}

.info-card__image {
	aspect-ratio: 4/3;
	margin-bottom: 2.5rem;

	img {
		border-radius: 1rem;
	}
}

@media (max-width: 900px) {
	.info-cards {
		--gap: var(--container-padding);
		--slides-per-page: 2.5;
		margin: 0 calc(-1 * var(--container-padding));
		padding: 0 var(--container-padding);
	}

	.info-card {
		scroll-margin: var(--container-padding);
	}
}

@media (max-width: 768px) {
	.info-cards {
		--slides-per-page: 1.25;
	}
}
/***** END INFO CARDS *****/

/**** END FAQ ****/

/**** LEARNDASH ****/
.wpProQuiz_button {
	color: #fff !important;
}

.quiz-result-imm {
	display: flex;
	gap: 2rem 3rem;
	margin: 4rem 0;
	flex-wrap: wrap-reverse;
}

.quiz-result-left {
	flex: 1;
	min-width: 30rem;
	max-width: 50rem;

	h2 {
		font-size: 2.3rem;
	}
}

body .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) label {
	display: inline-flex;
	gap: 1rem;
}

.learndash-wrapper .ld-quiz-result-failed .wpProQuiz_questionListItem label input[type="radio"],
.learndash-wrapper .ld-quiz-result-passed .wpProQuiz_questionListItem label input[type="radio"] {
	margin: 0 !important;
}

body .learndash-wrapper .wpProQuiz_content .wpProQuiz_questionListItem:not(.ld-sortable__item) .ld-quiz-question-item__status {
	top: -6px;
	background: #fff;
	padding: 5px 7px;
	border-radius: 5px;
}

.imm_correct_ans {
	background: var(--color-light-gray);
	border-radius: 1.5rem;
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 2rem;
}

.imm_correct_txt {
	h4, p {
		margin: 0;
	}
}

.quiz-result-right {
	flex: 1;
	min-width: 30rem;
}

.quiz-result-right img {
	max-width: 53rem;
	width: 100%;
	margin: 0 auto;
}
/**** END LEARNDASH ****/

/**** OFFERS ****/
.page-section--offers .section-title {
	max-width: 84.5rem;
	margin: 0 auto 1.2em;
}

.page-section--offers .california-seal {
	font-size: 1.6rem;
	max-width: 45.5rem;
	line-height: 1.7em;
	padding: 0;
	margin: 3rem auto 0;
	background: transparent;

	img {
		width: 8.8rem;
	}
}

.product-offers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3rem 5rem;
	margin-top: 5rem;
}

.product-offers:not(:last-child) {
	margin-bottom: 3rem;
}

.product-offer {
	flex: 1;
	max-width: 700px;
	min-width: 300px;
	background: var(--color-light-gray);
	border-radius: 28px;
	padding: 55px 50px 50px;
	font-size: 20px;
	display: flex;
	flex-direction: column;
	text-align: center;

	.button--big {
		width: 100%;
	}
}

.product-offers:not(:has(.product-offer--bundle)) h3 br {
	display: none;
}

.product-offer ul {
	text-align: left;
}

@media (min-width: 769px) {
	.product-offers:has(.product-offer__free-shipping) .product-offer__price {
		min-height: 11.5rem;
	}
}

.product-offer__short-info {
	min-height: 4.3em;
}

.product-offer__free-shipping {
	text-align: center;
	color: var(--color-accent);
	text-transform: uppercase;
	display: flex;
	gap: 0.7rem;
	font-size: 1.5rem;
	justify-content: center;
	flex: 0 0 100%;
	font-weight: normal;
}

.price {
	font-weight: 600;
	color: var(--color-dark);

	ins {
		text-decoration: none;
	}

	del {
		font-weight: normal;
		color: var(--color-gray-darker);
	}

	small {
		font-weight: normal;
		font-size: 14px;
		color: var(--color-accent);
	}
}

.product-offer__price {
	font-size: 24px;
	text-align: center;
	line-height: 1.6em;
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.3em;
	justify-content: center;
	color: var(--color-blue);

	ins {
		flex: 0 0 100%;
		text-align: center;
		order: -1;
	}

	del {
		color: var(--color-gray-darker);
		display: inline;
	}

	small {
		color: var(--color-accent);
		font-size: 1.7rem;
	}

	& > .amount::before,
	ins .amount::before {
		content: 'Only ';
	}
}


.offers-widget {
	background: var(--color-light-gray);
	padding: 2rem 3rem 3rem;
	border-radius: 1rem;
	text-align: center;
	max-width: 38.5rem;
}

.offers-widget ul {
	text-align: left;
	margin: 1.5rem 0 2.4rem;
}

.offers-widget__tabs {
	display: flex;
	border-bottom: 1px solid #E6E8EC;
	margin: 0 -3rem 2rem;
	padding: 0 3rem;
	justify-content: space-evenly;
}

.offers-widget__tabs button {
	text-align: center;
	flex: 1;
	font-weight: 600;
	font-size: 1.9rem;
	height: 4.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 2px solid transparent;
	margin: 0 0 -1px;
}

.offers-widget__tabs [aria-selected="true"] {
	color: var(--color-accent);
	border-bottom-color: var(--color-accent);
}

.offers-widget__tab > p {
	max-width: 28rem;
	margin-left: auto;
	margin-right: auto;
}

.offers-widget__heading {
	font-size: 2rem;
	font-weight: 400;
	margin: 0 0 2rem;
	padding: 0 0 2rem;
	text-wrap: balance;
	text-align: center;
	border-bottom: 1px solid #E6E8EC;
}

.offers-widget__footer {
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	align-items: center;
}

.offers-widget__footer .woocommerce-Price-amount {
	font-weight: 600;
}

.offers-widget__footer .woocommerce-Price-amount::before {
	content: 'Only ';
}

.offers-widget__footer .button {
	height: 4.8rem;
	padding: 0 4rem;
}


@media (max-width: 768px) {
	.product-offer {
		padding: 3rem var(--container-padding);
		margin: 0 calc(-1 * var(--container-padding));
	}
}

/**** END OFFERS ****/

/**** STEPS ****/
.steps-list {
	--step-num-width: 130px;
	--step-num-size: 77px;
	--steps-space: 50px;

	list-style-type: none;
	counter-reset: step-number;
	display: flex;
	flex-direction: column;
	gap: var(--steps-space);
	padding: 0;
}

.steps-list li {
	display: grid;
	position: relative;
	grid-template-columns: var(--step-num-width) 1fr;
	counter-increment: step-number;
	background: var(--color-light-gray);
	border-radius: 10px;
	padding: 25px 15px 25px 0;
	font-size: 17px;
	transition: box-shadow 0.5s;
}

.steps-list li:hover {
	box-shadow: 4px 4px 0 var(--color-accent-light);

	&::before {
		color: var(--color-blue);
	}

	&:not(:last-child)::after {
		border-color: var(--color-dark);
	}
}

.steps-list li::before {
	content: counter(step-number);
	grid-row: span 2;
	font-size: var(--step-num-size);
	line-height: 1em;
	color: var(--color-accent);
	font-weight: 600;
	align-self: center;
	text-align: center;
	transition: color 0.5s;
}

.steps-list li:not(:last-child)::after {
	content: '';
	border-right: 2px solid #dedede;
	position: absolute;
	left: calc(var(--step-num-width) / 2 + 1px);
	top: calc(50% + var(--step-num-size) / 2 + 5px);
	bottom: calc((var(--steps-space) + 20px) * -1);
	z-index: 2;
	transition: border-color 0.5s;
}

.steps-list h4 {
	margin: 0 0 0.5em;
	font-weight: bold;
}

@media (max-width: 768px) {
	.steps-list li:not(:last-child)::after {
		display: none;
	}

	.steps-list li::before {
		grid-row: 1;
	}

	.step-description {
		grid-column: 1 / -1;
		font-size: 1.5rem;
		line-height: 1.7em;
	}

	.steps-list {
		--step-num-size: 6rem;
		--step-num-width: 6rem;
		--steps-space: 2rem;
	}

	.steps-list li {
		border-radius: 2rem;
		padding: 2rem var(--container-padding);
		align-items: center;
		gap: 2rem 1.5rem;
	}

	.steps-list h4 {
		margin: 0;
		font-size: 2rem;
	}
}

/**** END STEPS ****/

/**** GUARANTEE ****/
.guarantee__container {
	display: grid;
	grid-template-columns: 13.6rem 1fr;
	align-items: center;
	gap: 3rem 6rem;
}

.page-section--guarantee-dark {
	background: var(--color-dark);
	color: #fff;
	text-align: center;
	text-wrap: balance;

	.guarantee__container {
		display: flex;
	}

	.guarantee__image {
		display: none;
	}

	.bigger-text {
		font-size: 1.7rem;
	}
}

.page-section--guarantee-dark:last-child {
	position: relative;

	&::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 100%;
		max-width: calc( var(--container-width) - 2 * var(--container-padding) );
		translate: -50% 0;
		border-top: 1px solid var(--color-gray);
		opacity: 0.2;
	}
}

@media (max-width: 768px) {
	.guarantee__container {
		display: flex;
		flex-direction: column;
		text-align: center;
	}
}
/**** END GUARANTEE ****/

/**** ICONS AND TEXT ****/
.icon-text__items {
	display: grid;
	--slides-per-page: 1;
	--gap: 0px;
	/* grid-template-columns:  repeat(3, 1fr); */
	grid-template-columns: repeat( auto-fit, minmax(270px, 1fr) );

	gap: 6rem;
	text-align: center;
	margin-top: 7rem;
	
	.page-width--narrow & {
		gap: 3rem;
	}
}

.icon-text__item .ratio-container {
	width: 220px;
	margin: 0 auto 2em;

	.icon-text__items--small & {
		width: 130px;
	}
}

.icon-text__item {
	font-size: 1.8rem;
}

.icon-text__items--small .icon-text__item {
	font-size: 1.6rem;
}

.icons-and-text__content-below {
	margin-top: 4rem;
}

.page-section--icons_and_text .slider__dots {
	display: none;
}

@media (max-width: 768px) {
	.icon-text__items {
		display: flex;
		margin-top: 4rem;
		gap: var(--gap);
	}

	.page-section--icons_and_text .slider__dots {
		display: flex;
		justify-content: center;
		margin-top: 2.5rem;
	}

	.page-section--icons_and_text .slider__dots .slider__dot {
		width: 3rem;
		height: 3rem;
	}

	.icon-text__item {
		font-size: 1.6rem;
	}
}
/**** END ICONS AND TEXT ****/

/**** TESTIMONIALS ****/
.testimonials__item {
	border-radius: 2.8rem;
	background: var(--color-accent);
	text-align: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3rem;
	padding: 5rem var(--container-padding);
}

.testimonials__item svg path {
	fill: var(--color-blue);
}

.testimonials__item-title {
	color: inherit;
	font-size: 3rem;
	font-weight: 600;
	margin: 0;
	max-width: 100rem;
}

.testimonials__item-author {
	font-size: 1.8rem;
}

.slider__wrapper--testimonials {
	background: var(--color-dark);
	color: #fff;
	padding: 4rem 5rem;
	align-items: center;
	border-radius: 3rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 5rem;
}

.slider__wrapper--testimonials aside {
	flex: 1;
	min-width: 30rem;
}

.slider__wrapper--testimonials .heading {
	font-size: 4.4rem;
	text-wrap: balance;
	line-height: 1.1em;
}

.testimonial-slider__container {
	min-width: 30rem;
	flex: 1;
}

.slider--testimonials {
	--slides-per-page: 1;
	list-style-type: none;
	padding: 0;
	margin: 0;
	font-size: 1.6rem;
}

.slider--testimonials .slider__slide {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto 1fr;
	gap: 1rem;
	padding: 7rem 0 7rem 6rem;
	position: relative;

	&::before {
		content: '';
		position: absolute;
		top: 7.7rem;
		left: 0;
		height: 100%;
		width: 4.7rem;
		background: url("../img/icon-quote.svg") no-repeat center top / contain;
	}
}

.testimonial__review {
	grid-column: 1 / -1;
	line-height: 1.5em;
}

.testimonial__author {
	font-weight: 500;
}

.testimonial__date {
	opacity: 0.5;
}

.testimonial-slider__container .slider__dots {
	display: flex;
	justify-content: center;
}

.testimonials-trustpilot-cta {
	font-size: 1.8rem;
	margin-top: 3rem;
}

.testimonials-trustpilot-cta a {
	font-weight: 600;
	text-decoration: none;
}

.testimonials-trustpilot-cta img {
	display: inline-block;
	vertical-align: middle;
	margin: -0.5rem 0 0 1rem;
}

@media (max-width: 900px) {
	.slider__wrapper--testimonials {
		padding: 3rem 2rem;
	}

	.slider__wrapper--testimonials .heading {
		font-size: 3.2rem;
	}
}

@media (max-width: 768px) {
	.testimonials__item-title {
		font-size: 2.5rem;
	}

	.slider__wrapper--testimonials .heading {
		text-align: center;
	}

	.slider--testimonials .slider__slide {
		display: flex;
		flex-direction: column;
		text-align: center;
		padding: 7rem 0 0 0;
		gap: 0;

		&::before {
			top: 1rem;
			left: 50%;
			translate: -50% 0;
		}
	}

	.testimonial__author {
		margin-top: 2.5rem;
	}

	.testimonial-slider__container .slider__dots {
		margin-top: 2rem;
	}

	.testimonials-trustpilot-cta {
		text-align: center;
	}
}
/**** END TESTIMONIALS ****/

/***** INFO ICONS *****/

.page-section--info-icons .page-section__header {
	text-align: center;
	margin-bottom: 5rem;
	text-wrap: balance;
}

.info-icons__wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3rem 6rem;
}

.info-icons__list {
	gap: 0 5.5rem;
	padding: 0;
	max-width: 1120px;
	margin: -1.5rem auto;
	flex: 1;
	min-width: 350px;
	align-items: flex-start;
	display: flex;
	flex-direction: column;
}

.info-icons__side {
	flex: 1;
	min-width: 300px;
	border-radius: 1.6rem;
	overflow: hidden;
}

.info-icons__list li {
	display: flex;
	gap: 1.5rem 2.5rem;
	align-items: flex-start;
	/* break-inside: avoid-column; */
	padding: 1.5rem 0;
	flex-wrap: wrap;
}

.info-icons__content {
	min-width: 230px;
	flex: 5;
	font-size: 1.6rem;
}

.info-icons__content .h4 {
	color: var(--color-accent);
}

.info-icons__icon {
	flex: 1 0 60px;
	max-width: 75px;
}

@media (max-width: 900px) {
	.info-icons__list {
		min-width: 250px;
	}

	.info-icons__icon {
		flex: 0 0 60px;
	}

	.info-icons__content {
		font-size: 1.5rem;
		line-height: 1.4em;
		min-width: 0;
	}
}
/***** END INFO ICONS *****/

/**** CONTACT ****/
.contact-section {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 4rem;
}

.contact-section > div {
	flex: 1;
	min-width: 30rem;
}

.contact-links {
	max-width: 40rem;
}

.contact-links a {
	display: block;
	text-decoration: none;
	padding: 3rem 0;
	display: flex;
	align-items: center;
	gap: 1.5rem 3rem;
}

.contact-links a:not(:first-child) {
	border-top: 1px solid color-mix(in srgb, var(--color-gray) 40%, transparent);
}

.contact-content {
	padding-left: 5.6rem;
}

.contact-form__container {
	background: var(--color-light-gray);
	border-radius: 1rem;
	padding: 4rem 5rem;

	input[type="text"],
	input[type="email"],
	input[type="tel"] {
		height: 4.8rem;
		border: 1px solid var(--color-accent);
		font-size: 1.6rem;
		padding: 0 1.5rem;
		background: #fff;
	}

	textarea {
		padding: 1.5rem;
		border: 1px solid var(--color-accent);
		border-radius: 1rem;
		resize: horizontal;
		height: 10rem;
		background: #fff;
	}

	.field-wrap input[type="submit"] {
		height: 4.8rem;
		width: 100%;
		cursor: pointer;
	}

	.nf-field-label label {
		font-size: 1.4rem;
		font-weight: normal;
	}

	.label-above .nf-field-label {
		margin: 0 0 0.3rem;
	}
}

.contact-form__container .nf-before-form-content {
	display: none;
}

@media (max-width: 900px) {
	.contact-form__container {
		padding: 3rem 2.5rem 2rem;
	}

	.contact-links {
		max-width: none;
	}
}

@media (max-width: 768px) {
	.contact-links a {
		gap: 1.5rem
	}

	.contact-links a img {
		width: 2rem;
	}

	.contact-content {
		padding-left: 3.6rem
	}

	.contact-section #ninja_forms_required_items,
	.contact-section .nf-field-container {
		margin-bottom: 1.5rem;
	}
}
/**** END CONTACT ****/

/**** LINK LIST ****/
.link-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.link-list li {
	border-radius: 1rem;
	background: var(--color-light-gray);
	padding: 4rem 6rem;
	font-size: 2rem;
}

.link-list li a {
	text-decoration: underline;
}

.link-list li a svg {
	rotate: 135deg;
	display: inline-block;
	margin-left: 1rem;
}

.link-list li h4 {
	font-size: 2.4rem;
	margin: 0 0 0.8rem;
	font-weight: bold;
}

@media (max-width: 768px) {
	.link-list li {
		padding: 3rem;
		font-size: 1.6rem;
	}

	.link-list li h4 {
		font-size: 2rem;
	}
}
/**** END LINK LIST ****/

/**** END CONTENT COLUMNS ****/
.content-columns {
	display: flex;
	gap: 2rem 3.2rem;
	flex-wrap: wrap;
}

.content-column {
	flex: 1;
	font-size: 1.6rem;
	line-height: 1.7em;
	padding: 4rem 5rem;
	min-width: 30rem;
	border-radius: 1rem;
	background: var(--color-light-gray);
}

.content-column ul {
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (max-width: 768px) {
	.content-column {
		padding: 3rem 3.5rem;
	}
}
/**** END CONTENT COLUMNS ****/

/**** FORMS ****/
input
button,
textarea,
select,
button {
	font: inherit;
	accent-color: var(--color-accent);
	outline-offset: 2px;
	font-size: 1.6rem;
}

.select-wrapper {
	color: #000;
	display: block;
}

.select-wrapper:has(select[inert]) {
	color: var(--color-med-gray);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="password"],
input[type="number"],
textarea,
select {
	width: 100%;
	color: #000;
	display: block;
	background: transparent;
	border: 1px solid currentColor;
	height: 5.5rem;
	border-radius: 5rem;
	padding: 0 2.5rem;
	font-family: inherit;
	outline-offset: 2px;
	font-size: 1.6rem;
}

button {
	color: inherit;
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
	width: auto;
}

input[type="checkbox"] {
	margin: 0 0.4rem 0 0;
	width: 1.6rem;
	height: 1.6rem;
}

select {
	appearance: none;
	color: inherit;
}

input[type="submit"],
.start-again-btn,
.button {
	--button-color: var(--color-accent);
	display: inline-flex;
	min-height: 3.6rem;
	font-size: 1.6rem;
	line-height: 1.3em;
	font-weight: 600;
	padding: 0.7rem 2rem;
	justify-content: center;
	align-items: center;
	border-radius: 5rem;
	background: var(--button-color);
	color: #fff;
	transition: background-color 0.2s;
	border: 0;
	outline-offset: 2px;
	text-decoration: none;
	text-wrap: balance;
}

.button--outline {
	border: 2px solid var(--button-color);
	color: var(--button-color);
	background: transparent;

	&:hover {
		color: var(--button-color);
	}
}

.button--big {
	height: 62px;
	font-size: 24px;
	padding: 0 35px;
	min-width: 320px;
}
/**** END FORMS ****/

/**** BLOG ****/
.page-section--blog-grid {
	margin-top: calc(var(--section-spacing) * 0.5);
}

.blog-header {
	display: flex;
	gap: 2.5rem;
	margin-bottom: 2rem;
	flex-wrap: wrap;
}

.blog-header .article-card__excerpt {
	-webkit-line-clamp: 2;
}

.blog-header .article-card {
	flex: 1;
}

.page-section--more-posts .heading {
	text-align: center;
}

.blog-post__content {
	border-bottom: 1px solid var(--color-accent);
	padding-bottom: 5rem;
	align-self: flex-start;
}

.blog-post__content .share-post {
	font-weight: bold;
}

.blog-post__container {
	display: grid;
	grid-template-columns: 1fr 38.5rem;
	gap: 4rem;
}

.blog-post__thumb {
	margin: 0 0 2rem;
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.07);
}

.blog-post__meta {
	color: var(--color-blue);
	opacity: 0.5;
	font-size: 1.6rem;
	text-align: center;
	margin: 0 0 3rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.blog-post__category-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.blog-post__category-list a {
	display: inline-block;
	text-decoration: none;
	padding: 0.5rem 0;
}

.blog-post__widget {
	background: var(--color-light-gray);
	padding: 3rem;
	border-radius: 1rem;
	color: var(--color-blue);
	margin-top: 4rem;
}

.blog-post__widget form span {
	color: var(--color-blue) !important;
}

.blog-post__widget form h2 span,
.blog-post__widget-title {
	font-size: 2rem !important;
	font-weight: bold !important;
	color: var(--color-blue);
	margin: 0 0 1em;
}

.recent-posts {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.recent-post {
	display: grid;
	grid-template-columns: 10rem 1fr;
	gap: 2rem;
	color: inherit;
	text-decoration: none;
	font-size: 1.4rem;
}

.recent-post time {
	opacity: 0.5;
}

.recent-post__thumbnail {
	border-radius: 0.5rem;
	overflow: hidden;
	position: relative;
}

.recent-post__thumbnail img {
	position: absolute;
}

.recen-post__info {
	display: flex;
	justify-content: center;
	flex-direction: column;
	color: var(--color-med-gray);
}

.recen-post__info h4 {
	margin: 0;
	font-size: 1.6rem;
}

.page-section--heading + .page-section--breadcrumbs {
	margin: calc(-0.15 * var(--section-spacing)) 0 0;
}

.page-section--breadcrumbs a {
	text-decoration: none;
	color: inherit;
	font-size: 16px;
}

.breadcrumbs-list {
	display: flex;
	gap: 1rem;
	align-items: center;
}

.page-section--breadcrumbs + .page-section {
	margin-top: calc(0.25 * var(--section-spacing));
}

.blog-grid__filter {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 2rem;
}

.blog-grid__filter label {
	display: flex;
	font-size: 1.4rem;
	align-items: center;
	gap: 1rem;
	position: relative;
}

.blog-grid__filter label::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1.8rem;
	width: 0.9rem;
	height: 0.9rem;
	border-style: solid;
	border-width: 0 0 2px 2px;
	border-color: var(--color-mid-gray);
	rotate: -45deg;
	translate: 0 -0.6rem;
	display: inline-block;
	margin-left: 0.8rem;
	pointer-events: none;
}

.blog-grid__filter select {
	height: 4.8rem;
	padding: 0 3.8rem 0 2rem;
	cursor: pointer;
	border: 0;
	color: var(--color-mid-gray);
	background: var(--color-light-gray);
}

.blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
	gap: 2.3rem;
}

.blog-grid__more {
	margin: 4rem 0 0;
	text-align: center;
	display: none;
}

.blog-grid--more ~ .blog-grid__more {
	display: block;
}

.blog-grid--loading {
	opacity: 0.6;
}

.article-card {
	background: var(--color-light-gray);
	padding: 3rem;
	border-radius: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	position: relative;
}

.article-card__featured-badge {
	z-index: 2;
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	border-radius: 0.5rem;
	height: 3.6rem;
	padding: 0 1.5rem 0 1.2rem;
	display: flex;
	gap: 0.8rem;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	background: var(--color-accent);
}

.article-card__image {
	position: relative;
	flex: 1;
	min-height: 8rem;
}

.article-card__image img {
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
}

.article-card__title {
	font-size: 2rem;
	font-weight: bold;
	margin: 0;
}

.article-card__title a {
	color: inherit;
	text-decoration: inherit;
}

.article-card__excerpt {
	font-size: 1.4rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.article-card__footer {
	margin-top: auto;
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 1.4rem;
	color: var(--color-gray-darker);
}

.article-card:not(.article-card--small) .button {
	height: 4.8rem;
	padding: 0 4rem;
}

.share-post {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	flex-wrap: wrap;
	margin-left: auto;
}

.share-post ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
}

.share-post li a {
	padding: 0.7rem;
	width: 4.5rem;
	height: 4.5rem;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.share-post li a::before {
	content: '';
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: var(--color-accent);
	color: #fff;
	position: absolute;
	top: 50%;
	left: 49%;
	translate: -50% -50%;
	z-index: -1;
	transition: background 0.2s;
}

.share-post li img {
	width: 70%;
	height: 60%;
	object-fit: contain;
}

@media (max-width: 900px ) {
	.blog-post__container {
		display: flex;
		flex-direction: column;
	}

	.blog-header,
	.blog-grid {
		margin: 0 calc(-1 * var(--container-padding)) 2rem;
	}

	.offers-widget {
		max-width: 100vw;
	}
	.article-card__image {
		aspect-ratio: 1.75;
		flex: 0 0 auto;
	}
}

/**** END BLOG ****/

/**** FOOTER ****/

.main-footer {
	padding: 8rem 0 3rem;
	background: var(--color-dark);
	color: #fff;
}

.main-footer a {
	text-decoration: none;
	color: inherit;
}

.footer-widgets {
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	justify-content: space-between;
	gap: 30px;

	.menu {
		column-count: 2;
		column-gap: 10px;

		li {
			margin-bottom: 5px;
		}
	}

	h6 {
		margin-top: 30px;
	}
}

.footer-bottom {
	border-top: 1px solid var(--color-accent);
	font-size: 13px;
	margin-top: 40px;
	padding-top: 5px;

	.menu {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 20px;
	}
}

.footer-bottom__copyright {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	min-height: 6rem;
	align-items: center;
}

.footer-bottom__privacy {
	display: flex;
	justify-content: center;
	gap: 15px 50px;
	flex-wrap: wrap;

	a {
		color: #fff;
		opacity: 0.5;
		transition: opacity 0.2s, color 0.2s;

		&:hover {
			opacity: 1;
			color: var(--color-accent-darker);
		}
	}
}

.footer-social {
	list-style-type: none;
	padding: 0;
	align-items: center;
	margin: 2rem 0 0 -1rem;
	display: flex;
	flex-wrap: wrap;
}

.footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
}

.footer-social img {
	margin-left: 1rem;
}

.footer-social svg {
	max-width: 2.2rem;
	max-height: 2.2rem;
	width: 100%;
	height: 100%;
}

@media (max-width: 900px) {

	.page-section:first-child .img-txt__img {
		.ratio-container {
			--ratio: 1;
		}

		img {
			aspect-ratio: 1/1;
			object-fit: cover;
			object-position: bottom;
		}
	}

	.header-logo {
		width: 90px;
	}

	.img-txt-block {
		flex-direction: column-reverse;
	}

	.img-txt-block .page-section:first-child & {
		align-items: stretch;
	}

	.img-txt-block--sm-img {
		flex-direction: column;
	}

	h1, .h1 {
		font-size: 3.2rem;
	}

	h2, .h2 {
		font-size: 2.8rem;
	}

	h3, .h3 {
		font-size: 2.6rem;
		font-weight: bold;
	}

	h4, .h4 {
		font-size: 1.6rem;
	}

	.california-seal {
		line-height: 1.5em;
		gap: 15px;
		padding: 10px 25px;
		margin: 20px -20px 0;

		img {
			max-width: 60px;
		}
	}
}

/**** END FOOTER ****/