/* Кастомные стили которые невозможно разместить в компоненте, либо не имеют смысла размещать в компоненте */
@font-face {
	font-family: "exo_2";
	src:
		url("/bitrix/fonts/exo2bold.woff2") format("woff2"),
		url("/bitrix/fonts/exo2bold.woff") format("woff");
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: "exo_2";
	src:
		url("/bitrix/fonts/exo2italic.woff2") format("woff2"),
		url("/bitrix/fonts/exo2italic.woff") format("woff");
	font-weight: 500;
	font-style: italic;
}
@font-face {
	font-family: "exo_2";
	src:
		url("/bitrix/fonts/exo2regular.woff2") format("woff2"),
		url("/bitrix/fonts/exo2regular.woff") format("woff");
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: "montserrat";
	src:
		url("/bitrix/fonts/montserrat-bold.woff2") format("woff2"),
		url("/bitrix/fonts/montserrat-bold.woff") format("woff");
	font-weight: 700;
	font-style: normal;
}
@font-face {
	font-family: "montserrat";
	src:
		url("/bitrix/fonts/montserrat-bolditalic.woff2") format("woff2"),
		url("/bitrix/fonts/montserrat-bolditalic.woff") format("woff");
	font-weight: 700;
	font-style: italic;
}
@font-face {
	font-family: "montserrat";
	src:
		url("/bitrix/fonts/montserrat-italic.woff2") format("woff2"),
		url("/bitrix/fonts/montserrat-italic.woff") format("woff");
	font-weight: 500;
	font-style: italic;
}
@font-face {
	font-family: "montserrat";
	src:
		url("/bitrix/fonts/montserrat-regular.woff2") format("woff2"),
		url("/bitrix/fonts/montserrat-regular.woff") format("woff");
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: "montserrat";
	src:
		url("/bitrix/fonts/montserrat-semibold.woff2") format("woff2"),
		url("/bitrix/fonts/montserrat-semibold.woff") format("woff");
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: "montserrat";
	src:
		url("/bitrix/fonts/montserrat-semibolditalic.woff2") format("woff2"),
		url("/bitrix/fonts/montserrat-semibolditalic.woff") format("woff");
	font-weight: 600;
	font-style: italic;
}

:root {
	--mdc-transparent: rgba(0, 0, 0, 0);
	--mdc-white: #ffffff;
	--mdc-black: #212121;
	--mdc-primary: #7668e7;
	--mdc-yellow: #ffdf60ff;
	--mdc-blue-dark: #2b4460ff;
}

