@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;700&display=swap");

:root {
	--black: #000;
	--gray: #343434;
	--white: #fff;
	--light: #EAF2F7;
	--blue: #028EFF;
	--blue-dark: #172959;
	--orange: #FE8A35;
	--green: #50AD59;
	--font: "Inter", sans-serif;
	--transition: .3s;
	--animate-delay: 0.5s;
}

body {
	font-family: var(--font);
	min-height: 100vh;
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: 100%;
	font-weight: 300;
	line-height: 1.2;
	font-size: 15px;
	color: var(--blue-dark);
}

a {
	transition: var(--transition);
}

a img.alignright {
	display: block;
	margin: 0 1em 1em 0;
}

a img.alignleft {
	float: left;
	margin: 0 1em 1em 0;
}

a img.aligncenter {
	display: block;
	margin: 1em auto;
}

img,
svg {
	max-width: 100%;
	height: auto;
}

img.alignright {
	float: right;
	margin: 0 0 1em 1em;
}

img.alignleft {
	float: left;
	margin: 0 1em 1em 0;
}

img.aligncenter {
	display: block;
	margin: 1em auto;
}

input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([class*=ymaps]),
textarea,
select {
	margin-bottom: 15px;
	outline: none;
	width: 100%;
	font-family: var(--font);
	color: #000;
	border: none;
	border-radius: 15px;
	padding: 15px;
	transition: var(--transition);
	border: 1px solid var(--light);
}

textarea {
	height: 130px;
}

input[type=checkbox] {
	border: 1px solid var(--blue);
	width: 20px;
	height: 20px;
	background-color: transparent;
	transition: var(--transition);
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	margin-right: 15px;
	flex: 0 0 auto;
	position: relative;
}

input[type=checkbox]:checked:before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	position: absolute;
	left: calc(50% - 5px);
	top: calc(50% - 5px);
	background-color: var(--blue);
}

input[type=submit] {
	padding: 13px 15px;
	min-width: 165px;
}

.slick-list {
	margin-right: -15px;
}

.slick-slide {
	margin-right: 15px;
}

.slick-arrow {
	border: none;
	background-color: var(--blue);
	cursor: pointer;
	z-index: 10;
	outline: none;
	transition: var(--transition);
	position: absolute;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	top: calc(50% - 20px);
	left: -50px;
	font-size: 0;
	background-image: url("./images/arrow.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 10px;
}

.slick-arrow:hover {
	background-color: var(--orange);
}

.slick-next {
	left: unset;
	right: -50px;
	transform: rotate(180deg);
}

.wpcf7-acceptance {
	font-size: 14px;
}

.wpcf7-acceptance a {
	color: var(--black);
}

.wpcf7-acceptance a:hover {
	text-decoration: none;
	color: var(--black);
}

.wpcf7-acceptance .wpcf7-list-item-label {
	margin-bottom: 15px;
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7-list-item>label {
	display: flex;
}

.wpcf7-not-valid-tip {
	margin: 0 0 1em;
}

.wpcf7-spinner {
	position: absolute;
}

.modal-content {
	border: none;
	padding: 40px 50px 45px;
}

.modal-header {
	display: block;
	border: unset;
	padding: 0;
	text-align: center;
}

.modal-title {
	font-weight: 700;
	font-size: 28px;
	text-align: center;
	text-transform: uppercase;
	color: var(--orange);
	margin-bottom: 15px;
	line-height: 1;
}

.modal-close {
	position: absolute;
	right: 25px;
	top: 25px;
	cursor: pointer;
}

.modal-body {
	padding: 0;
}

.modal input[type=submit] {
	width: 100%;
}

.btn,
input[type=submit] {
	background-color: var(--blue);
	color: var(--light);
	display: inline-block;
	cursor: pointer;
	transition: var(--transition);
	padding: 15px;
	border-radius: 15px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	border: none;
	outline: none;
	font-size: 20px;
}

.btn:hover,
input[type=submit]:hover {
	background-color: var(--blue-dark);
	color: var(--white);
}

.btn.green,
input[type=submit].green {
	background-color: var(--green);
}

.btn.green:hover,
input[type=submit].green:hover {
	background-color: var(--blue-dark);
	color: var(--white);
}

.btn.orange,
input[type=submit].orange {
	background-color: var(--orange);
}

.btn.orange:hover,
input[type=submit].orange:hover {
	background-color: var(--blue-dark);
	color: var(--white);
}

.slide {
	position: relative;
	overflow: hidden;
}

.slide:before {
	content: "";
	display: block;
	width: 30px;
	height: 200px;
	margin-left: 60px;
	background: #fff;
	opacity: 0.5;
	position: absolute;
	left: -40px;
	top: -50px;
	z-index: 1;
	transform: rotate(45deg);
	transition: all 0.1s;
	animation-name: slideme;
	animation-duration: 3s;
	animation-delay: 0.05s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

@keyframes slideme {
	0% {
		left: -30px;
		margin-left: 0px;
	}

	30% {
		left: 110%;
		margin-left: 80px;
	}

	100% {
		left: 110%;
		margin-left: 80px;
	}
}

#scroll_up {
	background-color: var(--blue);
	color: var(--white);
	position: fixed;
	z-index: 20;
	right: 30px;
	bottom: 30px;
	width: 40px;
	height: 40px;
	line-height: 35px;
	text-align: center;
	cursor: pointer;
	display: none;
	transition: background-color 0.3s ease-in-out;
}

#scroll_up svg {
	max-width: 20px;
}

#scroll_up svg path {
	fill: var(--white);
}

