/**
 * Homepage specific styling goes here. Excluded on all subpages
 *
 * @format
 */

/* For most builds, this stylesheet should be wiped and started fresh */

/* hero */
.hero {
	position: relative;
	margin-top: 146px;
}

.hero-slide {
	position: relative;
}

.hero-content {
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-direction: column;
	/* min-height: calc(100vh - 207px); */
	min-height: 430px;
	position: relative;
	text-align: center;
	padding: 44px 0;
}

.hero-content h1 {
	margin-bottom: 0;
}

.hero-title-1 {
	display: block;
	font-size: 1.125rem;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-white);
	animation-delay: 1000ms;
}

.hero-title-1 span {
	color: var(--color-alternate);
}

.hero-title-2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-style: normal;
	font-weight: 500;
	font-size: 2.5rem;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--color-white);
	animation-delay: 1500ms;
}

.hero-title-2 .words {
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	text-align: center;
	transition: height 0.3s ease-in-out;
}

.hero-title-2 .words span {
	display: block;
	width: 100%;
	opacity: 0;
	transform: translateY(-100%);
	transition: transform 0.8s ease-in-out, opacity 0.8s;
	white-space: normal;
	position: absolute;
}

.hero-title-2 .words span.active {
	opacity: 1;
	transform: translateY(0);
	position: relative;
}

.hero-title-2 .words span.prev {
	opacity: 0;
	transform: translateY(100%);
}

.hero-content h2 {
	font-size: 1rem;
	color: var(--color-white);
	animation-delay: 2000ms;
	max-width: 280px;
	margin: 0 auto;
}

.hero-content h2 + h2 {
	max-width: 250px;
}

.hero-image {
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-image:before,
.hero-image:after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	pointer-events: none;
	background-color: rgba(1, 21, 46, 0.39);
}

.hero-image:after {
	top: unset;
	bottom: 0;
	background: linear-gradient(to top, rgba(1, 21, 46, 1) 0%, rgba(1, 21, 46, 0) 100%);
}

.hero-image:before {
	display: none;
}

.hero-appointment {
	position: relative;
	z-index: 2;
}

.hero-appointment-btn {
	width: 100%;
	position: relative;
}

.hero-appointment-btn button {
	font-size: 1.125rem;
	width: 100%;
	animation-delay: 3000ms;
}

.hero-appointment-btn i {
	margin-left: 15px;
}

.hero-appointment.active .hero-appointment-btn i:before {
	content: '\f068';
}

.hero-form {
	display: none;
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 25px;
	background-color: var(--color-body-text);
}

.hero-appointment.active .hero-form {
	display: block;
}

.hero-form h2 {
	font-size: 1.625rem;
	margin-bottom: 20px;
	color: var(--color-white);
	text-transform: none;
}

.hero-form input,
.hero-form textarea {
	border: 0;
}

.hero-form textarea {
	height: 70px;
}

.hero-form .gform_button {
	height: 46px;
	min-width: 225px;
	color: var(--color-primary);
	background: var(--color-alternate);
	padding: 0;
}

.hero-form .gform_button:hover,
.hero-form .gform_button:focus {
	color: var(--color-white);
	background: var(--color-secondary);
}

.hero-banner:has(.hero-form.active) .hero-slide:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	z-index: 1;
	background-color: rgba(1, 21, 46, 0.51);
}

.hero-banner:has(.hero-form.active) .hero-slide:after {
	display: none;
}

.hero-usp {
	position: relative;
	width: 100%;
	padding: 30px 0;
	background-color: var(--color-body-text);
}

.hero-usp-holder {
	animation-delay: 2500ms;
}

.hero-usp-column {
	position: relative;
	display: flex;
	max-width: 275px;
	margin: 0 auto 18px;
	padding: 0 30px 10px;
}

.hero-usp-column:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.hero-usp-column:not(:last-child):after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	pointer-events: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.hero-usp-icon {
	min-width: 56px;
	margin-right: 12px;
}

.hero-usp-icon img {
	width: auto;
	height: 56px;
}

.hero-usp-info {
	font-size: 0.75rem;
	color: var(--color-white);
	flex: 1;
}

.hero-usp-info h5 {
	font-size: 1.063rem;
	margin-top: 10px;
	margin-bottom: 0;
	color: var(--color-white);
}

.hero-usp-info p:last-child {
	line-height: 1.3;
	margin-bottom: 0;
}

