@charset "UTF-8";
/* Common */
/* Media */
/* Content */
/* Common animations */
@-webkit-keyframes marquee { 0% { -webkit-transform: translateX(calc(100% + 0.52083vw)); transform: translateX(calc(100% + 0.52083vw));
		/* Начинаем движение справа */ }
	100% { -webkit-transform: translateX(-100%); transform: translateX(-100%);
		/* Заканчиваем движением слева */ } }
@keyframes marquee { 0% { -webkit-transform: translateX(calc(100% + 0.52083vw)); transform: translateX(calc(100% + 0.52083vw));
		/* Начинаем движение справа */ }
	100% { -webkit-transform: translateX(-100%); transform: translateX(-100%);
		/* Заканчиваем движением слева */ } }

@-webkit-keyframes fadeOut { from { opacity: 0; }
	to { opacity: 1; } }

@keyframes fadeOut { from { opacity: 0; }
	to { opacity: 1; } }

:root { --p: 2.08333vw; --header-height: 6.01563vw; }

@media (min-width: 768px) { body { min-width: 0; font-size: 0.9375vw; }
	.wrapper { max-width: 100vw; }
	.container { max-width: calc(1920 * 1px); }
	.d-mobile { display: none !important; }
	.hide-scrollbar { margin: 0; padding: 0; } }

@media (min-width: 1921px) { .container { max-width: none; } }

/***********/
/* Common */
h2 { font-weight: 600; font-size: 4.47917vw; line-height: 100%; letter-spacing: -0.02em; }

.button_rounded { min-height: 3.125vw; border-radius: 0.625vw; padding-left: 0.52083vw; padding-right: 0.52083vw; }

.button_bordered { border-width: 1px; }

.button_red { box-shadow: 0px 0.20833vw 0.10417vw rgba(102, 0, 0, 0.18); }

.button_black { box-shadow: 0px 0.20833vw 0.10417vw rgba(102, 0, 0, 0.18); }

.popup__container { border-radius: 0; max-width: 47.39583vw; flex-direction: row; justify-content: center; gap: 0.41667vw; height: auto; }

.popup__buttons { margin: 0; order: 2; }

.popup__buttons-close { font-size: 0.78125vw; width: 3.125vw; height: 3.125vw; border-radius: 0.41667vw; }

.swiper { position: relative; }

.swiper-mobile:not(.swiper-initialized) { opacity: 1; }

.swiper-horizontal > .swiper-scrollbar { width: auto; height: 0.3125vw; left: 2.08333vw; right: 2.08333vw; margin-top: 2.08333vw; }

.swiper-pagination-bullets.swiper-pagination-horizontal { height: 0.3125vw; left: 2.44792vw; right: 2.44792vw; margin-top: 2.08333vw; }

.swiper-nav { display: flex; right: 2.08333vw; gap: 1.04167vw; margin-bottom: 2.96875vw; }

.swiper-button { width: 2.5vw; height: 2.5vw; font-size: 2.5vw; border-radius: 0.625vw; }

/* Form */
.form__wrapper { gap: 1.66667vw; }

.form__head { gap: 0.41667vw; }

.form__title { font-weight: 600; font-size: 2.5vw; line-height: 110%; letter-spacing: -0.02em; }

.form__text { font-size: 1.35417vw; }

.form__items { flex-direction: row; gap: 1.04167vw; }

.form__item { flex: 1 1 100%; }

.form__input { font-size: 0.98958vw; min-height: 3.125vw; padding: 0 1.04167vw; font-variant-numeric: lining-nums proportional-nums; border: 1px solid var(--gray-20); border-radius: 0.625vw; }

.form__select .form__item { position: relative; }

.form__select .form__item::after { width: 0.625vw; height: 0.625vw; right: 1.04167vw; }

.form__select-drop { padding: 0.41667vw 0.83333vw 0.41667vw 0.41667vw; border-radius: 0.625vw; }

.form__select-wrap { height: 10.625vw; }

