.header {
	border-bottom: 1px solid #d3d7e6;
	padding-top: 20px;
	padding-bottom: 18px
}

.header__container {
	display: flex;
	align-items: center;
	justify-content: space-between
}

.header__right {
	display: flex;
	flex-direction: column;
	align-items: flex-end
}

.header__mail {
	margin-bottom: 9px
}

.logo {
	display: inline-block;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 96px;
	max-width: 417px;
	font-size: 16px;
	line-height: 140%;
	background-image: url(../img/favicon.svg);
	background-position: left center;
	background-repeat: no-repeat
}

.phone {
	position: relative;
	font-weight: 700;
	font-size: 20px;
	line-height: 23px;
	text-align: right;
	color: #333;
	transition: color .3s ease-in
}

.phone::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 100px;
	width: 100%;
	height: 2px;
	background-color: #426ee2;
	transform: scaleX(0);
	transition: transform .3s ease-in
}

.phone:hover {
	color: #426ee2
}

.phone:active {
	color: #234499
}

.phone.focus-visible:focus {
	color: #426ee2
}

.phone.focus-visible:focus::after {
	transform: scaleX(1)
}

.mail {
	position: relative;
	font-size: 16px;
	line-height: 19px;
	text-align: right;
	color: #426ee2;
	transition: color .3s ease-in
}

.mail::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 100px;
	width: 100%;
	height: 2px;
	background-color: #426ee2;
	transform: scaleX(0);
	transition: transform .3s ease-in
}

.mail:hover {
	color: #426ee2
}

.mail:active {
	color: #234499
}

.mail.focus-visible:focus {
	color: #426ee2
}

.mail.focus-visible:focus::after {
	transform: scaleX(1)
}

.social {
	display: flex;
	flex-wrap: wrap;
	align-items: center
}

.social__item:not(:last-child) {
	margin-right: 15px
}

.social__link {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: opacity .3s ease-in
}

.social__link::after {
	content: "";
	position: absolute;
	left: -5px;
	top: -5px;
	border: 2px solid #426ee2;
	border-radius: 100px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	opacity: 0;
	transition: opacity .3s ease-in
}

.social__link:active::after,
.social__link:hover {
	opacity: .5
}

.social__link--tg {
	background-image: url(../img/tg.svg)
}

.social__link--what {
	background-image: url(../img/what.svg)
}

.social__link.focus-visible:focus::after {
	opacity: 1
}

.hero {
	position: relative
}

.hero__text {
	flex-shrink: 0;
	max-width: 55%
}

.hero__image {
	position: absolute;
	right: -67px;
	top: 0;
	flex-shrink: 0
}

.hero__container {
	position: relative;
	display: flex;
	padding-top: 168px;
	padding-bottom: 80px
}

.main-title {
	margin: 0 0 59px;
	font-weight: 700;
	font-size: 70px;
	line-height: 120%
}

.main-title__text {
	display: block;
	padding-top: 15px;
	font-weight: 400;
	font-size: 30px;
	line-height: 140%
}

.priv {
	padding-top: 40px;
	padding-bottom: 88px
}

.priv__title {
	margin-bottom: 32px
}

.priv__list {
	display: flex;
	flex-wrap: wrap
}

.priv__item {
	margin-bottom: 32px;
	border-radius: 30px;
	padding: 109px 30px 32px 32px;
	width: calc((100% - (32px * 2))/ 3);
	min-height: 302px;
	box-shadow: 0 0 30px rgba(0, 0, 0, .1);
	background: 32px 32px no-repeat #fff
}

.priv__item:not(:nth-child(3n)) {
	margin-right: 32px
}

.priv__subtitle {
	margin: 0 0 3px;
	font-weight: 700;
	font-size: 24px;
	line-height: 140%
}

.priv__descr {
	margin: 0;
	font-size: 20px;
	line-height: 140%
}

.order {
	padding-top: 50px;
	padding-bottom: 18px;
	background-color: #3056b9
}

.order__title {
	margin-bottom: 32px;
	color: #fff
}

.order__list {
	display: flex;
	flex-wrap: wrap
}

.order__item {
	position: relative;
	margin-bottom: 32px;
	padding-top: 127px;
	padding-right: 30px;
	width: calc((100% - (32px * 2))/ 3);
	font-weight: 700;
	font-size: 20px;
	line-height: 140%;
	color: #fff;
	background-position: top left;
	background-repeat: no-repeat
}

.order__item:not(:nth-child(3n)) {
	margin-right: 32px
}

.order__item:not(:nth-child(3n))::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -36px;
	width: 78px;
	height: 14px;
	background-image: url(../img/arrow.svg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transform: translateY(-50%)
}

.calc {
	padding-top: 53px;
	padding-bottom: 65px;
	background-color: #234499
}

.calc__title {
	margin-bottom: 36px;
	color: #fff
}

.calc__content {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	border: 1px solid #4065c6;
	border-radius: 30px;
	background: #4065c6
}

.calc__block {
	display: none;
	padding: 32px;
	width: calc(100% - 298px)
}

.calc__block--active {
	display: flex
}