.hero-usp-list {
	display: flex;
	margin-bottom: 0;
}

.hero-usp-list li {
	font-size: 0.438rem;
	margin-right: 2px;
	color: var(--color-alternate);
}

@media screen and (min-width: 640px) {
	.hero {
		margin-top: 80px;
	}

	.hero-content {
		min-height: calc(100vh - 140px);
	}

	.hero-content h2,
	.hero-content h2 + h2 {
		max-width: none;
	}
}

@media screen and (min-width: 768px) {
	.hero-content {
		padding-top: 140px;
		min-height: calc(100vh - 80px);
	}

	.hero-title-2 {
		font-size: 3.2rem;
	}

	.hero-title-1 {
		font-size: 2rem;
	}

	.hero-content h2 {
		font-size: 1.3rem;
	}

	.hero-usp-info h5 {
		font-size: 0.8rem;
	}

	.hero-appointment {
		margin-top: 0;
	}

	.hero-appointment-btn {
		bottom: 0;
		position: absolute;
		width: auto;
		right: -128px;
		bottom: 128px;
		transform: rotate(-90deg);
	}

	.hero-appointment-btn button {
		font-size: 1.125rem;
		width: auto;
	}

	.hero-form {
		bottom: 0;
		right: 61px;
		position: absolute;
		width: calc(100% - 100px);
		padding: 34px var(--gutter-size) 35px var(--gutter-size);
	}

	.hero-usp {
		padding: 20px;
	}

	.hero-usp-holder {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(4, 1fr);
	}

	.hero-usp-column {
		margin-bottom: 0;
		padding: 0;
		max-width: none;
	}

	.hero-usp-column:not(:last-child):after {
		width: 100%;
		left: unset;
		right: -10px;
		border-bottom: none;
		border-right: 1px solid rgba(255, 255, 255, 0.4);
	}

	.hero-usp-icon {
		margin-right: 9px;
		min-width: auto;
	}

	.hero-usp-icon img {
		height: 50px;
	}
}

@media screen and (min-width: 1025px) {
	.hero {
		margin-top: 0;
	}

	.hero-content {
		padding-bottom: 160px;
		min-height: 100vh;
	}

	.hero-title-2 {
		font-size: 4.688rem;
	}

	.hero-title-1 {
		font-size: 2.75rem;
	}

	.hero-content h2 {
		font-size: 1.5rem;
	}

	.hero-form {
		bottom: 0;
		width: 820px;
		padding-left: 55px;
		padding-right: 55px;
	}

	.hero-usp-holder {
		gap: 50px;
		grid-template-columns: repeat(4, 1fr);
	}

	.hero-usp {
		position: absolute;
		bottom: 0;
		background: unset;
		z-index: 1;
	}

	.hero-usp-holder {
		gap: 30px;
	}

	.hero-usp-icon {
		margin-right: 15px;
	}

	.hero-usp-info {
		font-size: 0.875rem;
	}

	.hero-usp-info h5 {
		font-size: 1.063rem;
	}

	.hero-usp-info h5 br {
		display: block;
	}

	.hero-usp-list li {
		font-size: 0.625rem;
	}

	.hero-usp-column:not(:last-child):after {
		right: -15px;
	}

	.hero-image:before {
		display: block;
	}
}

@media screen and (min-width: 1920px) {
	.hero {
		margin-top: 0;
	}

	.hero-content {
		padding-top: 200px;
		padding-bottom: 335px;
	}

	.hero-title-2 {
		font-size: 6.938rem;
		letter-spacing: 1px;
		margin: 10px 0;
	}

	.hero-title-1 {
		font-size: 2.75rem;
	}

	.hero-content h2 {
		font-size: 2.125rem;
	}

	.hero-usp-info h5 {
		font-size: 1.438rem;
		margin-bottom: 6px;
	}

	.hero-usp {
		bottom: 54px;
		padding: 0;
	}

	.hero-usp .row {
		max-width: 1443px;
	}

	.hero-usp-holder {
		gap: 50px;
	}

	.hero-usp-icon {
		margin-right: 25px;
	}

	.hero-usp-icon img {
		height: auto;
	}

	.hero-usp-column:not(:last-child):after {
		right: -25px;
	}
}

/* intro */
.intro {
	padding-top: 50px;
}