.form__select-value { font-size: 0.83333vw; padding: 0.41667vw 0.83333vw; }

.form__button { font-size: 1.19792vw; min-height: 3.125vw; border-radius: 0.625vw; }

.form__footer { font-size: 0.72917vw; line-height: 1.2; }

.form__footer-label { gap: 0.57292vw; }

.form__footer-checkbox { width: 0.83333vw; height: 0.83333vw; font-size: 0.625vw; border-radius: 0.20833vw; }

.form-section { padding-top: 2.08333vw; padding-bottom: 2.08333vw; border-radius: 0; margin: 0; }

.form-section__content { padding: 1.04167vw 1.25vw; margin: 0; min-height: 28.125vw; }

.form-section__content-title { font-size: 2.5vw; max-width: 30.20833vw; }

.form-section__form { padding: 1.25vw; margin: 0; }

.form-section-big .form-section__inner { display: grid; grid-template-columns: repeat(2, 1fr); border-radius: 0.83333vw; overflow: hidden; }

.form-section-big .form-section__form .form__items { flex-direction: column; justify-content: flex-start; gap: 1.04167vw; height: 100%; }

.form-section-big .form-section__form .form__item { flex: 0 0 auto; }

.form-section-min .form-section__form { background: var(--red); border-radius: 0.83333vw; }

.form-section-min .form-section__form .form { background: url("../img/form/bg_desk-aaded8a806.svg") no-repeat right 0 top 0; background-size: contain; }

/* Blocks */
.header { padding-top: 1.92708vw; padding-bottom: 1.92708vw; max-width: 100vw; }

.header__inner { justify-content: space-between; align-items: center; gap: 0.83333vw; }

.header__logo img { width: 12.13542vw; height: auto; }

.header__menu { font-weight: 600; font-size: 0.83333vw; line-height: 120%; display: flex; align-items: center; gap: 0.41667vw; order: 3; }

.header__menu-button { width: 1.25vw; height: 1.25vw; font-size: 1.25vw; }

.header__menu-button-icon-menu { font-size: 1.25vw; }

.header__menu-button-icon-close { font-size: 0.9375vw; }

.header__nav { gap: 0.20833vw; margin-left: auto; padding-bottom: 0; }

.header__nav-link { font-weight: 600; font-size: 0.83333vw; line-height: 120%; padding: 0.52083vw 0.83333vw; border-radius: 2.08333vw; }

.main { text-align: left; border-radius: 0; background: none; }

.main__inner { position: relative; justify-content: space-between; align-items: stretch; gap: 1.25vw; min-height: 30.72917vw; padding: 3.4375vw 1.25vw 1.25vw; border-radius: 0.83333vw; }

.main__image { bottom: 0; border-radius: inherit; }

.main__content { display: flex; flex-direction: column; gap: 1.25vw; flex: 1 1 auto; }

.main__title { font-size: 4.16667vw; line-height: 90%; letter-spacing: -0.02em; margin: 0 0 auto; max-width: 70.83333vw; }

.main-page .main__title { font-size: 6.14583vw; line-height: 90%; letter-spacing: -0.02em; }

.main__text { font-size: 1.35417vw; max-width: 39.89583vw; }

.main__buttonbox { display: flex; flex-direction: row; gap: 0.52083vw; margin: 0; }

.main__button { max-width: 20.52083vw; font-size: 1.19792vw; }

.cases { padding-top: 2.08333vw; padding-bottom: 2.08333vw; }

.cases__title { margin: 0 0 2.60417vw; }

.cases__items { grid-template-columns: repeat(2, 1fr); grid-gap: 1.04167vw; }

.cases__item { gap: 0.72917vw; background: var(--red) url("../img/cases/rune-4ebdbc970a.png") no-repeat 100% 50%/contain; padding: 1.25vw; border-radius: 0.83333vw; min-height: 26.04167vw; }

.cases__item-img { right: -5%; height: 98%; }

.cases__item-name { font-size: 1.35417vw; }

