/* Common */
/* Raleway */
@font-face { font-family: 'Raleway'; src: url("fonts/Raleway-ExtraBold.woff2") format("woff2"), url("fonts/Raleway-ExtraBold.woff") format("woff"); font-weight: 800; font-style: normal; }

@font-face { font-family: 'Raleway'; src: url("fonts/Raleway-Bold.woff2") format("woff2"), url("fonts/Raleway-Bold.woff") format("woff"); font-weight: 700; font-style: normal; }

@font-face { font-family: 'Raleway'; src: url("fonts/Raleway-SemiBold.woff2") format("woff2"), url("fonts/Raleway-SemiBold.woff") format("woff"); font-weight: 600; font-style: normal; }

@font-face { font-family: 'Raleway'; src: url("fonts/Raleway-Medium.woff2") format("woff2"), url("fonts/Raleway-Medium.woff") format("woff"); font-weight: 500; font-style: normal; }

@font-face { font-family: 'Raleway'; src: url("fonts/Raleway-Regular.woff2") format("woff2"), url("fonts/Raleway-Regular.woff") format("woff"); font-weight: 400; font-style: normal; }

@font-face { font-family: 'Druk Text Wide Cyr'; src: url("fonts/DrukTextWideCyr-Medium.woff2") format("woff2"), url("fonts/DrukTextWideCyr-Medium.woff") format("woff"); font-weight: 500; font-style: normal; }

/* Media */
/* Content */
:root { --width-mobile: 18.75vw; --width-desktop: 40vw; --width-desktop-1920: 100vw; --raleway: Raleway, sans-serif; --p: 0.625vw; --gap: 0.41667vw; --header-height: 4.63542vw; --header-menu-height: 2.91667vw; }

html { overflow-x: hidden; overflow-y: scroll; height: auto; }