.intro-content {
	font-size: 1.125rem;
	line-height: 1.5;
	margin-bottom: 66px;
}

.intro-content h2 {
	font-size: 2.938rem;
	margin-bottom: 11px;
	letter-spacing: 0.7px;
}

.intro-content h2 strong {
	font-weight: 900;
}

.intro h1 {
	font-size: 1.688rem;
	letter-spacing: 0;
	font-weight: 600;
	margin-bottom: 0;
	max-width: 280px;
}

.intro-link i {
	margin-left: 15px;
}

.intro-image {
	position: relative;
	margin-left: calc(var(--gutter-size) * -1);
	width: calc(100% + calc(var(--gutter-size) * 2));
}

.intro-image img {
	width: 100%;
	display: block;
}

.intro-quote {
	display: flex;
	flex-wrap: wrap;
	margin-top: -85px;
	position: relative;
}

.intro-text {
	order: 2;
	line-height: 1.6;
	position: relative;
	letter-spacing: 0.4px;
	color: var(--color-white);
}

.intro-bg {
	margin-left: -30px;
	width: calc(100% + 90px);
	padding: 80px 55px 66px;
	background-color: var(--color-body-text);
}

.intro-text h2 {
	font-size: 1.25rem;
	letter-spacing: 6px;
	text-transform: uppercase;
	color: var(--color-white);
	margin-bottom: 18px;
}

.intro-text a {
	font-weight: 600;
	letter-spacing: 0;
	text-decoration: none;
	color: var(--color-white);
	padding-bottom: 7px;
	border-bottom: 4px solid var(--color-secondary);
}

.intro-text a i {
	margin-left: 7px;
}

.intro-text a:focus,
.intro-text a:hover {
	color: var(--color-alternate);
}

.intro-icon {
	order: 1;
	margin-left: 11px;
	margin-bottom: 24px;
	margin-right: calc(var(--gutter-size) * -1);
}

.intro-icon img {
	max-width: 100%;
	height: auto;
	display: block;
}

.intro-quote-icon {
	position: absolute;
	top: -154px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 33.75rem;
	line-height: 1;
	color: var(--color-orange);
	font-family: var(--font-family-quote);
}

.intro-round-text {
	display: flex;
	margin-top: -90px;
	padding-left: 20px;
}

.intro-round-text img {
	width: 176px;
}

@media screen and (min-width: 768px) {
	.intro {
		padding-top: 62px;
	}

	.intro-holder {
		display: flex;
		justify-content: space-between;
	}

	.intro-content {
		width: 50%;
		margin-right: 20px;
		margin-bottom: 0;
	}

	.intro-image {
		flex: 1;
		width: auto;
		margin-left: 0;
	}

	.intro-quote {
		position: relative;
		margin-top: 90px;
	}

	.intro-bg {
		margin-left: 0;
		width: auto;
		padding: 50px 30px;
	}

	.intro-text h5 {
		font-size: 1.25rem;
		letter-spacing: 6px;
		margin-bottom: 18px;
	}

	.intro-text {
		width: 55%;
		order: 1;
	}

	.intro-icon {
		order: 2;
		width: 31%;
		margin-left: 20px;
		margin-top: 59px;
	}

	.intro-icon img {
		max-width: unset;
	}

	.intro-quote-icon {
		top: -148px;
		right: 29px;
		left: unset;
		transform: unset;
	}

	.intro-round-text {
		justify-content: center;
		padding-left: 0;
	}
}

@media screen and (min-width: 1025px) {
	.intro-content h2 {
		font-size: 4.313rem;
		letter-spacing: 1px;
		margin-bottom: 2px;
	}

	.intro h1 {
		font-size: 2.5rem;
		max-width: 420px;
	}

	.intro-content {
		margin-top: 28px;
		margin-right: 70px;
	}

	.intro-quote {
		margin-top: -128px;
	}

	.intro-text {
		width: 61.2%;
	}

	.intro-bg {
		padding: 70px 63px 61px;
	}
}

@media screen and (min-width: 1280px) {
	.intro-quote {
		margin-top: -178px;
	}
}

@media screen and (min-width: 1920px) {
	.intro-quote {
		margin-top: -187px;
	}

	.intro-content {
		width: 46%;
		margin-right: 80px;
	}

	.intro-text {
		width: 62.2%;
	}

	.intro-icon {
		margin-left: 42px;
	}
}