.calc__block-left {
	display: flex;
	flex-direction: column;
	margin-right: 32px;
	width: 518px
}

.calc__block-left .js-validate-error-label {
	display: none !important
}

.calc__image {
	overflow: hidden;
	border-radius: 30px;
	width: 375px
}

.calc__image img {
	border-radius: 30px
}

.calc-menu {
	border-right: 1px solid #183685;
	width: 298px;
	background-color: #183685
}

.calc-menu__btn {
	border: none;
	border-bottom: 1px solid #4065c6;
	padding: 25px 10px;
	width: 100%;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 140%;
	text-align: center;
	color: #fff;
	background-color: transparent;
	transition: background-color .3s;
	cursor: pointer
}

.calc-menu__btn:hover {
	background-color: #c75956
}

.calc-menu__btn:active {
	background-color: #1a357d
}

.calc-menu__btn--active {
	background-color: #ef524f;
	pointer-events: none
}

.calc-menu__item:last-child .calc-menu__btn {
	border-bottom: none
}

.calc-menu__btn.focus-visible:focus {
	background-color: #ef524f
}

.calc-range {
	margin-bottom: 16px;
	border-radius: 30px;
	padding: 25px;
	color: #fff;
	background: rgba(24, 54, 133, .4)
}

.calc-quantity {
	font-weight: 400;
	font-size: 16px;
	line-height: 19px
}

.calc-quantity__label {
	display: flex;
	align-items: center
}

.calc-quantity__input {
	margin-right: 10px;
	margin-left: 24px;
	border: 1px solid #d3d7e6;
	border-radius: 38px;
	padding-right: 10px;
	padding-left: 25px;
	width: 99px;
	height: 40px;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #fff;
	background-color: transparent
}

.calc-quantity__input::-moz-placeholder {
	color: #888
}

.calc-quantity__input:-ms-input-placeholder {
	color: #888
}

.calc-quantity__input::placeholder {
	color: #888
}

.calc-quantity__input.focus-visible {
	border: 1px solid #ff7f7c
}

.calc-range-content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between
}

.calc-range-content__slider {
	padding-right: 17px;
	width: 100%
}

.calc-range-content__text {
	margin-bottom: 14px;
	border-radius: 49px;
	padding: 4px 10px;
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #fff;
	background-color: #183685
}

.calc-range-content .noUi-target {
	border: none;
	border-radius: 3px;
	height: 6px;
	box-shadow: none;
	background: #183685
}

.calc-range-content .noUi-horizontal .noUi-handle {
	width: 18px;
	height: 18px
}

.calc-range-content .noUi-handle::after,
.calc-range-content .noUi-handle::before {
	display: none
}

.calc-range-content .noUi-handle {
	border: 2px solid #fff;
	border-radius: 100%;
	box-shadow: none;
	background-color: #ef524f;
	cursor: pointer
}

.calc-range-content .noUi-connect {
	background-color: #ef524f
}

.noUi-handle.focus-visible {
	border: 2px solid #ef524f
}

.calc-radios {
	display: flex;
	margin-bottom: 16px;
	border-radius: 30px;
	padding: 14px 25px;
	font-weight: 400;
	font-size: 16px;
	line-height: 140%;
	color: #fff;
	background: rgba(24, 54, 133, .4)
}

.calc-radios__preview-text {
	margin-right: 15px
}

.calc-radio {
	position: relative;
	display: inline-block;
	margin-right: 17px;
	cursor: pointer
}

.calc-radio__text {
	position: relative;
	padding-left: 25px
}

.calc-radio__text::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	border: 1px solid #fff;
	border-radius: 100%;
	width: 18px;
	height: 18px;
	box-sizing: border-box;
	background-position: center;
	background-size: 8px 8px;
	background-repeat: no-repeat
}

.calc-radio__input {
	position: absolute;
	opacity: 0
}

.calc-radio__input:checked+.calc-radio__text::before {
	background-image: url(../img/circle.svg)
}

.calc-radio__input.focus-visible:focus+.calc-radio__text::before {
	border: 1px solid #ef524f
}

.calc-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto
}

.calc-summ {
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #fff
}

.calc-summ__value {
	margin-left: 9px;
	font-weight: 700;
	font-size: 30px;
	line-height: 35px
}

.cat-btn {
	position: relative;
	border: none;
	border-radius: 40px;
	padding: 21px 45px;
	font-family: Roboto, sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 140%;
	color: #fff;
	background-color: #426ee2;
	transition: background-color .3s ease-in;
	cursor: pointer
}
.cat-btn::after {
	content: "";
	position: absolute;
	left: -5px;
	top: -5px;
	border: 2px solid #ef524f;
	border-radius: 100px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	opacity: 0;
	transition: opacity .3s ease-in
}

.cat-btn:hover {
	background-color: #234499
}
.calc-btn {
	position: relative;
	border: none;
	border-radius: 40px;
	padding: 21px 45px;
	font-family: Roboto, sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 140%;
	color: #fff;
	background-color: #ef524f;
	transition: background-color .3s ease-in;
	cursor: pointer
}


