@charset "UTF-8";

@-webkit-keyframes fadeInTop {
	0% {
		transform: translatey(-100%);
	}

	100% {
		transform: translatey(0%);
	}
}

@keyframes fadeInTop {
	0% {
		transform: translatey(-100%);
	}

	100% {
		transform: translatey(0%);
	}
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
}

*:focus {
	outline: none;
}

a,
button,
li {
	border: none;
	text-decoration: none;
	color: inherit;
	outline: none;
	list-style: none;
	box-shadow: none;
	cursor: pointer;
	background: none;
}

a:hover,
button:hover,
li:hover {
	text-decoration: none;
}

a:focus,
a:active,
button:focus,
button:active,
li:focus,
li:active {
	outline: none;
}

li {
	cursor: default;
}

button {
	font-family: inherit;
}

input,
input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
}

input,
input:invalid,
textarea,
textarea:invalid {
	border: none;
	text-decoration: none;
	color: inherit;
	outline: none;
	list-style: none;
	box-shadow: none;
	cursor: pointer;
	background: none;
}

input:focus,
input:active,
input:invalid:focus,
input:invalid:active,
textarea:focus,
textarea:active,
textarea:invalid:focus,
textarea:invalid:active {
	outline: none;
}

body,
html {
	height: 100%;
}

body {
	position: relative;
	margin: 0;
	overflow-x: hidden;
	font-family: 'TTNorms Regular';
}

main {
	min-height: 100%;
}

b {
	font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul {
	margin: 0;
	padding: 0;
	font-weight: normal;
}

li {
	list-style: none;
}

img {
	max-width: 100%;
	border: none;
	outline: none;
}

small {
	display: block;
	max-width: 100%;
}

.modal form {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.input-wrapper {
	display: flex;
}

textarea {
	color: #000000;
}

textarea::-webkit-input-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
}

textarea::-moz-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
}

textarea:-ms-input-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
}

textarea::-ms-input-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
}

textarea::placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
}

svg {
	transition: all .3s ease-in;
}

picture {
	display: flex;
}

body {
	color: #000;
}

body.no-scroll {
	overflow-y: hidden;
}

.popup input:not([type="submit"]),
.calculate input:not([type="submit"]) {
	width: 100%;
	padding: 0 20px 0 73px;
	border-radius: 15px;
	background-color: #f4f4f4;
	border: 1px solid transparent;
	-webkit-appearance: none;
	appearance: none;
	font-size: 16px;
	color: #bdbdbd;
	font-family: 'TTNorms Regular';
}

.popup input:not([type="submit"])::-webkit-input-placeholder,
.calculate input:not([type="submit"])::-webkit-input-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	transition: all .3s ease-in;
}

.popup input:not([type="submit"])::-moz-placeholder,
.calculate input:not([type="submit"])::-moz-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	-moz-transition: all .3s ease-in;
	transition: all .3s ease-in;
}

.popup input:not([type="submit"]):-ms-input-placeholder,
.calculate input:not([type="submit"]):-ms-input-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	-ms-transition: all .3s ease-in;
	transition: all .3s ease-in;
}

.popup input:not([type="submit"])::-ms-input-placeholder,
.calculate input:not([type="submit"])::-ms-input-placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	-ms-transition: all .3s ease-in;
	transition: all .3s ease-in;
}

.popup input:not([type="submit"])::placeholder,
.calculate input:not([type="submit"])::placeholder {
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	transition: all .3s ease-in;
}

.popup input:not([type="submit"])[name="input-name"],
.calculate input:not([type="submit"])[name="input-name"] {
	background: #f4f4f4 url(../images/name.svg) left 38px center/18px no-repeat;
}

.popup input:not([type="submit"])[name="input-phone"],
.calculate input:not([type="submit"])[name="input-phone"] {
	background: #f4f4f4 url(../images/phone.svg) left 38px center/18px no-repeat;
}

.popup input,
.popup .submit,
.calculate input,
.calculate .submit {
	height: calc(58px + 39 * ((100vw - 320px) / 1600));
}

.popup span,
.calculate span {
	max-width: 100%;
}

.section {
	padding: 50px 0;
}

.title {
	margin-bottom: 40px;
	font-size: 55px;
	line-height: calc(63 / 55);
	text-align: center;
	font-family: 'TTNorms Light';
}

.title span {
	font-family: 'TTNorms Medium';
}

.button {
	transition: all .3s ease-in;
}