/* brands */
.brands {
	padding-top: 13px;
	padding-bottom: 30px;
}

.brands .slick-slider {
	margin: 0 28px;
}

.brands .slick-track {
	display: flex;
	align-items: center;
}

.brand-slide {
	margin-right: 20px;
}

.brand-slide img {
	width: 100%;
}

.brands-btn {
	display: flex;
	justify-content: center;
	position: relative;
}

.brands .slide-arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	padding: 0;
	background-color: transparent;
}

.brands .prev-arrow {
	left: -33px;
}

.brands .next-arrow {
	right: -19px;
}

.brands .prev-arrow i,
.brands .next-arrow i {
	font-size: 1.563rem;
	font-weight: 400;
	color: var(--color-medium-gray);
}

@media screen and (min-width: 1025px) {
	.brands {
		padding-top: 40px;
		padding-bottom: 93px;
	}

	.brand-slide img {
		width: auto;
	}

	.brands .slick-slider {
		margin: 0;
	}
}

/* stories */
.stories {
	position: relative;
	padding-top: 80px;
	padding-bottom: 50px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.stories-text {
	display: none;
}

.stories-holder {
	max-width: 942px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	color: var(--color-white);
}

.stories-item {
	margin-bottom: 128px;
}

.stories-heading {
	position: relative;
	max-width: 266px;
}

.stories-heading h2 {
	font-size: 3.563rem;
	line-height: 1;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--color-white);
}

.stories-heading h2 strong {
	color: var(--color-orange);
	font-weight: 600;
}

.stories-image {
	margin-bottom: 30px;
}

.stories-image img {
	width: 100%;
}

.stories-info {
	font-size: 1.125rem;
	line-height: 1.5;
}

.stories-info h3 {
	color: var(--color-orange);
	font-size: 1.375rem;
	font-weight: 600;
	margin-bottom: 12px;
	letter-spacing: 0.2px;
	text-transform: none;
}

.stories-info p:last-child {
	margin-bottom: 0;
}

.stories-price-small {
	font-size: 3.313rem;
	font-weight: 600;
	letter-spacing: 1px;
}

.stories-price {
	display: flex;
	justify-content: flex-end;
	font-size: 6.563rem;
	font-weight: 600;
	margin-top: -15px;
	letter-spacing: 1px;
	line-height: 1;
	margin-bottom: 20px;
}

.stories-controller {
	position: relative;
	max-width: 942px;
	z-index: 2;
}

.stories .stories-arrows {
	position: absolute;
	left: 63px;
	top: -90px;
}