.calc-btn::after {
	content: "";
	position: absolute;
	left: -5px;
	top: -5px;
	border: 2px solid #ef524f;
	border-radius: 100px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	opacity: 0;
	transition: opacity .3s ease-in
}

.calc-btn:hover {
	background-color: #ff7f7c
}

.calc-btn:active {
	background-color: #e36b68
}

.calc-btn.focus-visible:focus::after {
	opacity: 1
}

.switch-checkbox {
	position: relative;
	display: flex;
	align-items: center;
	margin-left: auto
}

.switch-checkbox__element {
	position: relative;
	display: inline-block;
	margin-right: 15px;
	border-radius: 8px;
	width: 30px;
	height: 12px;
	background: #183685;
	transition: background-color .3s ease-in;
	cursor: pointer
}

.switch-checkbox__element::before {
	content: "";
	position: absolute;
	left: -9px;
	top: 50%;
	border-radius: 100%;
	width: 17px;
	height: 17px;
	background-color: #fff;
	transform: translateY(-50%);
	transition: transform .3s ease-in
}

.switch-checkbox__input {
	position: absolute;
	opacity: 0
}

.switch-checkbox__input:checked+.switch-checkbox__element {
	background-color: #6ac510
}

.switch-checkbox__input:checked+.switch-checkbox__element::before {
	transform: translateX(calc(100% + 9px)) translateY(-50%)
}

.calc-form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}

.calc-form__title {
	margin: 0 0 6px;
	width: 100%;
	font-weight: 700;
	font-size: 20px;
	line-height: 140%;
	color: #fff
}

.calc-form__descr {
	margin: 0 0 16px;
	width: 100%;
	font-weight: 400;
	font-size: 16px;
	line-height: 140%;
	color: #fff
}

.calc-form__textarea {
	margin-bottom: 16px;
	border: 1px solid #d3d7e6;
	border-radius: 20px;
	padding: 15px 22px;
	width: 100%;
	height: 117px;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #fff;
	background-color: transparent;
	resize: none
}

.calc-form__textarea::-moz-placeholder {
	color: #b3c8ff
}

.calc-form__textarea:-ms-input-placeholder {
	color: #b3c8ff
}

.calc-form__textarea::placeholder {
	color: #b3c8ff
}

.calc-form__input {
	margin-bottom: 26px;
	border: 1px solid #d3d7e6;
	border-radius: 100px;
	padding: 0 22px;
	width: 48.5%;
	height: 50px;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #fff;
	background-color: transparent
}

.calc-form__input::-moz-placeholder {
	color: #b3c8ff
}

.calc-form__input:-ms-input-placeholder {
	color: #b3c8ff
}

.calc-form__input::placeholder {
	color: #b3c8ff
}

.calc-form__btn {
	position: relative;
	margin-left: auto;
	border: none;
	border-radius: 40px;
	padding: 21px 50px;
	font-family: Roboto, sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 140%;
	color: #fff;
	background-color: #ef524f;
	transition: background-color .3s ease-in;
	cursor: pointer
}

.calc-form__btn::after {
	content: "";
	position: absolute;
	left: -5px;
	top: -5px;
	border: 2px solid #ef524f;
	border-radius: 100px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	opacity: 0;
	transition: opacity .3s ease-in
}

.calc-form__btn:hover {
	background-color: #ff7f7c
}

.calc-form__btn:active {
	background-color: #e36b68
}

.about11 {
	padding-top: 20px;
	padding-bottom: 40px;
}

.about {
	padding-top: 120px;
	padding-bottom: 124px
}

.about__container {
	display: flex;
	justify-content: space-between
}

.about__left {
	margin-right: 32px;
	width: 57.3%
}

.about__right {
	padding-top: 33px;
	width: calc(100% - 57.3% - 32px)
}

.about__title {
	margin-bottom: 15px
}

.about__subtitle {
	margin: 0 0 15px;
	padding-right: 30px;
	max-width: 670px;
	font-weight: 400;
	font-size: 20px;
	line-height: 200%;
	color: #333
}

.about__descr {
	margin: 0;
	font-weight: 400;
	font-size: 20px;
	line-height: 200%;
	color: #333
}

.about__descr:not(:last-child) {
	margin-bottom: 25px
}

.about__descr b {
	font-weight: 500;
	color: #426ee2
}

.about__props {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 16px
}

.about-slider {
	width: 100%
}

.positive {
	padding-top: 50px;
	padding-bottom: 0;
	color: #fff;
	background-color: #234499
}

.positive__container {
	display: flex
}

.positive__title {
	margin-bottom: 15px
}

.positive__content {
	margin-right: 32px;
	width: 57.3%
}

.positive__descr {
	margin: 0 0 23px;
	font-weight: 400;
	font-size: 20px;
	line-height: 198%;
	color: #fff
}

.positive__descr img {
	transform: translate(6px, 5px)
}

.positive__descr:last-child {
	margin-bottom: 43px
}

.positive__image {
	margin-top: -20px;
	width: calc(100% - 57.3% - 32px)
}