#scroll_up:hover {
	background-color: var(--blue-dark);
}

.wp-pagenavi {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
	text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
	margin: 2px;
	text-decoration: none;
	border: 1px solid var(--black);
	padding: 5px;
	min-width: 40px;
	min-height: 40px;
}

.wp-pagenavi span.current {
	background-color: var(--black);
	color: var(--white);
}

.wp-pagenavi a:hover {
	background-color: var(--black);
	color: var(--white);
}

.section-title {
	text-align: center;
	font-size: 25px;
	color: var(--blue-dark);
	font-weight: 700;
	margin-bottom: 10px;
}

.section-title.white {
	color: var(--white);
}

.section-title span {
	color: var(--orange);
	font-size: 50px;
	display: block;
}

.section-title.large {
	font-size: 50px;
}

.section-video {
	display: block;
	position: relative;
}

.section-video:after {
	content: "";
	display: block;
	width: 46px;
	height: 46px;
	border-radius: 8px;
	-webkit-backdrop-filter: blur(2.5px);
	backdrop-filter: blur(2.5px);
	background: rgba(255, 255, 255, 0.61);
	background-image: url("./images/play.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 22px;
	position: absolute;
	left: calc(50% - 23px);
	top: calc(50% - 23px);
}

.section-video img {
	border-radius: 15px;
}

.header {
	background-color: var(--blue-dark);
	color: var(--light);
	font-size: 14px;
}

.header__logo {
	max-width: 66px;
}

.header__text {
	font-size: 18px;
	max-width: 500px;
}

.header__wrapper {
	max-width: 880px;
	margin: 0 auto;
}

.banner {
	overflow: hidden;
}

.banner__img img {
	border-radius: 15px;
}

.banner__text {
	background-color: var(--blue-dark);
	color: var(--light);
	font-size: 15px;
	border-radius: 15px;
}

.banner__text strong {
	font-weight: 700;
}

.banner__blocks {
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% + 5px);
}

.banner__blocks.left {
	left: unset;
	right: calc(100% + 5px);
}

.banner__blocks-wrapper {
	display: flex;
	flex-direction: column;
}

.banner__blocks-wrapper:before,
.banner__blocks-wrapper:after {
	content: "";
	display: block;
	width: 50vw;
	border-radius: 15px;
	height: 50%;
}

.banner__blocks-wrapper:before {
	background-color: var(--orange);
	margin-bottom: 5px;
}

.banner__blocks-wrapper:after {
	background-color: var(--blue);
}

.banner__phone a {
	display: inline-block;
	font-size: 25px;
	font-weight: 700;
	color: var(--light);
	background-color: var(--orange);
	padding: 20px 30px;
	border-radius: 15px;
	text-decoration: none;
	position: relative;
	width: 100%;
}

.banner__phone a:hover {
	background-color: var(--blue);
}

.banner__price a {
	display: inline-block;
	font-size: 25px;
	font-weight: 700;
	color: var(--light);
	background-color: var(--blue);
	padding: 20px 30px;
	border-radius: 15px;
	text-decoration: none;
	position: relative;
	width: 100%;
}

.banner__price a:hover {
	background-color: var(--orange);
}

.banner__promotion {
	max-width: 495px;
	margin: 0 auto;
	background-color: var(--blue-dark);
	color: var(--white);
	border-radius: 15px;
	padding: 20px;
	font-size: 15px;
}

.banner__promotion strong {
	font-weight: 700;
}

.banner__contact {
	max-width: fit-content;
	margin: 0 auto;
}

.consultation__title {
	font-size: 15px;
}