.stories .slide-arrow {
	position: absolute;
	padding: 0;
	background-color: transparent;
	border: 1px solid var(--color-dark-gray);
	width: 49px;
	height: 49px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.stories .prev-arrow,
.stories .next-arrow {
	background-color: transparent;
}

.stories .prev-arrow {
	left: 17px;
}

.stories .next-arrow {
	right: 0;
}

.stories .prev-arrow i,
.stories .next-arrow i {
	font-size: 1.375rem;
	font-weight: 300;
}

.stories-btn {
	position: relative;
	z-index: 1;
	pointer-events: none;
}

.stories-btn .button {
	pointer-events: all;
}

.stories-btn .button:focus,
.stories-btn .button:hover {
	background-color: var(--color-orange);
}

.stories-btn i {
	margin-left: 10px;
}

.stories-holder .slick-autoplay-toggle-button {
	left: auto;
	right: 0;
	bottom: 40px;
}

@media screen and (min-width: 768px) {
	.stories {
		padding-top: 105px;
		padding-bottom: 84px;
	}

	.stories-text {
		top: 50%;
		left: calc(50% - 90px);
		display: block;
		position: absolute;
		text-transform: uppercase;
		font-weight: 600;
		color: rgba(255, 255, 255, 0.04);
		font-size: 9.375rem;
		max-width: 580px;
		line-height: 0.9;
		letter-spacing: 4px;
		pointer-events: none;
		transform: translate(-50%, -50%);
	}

	.stories-item {
		display: -webkit-flex;
		display: -moz-flex;
		display: -o-flex;
		display: flex;
		-webkit-box-align: end;
		align-items: flex-end;
		justify-content: end;
		margin-bottom: 0;
	}

	.stories-heading h2 {
		font-size: 2.125rem;
	}

	.stories-image {
		max-width: 434px;
		margin-right: 33px;
		margin-bottom: 0;
	}

	.stories-info {
		width: 500px;
		margin-bottom: 30px;
	}

	.stories-btn {
		max-width: 942px;
		margin: 0 auto;
		display: flex;
		justify-content: flex-end;
	}

	.stories .stories-arrows {
		left: unset;
		right: 400px;
		top: 5px;
	}

	.stories-price {
		font-size: 5rem;
	}

	.stories-holder .slick-autoplay-toggle-button {
		left: 0;
		right: auto;
		bottom: -40px;
	}
}

@media screen and (min-width: 1025px) {
	.stories-text {
		font-size: 12.063rem;
	}

	.stories-info {
		padding-top: 166px;
		padding-top: 0;
		width: 300px;
	}

	.stories-price {
		font-size: 6.563rem;
		margin-top: -15px;
	}

	.stories-text {
		left: calc(50% - 220px);
	}
}

@media screen and (min-width: 1280px) {
	.stories-heading {
		margin-bottom: 0;
		margin-right: -112px;
		z-index: 2;
	}

	.stories-heading h2 {
		font-size: 3.563rem;
	}

	.stories-holder {
		max-width: 750px;
	}

	.stories-inner {
		display: -webkit-flex;
		display: -moz-flex;
		display: -o-flex;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		-webkit-box-pack: center;
		justify-content: center;
	}

	.stories-image {
		margin-bottom: 0;
	}

	.stories-info {
		padding-top: 0;
		margin-top: auto;
		margin-bottom: 40px;
	}

	.stories-price {
		margin-top: -15px;
	}

	.stories-btn {
		max-width: none;
		margin-right: 48px;
	}

	.stories-text {
		left: calc(50% - 350px);
	}
}

/* reasons */
.reasons {
	position: relative;
	padding-top: 80px;
	padding-bottom: 130px;
	background-color: var(--color-gray);
}

.reasons-holder {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}

.reasons-image {
	margin-left: -213px;
}

.reasons-image img {
	width: auto;
	height: 368px;
}

.reasons-content {
	width: 100%;
	margin-bottom: 57px;
}

.reasons-content h2 {
	font-size: 2.25rem;
	margin-bottom: 53px;
}

.reasons-block {
	max-width: 270px;
	margin-left: auto;
	margin-right: auto;
}

.reasons-item {
	display: flex;
	margin-bottom: 39px;
	font-size: 0.875rem;
	line-height: 1.5;
}

.reasons-info {
	flex: 1;
}

.reasons-icon {
	width: 61px;
	height: 61px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 15px;
}

.reasons-icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
}

.reasons-item h3 {
	font-size: 1.3125rem;
	font-weight: 600;
	margin-bottom: 18px;
	position: relative;
	text-transform: none;
	color: var(--color-primary);
}

.reasons-item h3 br {
	display: none;
}

.reasons-item h3:after {
	position: absolute;
	bottom: -9px;
	left: 0;
	width: 25px;
	height: 3px;
	content: '';
	background-color: var(--color-orange);
}

.reasons-item p:last-of-type {
	margin-bottom: 0;
}

.reasons-item span {
	font-size: 11px;
}

.reasons-btn {
	display: flex;
	justify-content: center;
}