.positive__btn {
	position: relative;
	border: none;
	border-radius: 40px;
	padding: 21px 53px;
	font-family: Roboto, sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 140%;
	color: #fff;
	background-color: #ef524f;
	transition: background-color .3s ease-in;
	cursor: pointer
}

.positive__btn::after {
	content: "";
	position: absolute;
	left: -5px;
	top: -5px;
	border: 2px solid #ef524f;
	border-radius: 100px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	opacity: 0;
	transition: opacity .3s ease-in
}

.positive__btn:hover {
	background-color: #ff7f7c
}

.positive__btn:active {
	background-color: #e36b68
}

.positive__btn.focus-visible:focus::after {
	opacity: 1
}

.materials {
	padding-top: 121px;
	padding-bottom: 40px
}

.materials__title {
	margin-bottom: 16px
}

.materials__descr {
	margin: 0 0 31px;
	font-weight: 400;
	font-size: 24px;
	line-height: 160%;
	color: #333
}

.materials__line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 50px;
	border-radius: 30px;
	padding: 0 8.5%;
	font-weight: 400;
	font-size: 24px;
	line-height: 230%;
	color: #fff;
	background-color: #234499
}

.materials__line-item {
	padding: 20px 0 20px 53px;
	background-position: left center;
	background-repeat: no-repeat
}

.materials__list {
	display: flex;
	flex-wrap: wrap
}

.materials__item {
	position: relative;
	margin-bottom: 32px;
	border-radius: 30px;
	padding: 233px 32px 50px;
	width: calc((100% - (32px))/ 2);
	box-shadow: 0 0 30px rgba(0, 0, 0, .1);
	background-position: top center;
	background-size: auto 200px;
	background-repeat: no-repeat
}

.materials__item:not(:nth-child(2n)) {
	margin-right: 32px
}

.materials__text {
	position: absolute;
	left: 0;
	top: calc(200px - 50px);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0;
	width: 100%;
	height: 50px;
	font-weight: 400;
	font-size: 20px;
	line-height: 140%;
	color: #fff;
	background-color: #426ee2
}

.materials__subtitle {
	margin: 0 0 3px;
	font-weight: 700;
	font-size: 24px;
	line-height: 140%;
	color: #333
}

.materials__subdescr {
	margin: 0;
	font-weight: 400;
	font-size: 20px;
	line-height: 200%;
	color: #333
}

.works {
	padding-top: 47px;
	padding-bottom: 115px
}

.works__title {
	margin-bottom: -13px
}

.works__props {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 16px
}

.works-slider__slide {
	display: flex
}

.works-slider__left {
	display: flex;
	flex-direction: column;
	margin-right: 32px;
	width: 31.7%
}

.works-slider__left img:not(:last-child) {
	margin-bottom: 32px
}

.works-slider__right {
	width: calc(100% - 31.7% - 32px)
}

.works-slider__right img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.clients {
	padding-top: 50px;
	padding-bottom: 24px;
	background-color: #f5f6f8
}

.clients__title {
	margin-bottom: 32px
}

.clients__logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 -20px
}

.clients__logo {
	margin: 0 20px 45px
}

.contacts {
	padding-top: 120px;
	padding-bottom: 119px
}

.contacts__container {
	display: flex;
	justify-content: space-between
}

.contacts__title {
	margin-bottom: 40px
}

.contacts__left {
	margin-right: 32px;
	width: 39.5%
}

.contacts__right {
	width: calc(100% - 39.5% - 32px - 10px)
}

.contacts__form {
	max-width: 408px
}

.form {
	display: flex;
	flex-direction: column;
	align-items: flex-start
}

.form__text {
	display: inline-block;
	margin-bottom: 10px;
	font-weight: 400;
	font-size: 20px;
	line-height: 140%;
	color: #333
}

.form__textarea {
	border: 1px solid #d3d7e6;
	border-radius: 20px;
	padding: 15px;
	width: 100%;
	height: 213px;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 140%;
	color: #333;
	transition: border .3s ease-in;
	resize: none
}

.form__textarea::-moz-placeholder {
	color: #848484
}

.form__textarea:-ms-input-placeholder {
	color: #848484
}

.form__textarea::placeholder {
	color: #848484
}

.form__textarea:focus {
	border: 1px solid #ef524f
}

.form__btn {
	margin-top: -20px;
	margin-bottom: 31px
}

.form__label {
	position: relative;
	display: block;
	margin-bottom: 48px;
	width: 100%
}

.form__label .js-validate-error-label {
	position: absolute;
	left: 0;
	bottom: -20px
}

.form__label-text {
	position: absolute;
	left: 0;
	top: 0;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 23px;
	color: #848484;
	transition: opacity .3s ease-in
}

.form__label-text .star {
	color: #b2c8ff
}

.form__input {
	border: none !important;
	border-bottom: 1px solid #d3d7e6 !important;
	padding: 5px 0;
	width: 100%;
	font-family: Roboto, sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 23px;
	color: #333 !important;
	background-color: transparent;
	transition: border-bottom .3s ease-in
}

.form__input:focus {
	border-bottom: 1px solid #ef524f
}