.cases__item-title { font-size: 2.5vw; letter-spacing: -0.02em; max-width: 28.64583vw; }

.cases__item-icons { gap: 0.625vw; }

.cases__item-icon { width: 2.5vw; height: 2.5vw; }

.cases__item-icon i { width: 1.66667vw; height: 1.66667vw; font-size: 1.66667vw; }

.cases__item-tags { gap: 0.41667vw; }

.cases__item-tag { gap: 0.625vw; padding: 0 0.41667vw 0 1.04167vw; min-height: 2.08333vw; border-radius: 2.08333vw; border: 1px solid #FFFFFF; backdrop-filter: blur(1.14583vw); -webkit-backdrop-filter: blur(1.14583vw); }

.cases__item-tag span { font-weight: 700; font-size: 0.83333vw; }

.cases__item-tag i { font-size: 1.25vw; width: 1.25vw; height: 1.25vw; }

.reviews { padding-top: 2.08333vw; padding-bottom: 2.08333vw; }

.reviews__title { margin: 0 0 2.60417vw; }

.reviews__items { padding: 0 1.5625vw; margin: 0 -2.08333vw 2.08333vw; }

.reviews__item { gap: 1.04167vw; min-height: 17.8125vw; margin: 0 0.52083vw; padding: 1.25vw 1.66667vw 1.25vw 1.25vw; border-radius: 2.8125vw 2.8125vw 2.8125vw 0px; }

.reviews__item-head { gap: 1.04167vw; }

.reviews__item-photo { width: 3.90625vw; height: 3.90625vw; }

.reviews__item-info { gap: 0.20833vw; }

.reviews__item-info ul { font-size: 0.83333vw; }

.reviews__item-info ul li + li { margin: 0.20833vw 0 0; }

.reviews__item-name { font-size: 1.35417vw; line-height: 110%; }

.reviews__item-text { font-size: 0.98958vw; }

.faq { padding-top: 2.08333vw; padding-bottom: 2.08333vw; }

.faq__title { margin: 0 0 2.60417vw; }

.faq__items { grid-gap: 0.625vw; }

.faq__item { padding: 1.25vw; border-radius: 0.83333vw; }

.faq__item-top { gap: 0.52083vw; }

.faq__item-question { font-size: 1.35417vw; }

.faq__item-answer { font-size: 0.98958vw; padding: 1.25vw 0 0; max-width: 96%; }

.faq__item-answer p + p { margin-top: 0.78125vw; }

.faq__item-answer ul { padding-left: 1.30208vw; }

.faq__item-answer li + li { margin-top: 0.52083vw; }

.faq__item-icon i { width: 1.04167vw; height: 1.04167vw; font-size: 1.04167vw; }

.footer { padding-top: 2.08333vw; padding-bottom: 2.08333vw; }

.footer__inner { gap: 1.66667vw; }

.footer__top { flex-direction: row; justify-content: space-between; align-items: center; gap: 1.25vw; }

.footer__logo img { width: 12.13542vw; }

.footer__nav { gap: 0.625vw; }

.footer__nav-link { font-weight: 600; font-size: 0.83333vw; line-height: 120%; padding: 0.52083vw 0.83333vw; border-radius: 2.08333vw; }

.footer__blocks { grid-template-columns: 35.3125vw 35.3125vw 23.17708vw; grid-gap: 1.04167vw; }

.footer__blocks-group { display: flex; flex-direction: column; gap: 1.04167vw; background: var(--gray-20); border-radius: 0.83333vw; padding: 1.25vw; grid-row: span 2; }

.footer__blocks-group .footer__block { border-radius: 0; padding: 0; }

.footer__block { border-radius: 0.83333vw; padding: 1.25vw; }

.footer__block_contacts { grid-column: span 2; grid-row: span 2; }

.footer__block_contacts .footer__block-content { display: grid; grid-template-columns: 43.125vw auto; grid-gap: 5.20833vw; }

.footer__block-head h3 { font-size: 1.35417vw; margin: 0 0 1.04167vw; }

.footer__block-content { gap: 1.04167vw; max-height: 57.86458vw; overflow: visible; opacity: 1; }

.footer__block-content-text { font-size: 1.66667vw; }

.footer__block-content ul { gap: 0.625vw; font-size: 0.83333vw; line-height: 120%; }

.footer-contacts { gap: 1.04167vw; }

.footer-contacts__item-title { font-size: 0.98958vw; margin: 0 0 1.04167vw; }

.footer-contacts ul { gap: 0.72917vw; font-size: 0.78125vw; }

.footer-social { gap: 1.04167vw; grid-row: span 2; align-self: flex-end; }

.footer-social__button { font-size: 0.78125vw; min-height: 2.5vw; }

.footer-social__items { gap: 1.04167vw; }

.footer-social__item { padding: 0.52083vw; border-radius: 0.625vw; }

.footer-social__item i { width: 1.25vw; height: 1.25vw; flex: 0 0 auto; font-size: 1.25vw; }

.footer__info { justify-content: flex-start; flex-direction: row; gap: 1.25vw; font-size: 0.78125vw; margin: 2.08333vw 0 0; }

/* Tabs */
.tabs { gap: 1.04167vw; margin: 0; padding: 0; }

.tabs__item { width: -webkit-fit-content; width: fit-content; font-size: 0.98958vw; min-height: 2.91667vw; border-radius: 0.625vw; padding: 0 0.83333vw; }

/* Popups */
.popup-header { overflow: auto; }

.popup-header .popup__overlay { background-color: rgba(0, 0, 0, 0.5); }

.popup-header .popup__inner { padding-bottom: 0; }

.popup-header .popup__container { max-width: 100%; width: 100%; min-height: auto; border-radius: 0; padding-top: 0; margin: auto; position: absolute; top: 0; left: 0; right: 0; }

.popup-header .header { width: auto; background: var(--gray-10); }

.popup-header .header__nav { overflow: visible; flex-wrap: wrap; }

.popup-header__content { grid-template-columns: 71.61458vw 23.17708vw; grid-gap: 1.04167vw; min-height: 39.16667vw; padding-bottom: 2.08333vw; }

.popup-header__menu { display: grid; grid-template-columns: 20.83333vw 1fr; grid-gap: 2.08333vw; padding: 1.25vw; border-radius: 0.83333vw; background: white; }

.popup-header__chapter { display: flex; flex-direction: column; gap: 0.625vw; }

.popup-header__chapter-item { cursor: pointer; font-weight: 600; font-size: 0.83333vw; line-height: 120%; border-radius: 0.625vw; padding: 0.75521vw 0.83333vw; background: var(--gray-40); transition: all .3s; }

.popup-header__chapter-item-open { color: white; background: var(--black); }

.popup-header__block-content { gap: 1.04167vw; font-size: 0.83333vw; max-height: 57.86458vw; overflow: visible; opacity: 1; display: none; }

.popup-header__block-content ul { display: flex; flex-direction: column; gap: 0.625vw; height: 10.41667vw; flex-wrap: wrap; }

.popup-header__block-open .popup-header__block-content { display: flex; }

.popup-header__box { gap: 1.66667vw; border-radius: 0.83333vw; padding: 1.25vw; margin: 0; }

.popup-header .footer-contacts { margin: 0 0 auto; }

.popup-header .footer-contacts ul { gap: 0.83333vw; }

.popup-header .footer-contacts li { padding: 0.78125vw; border-radius: 0.625vw; }

.popup-reg .popup__content { padding: 1.25vw; border-radius: 0.83333vw; }

.popup-reg__title { font-size: 1.35417vw; margin: 0 0 0.625vw; }

.popup-reg .form__items { flex-direction: column; }

.popup-map { display: none; }

.popup-work .popup__content { padding: 1.25vw; border-radius: 0.83333vw; }

.popup-work__title { font-size: 1.35417vw; margin: 0 0 0.625vw; }

.popup-work .form__items { flex-direction: column; }