.guarantee {
	border-radius: 15px;
	background-color: var(--blue-dark);
}

.guarantee__blocks {
	display: flex;
	justify-content: center;
	padding-top: 20px;
}

.guarantee__block {
	border-radius: 15px;
	font-weight: 700;
	padding: 20px;
}

.guarantee__block:first-child {
	color: var(--light);
	background-color: var(--orange);
	position: relative;
	z-index: 1;
}

.guarantee__block:last-child {
	background-color: var(--light);
	margin-left: -40px;
	padding-left: 75px;
	transform: translateY(-20px);
}

.guarantee__text {
	color: #86C9FF;
}

.about__num {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.about__num-wrapper {
	max-width: 500px;
	margin: 0 auto;
}

.about__num span {
	display: block;
	font-weight: 700;
	font-size: 143px;
	background-color: var(--orange);
	color: var(--light);
	border-radius: 15px;
	text-align: center;
	flex-grow: 1;
}

.about__num span:nth-child(2) {
	font-size: 117px;
	padding: 0 15px;
}

.about__num span+span {
	margin-left: 3px;
}

.about__sign {
	background-color: var(--blue-dark);
	color: var(--light);
	border-radius: 15px;
	font-size: 25px;
}

.about__text {
	position: relative;
	height: 100%;
	transition: var(--transition);
}

.about__text .more {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgb(255, 255, 255) 100%);
	position: relative;
	cursor: pointer;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.about__text .more img {
	transition: var(--transition);
}

.about__text .more.open {
	bottom: 20px;
}

.about__text .more.open img {
	transform: rotate(180deg);
}

.about__img {
	padding-top: 45px;
}

.hidden {
	display: none;
}

.project-item__img img {
	border-radius: 15px;
}

.project-item__title {
	font-size: 20px;
	font-weight: 700;
}

.project-item__text ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.price {
	overflow: hidden;
}

.price__top {
	background-color: #EEFBFF;
}

.price-item__img .slick-prev {
	left: 0;
}

.price-item__img .slick-next {
	right: 0;
}

.price-item__img img {
	border-radius: 15px;
	box-shadow: 0px 4px 12.8px 0px rgba(7, 20, 53, 0.07);
}

.price-item__title {
	color: var(--orange);
	font-weight: 700;
	font-size: 20px;
}

.price-item__price, .project-item__note {
	font-weight: 700;
}

.price-item__btn {
	font-size: 20px;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
	transition: var(--transition);
}

.price-item__btn:hover {
	color: var(--orange);
}

.sale {
	background-color: #FFF8EE;
}

.sale__phone {
	font-size: 30px;
	font-weight: 700;
}

.sale__phone a {
	color: var(--orange);
	text-decoration: none;
}

.sale__phone a:hover {
	color: var(--blue);
}

.sale.alt {
	background-color: #EEFBFF;
}

.sale.alt .sale__phone a {
	color: var(--blue-dark);
}

.sale.alt .sale__phone a:hover {
	color: var(--orange);
}

.advantage {
	overflow: hidden;
}

.advantage__top {
	background-color: var(--blue-dark);
	border-radius: 15px;
	position: relative;
	z-index: 5;
}

.advantage__text {
	font-size: 25px;
	font-weight: 400;
	background-color: var(--light);
	margin-top: -15px;
	border-radius: 0 0 15px 15px;
	padding: 30px 0 20px;
}

.advantage__list strong {
	font-weight: 700;
}

.advantage__list ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.advantage__list ul li {
	position: relative;
	padding-left: 22px;
}

.advantage__list ul li+li {
	margin-top: 20px;
}

.advantage__list ul li:before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background-image: url("./images/li.svg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top: 2px;
}

.review {
	overflow: hidden;
}

.review-text {
	background-color: var(--light);
	border-radius: 15px;
	font-weight: 400;
	cursor: pointer;
}

.review-text u {
	color: #BBBBBB;
}

.review__num {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
}

.review__num>div {
	color: var(--light);
	font-weight: 700;
	font-size: 39px;
	position: relative;
}

.review__num>div:first-child {
	font-size: 250px;
	line-height: 0.747;
}

.review__num>div:first-child:before {
	content: "";
	display: block;
	width: 132px;
	height: 218px;
	background-color: var(--blue-dark);
	border-radius: 15px;
	z-index: -1;
	position: absolute;
	left: 8px;
	bottom: 0;
}

.review__num>div:last-child {
	line-height: 0.691;
}

.review__num>div:last-child:before {
	content: "";
	display: block;
	width: 257px;
	height: 66px;
	background-color: var(--blue);
	border-radius: 15px;
	z-index: -1;
	position: absolute;
	left: -20px;
	bottom: calc(100% + 13px);
}

.review__num>div:last-child:after {
	content: "";
	display: block;
	width: 257px;
	height: 147px;
	background-color: var(--orange);
	border-radius: 15px;
	z-index: -1;
	position: absolute;
	left: -20px;
	bottom: 0;
}

.review__num>div span {
	font-size: 132px;
	display: block;
	margin-bottom: 20px;
}

.review__text strong {
	font-weight: 700;
}

.accordion__button {
	outline: none;
	border: none;
	background-color: transparent;
	color: var(--white);
	font-size: 20px;
	font-weight: 500;
	position: relative;
	padding: 0;
	padding-right: 35px;
	text-align: left;
	width: 100%;
}

.accordion__button:after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7619 0V15.2381M14.7619 15.2381L14.7619 30M14.7619 15.2381L30 15.2381M14.7619 15.2381H0M7.61905 23.8095H21.9048C22.9567 23.8095 23.8095 22.9567 23.8095 21.9048V7.61905C23.8095 6.56708 22.9567 5.71429 21.9048 5.71429L7.61905 5.71429C6.56708 5.71429 5.71429 6.56708 5.71429 7.61905L5.71429 21.9048C5.71429 22.9567 6.56708 23.8095 7.61905 23.8095Z' stroke='%23E0F8FF' stroke-width='1.5'/%3E%3C/svg%3E%0A");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	right: 0;
	transition: var(--transition);
}