.button_green {
	position: relative;
	z-index: 1;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(-47.22%, #36FF73), color-stop(121.3%, #008C2B));
	background: linear-gradient(180deg, #36FF73 -47.22%, #008C2B 121.3%);
	box-shadow: inset 0px 1px 27px rgba(255, 255, 255, 0.25);
	border-radius: 15px;
	overflow: hidden;
	color: #fff;
}

.button_green:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 150%;
	height: 0;
	transform: translateX(-100%);
	border-right: 100px solid transparent;
	border-bottom: 100px solid #008C2B;
	transition: all .3s ease-in;
}

.logo {
	display: flex;
	align-items: center;
}

.logo__right {
	margin-left: 28px;
}

.logo__title {
	margin-bottom: 6px;
	font-size: 20px;
	line-height: calc(26 / 20);
	font-family: 'TTNorms Bold';
}

.logo__text {
	max-width: 307px;
	color: #bbbbbb;
	font-size: 14px;
	line-height: calc(18 / 14);
}

.logo img {
	width: 90px;
	height: 90px;
	object-fit: contain;
}

.social {
	display: flex;
	align-items: center;
}

.social__item {
	width: 42px;
	height: 42px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 10px;
	border-radius: 50%;
}

.social__item:last-child {
	margin-right: 0;
}

.social__item_vk {
	background: #3a95ff;
}

.social__item_youtube {
	box-shadow: inset 0 0 13px rgba(255, 255, 255, 0.46);
	background-color: #ff2d2d;
}

.social__item_instagram {
	background: -webkit-gradient(linear, left top, right top, color-stop(-12.96%, #8000FF), color-stop(122.22%, #FF004D));
	background: linear-gradient(90deg, #8000FF -12.96%, #FF004D 122.22%);
	box-shadow: inset 0px 0px 20px rgba(255, 255, 255, 0.51);
}

.container {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: 430px;
	padding: 0 10px;
}

.menu-link {
	display: none;
	position: relative;
	width: 35px;
	height: 35px;
	margin-left: 8px;
	background: transparent;
	border-radius: 4px;
	transition: 0.4s;
}

.menu-link_active .menu-lines {
	background: transparent;
}

.menu-link_active .menu-lines:after {
	top: 0;
	transform: rotate(-135deg);
}

.menu-link_active .menu-lines:before {
	top: 0;
	transform: rotate(135deg);
}

.menu-lines,
.menu-lines:before,
.menu-lines:after {
	position: absolute;
	width: 30px;
	height: 2.5px;
	background-color: #fff;
	transition: 0.4s;
}

.menu-lines {
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
}

.menu-lines:before {
	content: '';
	top: -9px;
}

.menu-lines:after {
	content: '';
	top: 9px;
}

.vk,
.instagram,
.youtube {
	fill: #fff;
}

.vk {
	width: 20px;
	height: 12px;
}

.youtube {
	width: 21px;
	height: 15px;
}

.instagram {
	width: 20px;
	height: 20px;
}

.phone {
	width: 16px;
	height: 20px;
	fill: #fff;
}

.header {
	display: flex;
	flex-direction: column;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	color: #fff;
	overflow: hidden;
}

.header__top,
.header__right {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
}

.header__right {
	justify-content: flex-end;
}

.header_fixed {
	min-height: 108px;
}

.header__top {
	max-width: 1920px;
}

.header__top-wrapper {
	padding-top: 18px;
}

.header__top-wrapper_fixed {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10;
	width: 100%;
	padding: 10px 0;
	-webkit-animation: fadeInTop .4s ease-in-out;
	animation: fadeInTop .4s ease-in-out;
	background: #636567;
}

.header__social {
	display: flex;
	align-items: center;
	margin-right: 34px;
	-webkit-box-ordinal-group: -2;
	order: -3;
}

.header__social-text {
	margin-right: 25px;
	font-size: 14px;
	line-height: 1;
}

.header__button {
	display: flex;
	align-items: center;
	padding: 17px 30px;
	margin-right: 34px;
	-webkit-box-ordinal-group: -1;
	order: -2;
	border-radius: 10px;
	background-color: rgba(62, 62, 66, 0.41);
	font-size: 14px;
	font-family: 'TTNorms Medium';
	color: #efefef;
}

.header__button span {
	margin-left: 11px;
}

.header__call {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}

.header__time {
	margin-bottom: 7px;
	font-size: 14px;
	line-height: 1;
}

.header__tel {
	font-size: 25px;
	font-family: 'TTNorms Bold';
	line-height: 1;
	transition: all .3s ease-in;
}

.header__bottom {
	padding: 25px 49px;
	margin-top: 37px;
	border-radius: 8px;
	background-color: rgba(0, 0, 0, 0.22);
}

.header__menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header__menu li {
	position: relative;
	text-transform: uppercase;
	line-height: 1;
	font-size: 15px;
	color: #f4f4f4;
	font-family: 'TTNorms Bold';
	letter-spacing: -0.5px;
	transition: all .3s ease-in;
}

.header__menu li:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 2px;
	background: transparent;
	transition: all .3s ease-in;
}

.header__title {
	margin-bottom: 65px;
	font-size: 55px;
	line-height: 1.3;
	font-family: 'TTNorms Light';
}

.header__title span {
	font-family: 'TTNorms Bold';
}

.header__main {
	padding: 50px 0;
}

.header__main-wrapper {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
}

.header__main-button {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	padding: 38px 65px;
	font-size: 16px;
	font-family: 'TTNorms Bold';
	text-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
	letter-spacing: 1.12px;
}

.header__before,
.header__after {
	position: absolute;
}

.header__after {
	right: 0px;
	bottom: 0;
}

.header__before {
	left: 0;
	top: 30%;
}

.features {
	position: relative;
	padding: 80px 0 150px 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.features-img-1,
.features-img-2 {
	position: absolute;
}

.features-img-2 {
	left: 0;
	bottom: -55px;
}

.features-img-1 {
	right: 0;
	top: 400px;
}

.features__title {
	margin-bottom: 50px;
}

.features-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: -60px;
}

.features__item {
	width: 33%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 60px;
}

.features__item-img {
	max-width: 182px;
	max-height: 182px;
	margin-bottom: 20px;
	object-fit: contain;
}

.features__item-text {
	max-width: 300px;
	text-align: center;
	font-size: 18px;
	line-height: calc(20 / 18);
	font-family: 'TTNorms Light';
}

.features__item-text span {
	font-family: 'TTNorms Medium';
}

.info {
	min-height: 910px;
	max-width: 1920px;
	margin: 0 auto;
	padding: 50px 0;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: cover;
}

.info__title {
	text-align: left;
}

.info__left {
	display: flex;
	justify-content: space-between;
	max-width: 900px;
}

.info__col {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.info__col-title {
	margin-bottom: 50px;
	text-align: center;
	font-size: 25px;
}

.info__col-title b {
	font-family: 'TTNorms Medium';
}

.info__item {
	position: relative;
	padding-left: 70px;
	margin-bottom: 27px;
	line-height: calc(23 / 16);
}

.info__item b {
	font-family: 'TTNorms Medium';
}

.info__item:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	background: #7cbe27 url(../images/check.svg) center no-repeat;
}

.info__bottom {
	display: flex;
	align-items: center;
	margin-top: 40px;
}

.info__bottom span {
	max-width: 200px;
	font-size: 30px;
	line-height: calc(39 / 30);
}

.info__bottom span b {
	font-family: 'TTNorms Medium';
}

.info__button {
	margin-left: calc(20px + 19 * ((100vw - 320px) / 1600));
	padding-top: calc(14px + 9 * ((100vw - 320px) / 1600));
	padding-bottom: calc(14px + 9 * ((100vw - 320px) / 1600));
	padding-left: calc(20px + 18 * ((100vw - 320px) / 1600));
	padding-right: calc(20px + 18 * ((100vw - 320px) / 1600));
	font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
	font-family: 'TTNorms Medium';
}

.info__right {
	position: absolute;
	right: 100px;
	top: 50%;
	transform: translatey(-50%);
}

.info__right-text {
	transform: translate(110px, 50px);
	padding: 18px 30px;
	max-width: 158px;
	border-radius: 15px;
	font-size: 17px;
	line-height: 1.5;
	color: #686868;
	background: #fff;
}

.info .play__circle-1 {
	width: 281px;
	height: 281px;
}

.info .play__circle-2 {
	width: 223px;
	height: 223px;
}

.info .play__button {
	width: 177px;
	height: 177px;
}

.info .play__button svg {
	width: 36px;
	height: 41px;
}

@-webkit-keyframes circle-1 {
	0% {
		transform: scale(0) translate(-50%, -50%);
	}

	100% {
		transform: scale(1) translate(-50%, -50%);
	}
}

@keyframes circle-1 {
	0% {
		transform: scale(0) translate(-50%, -50%);
	}

	100% {
		transform: scale(1) translate(-50%, -50%);
	}
}

.play {
	position: relative;
}

.play__circle-1,
.play__circle-2,
.play__button {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transform-origin: 0% 0%;
}

.play__circle-1 {
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	animation: circle-1 1.5s infinite cubic-bezier(0.37, 0.82, 0.27, 1.83) alternate-reverse;
}

.play__circle-2 {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.26);
	animation: circle-1 1.5s infinite cubic-bezier(0.37, 0.82, 0.27, 1.83) alternate-reverse;
}

.play__button {
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	background: #fff;
	border-radius: 50%;
}

.play__button svg {
	fill: #7CBE27;
}

.video {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	background-color: #000000;
}

.video__link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.video__media {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.video_enabled {
	cursor: pointer;
}

.about {
	padding: 130px 0;
}

.about-wrapper {
	display: flex;
	align-items: center;
}

.about__title {
	margin-bottom: 57px;
	text-align: left;
	color: #fff;
}

.about__text {
	font-size: 17px;
	line-height: calc(35 / 17);
	color: #A7A7A7;
}

.about__left {
	margin-right: 100px;
	flex: 1 1 auto;
}

.about__right {
	flex: 0 0 653px;
}

.about__video {
	position: relative;
	width: 100%;
	padding-top: 54.7%;
	border-radius: calc(8px + 11 * ((100vw - 320px) / 1600));
	overflow: hidden;
}

.about__video iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.about .play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.about .play__circle-1 {
	width: calc(110px + 75 * ((100vw - 320px) / 1600));
	height: calc(110px + 75 * ((100vw - 320px) / 1600));
}

.about .play__circle-2 {
	width: calc(90px + 56 * ((100vw - 320px) / 1600));
	height: calc(90px + 56 * ((100vw - 320px) / 1600));
}

.about .play__button {
	width: calc(70px + 46 * ((100vw - 320px) / 1600));
	height: calc(70px + 46 * ((100vw - 320px) / 1600));
}

.about .play__button svg {
	width: calc(15px + 9 * ((100vw - 320px) / 1600));
	height: calc(17px + 10 * ((100vw - 320px) / 1600));
}

.contact {
	padding-top: 40px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
}

.contact__title {
	margin-bottom: 100px;
}

.contact-wrapper {
	display: flex;
	justify-content: space-between;
	padding-bottom: 67px;
}

.contact__map {
	z-index: 1;
	width: 68%;
	height: 600px;
	background: #ccc;
	border-radius: 20px;
}

.contact__item {
	margin-bottom: 45px;
}

.contact__item svg {
	width: 14px;
	height: 14px;
	fill: #9F9F9F;
}

.contact__item-title {
	display: flex;
	align-items: center;
	margin-bottom: 6px;
	color: #9F9F9F;
}

.contact__item-title span {
	margin-left: 8px;
}

.contact__item-link {
	padding-left: 5px;
	font-size: 18px;
	line-height: 1.3;
}

.contact__item-tel {
	font-size: 30px;
}

.contact__item a {
	transition: all .3s ease-in;
}

.contact__button {
	margin-top: 20px;
	padding: 38px 92px;
	line-height: 1;
	font-size: 16px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.contact .siteup {
	display: flex;
	align-items: center;
}

.contact .siteup img {
	margin-left: 5px;
	margin-bottom: -4px;
}

.contact-page {
	padding-bottom: 0;
	color: #000;
}

.project__header {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: -19px;
	margin-right: -19px;
}

.project__header-item {
	margin-right: 19px;
	margin-bottom: 19px;
	padding: 18px 30px;
	background: #FAFAFA;
	border-radius: 10px;
	font-size: 16px;
	color: #BDBDBD;
	font-family: 'TTNorms Medium';
	transition: all .3s ease-in;
	cursor: pointer;
}

.project__header-item.active {
	background: #0FC647;
	color: #fff;
}

.project-wrapper {
	display: flex;
	flex-wrap: wrap;
	--gap: 25px;
	margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
	width: calc(100% + var(--gap));
}

.project__item {
	position: relative;
	margin: var(--gap) 0 0 var(--gap);
	width: calc(33.33333% - var(--gap));
	display: flex;
	flex-direction: column;
	flex: 0 1 auto;
	border-radius: 11px;
	border: 1px solid #f1f1f1;
	background-color: #ffffff;
	overflow: hidden;
	transition: all .3s ease-in;
}

.project__item_none {
	margin: var(--gap) 0 0 var(--gap);
	width: calc(100% - var(--gap));
}

.project__item-cat {
	position: absolute;
	right: 19px;
	top: 19px;
	z-index: 1;
	max-width: 95%;
	padding: 14px 21px;
	border-radius: 7px;
	background-color: rgba(128, 153, 161, 0.95);
	font-size: 16px;
	font-family: 'TTNorms Medium';
	color: #fff;
	line-height: 1;
	text-align: right;
}

.project__item-img {
	position: relative;
	padding-top: 63%;
	cursor: pointer;
}

.project__item-img picture,
.project__item-img img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.project__item-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	padding: 17px 32px 35px 40px;
}

.project__item-title {
	margin-bottom: 35px;
	flex: 1 1 auto;
	font-size: 25px;
	font-family: 'TTNorms Medium';
	line-height: calc(32 / 25);
	cursor: pointer;
	transition: all .3s ease-in;
}

.project__item-time {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	margin-bottom: 28px;
	padding: 13px 20px;
	line-height: 1;
	font-size: 15px;
	font-family: 'TTNorms Light';
	border-radius: 90px;
	background-color: #fff388;
}

.project__item-time span {
	font-family: 'TTNorms Medium';
	margin-left: 3px;
}

.project__item-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.project__item-row span {
	font-size: 16px;
	line-height: calc(21 / 16);
	max-width: 120px;
}

.project__item-price {
	color: #7cbe27;
	font-size: 30px;
	font-family: 'TTNorms Bold';
}

.project__item-more {
	margin-top: 20px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	align-items: center;
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-family: 'TTNorms Light';
	color: #000;
	transition: all .3s ease-in;
}

.project__item-more span {
	margin-right: 19px;
	transition: all .3s ease-in;
}

.project__item-more svg {
	height: 10px;
	width: 10px;
	transition: all .3s ease-in;
}

.project-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 350px;
}

.project-list li {
	width: 47%;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	font-size: 16px;
	font-family: 'TTNorms Light';
}

.project-list span {
	margin-left: 17px;
	font-size: 16px;
	font-family: 'TTNorms Light';
}

.project-list span b {
	font-family: 'TTNorms Medium';
}

.project-list svg {
	width: 30px;
	height: 30px;
	flex-basis: 30px;
	fill: #1c3922;
}

.project__button {
	position: relative;
	left: 50%;
	display: inline-block;
	padding-top: calc(15px + 13 * ((100vw - 320px) / 1600));
	padding-bottom: calc(15px + 13 * ((100vw - 320px) / 1600));
	padding-left: calc(25px + 10 * ((100vw - 320px) / 1600));
	padding-right: calc(25px + 10 * ((100vw - 320px) / 1600));
	transform: translateX(-50%);
	margin-top: 53px;
	border-radius: 71px;
}

.project__more {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	margin-top: 49px;
	transition: all .3s ease-in;
}

.project__more span {
	margin-right: 13px;
	font-size: 16px;
}

.project__more svg {
	position: absolute;
	right: -10px;
	top: 3px;
	width: 20px;
	height: 20px;
	-webkit-animation: rotate 2s infinite linear;
	animation: rotate 2s infinite linear;
}

@-webkit-keyframes rotate {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes rotate {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

.project__more_disabled {
	opacity: 0;
	position: relative;
	z-index: -1;
}

.portfolio {
	position: relative;
	z-index: 2;
}

.calculate {
	position: relative;
	z-index: 1;
	min-height: 800px;
	margin-top: 100px;
	padding: 100px 0 80px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.calculate__cloud {
	position: absolute;
	left: 50%;
	top: -470px;
	z-index: 1;
	transform: translateX(-50%);
	animation: cloud 3s ease-in-out infinite alternate-reverse;
}

.calculate__img {
	position: absolute;
	left: 0;
	bottom: 0;
}

.calculate-wrapper {
	min-height: 527px;
	padding: 100px 180px;
}

.calculate__title {
	margin-bottom: 60px;
	font-size: 50px;
	line-height: calc(62 / 50);
	text-align: center;
}

.calculate__title span {
	font-family: 'TTNorms Medium';
}

.calculate__form input:not([type="submit"]) {
	width: 341px;
	max-width: 100%;
	margin-right: 20px;
}

.calculate__form .submit {
	margin-right: 0;
	width: 372px;
	text-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
	font-size: 16px;
	letter-spacing: 1.12px;
	font-family: 'TTNorms Bold';
	text-transform: uppercase;
	color: #fff;
}

.calculate__policy {
	width: 100%;
	margin-top: 54px;
	text-align: center;
	font-size: 16px;
}

.calculate__policy a {
	font-family: 'TTNorms Medium';
	border-bottom: 1px dotted #000;
	transition: all .3s ease-in;
}

@-webkit-keyframes cloud {
	0% {
		top: -470px;
	}

	100% {
		top: -420px;
	}
}

@keyframes cloud {
	0% {
		top: -470px;
	}

	100% {
		top: -420px;
	}
}

.feedback__title {
	margin-bottom: 68px;
}

.feedback-wrapper {
	display: flex;
	flex-wrap: wrap;
	--gap: 25px;
	margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
	width: calc(100% + var(--gap));
}

.feedback__item {
	margin: var(--gap) 0 0 var(--gap);
	width: calc(25% - var(--gap));
	padding: 26px;
	border: 1px solid #F3F3F3;
	border-radius: 16px;
}

.feedback__item-top {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

.feedback__item-img {
	width: 81px;
	height: 81px;
	flex: 0 0 81px;
	margin-right: 18px;
	border-radius: 50%;
}

.feedback__item-name {
	margin-bottom: 4px;
	font-family: 'TTNorms Medium';
}

.feedback__item-date {
	font-size: 14px;
	line-height: calc(17 / 14);
	color: #ABABAB;
	font-family: 'TTNorms Light';
}

.feedback__item-text {
	margin-bottom: 26px;
	font-size: 14px;
	line-height: calc(21 / 14);
	font-family: 'TTNorms Light';
	color: #515151;
}

.feedback .play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.feedback .play__circle-1 {
	width: calc(40px + 40 * ((100vw - 320px) / 1600));
	height: calc(40px + 40 * ((100vw - 320px) / 1600));
}

.feedback .play__circle-2 {
	width: calc(30px + 34 * ((100vw - 320px) / 1600));
	height: calc(30px + 34 * ((100vw - 320px) / 1600));
}

.feedback .play__button {
	width: calc(25px + 26 * ((100vw - 320px) / 1600));
	height: calc(25px + 26 * ((100vw - 320px) / 1600));
}

.feedback .play__button svg {
	width: calc(7px + 4 * ((100vw - 320px) / 1600));
	height: calc(7px + 4 * ((100vw - 320px) / 1600));
}

.card {
	padding: 55px 0;
	overflow: hidden;
}

.card-wrapper {
	display: flex;
	align-items: stretch;
}

.card__left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-right: 66px;
	-webkit-box-ordinal-group: -2;
	order: -3;
}

.card__left,
.card__block {
	max-width: 789px;
}

.card__right {
	display: flex;
	flex-direction: column;
	max-width: 584px;
	padding-top: 20px;
}

.card .slider picture,
.card .slider img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card .slider-top {
	margin-bottom: 23px;
}

.card .slider-top__item {
	position: relative;
	width: 100%;
	padding-top: 9.5%;
	border-radius: 19px;
	overflow: hidden;
}

.card .slider-thumb__item {
	position: relative;
	width: 184px;
	height: 147px;
	margin: 0 9px;
	border-radius: 10px;
	outline: none;
	cursor: pointer;
	overflow: hidden;
}

.card .slider-thumb .slick-current~div~div~div {
	margin-right: 0;
}

.card__title {
	margin-bottom: 40px;
	font-size: 35px;
	line-height: calc(40 / 35);
}

.card .project-list {
	justify-content: flex-start;
}

.card .project-list li {
	margin-right: 75px;
	margin-bottom: calc(15px + 20 * ((100vw - 320px) / 1600));
	width: auto;
}

.card .project-list li:nth-child(2n) {
	margin-right: 0;
}

.card__price {
	margin-bottom: 35px;
	padding: 18px 33px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #FDFDFD;
	border-radius: 12px;
}

.card__price-title {
	max-width: 100px;
	font-size: 16px;
	line-height: calc(21 / 16);
}

.card__price span {
	font-size: 30px;
	font-family: 'TTNorms Bold';
	color: #7CBE27;
}

.card__plan-title,
.card__video-title {
	margin-bottom: 40px;
	font-size: 25px;
	line-height: calc(28 / 25);
}

.card__plan {
	margin-bottom: 49px;
}

.card__plan-wrapper {
	position: relative;
}

.card__plan-arrow {
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	z-index: 4;
	width: 46px;
	height: 46px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	border: 1px solid #F1F1F1;
	cursor: pointer;
	user-select: none;
	transition: all .3s ease-in;
}

.card__plan-arrow svg {
	width: 6px;
	height: 11px;
}

.card__plan-prev {
	left: 0;
}

.card__plan-next {
	right: 0;
}

.card__plan-slider {
	padding: 0 100px;
}

.card__video {
	width: 100%;
}

.card .video {
	position: relative;
}

.card .video iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.card .play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.card .play__button {
	width: calc(70px + 46 * ((100vw - 320px) / 1600));
	height: calc(70px + 46 * ((100vw - 320px) / 1600));
}

.card .play__button svg {
	width: calc(15px + 10 * ((100vw - 320px) / 1600));
	height: calc(17px + 10 * ((100vw - 320px) / 1600));
}

.card .play__circle-1 {
	width: calc(110px + 75 * ((100vw - 320px) / 1600));
	height: calc(110px + 75 * ((100vw - 320px) / 1600));
}

.card .play__circle-2 {
	width: calc(90px + 57 * ((100vw - 320px) / 1600));
	height: calc(90px + 57 * ((100vw - 320px) / 1600));
}

.card__block {
	margin-top: 57px;
	padding: 30px 43px;
	background: #FBFBFB;
	border-radius: 14px;
}

.card__block-title {
	margin-bottom: 22px;
	font-size: 25px;
	line-height: calc(28 / 25);
}

.card__block-text {
	margin-bottom: 32px;
	font-size: 16px;
	font-family: 'TTNorms Light';
	color: #7A7A7A;
	line-height: 1.6;
}

.card__block-button {
	padding: 23px 40px;
	font-size: 16px;
}

.catalog__title {
	margin-bottom: 50px;
	font-size: 35px;
	line-height: calc(40 / 35);
}

.catalog-wrapper {
	display: flex;
}

.catalog__left {
	width: 100%;
	max-width: 340px;
	padding: 23px 26px;
	background: #FEFEFE;
	border-radius: 17px;
}

.catalog__right {
	width: 100%;
	max-width: 1072px;
	margin-left: 23px;
}

.catalog__items {
	display: flex;
	min-height: 500px;
	display: flex;
	flex-wrap: wrap;
	--gap: 26px;
	margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
	width: calc(100% + var(--gap));
}

.catalog__items.loading {
	position: relative;
}

.catalog__items.loading:after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 98%;
	height: 100%;
	background: rgba(250, 250, 250, 0.8) url(../images/loading.gif) center no-repeat;
}

.catalog .project__item {
	margin: var(--gap) 0 0 var(--gap);
	width: calc(33.33333% - var(--gap));
}

.catalog .project__item-title {
	margin-bottom: 25px;
}

.catalog .project-list {
	flex-direction: column;
}

.catalog .project-list li {
	width: 100%;
	margin-right: 0;
	margin-bottom: 17px;
}

.catalog .project-list li:nth-child(2n) {
	justify-content: flex-start;
}

.catalog__button {
	display: none;
}

.filter__item {
	margin-bottom: 36px;
}

.filter__item:last-child {
	margin-bottom: 0;
}

.filter__item-title {
	margin-bottom: 24px;
	font-size: 20px;
	font-family: 'TTNorms Medium';
	line-height: 1.3;
}

.filter__item-cats {
	display: flex;
	flex-direction: column;
}

.filter__item-cats label {
	display: flex;
	margin-bottom: 19px;
	padding-left: 20px;
	cursor: pointer;
}

.filter__item-cats label:last-child {
	margin-bottom: 0;
}

.filter__item-cats input {
	margin: 0;
}

.filter__item-cats span {
	position: relative;
	text-align: left;
	user-select: none;
	transition: all .3s ease-in;
}

.filter__item .checkbox {
	margin: 0;
}

.filter__item-cats .checkbox:checked+span:after {
	content: '';
	position: absolute;
	left: -18px;
	top: 50%;
	transform: translatey(-50%);
	width: 15px;
	height: 15px;
	background: url(../images/check-2.svg) center/contain no-repeat;
}

.filter__inputs {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}

.filter__inputs input {
	width: 100%;
	height: 51px;
	padding: 0 14px 0 40px;
	background: #F9F9F9;
	border-radius: 9px;
	text-align: right;
	font-size: 14px;
	font-family: 'TTNorms Medium';
	color: #000;
}

.filter__inputs label {
	position: relative;
	width: 100%;
	max-width: 46%;
}

.filter__inputs label:before {
	content: '₽';
	position: absolute;
	left: 13px;
	top: 50%;
	transform: translatey(-50%);
	font-size: 14px;
	font-family: 'TTNorms Medium';
	color: #C7C7C7;
}

.filter__item-checkbox label {
	display: flex;
	align-items: center;
	margin-bottom: 9px;
	cursor: pointer;
	user-select: none;
}

.filter__item-checkbox label:last-child {
	margin-bottom: 0;
}

.filter__item-checkbox span {
	margin-left: 17px;
	font-size: 16px;
	color: #000;
}

.filter__item-checkbox .checkbox {
	position: relative;
	width: 23px;
	height: 23px;
	background-color: #F9F9F9;
	border-radius: 5px;
	-webkit-appearance: none;
	appearance: none;
}

.filter__item-checkbox input:checked:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 7px;
	background: url(../images/input-check.svg) center no-repeat;
}

.filter .ui-slider-horizontal {
	height: 3px;
}

.filter .ui-slider .ui-slider-range {
	background: #7CBE27;
}

.filter .ui-slider .ui-slider-handle {
	top: -8px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: none;
	background: #FFFFFF;
	box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.08);
	cursor: pointer;
}

.filter .ui-slider .ui-slider-handle:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #7CBE27;
}

.filter .ui-widget-content {
	background: #f9f9f9;
	border: none;
	border-radius: 0;
}

.footer {
	padding: 33px 0;
	border: 1px solid rgba(255, 255, 255, 0.04);
	font-size: 15px;
}

.footer a {
	cursor: pointer;
}

.footer__row,
.footer__right {
	display: flex;
	align-items: center;
}

.footer__row {
	justify-content: space-between;
}

.footer__right {
	justify-content: flex-end;
}

.footer__social {
	margin: 0 150px;
}

.popup {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 21;
	display: none;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.7);
}