.form__label--focused .form__label-text {
	opacity: 0;
	visibility: hidden
}

.checkbox {
	position: relative;
	display: inline-block;
	margin-right: 17px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.checkbox__text {
	position: relative;
	padding-left: 25px;
	font-weight: 400;
	font-size: 14px;
	line-height: 16px;
	color: #333
}

.checkbox__text::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	border: 1px solid #b3c8ff;
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	background-position: center;
	background-size: 10px 7px;
	background-repeat: no-repeat
}

.checkbox__input {
	position: absolute;
	opacity: 0
}

.checkbox__input:checked+.checkbox__text::before {
	background-image: url(../img/check.svg)
}

.checkbox__input.focus-visible:focus+.checkbox__text::before {
	border: 1px solid #ef524f
}

.map {
	width: 100%;
	height: 745px
}

.map-block {
	position: relative
}

.map-block__text {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 33px 130px 33px 40px;
	width: 100%;
	font-weight: 500;
	font-size: 20px;
	line-height: 140%;
	color: #fff;
	background-color: rgba(35, 68, 153, .8)
}

.map-block__text .address {
	font-style: normal
}

[class*=copyrights-pane] {
	display: none !important
}

.footer {
	border-top: 1px solid #d3d7e6;
	padding: 19px 0
}

.footer__container {
	display: flex;
	align-items: center;
	justify-content: space-between
}

.footer__right,
.footer__right .col {
	display: flex;
	flex-direction: column;
	align-items: flex-end
}

.footer__mail {
	margin-bottom: 9px
}

.footer-social-wrap {
	display: flex;
	align-items: center
}

.footer-social-wrap span {
	display: inline-flex;
	align-items: center;
	margin-right: 23px;
	font-weight: 400;
	font-size: 20px;
	line-height: 23px;
	color: #333;
	transform: translateY(5px)
}

.footer-social-wrap svg {
	margin-left: 7px
}

.order-modal {
	border-radius: 30px;
	padding: 50px;
	width: 508px;
	background-color: #234499
}

.order-modal .form__input {
	color: #fff !important
}

.order-modal .form__label-text {
	color: #fff
}

.order-modal .star {
	color: #ffda55
}

.order-modal .checkbox__text {
	color: #fff
}

.thanks-modal {
	border-radius: 30px;
	padding: 50px;
	width: 508px;
	background-color: #234499
}

.modal-title {
	margin: 0 0 10px;
	font-weight: 700;
	font-size: 40px;
	line-height: 120%;
	color: #fff
}

.modal-subtitle {
	margin: 0 0 15px;
	font-weight: 400;
	font-size: 30px;
	line-height: 120%;
	color: #fff
}

.thanks-img {
	text-align: center;
	margin-bottom: 17px
}

.modal-descr {
	margin: 0 0 40px;
	max-width: 80%;
	font-weight: 400;
	font-size: 20px;
	line-height: 140%;
	color: #b3c8ff
}

