/* USER VARIABLES SECTION */

:root {
	--accent: #ff0000;
	--text: #292929;
	--green: #28A745;
	--bg: #D4EDDA;
	--whatsappColor: #2BB741;
	--tgColor: #40B3E0;
	--box-shadow: 0 4px 20px rgba(131,152,184,.1);
	--regular-text: 16px;
	--lineheight: 1.4;
	--userfont: montserrat-st, sans-serif;
	--systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--border: #DAE7DE;
	--transition: .25s ease-out;
	--underline-intrinsic-width: 10;
	--underline-width: 8;
	--underline-color: #60C364;
	--underline-color2: #fff;
	--underline-cap-width: 12px;
	--underline-offset-y: -4px;
	--underline-padding-x: 0;
	--cap-image-left: url();
	--cap-image-right: url();
}

/* FONTS LOAD SECTION */

@font-face { src: url("../fonts/MontserratRegular.woff2") format("woff2"); font-family: "montserrat-st"; font-weight: 400; font-style: normal; }
@font-face { src: url("../fonts/MontserratMedium.woff2") format("woff2"); font-family: "montserrat-st"; font-weight: 500; font-style: normal; }
@font-face { src: url("../fonts/MontserratSemiBold.woff2") format("woff2"); font-family: "montserrat-st"; font-weight: 600; font-style: normal; }
@font-face { src: url("../fonts/MontserratBold.woff2") format("woff2"); font-family: "montserrat-st"; font-weight: 700; font-style: normal; }


/* GENERAL CSS SETTINGS */
*{
	padding: 0px;
	margin: 0px;
	border: 0px;
}

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