main.vc-main {
	padding-bottom: 0;
	padding-top: 124px;

	@media (max-width: 1199px) {
		padding-top: 64px;
	}
}
body.vc-body {
	position: relative;
	font-family: "montserrat";
	font-size: 15px;
	color: #333333;
	line-height: 1.6em;
	font-weight: 500;
}
.header .header-address {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.42;
	color: var(--mdc-black);
}
.header .header-phone {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 1px;
	color: var(--mdc-black);
	transition: 0.3s;

	&:hover {
		text-decoration: none;
		color: var(--mdc-color);
	}
}
.header-top {
	background-color: var(--mdc-white);
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding-right: calc(0.0180586907 * 100vw + 8.5237020316px);
	padding-left: calc(0.0180586907 * 100vw + 8.5237020316px);
	border-bottom: 1px solid #eef2f5;
}
.header-actions-wrapper {
	display: flex;
	align-items: center;
	gap: 32px;
}
.header-actions {
	display: flex;
	align-items: center;
	gap: 48px;
}
.header-link {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--mdc-black);
	cursor: pointer;

	&:hover .header-link__text {
		text-decoration: none;
		color: var(--mdc-color);
	}
}
.header-link__text {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 1px;
	color: var(--mdc-black);
	transition: 0.3s;
}
.header-socials {
	display: flex;
	align-items: center;
	gap: 10px;
}
.header-socials .socials {
	display: flex;
	align-items: center;
	gap: 10px;
}
.header-socials .socials-item {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;

	.socials-link {
		width: 32px;
		height: 32px;
	}
}
.header-main {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: calc(0.0180586907 * 100vw + 8.5237020316px);
	padding-left: calc(0.0180586907 * 100vw + 8.5237020316px);
	background-color: var(--mdc-white);
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.03);
	transition: 0.3s;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.header-main-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: 80px;
	width: 100%;
}
.vc-header--menu-open .header-main-wrapper {
	height: 100vh;
}
.header-logo {
	display: flex;
	align-items: center;

	img {
		display: block;
		max-height: 42px;
		max-width: 102px;
	}
}
.mr-3 {
	margin-right: 1rem !important;
}
.header-login {
	text-decoration: none;
	background: url("/local/img/login-icon.svg") center left no-repeat;
	padding: 5px 0 5px 35px;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 1px;
	color: var(--mdc-black);
	transition: 0.3s;

	&:hover {
		color: var(--mdc-color);
	}
}
.header__menu {
	display: flex;
	align-items: center;
	max-width: 800px;
}
.vc-header--menu-open .header__menu {
	padding-bottom: 90px;
}
.header-icons-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	grid-gap: 32px;
	gap: 32px;
}
.header-icons {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	grid-gap: 24px;
	gap: 24px;

	@media (max-width: 1279px) {
		display: none;
	}
}
.header-icon {
	width: 32px;
	height: 32px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	cursor: pointer;
	transition: 0.3s;
}
.header-icon svg {
	display: block;
}
.header-icon:hover svg path,
.header-icon:hover svg circle {
	stroke: var(--mdc-color);
}
.section {
	padding: 70px 0;
}
.title {
	font-size: 50px;
	font-weight: 600;
	font-family: "exo_2";
	line-height: 1.3em;
	margin-bottom: 40px;
}
.link {
	text-decoration: none;
	color: #53cfcf;
	font-weight: 600;
	background: url("/local/img/link-icon.svg") center right no-repeat;
	padding-right: 40px;
	transition: all 0.2s;
}
.link:hover {
	opacity: 0.7;
}
.btn.gradient-btn {
	color: #fff;
	display: inline-block;
	font-weight: 600;
	text-decoration: none;
	background: linear-gradient(
		to right,
		rgb(83, 207, 207) 30%,
		rgb(65, 194, 209) 79%,
		rgb(47, 180, 210) 100%
	);
	border-radius: 100px;
	padding: 9px 30px;
	transition: all 0.3s;
}
.btn.gradient-btn:hover {
	background: linear-gradient(
		to right,
		rgb(47, 180, 210) 30%,
		rgb(65, 194, 209) 79%,
		rgb(83, 207, 207) 100%
	);
	color: #fff;
}
.header-address {
	font-weight: 600;
	font-size: 17px;
	background: url("/local/img/addres-icon.png") center left no-repeat;
	padding-left: 25px;
	margin-right: 50px;

	br {
		display: none;
	}
}
.header-phone {
	text-decoration: none;
	color: #333;
	font-weight: 700;
	font-size: 21px;
	background: url("/local/img/phone-icon.png") center left no-repeat;
	padding-left: 25px;
	margin-right: 20px;

	span {
		color: #fd7712;
	}
}

/* footer start */
.footer {
	background-color: #f5f6fa;
	padding-top: 56px;
	padding-bottom: 24px;

	@media (max-width: 414px) {
		padding-top: 32px;
	}

	.gradient-btn {
		padding: 11px 26px 10px 26px;
		height: 48px;
		display: flex;
		justify-content: center;
	}
}
.footer__main {
	display: grid;
	grid-template-columns: 296px 1fr 266px;
	grid-gap: 40px;

	@media (max-width: 960px) {
		grid-template-columns: 1fr;
		grid-gap: 0;
	}
}
.footer__info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.footer__logo img {
	height: 56px;
	width: 136px;

	@media (max-width: 414px) {
		height: 42px;
		width: 102px;
	}
}
.footer__contacts-wrapper {
	margin-top: auto;
}
.footer__links {
	margin-top: 36px;
}
.footer__link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;

	&:not(:first-child) {
		margin-top: 20px;
	}

	svg path {
		stroke: var(--mdc-color);
	}

	&:hover:not(:last-child) .footer__link-text {
		color: var(--mdc-color);
	}
}
.footer__link-icon {
	margin-right: 8px;
	width: 24px;
	height: 24px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	transform: translateY(-2px);
}
.footer__link-text {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 1px;
	color: var(--mdc-black);
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.footer__link-text--bold {
	font-size: 16px;
	font-weight: 500;

	@media (max-width: 414px) {
		font-size: 18px;
	}
}
.footer__callback {
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	text-transform: uppercase;
	color: var(--mdc-primary);
	margin-top: 20px;
	padding: 14px 0;
	cursor: pointer;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;

	&:hover {
		color: var(--mdc-color);
	}
}
.footer__actions-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	/* justify-content: space-between; */

	@media (max-width: 960px) {
		margin-top: 10px;
	}
}
.footer_personal-account {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 11px 26px 10px 26px;
	height: 48px;
	background-color: rgba(0, 0, 0, 0);
	border: 1.5px solid var(--mdc-color);
	border-radius: 100px;
	font-size: 14px;
	font-weight: 500;
	font-style: normal;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mdc-color);
	white-space: nowrap;
	cursor: pointer;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	margin-top: 15px;

	&:hover {
		color: white;
		background-color: var(--mdc-color);

		path {
			stroke: white;
			transition: 0.3s;
		}
	}
}
.footer .socials {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-around;
	grid-gap: 12px;
	gap: 12px;
	margin-top: 15px;
}
.socials {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
}
.socials-item:not(:last-child) {
	margin-right: 10px;
}
.socials-link {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #60dddd;
	border-radius: 50%;
	transition: all 0.3s;

	&:hover {
		background: #2fb4d2;
	}
}
.footer__privacy-policy {
	margin-bottom: 20px;
}
.footer__privacy-policy-link {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	padding: 14px 0;
	transition: 0.3s;

	&:hover {
		color: var(--mdc-color);
	}
}
.footer__copy-wrapper {
	padding-top: 20px;
}
/* footer end */