.modal__close {
	right: 30px;
	top: 30px;
	background-image: url(../img/close.svg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: .7;
	transition: opacity .3s ease-in
}

.modal__close:hover {
	opacity: 1
}

.order-modal .btn,
.thanks-modal .btn {
	padding-top: 0;
	padding-bottom: 0;
	width: 100%;
	height: 70px;
	background-color: #ef524f
}

.order-modal .btn::after,
.thanks-modal .btn::after {
	content: "";
	position: absolute;
	left: -5px;
	top: -5px;
	border: 2px solid #ef524f;
	border-radius: 100px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	opacity: 0;
	transition: opacity .3s ease-in
}

.order-modal .btn:hover,
.thanks-modal .btn:hover {
	background-color: #ff7f7c
}

.order-modal .btn:active,
.thanks-modal .btn:active {
	background-color: #e36b68
}

.thanks-modal .btn {
	position: relative;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	background-image: none;
	opacity: 1;
	transition: background-color .3s ease-in
}

.disable-scroll {
	overflow: hidden;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%
}

.mobile-props {
	display: none
}

.calc-menu-mobile {
	display: none !important
}

.positive__mob {
	display: none
}

.header__right span {
	display: flex;
	flex-direction: column;
	align-items: flex-end
}

.positive__mobb {
	display: none
}

@media (max-width:1366px) {
	.hero__image {
		width: 70%
	}

	.calc__block {
		padding: 20px
	}

	.calc-menu {
		width: 250px
	}

	.calc__block-left {
		flex-shrink: 0;
		width: 480px
	}
}

@media (max-width:1200px) {
	.calc-menu {
		display: flex;
		flex-wrap: wrap;
		width: 100%
	}

	.calc-menu__item {
		flex-grow: 1
	}

	.calc-menu__btn {
		border-bottom: none
	}

	.calc__block {
		justify-content: space-between;
		width: 100%
	}
}

@media (max-width:1024px) {
	.container {
		padding: 0 87px
	}

	.positive__mob {
		display: inline-block
	}

	.main-title {
		font-size: 44px;
		line-height: 120%
	}

	.hero__image {
		right: 34px;
		top: 6px;
		width: 59%
	}

	.hero__text {
		padding-top: 95px
	}

	.main-title__text {
		font-size: 20px;
		line-height: 140%
	}

	.priv {
		padding-top: 120px
	}

	.priv__item {
		width: calc((100% - (32px * 1))/ 2)
	}

	.priv__item:not(:nth-child(3n)) {
		margin-right: 0
	}

	.priv__item:not(:nth-child(2n)) {
		margin-right: 32px
	}

	.order__item {
		padding-right: 0;
		width: calc((100% - (32px * 1))/ 2)
	}

	.order__item:not(:nth-child(3n)) {
		margin-right: 0
	}

	.order__item:not(:nth-child(3n))::after {
		display: none
	}

	.order__item:not(:nth-child(2n)) {
		margin-right: 32px
	}

	.order__item:not(:nth-child(2n))::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		display: block;
		margin-top: -36px;
		width: 78px;
		height: 14px;
		background-image: url(../img/arrow.svg);
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		transform: translateY(-50%)
	}

	.calc-menu__item {
		width: 33.33%
	}

	.calc__title {
		max-width: 70%;
		line-height: 51px
	}

	.calc__block {
		padding: 32px
	}

	.calc__block-left {
		width: 517px
	}

	.calc__image {
		width: 236px;
		height: 204px
	}

	.calc {
		padding-bottom: 70px
	}

	.about__container {
		flex-wrap: wrap
	}

	.about__left {
		margin-right: 0;
		width: 100%
	}

	.about__right {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		padding-top: 47px;
		width: 100%
	}

	.about__subtitle {
		max-width: none
	}

	.about {
		padding-bottom: 120px
	}

	.about-slide img {
		border-radius: 30px;
		width: 100%;
		height: 620px;
		-o-object-fit: cover;
		object-fit: cover
	}

	.about__props {
		margin-top: 46px;
		margin-bottom: 0
	}

	.slider-pagination {
		margin: 0 21px
	}

	.slider-btn {
		width: 40px;
		height: 40px
	}

	.positive__image {
		display: none
	}

	.positive__content {
		margin-right: 0;
		width: 100%;
		max-width: 740px
	}

	.positive__mob {
		margin-bottom: 48px
	}

	.positive {
		padding-bottom: 68px
	}

	.materials__line {
		padding: 0 5.5%
	}

	.materials__item {
		padding-bottom: 89px
	}

	.materials {
		padding-bottom: 1px
	}

	.works-slider__slide {
		display: block
	}

	.works-slider__left {
		flex-direction: row;
		margin-right: 0;
		margin-bottom: 30px;
		width: 100%
	}

	.works__title {
		margin-bottom: 32px
	}

	.works-slider__right {
		width: 100%
	}

	.works-slider__right img {
		border-radius: 30px;
		width: 100%;
		height: 620px
	}

	.works-slider__left img {
		width: 408px
	}

	.works-slider__left img:not(:last-child) {
		margin-right: 32px;
		margin-bottom: 0
	}

	.works__props {
		display: none
	}

	.mobile-props {
		display: flex;
		justify-content: center;
		margin-top: 45px
	}

	.works {
		padding-bottom: 105px
	}

	.clients__logos {
		justify-content: center
	}

	.clients {
		padding-bottom: 2px
	}

	.footer-social-wrap span {
		display: none
	}

	.contacts__right {
		padding-top: 87px;
		width: 409px
	}

	.contacts__left {
		margin-right: 0;
		width: calc(100% - 409px)
	}

	.contacts__title {
		white-space: nowrap
	}

	.map {
		height: 658px
	}

	.map-block__text {
		padding: 19px 40px
	}

	.calc__content {
		min-height: 572px;
		align-items: flex-start
	}

	.calc-menu__item {
		border: 1px solid #4065c6
	}

	.calc-menu {
		border: none;
		border-top-left-radius: 30px;
		border-top-right-radius: 30px
	}
}

@media (max-width:992px) {
	.container {
		padding: 0 10px
	}

	.contacts__form {
		padding-right: 32px
	}

	.order__item::after {
		display: none !important
	}

	.calc__block-left {
		width: 400px
	}

	.calc-summ__value {
		font-size: 19px
	}

	.works-slider__left img {
		border-radius: 30px;
		width: 48%
	}
}