input::placeholder {color: #CCCCCC; font-style: normal; font-weight: 400; font-size: 16px; }
::selection { background-color: var(--accent); color: #fff; }
input, textarea { outline: none; }
input:focus:required:invalid, textarea:focus:required:invalid { border-color: red; }
input:required:valid, textarea:required:valid { border-color: green; }

a{
	text-decoration: none;
}

ul, li {
	list-style: none;
}

img {
	vertical-align: top;
}

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

.scroll-button__wrap {
	position: fixed;
	opacity: 0;
	bottom: 20px;
	right: 20px;
	z-index: 999;
	background-color: #fff;
	border: 1px solid var(--border);
	padding: 6px 10px 6px 15px;
	border-radius: 18px;
	align-items: center;
	gap: 8px;
	box-shadow: var(--box-shadow);
}

.scroll-button__title {
	font-size: 14px;
	line-height: 1.3;
	font-weight: 500;
	margin-right: 10px;
}

.scroll-button-messenger__wrap {
	display: flex;
	gap: 8px;
}

.scroll-button__wrap .messenger__button {
	padding: 0;
	border: 0;
}

.messenger__icon {
	border-radius: 12px;
}

.scroll-button__wrap .telegram__icon{
 width: 50px;
 height: 50px;
 background-color: var(--tgColor);
 background-image: url(/images/telegram-icon.svg);
}
.scroll-button__wrap .whatsapp__icon{
	width: 50px;
	height: 50px;
	background-image: url(/images/max-icon.svg);
 }

.show {
	opacity: 1!important;
	display: flex!important;
}

.hidden {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: inherit;
	font-size: inherit;
}

.button {
	position: relative;
	display: inline-block;
	padding: 12px 15px;
	background-color: var(--green);
	border: none;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	border-radius: 12px;
	outline: none;
	cursor: pointer;
	transition: var(--transition);
	z-index: 1;
	letter-spacing: 0.5px;
}
	
.button:hover, .button:focus {
	background-color: #218838;
	text-decoration: none;
}

.button:active {
	background-color: #218838;
}

/* MAGNIFIC */

.my-mfp-zoom-in.mfp-ready.mfp-bg {
	opacity: .9;
}
	

.mfp-close {
	cursor: pointer!important;
}

button.mfp-close {
	top: 15px!important;
	right: 15px!important;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	line-height: 40px;
	font-weight: normal;
	font-size: 50px;
	background: var(--accent)!important;
	display: flex;
	align-items: center;
	justify-content: center;
}
	

.mfp-title {
	font-size: 15px;
}

/* CALLBACK-POPUP */

.callback-popup {
	position: relative;
	max-width: 400px;
	background: #fff;
	margin: 0 auto;
	z-index: 1;
	border-radius: 24px;
	overflow: hidden;
}

.callback-popup__header {
	padding: 30px 30px 0;
	position: relative;
}

.callback-popup__master {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
	

.master-popup__img {
	max-width: 60px;
	width: 100%;
	flex-shrink: 0;
}
	

.master-popup__text {
	margin-left: 20px;
}
	

.master-popup__name {
	font-weight: 600;
}
	

.master-popup__remark {
	font-size: 12px;
}
	

.callback-popup__title {
	font-size: 24px;
	margin-bottom: 20px;
	line-height: 1.2;
	font-weight: 700;
}
	

.callback-popup__subtitle {
	font-size: 16px;
	margin-bottom: 25px;
}
	

.callback-popup__body {
	padding: 0 30px 30px;
}
	

.callback-popup__form {
	background: #fff;
	text-align: left;
}


.success {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	left: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	width: 100%;
	height: 100%;
	padding: 30px;
	z-index: 999;
	text-align: center;
	flex-direction: column;
}
	
.visible {
	display: flex!important;
}

.success__title {
	font-size: 24px;
	line-height: 1.2;
	font-weight: 700;
	margin-bottom: 20px;
}


.success__text {
	font-size: 19px;
}

body {
	font-family: var(--userfont);
	font-size: var(--regular-text);
	line-height: var(--lineheight);
	color: var(--text);
	min-width: 320px;
	position: relative;
	overflow-x: hidden;
	background-color: #F8F9FA;
}

/* USER STYLES */


.container {
	margin: 0 auto;
	width: 100%;
	max-width: 1040px;
	padding-inline: 20px;
}

.header__wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-block: 15px;
}

.logotip{
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}

.logo{
	width: 240px;
	margin-bottom: 4px;
}

.logo-description{
	font-size: 12px;
	color: var(--text);
	line-height: 1.2;
	margin-left: 4px;
}

.contacts{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.work-time{
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 4px;
	line-height: 1.2;
}

.contacts__wrap{
	display: flex;
	gap: 10px;
}

.messenger__button, .phone__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 12px 14px;
	border: 1px solid var(--border);
	border-radius: 12px;
	outline: none;
	transition: var(--transition);
	z-index: 1;
	background: #fff;
	line-height: 1;
}

.telegram__icon {
	display: flex;
	width: 20px;
	height: 20px;
	background-image: url(/images/telegram-icon.svg);
	background-repeat: no-repeat;
	background-size: cover;
	flex: inherit;
}

.telegram:hover{
	border-color: var(--tgColor)!important;
}

.whatsapp:hover {
	border-color: var(--whatsappColor)!important;
}

.whatsapp__icon {
	display: flex;
	width: 20px;
	height: 20px;
	background-image: url(/images/max-icon.svg);
	background-repeat: no-repeat;
	background-size: cover;
	flex: inherit;
}

.phone__icon {
	display: flex;
	width: 16px;
	height: 16px;
	background-image: url(/images/phone-icon.svg);
	background-repeat: no-repeat;
	background-size: cover;
	flex: 1 0 auto;
}

.messenger__text {
	font-size: 14px;
	font-weight: 500;
	color: var(--text);
	margin-left: 10px;
}

.phone__number {
	font-size: 16px;
	font-weight: 500;
	color: var(--text);
	margin-left: 10px;
}

.contacts-dropdown__wrap {
	position: relative;
	display: none;
}

.contacts-dropdown__button {
	color: #007BFF;
	font-size: 16px;
	font-weight: 500;
	border-bottom: 1px dashed #007BFF;
	margin: 20px 0;
}

.contacts-dropdown {
	position: absolute;
	top: 40px;
	right: 0;
	background-color: #fff;
	padding: 20px;
	border-radius: 18px;
	box-shadow: var(--box-shadow);
	z-index: 999;
	transition: var(--transition);
	opacity: 0;
	display: none;
}


.contacts-dropdown::before {
	transform: translateY(-.625rem);
	border: .75rem solid transparent;
	border-bottom-color: #fff;
	content: "";
	position: absolute;
	top: -14px;
	right: 30px;
	z-index: 4;
	opacity: 1;
	box-shadow: var(--box-shadow);
}

.contacts-dropdown .work-time {
	margin-bottom: 20px;
	text-align: right;
}

.contacts-dropdown  .contacts__wrap {
	gap: 10px;
	white-space: nowrap;
	align-items: flex-end;
}


.firstscreen{
	padding: 60px 0 90px;
}

.firstscreen__rating {
	display: flex;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.firstscreen__h1 {
	font-size: 80px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -1px;
	margin-bottom: 40px;
	margin-left: -4px;
}

.firstscreen__list {
	margin-bottom: 40px;
}

.firstscreen__item {
	position: relative;
	font-size: 20px;
	margin-bottom: 16px;
	padding-left: 30px;
	line-height: 1.4;
}

.firstscreen__item::before{
	position: absolute;
	top: 4px;
	left: 0;
	content: '';
	width: 16px;
	height: 16px;
	background-image: url(/images/triangle-right.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.firstscreen__image img{
	position: relative;
	border-radius: 18px;
}

.section {
	padding-bottom: 90px;
}

.section-title__wrap {
	margin-bottom: 40px;
}

.section__title {
	font-size: 40px;
	font-weight: 600;
	line-height: 1.3;
	position: relative;
	max-width: 90%;
}

.wavy {
	display: inline;
	--underline-width-scale: calc(var(--underline-width) / var(--underline-intrinsic-width));
	padding: 0 calc(var(--underline-padding-x) + calc(var(--underline-cap-width)* var(--underline-width-scale)));
	box-decoration-break: clone;
	background-repeat: no-repeat;
	background-image: linear-gradient(180deg, var(--underline-color), var(--underline-color)), var(--cap-image-left), var(--cap-image-right);
	background-position-x: calc(var(--underline-cap-width)* var(--underline-width-scale)), 0, 100%;
	background-position-y: calc(100% - var(--underline-offset-y)* -1);
	background-size: calc(100% - calc(var(--underline-cap-width)* var(--underline-width-scale)* 2)) calc(var(--underline-width)* 1px), auto calc(var(--underline-width)* 1px), auto calc(var(--underline-width)* 1px);
}


.expert__wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.expert-img__wrap {
	position: relative;
	height: 100%;
}

.expert__img {
	width: 100%;
	height: 557px;
	object-fit: contain;
	object-position: bottom;
	position: absolute;
	bottom: 0;
	margin: 0 auto;
}

.expert-title__wrap {
	margin-bottom: 30px;
}

.expert-title {
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 20px;
	line-height: 1.3;
}

.expert__subtitle {
	font-size: 16px;
	line-height: 1.6;
}

.expert-advantages__item {
	position: relative;
	padding-left: 30px;
	margin-bottom: 30px;
}

.expert-advantages__item:last-child {
	margin-bottom: 0;
}

.expert-advantages__item::before {
	position: absolute;
	top: 3px;
	left: 0;
	content: '';
	width: 16px;
	height: 16px;
	background-image: url(/images/triangle-right.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.expert-advantages__title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 4px;
}

.expert-advantages__text {
	font-size: 16px;
	line-height: 1.6;
}

.works-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.work__title {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}

.work-img__wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-bottom: 4px;
}

.work__img {
	position: relative;
	height: 100%;
	margin-bottom: 4px;
}

.work__img img{
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 12px;
}

.work__img span {
	position: absolute;
	padding: 6px 8px 5px;
	line-height: 1;
	border-radius: 4px;
	font-size: 12px;
	top: 20px;
	left: 20px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.work-img__do {
	background-color: #fff;
}

.work-img__posle {
	background-color: #4CAF50;
	color: #fff;
}

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

.story {
	display: flex;
	flex-direction: column;
}

.video-stories {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	max-width: 40vh;
	position: relative;;
	width: 400px;
}
	
.video {
	width: 100%;
}

.story:hover .video__subtitle {
	color: #ff0000;
}

.video-img__wrap {
	position: relative;
	margin-bottom: 4px;
	flex: 1;
}

.video-img__wrap::before {
	content: '';
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background-image: url(/images/play-icon.svg);
	position: absolute;
	bottom: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(50%);
	z-index: 989;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.video__img {
	border-radius: 18px;
	object-fit: cover;
	width: 100%;
	object-position: center;
}

.video__subtitle {
	color: var(--text);
	font-size: 12px;
	line-height: 1.3;
	text-align: center;
	transition: var(--transition);
}

.price__wrap {
	display: flex;
	flex-direction: column;
	margin-bottom: 60px;
	background-color: #fff;
	box-shadow: var(--box-shadow);
	padding: 20px 40px 20px;
	border-radius: 12px;
}

.price {
	border-bottom: 1px solid var(--border);
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.price:last-child {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.cost__wrap {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
}

.cost__title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	flex: 0 0 240px;
}

.cost__item {
	display: flex;
	align-items: center;
	gap: 20px;
	flex: 1 0 auto;
	flex-wrap: wrap;
}

.cost-item__price {
	font-size: 18px;
	font-weight: 500;
}

.cost-item__value {
	font-size: 16px;
}

.valuation__wrap {
	position: relative;
	background-color: var(--bg);
	border-radius: 18px;
	display: flex;
	gap: 40px;
	overflow: hidden;
	padding: 40px;
}

.valuation-content__item {
	counter-increment: valuation 1;
	margin-bottom: 20px;
	position: relative;
}

.valuation-content__item:last-child {
	margin-bottom: 0;
}

.valuation-content__text {
	font-size: 16px;
	line-height: 1.4;
	position: relative;
}

.valuation-content__text::before {
	content: counter(valuation) ".";
	font-weight: 500;
	margin-right: 5px;
	position: relative;
}

.valuation-content__messengers {
	margin-top: 16px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}


.valuation-content__wrap {
	position: relative;
	width: 62%;
	z-index: 2;
}

.valuation-img__wrap {
	align-items: flex-end;
	display: flex;
	pointer-events: none;
	position: relative;
	user-select: none;
	width: 40%;
	z-index: 10;
	margin: 0 auto;
}

.valuation-img__wrap img{
	margin: 0 auto;
	max-height: 520px;
	object-fit: contain;
	border-radius: 40px;
	position: relative;
	z-index: 999;
}

.reviews__wrap {
	column-count: 2;
	column-gap: 20px;
}

.reviews {
	background-color: #fff;
	padding: 20px;
	border-radius: 18px;
	border: 1px solid var(--border);
	display: inline-block;
	margin-bottom: 20px;
}

.review__data {
	font-size: 12px;
	color: #333;
	margin-bottom: 8px;
}

.review {
	font-size: 14px;
	margin-bottom: 20px;
}
.review-autor__wrap {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

.review__img {
	width: 40px;
	height: 40px;
	border-radius: 12px;
}

.review-autor__info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: 10px;
}

.review-autor__name {
	font-size: 14px;
	font-weight: 500;
}

.star__icon {
	max-width: 100px;
}

.review__link {
	color:#333;
	font-size: 12px;
	border-bottom: 1px dashed #333;
	transition: var(--transition);
}

.review__link:hover {
	color: #2F2525;
	border-color: #2F2525;
}

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

.faq__content {
	flex: 1;
	max-width: 600px;
}

.faq {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--border);
}

.faq:first-child {
	padding-top: 0;
}

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

.faq__question {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 12px;
	line-height: 1.3;
}

.faq__answer {
	font-size: 18px;
	line-height: 1.6;
}

.faq__aside {
	flex: 0 0 40%;
	max-width: 296px;
	margin-top: 0;
	position: relative;
	margin-left: 20px;
}

.faq__messengers {
	top: 90px;
	background: var(--bg);
	border-radius: 12px;
	padding: 14px 20px 20px;
	max-width: 365px;
	margin: 0 auto;
	position: sticky;
}

.faq-aside__title {
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 12px;
}

.faq-aside__text {
	font-size: 14px;
	margin-bottom: 12px;
	line-height: 1.6;
}

.faq__aside .contacts__wrap {
	flex-direction: column;
	display: inline-flex;
}

.faq__aside .work-time {
	margin-bottom: 8px;
}

.problems__wrap {
	background-color: #F0F0E7;
	padding: 40px;
	border-radius: 18px;
}

.problems__item {
	position: relative;
	margin-bottom: 40px;
	counter-increment: verse 1;
}



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

.problems__title {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 10px;
	line-height: 1.3;
}

.problems__text {
	font-size: 18px;
	line-height: 1.6;
}

.steps__wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.step__item {
	position: relative;
	counter-increment: steps 1;
}

.step__item::before {
	content: counter(steps) "";
	font-weight: 500;
	position: relative;
	padding: 6px 10px;
	background-color: #83C592;
	border-radius: 4px;
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	width: 40px;
	height: 40px;
	margin-bottom: 16px;
	color: #fff;
}

.step__title {
	position: relative;
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 10px;
	line-height: 1.3;
}

.step__text {
	font-size: 18px;
	line-height: 1.6;
}

.step-item-button__wrap {
	display: block;
	margin-top: 16px;
}

.contacts-content__time {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	margin-bottom: 20px;
}

.contacts-content__label {
	font-size: 16px;
	margin-bottom: 4px;
	font-weight: 500;
}

.contacts-content__phone {
	margin-bottom: 30px;
}

.contacts-content__phone .phone__number {
	font-size: 24px;
}

.contacts-content__phone .phone__icon {
	width: 20px;
	height: 20px;
}

.messengers-button__wrap {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.contacts-content__messengers .messenger__text {
	font-size: 18px;
}

.contacts-content__messengers .telegram__icon,
.contacts-content__messengers .whatsapp__icon {
	width: 24px;
	height: 24px;
}

.contacts-form__wrap {
	position: relative;
	padding: 20px;
	background-color: #fff;
	border-radius: 18px;
	box-shadow: var(--box-shadow);
	max-width: 400px;
	overflow: hidden;
}

.contacts-form__expert {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.contacts-form-expert__img {
	width: 80px;
	height: 80px;
	object-fit: cover;
}

.contacts-form-expert__info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: 16px;
}

.contacts-form-expert__name {
	font-weight: 500;
}

.contacts-form-expert__value {
	font-size: 12px;
	color: var(--green);
	font-weight: 500;
}

.contacts-form__title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 12px;
}

.contacts-form__subtitle {
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 20px;
}

.popup-form__lebel {
	font-size: 12px;
	color: rgb(178, 178, 178);
}

.popup-form__control {
	display: block;
	width: 100%;
	border: 1px solid var(--border);
	background: rgb(247, 247, 247);
	box-shadow: none;
	border-radius: 8px;
	padding: 18px 12px;
	margin-bottom: 30px;
	outline: none;
	transition: border .25s ease, color .25s ease;
	font-size: 16px;
	letter-spacing: 0.5px;
}

.footer__wrap{
	background-color: #2F2525;
	padding: 40px;
	margin: 0 -20px;
	border-radius: 18px 18px 0 0;
}

.footer-copyright__text {
	color: #F0F0E7;
	font-size: 14px;
	margin-bottom: 20px;
}

.requisites {
	display: none;
}

.copyright__link {
	display: block;
	text-decoration: underline;
}

.top {
	color:var(--green);
	border-bottom: 1px dashed var(--green);
}

.policy__text {
	font-size: 18px;
	line-height: 1.6;
	margin-bottom: 20px;
}

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

.policy__heading {
	font-size: 40px;
	font-weight: 600;
	margin-top: 40px;
	margin-bottom: 20px;
}

.policy__list {
	margin-bottom: 40px;
}

.policy-list__item {
	position: relative;
	font-size: 18px;
	line-height: 1.6;
	margin-bottom: 20px;
	padding-left: 30px;
}

.policy-list__item::before {
	content: '';
	width: 15px;
	height: 1px;
	background-color: var(--text);
	position: absolute;
	top: 14px;
	left: 0;
}