.popup_show {
	padding-right: 17px !important;
}

.popup.show {
	-webkit-animation: fadeInTop .7s;
	animation: fadeInTop .7s;
}

.popup__dialog {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.popup__content {
	position: relative;
	width: 100%;
	max-width: calc(300px + 231 * ((100vw - 320px) / 1600));
	max-height: 95%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: calc(30px + 6 * ((100vw - 320px) / 1600));
	padding-bottom: calc(30px + 6 * ((100vw - 320px) / 1600));
	padding-left: calc(20px + 60 * ((100vw - 320px) / 1600));
	padding-right: calc(20px + 60 * ((100vw - 320px) / 1600));
	overflow-y: auto;
	background: #fff;
	box-shadow: 0px 4px 97px rgba(0, 0, 0, 0.06);
	border-radius: calc(10px + 14 * ((100vw - 320px) / 1600));
}

.popup__title {
	margin-bottom: calc(20px + 34 * ((100vw - 320px) / 1600));
	font-size: calc(20px + 5 * ((100vw - 320px) / 1600));
	line-height: 1.3;
	font-family: 'TTNorms Medium';
	text-align: center;
}

.popup__title::first-letter {
	text-transform: uppercase;
}

.popup__form {
	width: 100%;
}

.popup__form span {
	width: 100%;
	max-width: 372px;
}

.popup__form input:not([type="submit"]) {
	width: 100%;
	margin-bottom: calc(10px + 20 * ((100vw - 320px) / 1600));
	background: #F4F4F4;
	border-radius: 15px;
	font-size: 16px;
	color: #BDBDBD;
}

.popup__form .submit {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 372px;
	margin-bottom: calc(10px + 24 * ((100vw - 320px) / 1600));
	font-size: calc(12px + 4 * ((100vw - 320px) / 1600));
	text-transform: uppercase;
	color: #ffffff;
	font-family: 'TTNorms Bold';
	transition: all .3s ease-in;
}

.popup__form small {
	font-size: calc(11px + 5 * ((100vw - 320px) / 1600));
	font-family: 'TTNorms Light';
	line-height: 1.3;
	text-align: center;
}

.popup__form small a {
	padding-bottom: 3px;
	font-family: 'TTNorms Bold';
	border-bottom: 1px dotted #000;
	transition: all .3s ease-in;
}

.popup__close {
	position: absolute;
	right: calc(15px + 23 * ((100vw - 320px) / 1600));
	top: calc(5px + 13 * ((100vw - 320px) / 1600));
	font-size: calc(30px + 15 * ((100vw - 320px) / 1600));
	color: #BCBCBC;
	font-family: 'TTNorms Light';
	text-shadow: none;
	cursor: pointer;
	opacity: 1;
	transition: all .3s ease-in;
}

.popup__close:hover {
	color: #008C2B;
}

@media (min-width: 576px) {
	.container {
		width: 520px;
		padding: 0;
	}

	.project-list li:nth-child(2n) {
		justify-content: flex-end;
	}
}

@media (min-width: 768px) {
	.container {
		width: 720px;
	}

	.calculate__policy br {
		display: none;
	}
}

@media (min-width: 992px) {
	.button_green:hover:before {
		transform: translate(0%, 0%);
	}

	.container {
		width: 960px;
	}

	.header__button:hover {
		background-color: #3e3e42;
	}

	.header__tel:hover {
		color: #00bf3b;
	}

	.header__menu li:hover:before {
		background: #fff;
	}

	.info__col:nth-child(1) {
		max-width: 52%;
	}

	.info__col:nth-child(2) {
		max-width: 42%;
	}

	.contact__item a:hover {
		color: #008C2B;
	}

	.project__item-title:hover {
		color: #008C2B;
	}

	.project__item-more:hover {
		color: #008C2B;
	}

	.project__item-more:hover span {
		margin-right: 25px;
	}

	.project__item-more:hover svg {
		fill: #008C2B;
	}

	.project__item:hover {
		box-shadow: 0 10px 50px rgba(0, 140, 43, 0.1);
	}

	.calculate__policy a:hover {
		color: #008C2B;
		border-bottom-color: transparent;
	}

	.card__plan-arrow:hover {
		background: #f1f1f1;
	}

	.filter__item-cats span:hover {
		color: #008C2B;
	}

	.popup__form small a:hover {
		border-bottom-color: transparent;
	}
}

@media (min-height: 700px) and (min-width: 992px) {
	.header {
		min-height: 100vh;
	}
}

@media (min-width: 1200px) {
	.container {
		width: 1140px;
	}

	.features__item:nth-child(2),
	.features__item:nth-child(4) {
		align-self: flex-end;
	}
}

@media (min-width: 1501px) {
	.container {
		width: 1440px;
	}

	.calculate-wrapper {
		background: url(../images/calculate-form-bg.png) top no-repeat;
	}
}

@media (max-width: 1700px) {

	.header__before,
	.header__after {
		display: none;
	}
}

@media (max-width: 1500px) {
	.section {
		padding: 50px 0;
	}

	.title {
		margin-bottom: calc(30px + 10 * ((100vw - 320px) / 1600));
		font-size: calc(26px + 29 * ((100vw - 320px) / 1600));
	}

	.logo__right {
		margin-left: 10px;
	}

	.header__button,
	.header__social-text,
	.header__social {
		margin-right: calc(5px + 15 * ((100vw - 320px) / 1600));
	}

	.header__tel {
		font-size: calc(16px + 9 * ((100vw - 320px) / 1600));
	}

	.header__time {
		font-size: calc(10px + 4 * ((100vw - 320px) / 1600));
	}

	.features-img-1,
	.features-img-2 {
		display: none;
	}

	.features__item-img {
		max-width: calc(70px + 90 * ((100vw - 320px) / 1600));
		max-height: calc(70px + 90 * ((100vw - 320px) / 1600));
	}

	.info__right {
		right: 9%;
		bottom: -100px;
		top: auto;
	}

	.info .play__circle-1 {
		width: 170px;
		height: 170px;
	}

	.info .play__circle-2 {
		width: 130px;
		height: 130px;
	}

	.info .play__button {
		width: 100px;
		height: 100px;
	}

	.info .play__button svg {
		max-width: 30px;
		max-height: 30px;
	}

	.about__title {
		margin-bottom: calc(20px + 30 * ((100vw - 320px) / 1600));
	}

	.about__text {
		font-size: calc(15px + 2 * ((100vw - 320px) / 1600));
	}

	.about-wrapper {
		align-items: center;
	}

	.about__left {
		margin-right: calc(30px + 70 * ((100vw - 320px) / 1600));
	}

	.about__right {
		flex: 0 0 40%;
	}

	.about__video {
		padding-top: 56.2%;
	}

	.contact-page {
		padding-bottom: 0;
	}

	.contact__map {
		width: 64%;
		height: 550px;
	}

	.contact__button {
		padding-top: calc(20px + 20 * ((100vw - 320px) / 1600));
		padding-bottom: calc(20px + 20 * ((100vw - 320px) / 1600));
		padding-left: calc(40px + 55 * ((100vw - 320px) / 1600));
		padding-right: calc(40px + 55 * ((100vw - 320px) / 1600));
		font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
	}

	.project__item-price {
		font-size: calc(20px + 10 * ((100vw - 320px) / 1600));
	}

	.project__item-content {
		padding-top: calc(15px + 5 * ((100vw - 320px) / 1600));
		padding-bottom: calc(15px + 5 * ((100vw - 320px) / 1600));
		padding-left: calc(20px + 15 * ((100vw - 320px) / 1600));
		padding-right: calc(20px + 15 * ((100vw - 320px) / 1600));
	}

	.project__item-title {
		margin-bottom: calc(15px + 23 * ((100vw - 320px) / 1600));
		font-size: calc(19px + 6 * ((100vw - 320px) / 1600));
	}

	.project__button {
		margin-top: 30px;
	}

	.project-list li {
		width: 49%;
	}

	.project-list span {
		margin-left: 10px;
		font-size: 15px;
	}

	.project-list svg {
		width: 20px;
		height: 20px;
		flex-basis: 20px;
	}

	.calculate {
		margin-top: 50px;
		min-height: auto;
	}

	.calculate__img,
	.calculate__cloud {
		display: none;
	}

	.calculate-wrapper {
		padding: 60px 40px;
		min-height: auto;
		background: #fff;
		border-radius: 30px;
	}

	.calculate__title {
		margin-bottom: calc(30px + 30 * ((100vw - 320px) / 1600));
		font-size: calc(30px + 20 * ((100vw - 320px) / 1600));
	}

	.feedback-wrapper {
		display: flex;
		flex-wrap: wrap;
		--gap: 15px;
		margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
		width: calc(100% + var(--gap));
	}

	.feedback__item {
		padding: calc(15px + 11 * ((100vw - 320px) / 1600));
		border-radius: calc(9px + 7 * ((100vw - 320px) / 1600));
	}

	.feedback__item-top {
		margin-bottom: calc(8px + 7 * ((100vw - 320px) / 1600));
	}

	.feedback__item-img {
		width: calc(45px + 36 * ((100vw - 320px) / 1600));
		height: calc(45px + 36 * ((100vw - 320px) / 1600));
		flex-basis: calc(45px + 36 * ((100vw - 320px) / 1600));
		margin-right: calc(10px + 8 * ((100vw - 320px) / 1600));
	}

	.feedback__item-name {
		font-size: calc(15px + 1 * ((100vw - 320px) / 1600));
	}

	.feedback__item-date {
		font-size: calc(13px + 1 * ((100vw - 320px) / 1600));
	}

	.feedback__item-text {
		margin-bottom: calc(15px + 11 * ((100vw - 320px) / 1600));
		font-size: calc(13px + 1 * ((100vw - 320px) / 1600));
	}

	.card__left,
	.card__block {
		max-width: 587px;
	}

	.card__block {
		padding-top: calc(20px + 13 * ((100vw - 320px) / 1600));
		padding-bottom: calc(20px + 13 * ((100vw - 320px) / 1600));
		padding-left: calc(25px + 20 * ((100vw - 320px) / 1600));
		padding-right: calc(25px + 20 * ((100vw - 320px) / 1600));
	}

	.card__block-title {
		font-size: calc(20px + 6 * ((100vw - 320px) / 1600));
	}

	.card__block-text {
		margin-bottom: calc(20px + 14 * ((100vw - 320px) / 1600));
		font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
	}

	.card__block-button {
		padding-top: calc(14px + 9 * ((100vw - 320px) / 1600));
		padding-bottom: calc(14px + 9 * ((100vw - 320px) / 1600));
		padding-left: calc(21px + 22 * ((100vw - 320px) / 1600));
		padding-right: calc(21px + 22 * ((100vw - 320px) / 1600));
		font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
	}

	.card__left {
		margin-right: 45px;
	}

	.card__right {
		max-width: 510px;
		padding-top: 0;
	}

	.card .project-list li {
		margin-right: 85px;
	}

	.card__title {
		font-size: calc(24px + 12 * ((100vw - 320px) / 1600));
		margin-bottom: calc(18px + 22 * ((100vw - 320px) / 1600));
	}

	.card .slider-thumb__item {
		height: 130px;
	}

	.card__price {
		padding-top: calc(12px + 8 * ((100vw - 320px) / 1600));
		padding-bottom: calc(12px + 8 * ((100vw - 320px) / 1600));
		padding-left: calc(20px + 15 * ((100vw - 320px) / 1600));
		padding-right: calc(20px + 15 * ((100vw - 320px) / 1600));
	}

	.card__price-title {
		font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
	}

	.card__price span {
		font-size: calc(21px + 9 * ((100vw - 320px) / 1600));
	}

	.card__plan-title,
	.card__video-title {
		margin-bottom: calc(20px + 23 * ((100vw - 320px) / 1600));
		font-size: calc(20px + 5 * ((100vw - 320px) / 1600));
	}

	.card__plan-slider {
		padding: 0 60px;
	}

	.catalog__title {
		margin-bottom: calc(15px + 38 * ((100vw - 320px) / 1600));
		font-size: calc(25px + 12 * ((100vw - 320px) / 1600));
	}

	.catalog__items {
		display: flex;
		flex-wrap: wrap;
		--gap: 35px;
		margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
		width: calc(100% + var(--gap));
	}

	.catalog .project__item {
		margin: var(--gap) 0 0 var(--gap);
		width: calc(50% - var(--gap));
	}

	.filter__inputs label {
		max-width: 48%;
	}

	.filter__inputs label:before {
		left: 9px;
	}

	.filter__inputs input {
		padding: 0 15px 0 25px;
	}

	.footer__social {
		margin: 0 100px;
	}
}

@media (max-width: 1199px) {
	.logo img {
		max-width: 50px;
		max-height: 50px;
	}

	.logo__title {
		margin-bottom: 3px;
		font-size: 16px;
	}

	.logo__text {
		max-width: 250px;
		font-size: 12px;
	}

	.logo__text br {
		display: none;
	}

	.header__title {
		margin-bottom: calc(30px + 40 * ((100vw - 320px) / 1600));
		font-size: calc(28px + 35 * ((100vw - 320px) / 1600));
	}

	.header__button {
		padding: 15px 25px;
	}

	.header__main-button {
		padding-top: calc(20px + 20 * ((100vw - 320px) / 1600));
		padding-bottom: calc(20px + 20 * ((100vw - 320px) / 1600));
		padding-left: calc(25px + 45 * ((100vw - 320px) / 1600));
		padding-right: calc(25px + 45 * ((100vw - 320px) / 1600));
		font-size: calc(12px + 4 * ((100vw - 320px) / 1600));
		letter-spacing: calc(0.5px + 0.7 * ((100vw - 320px) / 1600));
	}

	.features-wrapper {
		display: flex;
		flex-wrap: wrap;
		--gap: 50px;
		margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
		width: calc(100% + var(--gap));
		justify-content: center;
	}

	.features__item {
		margin: var(--gap) 0 0 var(--gap);
		width: calc(50% - var(--gap));
	}

	.info__right {
		display: flex;
		align-items: center;
		justify-content: center;
		transform: none;
		position: static;
	}

	.info__right-text {
		max-width: none;
		margin-left: 10px;
		transform: none;
	}

	.info__circle-1,
	.info__circle-2 {
		display: none;
		-webkit-animation: none;
		animation: none;
	}

	.info .play__button {
		position: static;
		transform: none;
		width: calc(70px + 50 * ((100vw - 320px) / 1600));
		height: calc(70px + 50 * ((100vw - 320px) / 1600));
	}

	.info .play__button svg {
		width: calc(20px + 15 * ((100vw - 320px) / 1600));
		height: calc(20px + 15 * ((100vw - 320px) / 1600));
	}

	.info__right-text {
		padding-top: calc(10px + 8 * ((100vw - 320px) / 1600));
		padding-bottom: calc(10px + 8 * ((100vw - 320px) / 1600));
		padding-left: calc(15px + 15 * ((100vw - 320px) / 1600));
		padding-right: calc(15px + 15 * ((100vw - 320px) / 1600));
		font-size: calc(15px + 2 * ((100vw - 320px) / 1600));
	}

	.contact__item {
		margin-bottom: 30px;
	}

	.contact__button {
		margin-top: 0;
	}

	.contact__map {
		height: 450px;
	}

	.project__item {
		margin: var(--gap) 0 0 var(--gap);
		width: calc(50% - var(--gap));
	}

	.project__item-cat {
		right: calc(10px + 9 * ((100vw - 320px) / 1600));
		top: calc(10px + 9 * ((100vw - 320px) / 1600));
		font-size: calc(14px + 2 * ((100vw - 320px) / 1600));
		padding-top: calc(10px + 4 * ((100vw - 320px) / 1600));
		padding-bottom: calc(10px + 4 * ((100vw - 320px) / 1600));
		padding-left: calc(15px + 6 * ((100vw - 320px) / 1600));
		padding-right: calc(15px + 6 * ((100vw - 320px) / 1600));
	}

	.calculate {
		margin-top: 0;
		padding: 50px 0;
	}

	.calculate__form form {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.calculate__form .input-wrapper {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}

	.calculate__form input:not([type="submit"]) {
		margin-right: 0;
		margin-bottom: 15px;
		width: 400px;
		max-width: 100%;
	}

	.calculate__form .submit {
		width: 400px;
		max-width: 100%;
	}

	.calculate__policy {
		margin-top: calc(15px + 35 * ((100vw - 320px) / 1600));
	}

	.feedback__item {
		margin: var(--gap) 0 0 var(--gap);
		width: calc(33.33333% - var(--gap));
	}

	.card__left,
	.card__block {
		max-width: 450px;
	}

	.card .slider-top {
		margin-bottom: 10px;
	}

	.card .slider-thumb__item {
		width: 144px;
		height: 100px;
		margin: 0 5px;
	}

	.card__right {
		max-width: 480px;
	}

	.card__left {
		justify-content: flex-start;
	}

	.card__block {
		margin-top: 30px;
	}

	.catalog__left {
		padding: calc(10px + 12 * ((100vw - 320px) / 1600));
		max-width: 320px;
	}

	.catalog__items {
		display: flex;
		flex-wrap: wrap;
		--gap: 25px;
		margin: calc(-1 * var(--gap)) 0 0 calc(-1 * var(--gap));
		width: calc(100% + var(--gap));
	}

	.footer__social {
		margin: 0 20px;
	}
}

@media (max-width: 991px) {
	body {
		padding-top: 73px;
	}

	.menu-link {
		display: block;
	}

	.header_fixed {
		min-height: 0;
	}

	.header__bottom {
		padding: 70px 0;
		margin: 0 auto;
		background: none;
	}

	.header__bottom-wrapper {
		position: fixed;
		right: -100vw;
		top: 0;
		z-index: 5;
		max-width: 100%;
		width: 100vw;
		height: 100%;
		margin-top: 73px;
		padding: 0 0 73px 0;
		overflow: auto;
		background: rgba(0, 0, 0, 0.9);
		transition: all .3s ease-in;
	}

	.header__bottom-wrapper_active {
		right: 0;
	}

	.header__bottom-wrapper .container {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.header__bottom-wrapper .header__menu {
		flex-direction: column;
		align-items: center;
	}

	.header__bottom-wrapper .header__menu li {
		margin-right: 0;
		margin-bottom: 25px;
		font-size: 19px;
	}

	.header__top-wrapper {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 10;
		width: 100%;
		min-height: 73px;
		display: flex;
		align-items: center;
		padding: 10px 0;
		-webkit-animation: fadeInTop .4s ease-in-out;
		animation: fadeInTop .4s ease-in-out;
		background: #636567;
	}

	.header__social {
		justify-content: center;
		margin-right: 0;
		margin-bottom: 25px;
	}

	.header__social-text {
		display: none;
	}

	.header__button {
		margin: 0 auto;
		background: #3e3e42;
	}

	.header__main {
		padding: 50px 0;
	}

	.info {
		min-height: auto;
		background: #f8f8f8 !important;
	}

	.info__bottom {
		margin-top: calc(15px + 25 * ((100vw - 320px) / 1600));
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}

	.info__bottom span {
		font-size: calc(22px + 6 * ((100vw - 320px) / 1600));
		max-width: 100%;
	}

	.info__button {
		margin-left: 0;
		margin-top: 15px;
	}

	.info__col {
		max-width: 48%;
	}

	.info__col-title {
		margin-bottom: calc(15px + 35 * ((100vw - 320px) / 1600));
		font-size: calc(18px + 4 * ((100vw - 320px) / 1600));
	}

	.info__item {
		padding-left: 45px;
		margin-bottom: calc(15px + 15 * ((100vw - 320px) / 1600));
		font-size: calc(15px + 1 * ((100vw - 320px) / 1600));
	}

	.info__item:before {
		top: 4px;
		width: 30px;
		height: 30px;
		background-size: 10px !important;
	}

	.about-wrapper {
		flex-direction: column;
	}

	.about__left,
	.about__right {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	.about__left {
		margin-right: 0;
		margin-bottom: 20px;
	}

	.about__video {
		width: 100%;
		padding-top: 56%;
	}

	.contact-wrapper {
		flex-direction: column;
	}

	.contact__left {
		margin-bottom: 30px;
	}

	.contact__map {
		width: 100%;
	}

	.contact__item-tel {
		font-size: 25px;
	}

	.card-wrapper {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.card__right {
		display: flex;
		flex-direction: column;
		max-width: 100%;
	}

	.card__left {
		max-width: 610px;
		margin: 0 auto 40px;
		-webkit-box-ordinal-group: -1;
		order: -2;
	}

	.card__title {
		-webkit-box-ordinal-group: -2;
		order: -3;
	}

	.card .project-list {
		flex-direction: column;
		align-items: flex-start;
	}

	.card .project-list li {
		margin-right: 0;
	}

	.card__video {
		margin-left: 0;
		margin-bottom: 35px;
	}

	.card__video:last-child {
		margin-bottom: 0;
	}

	.card__block {
		max-width: 100%;
		margin-top: 0;
	}

	.card__price {
		margin-bottom: calc(15px + 20 * ((100vw - 320px) / 1600));
	}

	.card__price-title {
		max-width: 100%;
	}

	.card__plan picture {
		justify-content: center;
	}

	.catalog {
		padding-top: 10px;
	}

	.catalog__button {
		display: block;
		position: -webkit-sticky;
		position: sticky;
		right: 10px;
		top: 60px;
		z-index: 4;
		transform: translatey(35px);
		width: 33px;
		height: 33px;
		margin-left: auto;
		fill: #636567;
		background: #fff;
		border-radius: 7px;
		cursor: pointer;
		user-select: none;
	}

	.catalog__right {
		max-width: 100%;
		margin-left: 0;
	}

	.catalog__left {
		position: fixed;
		left: -100vw;
		top: 73px;
		z-index: 3;
		padding: 20px;
		max-height: 100vh;
		overflow-y: auto;
		background: #fff;
		border-radius: 0;
		transition: all .3s ease-in;
	}

	.catalog__left_active {
		left: 0;
	}

	.filter__item {
		margin-bottom: calc(20px + 20 * ((100vw - 320px) / 1600));
	}

	.filter__item-title {
		margin-bottom: calc(15px + 13 * ((100vw - 320px) / 1600));
		font-size: calc(17px + 5 * ((100vw - 320px) / 1600));
	}

	.filter__item-cats span {
		font-size: calc(15px + 1 * ((100vw - 320px) / 1600));
	}

	.filter__item-cats label {
		margin-bottom: calc(10px + 9 * ((100vw - 320px) / 1600));
	}

	.filter__item-checkbox span {
		margin-left: calc(10px + 9 * ((100vw - 320px) / 1600));
	}

	.filter__inputs input {
		height: 45px;
		font-size: 13px;
	}

	.footer__row {
		flex-direction: column-reverse;
	}

	.footer__copy {
		margin-top: 20px;
	}
}

@media (min-height: 500px) and (max-width: 991px) {
	.header {
		min-height: calc(100vh - 73px);
	}

	.header {
		min-height: auto;
	}
}

@media (max-width: 767px) {
	.form .input-wrapper {
		flex-direction: column;
		align-items: center;
	}

	.logo__text {
		display: none;
	}

	.logo__title {
		margin-bottom: 0;
	}

	.header {
		background-image: none !important;
		background: #434C51;
	}

	.contact-wrapper {
		padding-bottom: 33px;
	}

	.contact__item-tel {
		font-size: 18px;
	}

	.project__item {
		margin: var(--gap) 0 0 var(--gap);
		width: calc(100% - var(--gap));
	}

	.project__header {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: scroll;
		margin: 0 0 20px 0;
		padding-bottom: 8px;
		scrollbar-width: thin;
		scrollbar-color: #008C2B #ccc;
	}

	.project__header::-webkit-scrollbar {
		height: 3px;
	}

	.project__header::-webkit-scrollbar-track {
		background: #ccc;
	}

	.project__header::-webkit-scrollbar-thumb {
		background: #008C2B;
	}

	.project__header-item {
		display: flex;
		justify-content: center;
		width: auto;
		margin: 0 10px;
		padding: 15px 10px;
		white-space: nowrap;
		font-size: 15px;
	}

	.project__header-item:first-child {
		margin-left: 0;
		min-width: 100px;
	}

	.project__header-item:last-child {
		margin-right: 0;
	}

	.calculate__title {
		margin-bottom: 20px;
		font-size: 29px;
	}

	.feedback__item {
		margin: var(--gap) 0 0 var(--gap);
		width: calc(50% - var(--gap));
	}

	.card__left {
		max-width: 460px;
	}

	.card .slider-thumb__item {
		width: 146px;
		height: 91px;
	}

	.catalog__items {
		flex-direction: column;
		margin: 0;
		width: 100%;
	}

	.catalog .project__item {
		width: 100%;
		margin-top: 0;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.catalog .project__item:last-child {
		margin-bottom: 0;
	}

	.footer__right {
		flex-direction: column;
	}

	.footer__right>* {
		margin-bottom: 20px;
	}

	.footer__copy {
		margin-top: 0;
	}
}

@media (max-width: 575px) {
	.modal-dialog {
		margin: 0 auto;
	}

	body {
		padding-top: 61px;
	}

	.logo img {
		max-width: 40px;
		max-height: 40px;
	}

	.logo__right {
		margin-left: 5px;
	}

	.logo__title {
		max-width: 50px;
		font-size: 12px;
	}

	.header {
		position: relative;
		z-index: 3;
	}

	.header:after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.4);
	}

	.header__top-wrapper {
		min-height: 61px;
	}

	.header__bottom-wrapper {
		margin-top: 61px;
		padding-bottom: 61px;
	}

	.header__main {
		padding: 70px 0;
	}

	.header__main-wrapper {
		align-items: flex-start;
	}

	.features-wrapper {
		flex-direction: column;
		margin: 0;
		width: 100%;
	}

	.features__item {
		width: 100%;
		margin-top: 0;
		margin-left: 0;
		margin-bottom: 40px;
	}

	.features__item:last-child {
		margin-bottom: 0;
	}

	.info__title {
		text-align: center;
	}

	.info__left {
		flex-direction: column;
	}

	.info__col {
		max-width: 100%;
		align-items: flex-start;
	}

	.info__col-title {
		text-align: left;
	}

	.info__right {
		flex-direction: column;
		text-align: center;
	}

	.info__right-text {
		margin: 10px 0 0 0;
	}

	.info__play {
		margin-bottom: 10px;
	}

	.project__item-time {
		margin-bottom: 15px;
	}

	.project-list {
		flex-direction: column;
	}

	.project-list li {
		width: 100%;
		margin-bottom: 15px;
	}

	.project-list span {
		font-size: 16px;
	}

	.calculate-wrapper {
		padding-top: calc(40px + 20 * ((100vw - 320px) / 1600));
		padding-bottom: calc(40px + 20 * ((100vw - 320px) / 1600));
		padding-left: calc(15px + 15 * ((100vw - 320px) / 1600));
		padding-right: calc(15px + 15 * ((100vw - 320px) / 1600));
	}

	.calculate__form input:not([type="submit"]) {
		height: 60px;
		padding-left: 40px;
		background-position: left 14px center !important;
		background-size: 15px !important;
	}

	.calculate__form .submit {
		padding-left: 0;
		font-size: 12px;
	}

	.calculate__title {
		font-size: 24px;
	}

	.calculate__policy {
		font-size: 12px;
	}

	.feedback-wrapper {
		flex-direction: column;
		margin: 0;
		width: 100%;
	}

	.feedback__item {
		width: 100%;
		margin-top: 0;
		margin-left: 0;
		margin-bottom: 20px;
	}

	.feedback__item:last-child {
		margin-bottom: 0;
	}

	.card__left {
		max-width: 100%;
	}

	.card__price {
		flex-direction: column;
		align-items: center;
	}

	.card__price-title {
		margin-bottom: 10px;
	}

	.card .slider-thumb__item {
		width: 146px;
		height: 91px;
		margin: 0 3px;
	}

	.card .slider-thumb__item:not(.slick-current) {
		-webkit-filter: brightness(50%);
		filter: brightness(50%);
	}

	.card__plan-slider {
		padding: 0 40px;
	}

	.card__plan-arrow {
		width: 30px;
		height: 30px;
	}

	.card__plan-arrow svg {
		width: 4px;
		height: 8px;
	}

	.catalog__left {
		top: 61px;
		max-width: 80%;
		max-height: 85vh;
	}

	.filter__item-cats span {
		line-height: 1.3;
	}

	.filter__item-cats .checkbox:checked+span:after {
		width: 11px;
		height: 11px;
	}

	.popup__dialog {
		padding: 0 10px;
		margin: 0 auto;
	}

	.popup__form input:not([type="submit"]) {
		padding-left: 50px;
		background-position: left 20px center !important;
		background-size: 14px !important;
	}
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
	textarea {
		overflow: auto;
	}

	li {
		list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
	}
}

@supports (-webkit-appearance:none) {

	.popup input:not([type="submit"])[name="input-name"],
	.calculate input:not([type="submit"])[name="input-name"] {
		background: #f4f4f4 url(../images/name.svg) left 38px center/18px no-repeat
	}

	.popup input:not([type="submit"])[name="input-phone"],
	.calculate input:not([type="submit"])[name="input-phone"] {
		background: #f4f4f4 url(../images/phone.svg) left 38px center/18px no-repeat
	}

	.info__item:before {
		background: #7cbe27 url(../images/check.svg) center no-repeat
	}

	.catalog__items.loading:after {
		background: rgba(250, 250, 250, 0.8) url(../images/loading.gif) center no-repeat
	}

	.filter__item-cats .checkbox:checked+span:after {
		background: url(../images/check-2.svg) center/contain no-repeat
	}

	.filter__item-checkbox input:checked:after {
		background: url(../images/input-check.svg) center no-repeat
	}
}

@media (min-width: 576px) {

	@supports (-webkit-appearance:none) {}

}

@media (min-width: 768px) {

	@supports (-webkit-appearance:none) {}

}

@media (min-width: 992px) {

	@supports (-webkit-appearance:none) {}

}

@media (min-height: 700px) and (min-width: 992px) {

	@supports (-webkit-appearance:none) {}

}

@media (min-width: 1200px) {

	@supports (-webkit-appearance:none) {}

}

@media (min-width: 1501px) {

	@supports (-webkit-appearance:none) {
		.calculate-wrapper {
			background: url(../images/calculate-form-bg.webp) top no-repeat
		}
	}

}

@media (max-width: 1700px) {

	@supports (-webkit-appearance:none) {}

}

@media (max-width: 1500px) {

	@supports (-webkit-appearance:none) {}

}

@media (max-width: 1199px) {

	@supports (-webkit-appearance:none) {}

}

@media (max-width: 991px) {

	@supports (-webkit-appearance:none) {}

}

@media (min-height: 500px) and (max-width: 991px) {

	@supports (-webkit-appearance:none) {}

}

@media (max-width: 767px) {

	@supports (-webkit-appearance:none) {}

}

@media (max-width: 575px) {

	@supports (-webkit-appearance:none) {}

}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {

	@supports (-webkit-appearance:none) {}

}