.accordion__button[aria-expanded=true]:after {
	background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='%23FE8A35' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7619 0V15.2381M14.7619 15.2381L14.7619 30M14.7619 15.2381L30 15.2381M14.7619 15.2381H0M7.61905 23.8095H21.9048C22.9567 23.8095 23.8095 22.9567 23.8095 21.9048V7.61905C23.8095 6.56708 22.9567 5.71429 21.9048 5.71429L7.61905 5.71429C6.56708 5.71429 5.71429 6.56708 5.71429 7.61905L5.71429 21.9048C5.71429 22.9567 6.56708 23.8095 7.61905 23.8095Z' stroke='%23E0F8FF' stroke-width='1.5'/%3E%3C/svg%3E%0A");
}

.accordion__item+.accordion__item {
	margin-top: 20px;
}

.accordion__body {
	padding-top: 10px;
	color: #BAC7EC;
}

.faq {
	background-color: var(--blue-dark);
	color: var(--white);
	overflow: hidden;
}

.contact__info {
	background-color: var(--blue-dark);
	color: var(--light);
}

.contact__info a {
	color: var(--light);
	text-decoration: none;
}

.contact__info a:hover {
	color: var(--orange);
}

.contact__info-phone {
	font-size: 30px;
	font-weight: 700;
}

.contact__info-phones .contact__info-phone:nth-child(2n) a {
	color: var(--orange);
}

.contact__info-phones .contact__info-phone:nth-child(2n) a:hover {
	color: var(--light);
}

.contact__info-email {
	font-size: 20px;
}

.contact__social ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contact__social ul li+li {
	margin-left: 30px;
}

.contact__social ul li a {
	display: block;
}

.contact__social ul li a img {
	max-height: 48px;
}

.contact__social ul li a:hover {
	transform: translateY(-5px);
}

.contact__social .youtube {
	height: 48px;
}

.contact {
	overflow: hidden;
}

.contact #map {
	height: 400px;
}

.footer {
	background-color: var(--blue-dark);
	color: var(--light);
}

.footer__logo img {
	max-width: 66px;
}

.footer__text {
	font-size: 18px;
	font-weight: 400;
	max-width: 500px;
}

.footer__copyright {
	font-weight: 200;
	color: #B6B6B6;
}

.project-item__text .more {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgb(255, 255, 255) 100%);
	box-shadow: 0px -7px 18px 4px rgba(255, 255, 255, 1);
	position: relative;
	cursor: pointer;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.project-item__text {
	position: relative;
}

.project-item__text.hide {
	height: 80px;
	overflow: hidden;
}

.project-item__text .more {
	cursor: pointer;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.project-item__text .more img {
	transition: var(--transition);
}

.project-item__text .more.open {
	bottom: -18px;
	box-shadow: none;
}

.project-item__text .more.open img {
	transform: rotate(180deg);
}

.project-item__img .slick-arrow.slick-prev {
	left: 2px;
}

.project-item__img .slick-arrow.slick-next {
	right: 2px;
}

#modal_review .modal-body p:last-child {
	margin-bottom: 0;
}