body { font-family: "Raleway", sans-serif; min-width: calc(360 * 1px); /* px-to-viewport-ignore */ font-style: normal; font-weight: 600; font-size: 0.67708vw; line-height: 120%; overflow-x: hidden; color: #1C1C1C; background: #F5F5F6; font-variant-numeric: lining-nums; -webkit-font-feature-settings: 'pnum' on, 'lnum' on, 'liga' off; font-feature-settings: 'pnum' on, 'lnum' on, 'liga' off; }

.compensate-for-scrollbar { margin-right: 0 !important; }

.wrapper { overflow: hidden; position: relative; margin: 0 auto; min-height: 100vh; display: flex; flex-direction: column; align-items: stretch; box-sizing: border-box; justify-content: flex-start; padding: var(--header-height) 0 0; }

.container { max-width: none; padding-left: 2.08333vw; padding-right: 2.08333vw; }

.fancybox-active { overflow: hidden !important; }

.hidden { position: absolute; left: -520.78125vw; opacity: 0; }

h1, h2, h3, h4, h5, h6 { font-family: inherit; margin: 0; }

textarea, select, button, input, a:focus, a:hover, a { color: inherit; transition: 0.3s; outline: 0; text-decoration: none; }

a:focus, a:hover { text-decoration: none; color: inherit; }

[href^="tel:"] { white-space: nowrap; }

img, svg { max-width: 100%; }

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

*:focus { outline: none !important; }

p { margin: 0; }

button, input, select, textarea { font-family: inherit; }

::-webkit-input-placeholder { opacity: 1; color: inherit; }

::-ms-input-placeholder { opacity: 1; color: inherit; }

::placeholder { opacity: 1; color: inherit; }

source { display: none; }

label.error { display: none !important; }

.widget-form-privacy { display: none !important; }

* { scrollbar-width: thin; scrollbar-color: var(--black) var(--gray-10); }

::-webkit-scrollbar { width: calc(4 * 1px); }

::-webkit-scrollbar-track { background: var(--gray-10); }

::-webkit-scrollbar-thumb { background-color: var(--black); }

@media (max-width: 767px) { .d-desktop { display: none !important; } }

/***********/
/* Blocks */
[data-more-hidden] { position: absolute; left: -520.78125vw; opacity: 0; }

.d-none { display: none !important; }

.button { display: flex; align-items: center; justify-content: center; height: 3.125vw; padding: 1.04167vw; font-size: 0.83333vw; font-weight: 600; border: none; color: #fff; border-radius: 0.625vw; background: #ED131C; outline: none; text-decoration: none; transition: all .25s ease-in-out; -webkit-filter: drop-shadow(0px 0.20833vw 0.10417vw rgba(82, 82, 82, 0.18)); filter: drop-shadow(0px 0.20833vw 0.10417vw rgba(82, 82, 82, 0.18)); cursor: pointer; }

.button:hover, .button:active, .button:focus { color: #fff; background: #de040d; outline: none; text-decoration: none; -webkit-filter: initial; filter: initial; }

.button--rounded { border-radius: 4.16667vw; }

.button--black { background: #1C1C1C; border-color: #1C1C1C; color: #fff; }

.button--black:hover, .button--black:active, .button--black:focus { background: #222222; border-color: #1C1C1C; outline: none; text-decoration: none; -webkit-filter: initial; filter: initial; }

.button--grey { background: #E0E1E5; border-color: #E0E1E5; color: #1C1C1C; -webkit-filter: none; filter: none; }

.button--grey:hover, .button--grey:active, .button--grey:focus { background: #d7d8dc; border-color: #d7d8dc; color: #1C1C1C; outline: none; text-decoration: none; -webkit-filter: initial; filter: initial; }

.title { font-size: 4.47917vw; line-height: 1; font-weight: 600; margin-bottom: 2.60417vw; letter-spacing: -0.02em; }

.course-page .title { font-size: 3.33333vw; }

/***********/
/* Common */
.custom-scrollbar-wrapper .simplebar-track { background-color: var(--bs-white); border-radius: 0.52083vw; }

.custom-scrollbar-wrapper--pr .simplebar-track { right: 0.26042vw; height: 95%; margin: auto 0; }

.custom-scrollbar-wrapper .simplebar-track.simplebar-vertical { width: 0.20833vw; }

.custom-scrollbar-wrapper .simplebar-scrollbar { border-radius: 0.52083vw; background-color: var(--black); }

.sup { vertical-align: super; }

.hide-scrollbar { overflow: scroll; -ms-overflow-style: none; /* IE and Edge */ scrollbar-width: none; /* FF */ }

.hide-scrollbar::-webkit-scrollbar { /* Chrome, Safari, Opera */ display: none; }

.hidden { position: absolute; left: -520.78125vw; opacity: 0; }

.link-hover { display: inline-block; position: relative; }

.link-hover, .link-hover a { text-decoration: none !important; }

.link-hover:before { content: ''; width: 100%; position: absolute; bottom: -1px; left: 0; border-bottom: 1px solid; transition: -webkit-transform 0.3s ease; transition: transform 0.3s ease; transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

.link-hover:before { -webkit-transform: scale3d(0, 1, 1); transform: scale3d(0, 1, 1); -webkit-transform-origin: bottom right; transform-origin: bottom right; }

.link-hover:hover:before { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transform-origin: bottom left; transform-origin: bottom left; }

.link-unhover { display: inline-block; position: relative; }

.link-unhover, .link-unhover a { text-decoration: none !important; }

.link-unhover:before { content: ''; width: 100%; position: absolute; bottom: -1px; left: 0; border-bottom: 1px solid; transition: -webkit-transform 0.3s ease; transition: transform 0.3s ease; transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

.link-unhover:before { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transform-origin: bottom left; transform-origin: bottom left; }

.link-unhover:hover:before { -webkit-transform: scale3d(0, 1, 1); transform: scale3d(0, 1, 1); -webkit-transform-origin: bottom right; transform-origin: bottom right; }

h1, h2, h3, h4, h5, h6 { font-family: inherit; margin: 0; }

.h2 { font-weight: 600; font-size: 1.97917vw; line-height: 100%; font-variant-numeric: lining-nums; }

.popup { position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); opacity: 0; transition: opacity 0.3s; display: flex; flex-direction: column; }

.popup_opened { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); opacity: 1; z-index: 100; }

.popup__overlay { width: 100%; min-height: 100%; position: fixed; top: 0; left: 0; opacity: 0; background-color: rgba(0, 0, 0, 0.5); background-attachment: scroll; }

.popup_opened .popup__overlay { opacity: 1; }

.popup__inner { min-height: 100%; display: flex; overflow: auto; padding: 0; }

.popup__container { width: auto; position: relative; display: flex; flex-direction: column; border-radius: 0.83333vw; background: white; padding: 1.04167vw; margin: auto; max-width: 48.4375vw; }

.popup__buttons { position: absolute; right: -4.6875vw; top: 0; z-index: 2; }

.popup__buttons-button { width: 3.125vw; height: 3.125vw; display: flex; justify-content: center; align-items: center; cursor: pointer; background: #E0E1E5; border-radius: 0.41667vw; }

.popup__buttons-close { font-size: 0.78125vw; }

.popup .form { padding: 0; }

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

.popup .form__text { display: none; }

.popup .form__button { margin-top: 0; }

.popup .form__input { background: #ECEDF0; }

[class^="icon-"], [class*=" icon-"] { display: flex; vertical-align: middle; line-height: 0; }

[class^="icon-"]:before, [class*=" icon-"]:before { content: ''; font-size: inherit; line-height: 1; background-repeat: no-repeat; background-size: contain; background-position: 50% 50%; padding: 0.5em; }

.icon-close-black:before { background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gPHBhdGggZD0iTTguOTk5OCAxMS40OTg1TDMuMTk2NDEgMTcuMzAxOUwwLjY5NzkyMyAxNC44MDM0TDYuNTAxMzEgOUwwLjY5NzkyMiAzLjE5NjYxTDMuMTk2NDEgMC42OTgxMThMOC45OTk4IDYuNTAxNTFMMTQuODAzMiAwLjY5ODExOEwxNy4zMDE3IDMuMTk2NjFMMTEuNDk4MyA5TDE3LjMwMTcgMTQuODAzNEwxNC44MDMyIDE3LjMwMTlMOC45OTk4IDExLjQ5ODVaIiBmaWxsPSIjMUMxQzFDIi8+IDwvc3ZnPiA="); }

/* Form */
.form { height: 100%; }

.form .send-success { color: #1C1C1C; min-height: 20.67708vw; }

.form .send-success h3 { font-weight: 700; font-size: 2.5vw; }

.form .send-success p { font-size: 1.25vw; margin-top: 0.78125vw; }

.form--white .form__input { background: #fff; }

.form--white .form__footer-text { color: #fff; }

.form--white .send-success { color: #fff; }

.form--white .send-success h3 { font-weight: 700; font-size: 2.5vw; }

.form--white .send-success p { font-size: 1.25vw; margin-top: 0.78125vw; }

.form__wrapper { display: flex; flex-direction: column; height: 100%; }

.form__top { display: flex; flex-direction: column; gap: 0.41667vw; }

.form__title { font-weight: 600; font-size: 1.35417vw; line-height: 100%; }

.form__text { font-weight: 600; font-size: 0.88542vw; line-height: 120%; letter-spacing: -0.01em; }

.form__items { display: flex; flex-direction: column; justify-content: space-between; gap: 0.83333vw; }

.form__input { font-weight: 500; font-size: 0.72917vw; line-height: 120%; width: 100%; min-height: 2.5vw; color: #7E7F81; padding: 0 0.625vw; border: 1px solid #ECEDF0; background-color: #ECEDF0; outline: none; border-radius: 0.625vw; font-variant-numeric: lining-nums; -webkit-font-feature-settings: 'pnum' on, 'lnum' on, 'liga' off; font-feature-settings: 'pnum' on, 'lnum' on, 'liga' off; }

.form__input:focus { border-color: #000; }

.form__button { width: 100%; height: 3.07292vw; font-size: 1.19792vw; margin-top: 5.05208vw; margin-bottom: 0.83333vw; }

.form__button:disabled { opacity: 0.5; }

.form__footer { font-size: 0.52083vw; font-weight: 500; line-height: 1.3; }

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

.form__footer-text-link { text-decoration: underline; }

.form__footer-label { display: flex; gap: 0.625vw; cursor: pointer; padding: 0; margin: 0; }

.form__footer-checkbox { display: flex; justify-content: center; align-items: center; width: 0.83333vw; height: 0.83333vw; flex: 0 0 auto; border-radius: 0.20833vw; font-size: 0.625vw; background: #E0E1E5; }

.form__footer-checkbox input { display: none; }

.form__footer-checkbox-icon { opacity: 0; transition: 0.1s; width: 0.67708vw; height: 0.52083vw; -o-object-fit: contain; object-fit: contain; }

:checked ~ .form__footer-checkbox-icon { opacity: 1; }

/* Blocks */
.header { position: fixed; top: 0; left: 0; right: 0; height: var(--header-height); display: flex; flex-direction: column; justify-content: center; background: #F5F5F6; z-index: 50; }

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

.header__logo { display: block; height: 100%; width: 100%; -o-object-fit: contain; object-fit: contain; }

.header__logo-wrap { display: flex; align-items: center; height: 1.66667vw; width: 7.29167vw; }

.header__nav { display: flex; align-items: center; gap: 0.20833vw; }

.header__nav-wrap { flex: 1; padding-left: 2.08333vw; }

.header__nav-item { display: flex; align-items: center; justify-content: center; height: 2.03125vw; border-radius: 2.08333vw; border: 1px solid #CACACB; font-size: 0.83333vw; font-weight: 600; padding: 0 0.83333vw; transition: all .25s ease-in-out; text-decoration: none; outline: none; }

.header__nav-item:hover { background: #e0e1e5; border-color: #e0e1e5; text-decoration: none; outline: none; }

.header__contacts { display: flex; align-items: center; gap: 0.9375vw; }

.header__city { position: relative; text-decoration: none; display: flex; align-items: center; gap: 0.41667vw; margin-right: 0.52083vw; }

.header__city-icon { width: auto; height: 0.78125vw; }

.header__city-text { font-size: 0.88542vw; font-weight: 500; text-decoration: underline; line-height: 1; }

.header__city-list { display: none; flex-direction: column; align-items: center; gap: 0.625vw; position: absolute; top: 170%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); background: #fff; border-radius: 0.83333vw; padding: 1.25vw; list-style-type: none; margin: 0; transition: all .25s ease-in-out; }

.header__city-list--show { display: flex; }

.header__city-list-item { font-size: 0.72917vw; font-weight: 600; line-height: 1; text-align: center; }

.header__phone { font-size: 0.78125vw; font-weight: 500; }

.header__phone-icon { display: none; }

.header__burger { display: none; }

.header__button { height: 2.03125vw; -webkit-filter: none; filter: none; }

.footer { margin-top: 4.16667vw; padding: 0.52083vw 0 2.08333vw; }

.footer__top { padding-bottom: 2.08333vw; display: flex; gap: 4.16667vw; }

.footer__logo { display: block; height: 100%; width: 100%; -o-object-fit: contain; object-fit: contain; }

.footer__logo-inner { display: flex; align-items: center; height: 1.66667vw; width: 7.29167vw; }

.footer__logo-wrap { flex: 1; }

.footer__nav { display: flex; align-items: center; gap: 0.20833vw; }

.footer__nav-wrap { flex: 1; }

.footer__nav-item { display: flex; align-items: center; justify-content: center; height: 2.03125vw; border-radius: 2.08333vw; border: 1px solid #CACACB; font-size: 0.83333vw; font-weight: 600; padding: 0 0.83333vw; transition: all .25s ease-in-out; text-decoration: none; outline: none; }

.footer__nav-item:hover { background: #e0e1e5; border-color: #e0e1e5; text-decoration: none; outline: none; }

.footer__bottom { display: flex; gap: 1.04167vw; }

.footer__item { flex: 1; }

.footer__item:nth-child(-n+3) { padding: 1.25vw; background: #ECEDF0; border-radius: 0.83333vw; height: 12.76042vw; }

.footer__item:nth-child(4) { display: flex; flex-direction: column; justify-content: space-between; }

.footer__item-title { font-size: 1.35417vw; font-weight: 600; line-height: 1.2; margin-bottom: 1.04167vw; }

.footer__item-desc { font-size: 0.78125vw; font-weight: 500; line-height: 1.2; }

.footer__item-desc-wrap { margin-bottom: 1.04167vw; }

.footer__item-desc-wrap:last-child { margin-bottom: 0; }

.footer__item-metro { font-size: 0.78125vw; font-weight: 600; line-height: 1.2; margin-bottom: 0.15625vw; }

.footer__item-metro--accent { color: #ED131C; }

.footer__item-link { display: block; font-size: 0.78125vw; font-weight: 500; line-height: 1.2; color: #1C1C1C; text-decoration: none; margin-bottom: 0.625vw; }

.footer__item-link--bold { font-weight: 600; }

.footer__item-link:last-child { margin-bottom: 0; }

.footer__item-link:hover, .footer__item-link:active, .footer__item-link:focus { color: #1C1C1C; }

.footer__mail { margin-bottom: 0; }

.footer__phone { margin-bottom: 0.41667vw; }

.footer__copyright { font-size: 0.78125vw; line-height: 1.2; color: rgba(28, 28, 28, 0.5); }

.footer__policy { display: block; font-size: 0.78125vw; font-weight: 500; line-height: 1.2; color: rgba(28, 28, 28, 0.5); text-decoration: none; margin-top: 4.63542vw; }

.footer__policy--mobile { display: none; }

.footer__soc { display: flex; align-items: center; justify-content: center; height: 2.08333vw; background: #1C1C1C; border-radius: 0.625vw; flex: 1; pointer-events: none; }

.footer__soc-icon { -o-object-fit: contain; object-fit: contain; height: 0.9375vw; width: auto; max-width: 1.04167vw; }

.footer__soc-wrap { display: flex; gap: 0.625vw; }

/* Popups */