.section__title-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
}
.section__title {
	color: var(--mdc-black);
	font-size: 36px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.33;
	margin: 0;

	@media (max-width: 414px) {
		font-size: 28px;
	}
}
.section__header-link {
	margin-left: 24px;
}
.section__content {
	margin-top: 32px;

	@media (max-width: 414px) {
		margin-top: 18px;
	}
}
.arrow-link {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	grid-gap: 10px;
	gap: 10px;
	border: 1px solid var(--mdc-color);
	padding: 16px 24px;
	border-radius: 100px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;

	&:hover {
		background-color: var(--mdc-color);

		.arrow-link__text {
			color: var(--mdc-white);
		}

		.vc-arrow-link__icon svg path {
			stroke: var(--mdc-white);
		}
		.arrow-link__icon svg path {
			stroke: var(--mdc-white);
		}
	}

	@media (max-width: 768px) {
		border-width: 1.5px;
		padding: 10px;
	}
}
.arrow-link__text {
	font-size: 14px;
	font-weight: 500;
	font-style: normal;
	line-height: 1;
	white-space: nowrap;
	text-transform: uppercase;
	color: var(--mdc-color);
	-webkit-transform: translateY(1px);
	-ms-transform: translateY(1px);
	transform: translateY(1px);
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;

	@media (max-width: 768px) {
		display: none;
	}
}
.arrow-link__icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.arrow-link__icon svg {
	display: block;
}
.arrow-link__icon svg path {
	stroke: var(--mdc-color);
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
.mdc-link {
	color: black;
	transition: 0.3s;

	&:hover {
		color: var(--mdc-color);
	}
}
@media (max-width: 1199px) {
	.section {
		padding: 35px 0;
	}
	.header-top,
	.header-icons,
	.header-record {
		display: none;
	}
	.header-main {
		padding-top: 18px;
		padding-bottom: 14px;
	}
	.header-main-wrapper {
		gap: 0;
		height: 28px;
		flex-wrap: wrap;
		align-items: flex-start;
		transition: 0.3s;
	}
	.header-logo img {
		max-width: 83px;
		max-height: 28px;
	}
	.header__menu {
		margin-top: 32px;
		position: relative;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
		width: 100%;
		height: calc(100% - 60px);
		max-width: unset;
		overflow-y: auto;
	}
}
@media (max-width: 1199px) and (max-width: 414px) {
	.header-icons-wrapper {
		gap: 16px;
	}
}
@media (max-width: 991px) {
	.title {
		font-size: 35px;
	}
	.btn.gradient-btn {
		padding: 9px 10px;
	}
}
@media (max-width: 560px) {
	.header-address br {
		display: block;
	}
	.header-phone {
		padding-left: 18px;
		margin-right: 10px;
	}
}
@media (max-width: 414px) {
	.header-main {
		padding-right: 16px;
		padding-left: 16px;
	}
}
@media (min-width: 1300px) {
	.header-main {
		padding-right: 32px;
		padding-left: 32px;
	}
}