.reasons-round-text {
	position: absolute;
	bottom: -120px;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (min-width: 450px) {
	.reasons-block {
		max-width: unset;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		margin-bottom: 30px;
	}

	.reasons-item h3 {
		font-size: 1.1125rem;
	}

	.reasons-icon {
		width: 50px;
		height: 50px;
	}
}

@media screen and (min-width: 768px) {
	.reasons-left {
		width: 43%;
	}

	.reasons-holder {
		flex-direction: row;
	}

	.reasons-image {
		left: 50%;
		top: 50%;
		position: absolute;
		margin-left: -520px;
		transform: translate(-50%, -50%);
	}

	.reasons-image img {
		height: 560px;
	}

	.reasons-content {
		flex: 1;
		margin-bottom: 0;
	}

	.reasons-content h2 {
		font-size: 2.875rem;
		margin-bottom: 22px;
	}

	.reasons-item h3 {
		font-size: 1.3125rem;
	}

	.reasons-item h3 br {
		display: block;
	}

	.reasons-block {
		gap: 40px;
		margin-bottom: 40px;
	}

	.reasons-item {
		margin-bottom: 0;
		flex-direction: column;
	}

	.reasons-icon {
		justify-content: flex-start;
		margin-bottom: 11px;
		width: 61px;
		height: 61px;
	}

	.reasons-btn {
		display: unset;
	}
}

@media screen and (min-width: 1025px) {
	.reasons {
		padding-top: 140px;
		padding-bottom: 120px;
	}

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

	.reasons-icon {
		width: auto;
		margin-right: 0;
	}

	.reasons-round-text {
		bottom: -124px;
	}
}

/* testimonials */
.testimonials {
	padding-top: 152px;
	padding-bottom: 65px;
}

.testimonials h2 {
	font-size: 2.5rem;
	letter-spacing: 0.7px;
	margin-bottom: 21px;
}

.testimonials h3 {
	font-size: 0.9375rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 4px;
	margin-bottom: 14px;
	color: var(--color-primary);
}

.testimonials-heading {
	font-size: 1.125rem;
	max-width: 750px;
	text-align: center;
}

.testimonials-holder {
	margin-bottom: 90px;
}

.testimonials .sidebar-quote {
	padding: 65px 25px;
	font-size: 1.2175rem;
	line-height: 1.53;
	text-align: center;
}

.testimonials .sidebar-quote:before {
	top: -80px;
	font-size: 19.438rem;
}

.testimonials-item p:last-of-type {
	margin-bottom: 26px;
}

.testimonials .sidebar-quote strong {
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
}

.testimonials-slide {
	opacity: 0.17;
}

.testimonials-slide.slick-active {
	opacity: 1;
}

.testimonials .progress {
	display: none;
}

.testimonials .slick-arrow {
	position: absolute;
	bottom: -67px;
	color: var(--color-medium-gray);
	background-color: transparent;
	padding: 0;
	font-size: 2.5rem;
	z-index: 1;
}

.testimonials .next-arrow {
	right: 100px;
}

.testimonials .prev-arrow {
	left: 100px;
}

.testimonials-btn {
	display: flex;
	justify-content: center;
}

@media screen and (min-width: 768px) {
	.testimonials {
		padding-top: 181px;
		padding-bottom: 87px;
	}

	.testimonials h2 {
		font-size: 2.875rem;
		letter-spacing: 0.7px;
		margin-bottom: 11px;
	}

	.testimonials h3 {
		font-size: 1.25rem;
		letter-spacing: 5.8px;
		margin-bottom: 23px;
	}

	.testimonials-heading {
		font-size: 1.125rem;
		margin: 0 auto 50px;
	}

	.testimonials-holder {
		margin-bottom: 0;
	}

	.testimonials-item {
		padding: 65px 25px;
	}

	.testimonials .slick-list {
		padding-top: 0;
		overflow: visible;
	}

	.testimonials-slide {
		padding-left: 20px;
		padding-right: 20px;
	}

	.testimonials .progress {
		height: 7px;
		position: relative;
		display: block;
		margin: 25px 20px 35px 20px;
		overflow: hidden;
		background-color: transparent;
		background-image: linear-gradient(to right, var(--color-secondary), var(--color-secondary));
		background-repeat: no-repeat;
		background-size: 0 100%;
		transition: background-size 0.4s ease-in-out;
	}

	.testimonials .progress::after {
		content: '';
		width: 100%;
		height: 100%;
		background: var(--color-dark-100);
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
	}

	.testimonials .slick-arrow {
		bottom: unset;
		top: 50%;
		transform: translateY(-50%);
	}

	.testimonials .next-arrow {
		right: -20px;
	}

	.testimonials .prev-arrow {
		left: -20px;
	}
}

/* text-block */
.text-block {
	position: relative;
}

.text-block-holder {
	position: relative;
	padding-top: 60px;
	padding-bottom: 75px;
}

.text-block-holder.active:before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	display: block;
	position: absolute;
	background-image: url('../images/pattern-img-min.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.text-block-heading {
	color: var(--color-white);
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
	font-size: 1.125rem;
	text-align: center;
}

.text-block-heading h2 {
	font-size: 2.375rem;
	margin-bottom: 6px;
	color: var(--color-white);
}

.text-block-heading p br {
	display: none;
}

.text-block-wrap {
	position: relative;
	z-index: 1;
	max-width: 244px;
	margin-left: auto;
	margin-right: auto;
	align-items: self-start;
}

.text-block-column {
	padding: 54px 25px 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 25px;
	background-color: var(--color-white);
}

.text-block-column strong {
	font-size: 4.8125rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 12px;
	display: block;
	color: var(--color-orange);
}

.text-block-column h5 {
	font-size: 1.5rem;
	letter-spacing: 0.6px;
}

.text-more-content {
	display: none;
	margin-bottom: 20px;
}

.text-block-column p:last-of-type {
	margin-bottom: 0;
}

.text-block-btn {
	margin-top: auto;
}

.text-block-column button {
	position: relative;
	padding: 0;
	width: 49px;
	height: 49px;
	font-size: 1.5625rem;
}

.text-block-column button:after {
	color: var(--color-white);
	content: '\2b';
	font-family: var(--font-family-icon);
}

.text-block-column button.active:after {
	content: '\f068';
	font-family: var(--font-family-icon);
}

.text-block-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

@media screen and (min-width: 768px) {
	.text-block-heading {
		margin-bottom: 20px;
		text-align: unset;
	}

	.text-block-heading h2 {
		font-size: 2.875rem;
		margin-bottom: 11px;
	}

	.text-block-column h5 {
		min-height: 90px;
	}

	.text-block-heading p br {
		display: block;
	}

	.text-block-wrap {
		max-width: unset;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 13px;
	}

	.text-block-column {
		padding: 54px 15px 0;
		margin-bottom: 0;
	}
}

@media screen and (min-width: 1025px) {
	.text-block {
		padding-top: 88px;
	}

	.text-block-holder {
		padding-top: 116px;
		padding-bottom: 350px;
	}

	.text-block-holder.active:before {
		width: calc(50% + 130px);
	}

	.text-block-image {
		position: absolute;
		top: 0;
		right: 0;
		width: 50%;
		z-index: -1;
		height: 820px;
	}

	.text-block-wrap {
		overflow: visible;
		height: 260px;
		grid-template-columns: repeat(4, 1fr);
	}
}

/* answered */
.answered {
	position: relative;
	padding-top: 42px;
	padding-bottom: 90px;
}

.answered-holder {
	margin-bottom: 61px;
	z-index: 1;
	position: relative;
}

.answered-holder h2 {
	font-size: 2.25rem;
	line-height: 1.1;
	margin-bottom: 13px;
	text-transform: uppercase;
}

.answered-holder h3 {
	font-size: 1.1875rem;
	letter-spacing: 5.7px;
	margin-bottom: 38px;
	text-transform: uppercase;
	color: var(--color-primary);
}

.answered-faq {
	margin-bottom: 30px;
}

.answered-image {
	margin-left: -14px;
	width: max-content;
}

.answered-image img {
	width: auto;
	height: 371px;
	display: block;
	object-fit: cover;
}

@media screen and (min-width: 768px) {
	.answered-holder {
		max-width: 400px;
		margin-bottom: 0;
	}

	.answered-holder h2 {
		font-size: 3.1875rem;
	}

	.answered-holder h3 {
		margin-bottom: 25px;
	}

	.answered-image {
		position: absolute;
		bottom: -30px;
		left: 50%;
		margin-left: 400px;
		transform: translateX(-50%);
	}

	.answered-image img {
		height: 598px;
	}
}

@media screen and (min-width: 1025px) {
	.answered {
		padding-top: 107px;
		padding-bottom: 136px;
	}

	.answered-holder {
		max-width: 505px;
	}
}

/* needs */
.needs {
	padding-top: 46px;
	background-color: var(--color-near-blue);
}

.needs-left {
	margin-left: calc(var(--gutter-size) * -1);
	width: calc(100% + calc(var(--gutter-size) * 2));
}

.need-image {
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	-webkit-box-pack: center;
	justify-content: center;
}

.need-image img {
	display: block;
}

.need-image-text {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 351px;
	padding: 30px calc(var(--gutter-size) + 69px) 30px var(--gutter-size);
	font-size: 1.3125rem;
	margin-bottom: 0;
	line-height: 1.35;
	font-weight: 500;
	color: var(--color-body-text);
	background-color: var(--color-orange);
}

.need-image-text:focus,
.need-image-text:hover {
	text-decoration: none;
	color: var(--color-body-text);
	background: var(--color-near-orange);
}

.need-image-text:after {
	color: var(--color-dark);
	content: '\f061';
	position: absolute;
	right: 0;
	top: 0;
	font-size: 1.875rem;
	width: 69px;
	height: 100%;
	font-weight: 600;
	background: var(--color-near-orange);
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--font-family-icon);
}