@media (max-width:768px) {
	.container {
		max-width: 480px
	}

	.order-modal .form__input {
		border-radius: 0
	}

	.header__container {
		flex-wrap: wrap;
		padding: 0;
		max-width: none
	}

	.works-slider__left img {
		max-height: 175px;
		-o-object-fit: cover;
		object-fit: cover
	}

	.header__logo {
		width: 279px;
		margin: 0 auto 16px;
		padding-top: 6px;
		padding-bottom: 6px;
		font-size: 11px;
		line-height: 140%;
		background-size: 44px auto;
		padding-left: 55px
	}

	.header__right {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		border-top: 1px solid #d3d7e6;
		border-bottom: 1px solid #d3d7e6;
		padding: 17px 10px 7px;
		width: 100%;
		background-color: rgba(211, 215, 230, .2)
	}

	.header__right span {
		display: flex;
		flex-direction: column;
		align-items: flex-start
	}

	.phone {
		display: inline-block;
		margin-bottom: 5px;
		font-size: 16px;
		line-height: 19px
	}

	.mail {
		text-align: left
	}

	.hero__container {
		flex-direction: row-reverse
	}

	.hero__text {
		padding-top: 288px;
		width: 100%;
		max-width: none
	}

	.hero__image {
		left: 50%;
		top: 0;
		width: auto;
		-o-object-fit: cover;
		object-fit: cover;
		transform: translateX(-50%)
	}

	.header {
		border-bottom: none
	}

	.main-title {
		margin-bottom: 19px;
		max-width: 90%;
		font-size: 24px;
		line-height: 120%
	}

	.main-title__text {
		font-size: 14px;
		line-height: 140%
	}

	.btn {
		padding: 14px 20px;
		width: 100%;
		max-width: 400px;
		font-size: 16px;
		line-height: 140%
	}

	.site-title {
		font-size: 24px;
		line-height: 120%
	}

	.priv {
		padding-top: 51px;
		padding-bottom: 21px
	}

	.priv__title {
		margin-bottom: 24px
	}

	.priv__list {
		align-items: flex-start
	}

	.priv__item {
		margin-bottom: 15px;
		padding: 72px 16px 40px;
		width: calc((100% - (16px * 1))/ 2);
		min-height: 230px;
		background-position: 16px 16px;
		background-size: 84px auto
	}

	.priv__item:not(:nth-child(2n)) {
		margin-right: 16px
	}

	.priv__subtitle {
		margin-bottom: 6px;
		font-size: 14px;
		line-height: 120%
	}

	.priv__descr {
		font-size: 12px;
		line-height: 140%
	}

	.order__item:not(:nth-child(2n)) {
		margin-right: 16px
	}

	.order__item {
		padding-top: 75px;
		padding-right: 0;
		width: calc((100% - (16px * 1))/ 2);
		font-weight: 400;
		font-size: 12px;
		line-height: 140%;
		background-size: 80%;
		background-position: center top
	}

	.calc__title {
		margin-bottom: 25px;
		max-width: none
	}

	.calc-menu {
		display: none
	}

	.calc-menu-mobile {
		display: block !important;
		overflow: hidden;
		margin-bottom: 37px;
		border: 1px solid #4065c6;
		border-radius: 30px
	}

	.calc-menu__item {
		display: none;
		border: none;
		border-bottom: 1px solid #4065c6;
		width: 100%
	}

	.calc-menu__item:first-child {
		display: block;
		border-bottom: none !important
	}

	.calc-menu__btn {
		padding: 16px;
		font-size: 14px;
		line-height: 140%;
		text-align: left
	}

	.act .calc-menu__item {
		display: block
	}

	.calc-menu__header {
		position: relative;
		padding: 15px 16px;
		font-weight: 400;
		font-size: 14px;
		line-height: 140%;
		color: #fff;
		background: #3052ac
	}

	.calc-menu__header::after {
		content: "";
		position: absolute;
		right: 16px;
		top: 50%;
		width: 20px;
		height: 20px;
		background-image: url(../img/calc-header.svg);
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		transform: translateY(-50%)
	}

	.act .calc-menu__header {
		border-bottom: 1px solid #4065c6
	}

	.act .calc-menu__header::after {
		transform: translateY(-50%) rotate(180deg)
	}

	.calc__block {
		padding: 24px 10px
	}

	.calc__block--active {
		display: block
	}

	.calc__block-left {
		width: 100%;
		margin-right: 0
	}

	.calc-quantity__label,
	.calc-quantity__label span {
		display: block;
		margin-bottom: 16px
	}

	.calc-quantity__label .calc-quantity__input {
		margin-left: 0
	}

	.calc-radios__preview-text {
		display: block;
		margin-bottom: 16px
	}

	.calc-radios {
		flex-direction: column
	}

	.calc-radio {
		margin-right: 0;
		margin-bottom: 16px
	}

	.calc-bottom {
		display: block
	}

	.calc-summ__value {
		display: inline-block;
		margin-bottom: 16px;
		font-size: 24px;
		line-height: 28px
	}

	.calc__image {
		margin-top: 32px;
		width: 100%;
		height: auto
	}

	.about__subtitle {
		margin-bottom: 15px;
		padding-right: 0;
		font-size: 14px;
		line-height: 200%
	}

	.about__descr {
		font-size: 14px;
		line-height: 200%
	}

	.about__descr:not(:last-child) {
		margin-bottom: 15px
	}

	.about-slide img {
		width: 100%;
		height: auto
	}

	.about__right {
		padding-top: 31px
	}

	.about__next,
	.about__prev {
		display: none
	}

	.about {
		padding-bottom: 39px
	}

	.about__props {
		margin-top: 0
	}

	.about .swiper-pagination-bullet {
		margin: 0 5px;
		width: 6px;
		height: 6px;
		background-color: #d3d7e6;
		opacity: 1
	}

	.about .swiper-pagination-bullet-active {
		background-color: #426ee2
	}

	.positive__mob {
		display: none
	}

	.positive__mobb {
		display: inline-block;
		margin-bottom: 13px
	}

	.positive {
		padding-top: 32px
	}

	.positive__descr {
		margin-bottom: 10px;
		font-size: 14px;
		line-height: 200%
	}

	.positive__descr img {
		height: 22px
	}

	.positive__title {
		margin-bottom: 17px
	}

	.positive__btn {
		width: 100%;
		max-width: 400px;
		padding: 14px 45px;
		font-size: 16px;
		line-height: 140%
	}

	.positive__descr:last-child {
		margin-bottom: 30px
	}

	.positive {
		padding-bottom: 50px
	}

	.materials {
		padding-top: 51px
	}

	.materials__descr {
		margin-bottom: 16px;
		font-size: 14px;
		line-height: 160%
	}

	.materials__line {
		margin-bottom: 32px;
		padding: 20px 0 20px 70px;
		flex-direction: column;
		align-items: flex-start
	}

	.materials__line-item {
		padding: 0 0 0 45px;
		font-size: 14px;
		line-height: 265%;
		background-size: 24px 24px
	}

	.materials__item {
		margin: 0 0 16px !important;
		padding: 167px 16px 16px;
		width: 100%;
		min-height: 392px;
		background-size: auto 150px
	}

	.materials__subtitle {
		margin-bottom: 8px;
		font-size: 14px;
		line-height: 140%
	}

	.materials__subdescr {
		font-size: 12px;
		line-height: 200%
	}

	.materials__text {
		top: calc(150px - 30px);
		height: 30px;
		font-size: 12px;
		line-height: 140%
	}

	.works {
		padding-top: 35px;
		padding-bottom: 40px
	}

	.works__title {
		margin-bottom: 16px;
		padding-right: 30px
	}

	.works-slider__left img:not(:last-child) {
		margin-right: 16px
	}

	.works-slider__left {
		margin-bottom: 16px
	}

	.works-slider__right img {
		height: auto
	}

	.works__next,
	.works__prev {
		display: none
	}

	.works .swiper-pagination-bullet {
		margin: 0 5px;
		width: 6px;
		height: 6px;
		background-color: #d3d7e6;
		opacity: 1
	}

	.works .swiper-pagination-bullet-active {
		background-color: #426ee2
	}

	.mobile-props {
		margin: 0
	}

	.clients {
		padding-top: 33px
	}

	.clients__logos {
		justify-content: center
	}

	.clients__logo {
		margin-bottom: 32px
	}

	.clients__logo img {
		max-width: 125px
	}

	.contacts {
		padding-top: 26px
	}

	.contacts__container {
		flex-wrap: wrap
	}

	.contacts__left {
		width: 100%
	}

	.contacts__form {
		padding-right: 0
	}

	.form__label-text {
		font-size: 14px;
		line-height: 16px
	}

	.contacts__title {
		margin-bottom: 33px
	}

	.form__input {
		padding: 1px 0
	}

	.form__label {
		margin-bottom: 40px
	}

	.form__text,
	.form__textarea {
		font-size: 14px;
		line-height: 140%
	}

	.checkbox__text {
		display: inline-block
	}

	.contacts__right {
		padding-top: 30px;
		width: 100%
	}

	.map {
		height: 318px
	}

	.map-block__text {
		padding: 15px 10px;
		font-size: 14px;
		line-height: 140%
	}

	.footer__container {
		flex-wrap: wrap;
		flex-direction: column-reverse;
		padding: 0;
		max-width: none
	}

	.footer {
		padding: 0
	}

	.footer__right {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		border-top: 1px solid #d3d7e6;
		border-bottom: 1px solid #d3d7e6;
		padding: 12px 10px;
		background: rgba(211, 215, 230, .2)
	}

	.footer__left {
		padding: 19px 10px 2px
	}

	.contacts {
		padding-bottom: 50px
	}

	.footer__right .col {
		align-items: flex-start
	}

	.footer__logo {
		width: 250px;
		margin: 0 auto 16px;
		padding-top: 0;
		padding-bottom: 0;
		font-size: 10px;
		line-height: 140%;
		background-size: 24px auto;
		padding-left: 34px
	}

	.order-modal,
	.thanks-modal {
		padding: 40px 20px;
		width: 300px
	}

	.modal-subtitle {
		font-size: 18px;
		line-height: 140%;
		padding-right: 30px
	}

	.modal-title {
		font-size: 24px;
		line-height: 120%
	}

	.modal__close {
		right: 24px;
		top: 24px
	}

	.modal-descr {
		font-size: 14px;
		line-height: 140%;
		max-width: 90%
	}

	.order-modal .checkbox__text {
		font-size: 10px;
		line-height: 12px
	}

	.order-modal .checkbox__text::before {
		top: -1px
	}

	.order-modal .btn,
	.thanks-modal .btn {
		height: 50px
	}
}

@media (max-width:340px) {
	.materials__item {
		padding-top: 117px;
		background-size: auto 100px
	}

	.materials__text {
		top: calc(100px - 30px)
	}
}