.need-content {
	padding-top: 60px;
	padding-bottom: 80px;
	font-size: 1.125rem;
}

.need-content h2 {
	font-size: 2.25rem;
	margin-bottom: 28px;
}

.need-content p:last-of-type {
	margin-bottom: 0;
}

.need-content ul {
	margin-top: 25px;
	margin-bottom: 0;
}

.need-content li {
	position: relative;
	font-size: 1.1875rem;
	padding-left: 40px;
	font-weight: 300;
	margin-bottom: 27px;
	line-height: 1.3;
	letter-spacing: 0.2px;
}

.need-content li:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	content: '';
	background-color: var(--color-white);
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}

.need-content li:after {
	position: absolute;
	top: -7px;
	left: 5px;
	content: '\f00c';
	font-weight: 900;
	font-size: 1.688rem;
	font-family: var(--font-family-icon);
	color: var(--color-orange);
}

.need-content li strong {
	font-weight: 700;
}

@media screen and (min-width: 768px) {
	.needs {
		padding-top: 138px;
		padding-bottom: 100px;
	}

	.needs-holder {
		display: flex;
	}

	.needs-left {
		flex: 1;
		margin-left: 0;
		width: auto;
	}

	.need-image-text {
		bottom: -20px;
		left: -40px;
		padding-left: 40px;
	}

	.need-content {
		width: 47.2%;
		padding-top: 0;
		padding-bottom: 0;
		margin-top: -5px;
		margin-left: 40px;
	}

	.need-content li {
		margin-bottom: 31px;
	}
}

@media screen and (min-width: 1025px) {
	.need-content {
		margin-left: 70px;
	}

	.need-content h2 {
		font-size: 2.875rem;
		margin-bottom: 2px;
	}
}

/* consultation */
.consultation {
	position: relative;
	padding-top: 80px;
	padding-bottom: 80px;
	background-repeat: repeat-x;
	background-position: center top;
}

.consultation-content {
	font-size: 1.125rem;
	margin-bottom: 50px;
}

.consultation-content h2 {
	font-size: 2.1875rem;
	line-height: 1;
	margin-bottom: 13px;
}

.consultation-content h3 {
	font-size: 1.25rem;
	font-weight: 600;
	text-transform: none;
	color: var(--color-primary);
}

.consultation-info {
	position: relative;
}

.consultation-info h2 {
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: 4px;
	margin-bottom: 50px;
}

.consultation-item {
	display: flex;
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--color-near-gray);
}

.consultation-item:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.consultation-icon {
	width: 79px;
	height: 79px;
	border-radius: 100%;
	background-color: var(--color-orange);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 13px;
	margin-left: 5px;
}

.consultation-text {
	flex: 1;
	align-self: center;
	line-height: 1.6;
	font-size: 0.875rem;
}

.consultation-text h3 {
	font-size: 1.3125rem;
	font-weight: 600;
	letter-spacing: 0.5px;
	margin-bottom: 2px;
	text-transform: inherit;
	color: var(--color-primary);
}

.consultation-text p:last-of-type {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {
	.consultation {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.consultation-holder {
		display: flex;
	}

	.consultation-content {
		flex: 1;
		margin-bottom: 0;
	}

	.consultation-content h2 {
		font-size: 3.1875rem;
	}

	.consultation-content h3 {
		font-size: 1.9375rem;
	}

	.consultation-info {
		width: 40%;
		margin-top: 10px;
		margin-left: 100px;
	}

	.consultation-info h2 {
		letter-spacing: 6px;
	}

	.consultation-info:before {
		position: absolute;
		top: 0;
		left: -55px;
		width: 3px;
		height: 100%;
		background-color: var(--color-blue);
		content: '';
	}
}

@media screen and (min-width: 1025px) {
	.consultation {
		background-size: cover;
		background-position: center center;
	}

	.consultation-info {
		width: 35.8%;
	}

	.consultation-info:before {
		left: -81px;
	}

	.consultation-info {
		margin-left: 152px;
	}
}

/* round animation */
.round-animation {
	animation: animName 15s linear infinite;
}

@keyframes animName {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
