/*
    СНАЧАЛА ПРАВИТЬСЯ, ПОТОМ АВТОПРЕФИКСЕР И МИНИФАЕР, И ЗАМЕНЯТЬ В MAIN.STYLE.MINIFY.CSS
*/

@import url('reseter.min.css');
@import url('iconmoon.css');

/* #region Fonts */
@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Thin.woff2') format('woff2'),
    url('../fonts/Gilroy-Thin.woff') format('woff'),
    url('../fonts/Gilroy-Thin.ttf') format('truetype');
    font-display: swap;
    font-style: normal;
    font-weight: 100;
}
@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Light.woff2') format('woff2'),
    url('../fonts/Gilroy-Light.woff') format('woff'),
    url('../fonts/Gilroy-Light.ttf') format('truetype');
    font-display: swap;
    font-style: normal;
    font-weight: 300;
}
@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Regular.woff2') format('woff2'),
    url('../fonts/Gilroy-Regular.woff') format('woff'),
    url('../fonts/Gilroy-Regular.ttf') format('truetype');
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}
@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Medium.woff2') format('woff2'),
    url('../fonts/Gilroy-Medium.woff') format('woff'),
    url('../fonts/Gilroy-Medium.ttf') format('truetype');
    font-display: swap;
    font-style: normal;
    font-weight: 500;
}
@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Semibold.woff2') format('woff2'),
    url('../fonts/Gilroy-Semibold.woff') format('woff'),
    url('../fonts/Gilroy-Semibold.ttf') format('truetype');
    font-display: swap;
    font-style: normal;
    font-weight: 600;
}
@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Bold.woff2') format('woff2'),
    url('../fonts/Gilroy-Bold.woff') format('woff'),
    url('../fonts/Gilroy-Bold.ttf') format('truetype');
    font-display: swap;
    font-style: normal;
    font-weight: 700;
}
@font-face {
    font-family: 'Gilroy';
    src: url('../fonts/Gilroy-Heavy.woff2') format('woff2'),
    url('../fonts/Gilroy-Heavy.woff') format('woff'),
    url('../fonts/Gilroy-Heavy.ttf') format('truetype');
    font-display: swap;
    font-style: normal;
    font-weight: 800;
}
/* #endregion */

/* #region Main */
html{
    min-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 320px;
}
body{
    min-height: 100vh;
    overflow: hidden;
    font-family: 'Gilroy', Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.6;
    color: #151515;

    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (min-device-width: 575px)  {
    body{
        background: url('../img/body_back.png') center top/100% no-repeat, #FFFFFF;
    }
}
@media (max-device-width: 575px)  {
    body{
        background-position: top;
        background-repeat: no-repeat;
        background-size: contain !important;
        background-image: url('../img/body_back_mb.png');
    }
}
main{
    flex: 1 0 auto;
}
.container{
    max-width: 1180px;
    width: 100%;
    padding: 0 15px;
    margin: 0 auto;
    position: relative;
}
.container_fw{
    max-width: 100%!important;
}
.btn{
    font-size: 18px;
    line-height: 1.1;
    font-weight: 600;
    color: #FFFFFF;
    background-color: rgb(255, 78, 0);
  box-shadow: 0px 8px 35px 0px rgba(0, 0, 0, 0.35);
    border: 0;
    display: inline-flex;
    padding: 16px 25px;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 25px;
    transition: border-bottom-width .1s ease-in-out, transform .1s ease-in-out, color .2s ease-in-out;
}
.btn:hover {
	font-size: 18px;
	line-height: 1.1;
	font-weight: 600;
	color: #FFFFFF;
	background: linear-gradient(to bottom, #3bb2e2, #19779c);
	border: 0;
	display: inline-flex;
	padding: 16px 25px;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-radius: 25px;
	border-bottom: 4px solid #15475f;
	box-shadow: 0 8px 35px 0 rgba(15,15,15,.35);
	transition: border-bottom-width .1s ease-in-out, transform .1s ease-in-out, color .2s ease-in-out;
}

a.btn:hover, a.btn:focus{
    text-decoration: none;
	color: #fff;
}
.RatingBadgeWidget {
	font-size: 0;
	width: 210px;
	height: 70px;
	display: block;
	background-size: cover;
}
.sn_tl{
    text-align: center;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 auto 35px;
    max-width: 990px;
}
.sn_tl b, .sn_tl strong, .sn_tl span{
    color: #76a2bf;
}
.sn_tl.sn_tl--ex{
    position: relative;
    width: 100%;
    padding: 40px 20px;
    font-size: 30px;
    margin-top: 35px;
}
.sn_tl.sn_tl--ex::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-color: #FFFFFF;
    border-radius: 8px;
    transform: skew(-15deg);
    z-index: -1;
    box-shadow: 0 8px 24px 0 rgba(15,15,15,.22);
}
.sn_tl.sn_tl--w{
    color: #FFFFFF;
}
.yv_cnt {
    height: 100%;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 24px 0 rgba(15,15,15,.14);
    pointer-events: none;
    position: relative;
}
.yv_cnt.yv_actv{
    pointer-events: all;
}
.yv_cnt::before{
    content: '\025B6';
    pointer-events: all;
    border-radius: 100%;
    background-color: #931519;
    color: #FFFFFF;
    height: 76px;
    line-height: 1;
    font-size: 20px;
    width: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 15px #9315196e;
    cursor: pointer;
    transition: box-shadow .4s ease-in-out, background-color .2s ease;
}
.yv_cnt::after{
    content: '';
    background-color: transparent;
    pointer-events: all;
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.yv_cnt:hover::before, .yv_cnt:focus-within::before{
    box-shadow: none;
    background-color: #424242;
}
.yv_cnt.yv_actv::before, .yv_cnt.yv_actv::after{
    display: none;
    pointer-events: none;
}
.yv_cnt > iframe {
    width: 100%;
    min-height: 320px;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.owl-carousel .owl-stage-outer {
    height: calc(100% + 30px);
    margin: -15px;
    padding: 15px;
    width: calc(100% + 30px);
}
.owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 5px;
}
.owl-carousel button.owl-dot{
    min-width: 19px;
    height: 19px;
    background-color: #d9d9d9;
    border-radius: 100%;
    transition: background-color .5s ease-in-out;
}
.owl-carousel button.owl-dot.active{
    background-color: #2083aa;
}
.owl-carousel button.owl-dot:not(:last-child){
    margin-right: 20px;
}
.owl-carousel .owl-dots{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    margin-top: 20px;
}
.frm_tl {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 10px;
}
.frm_inp{
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    padding: 15px 25px;
    border-radius: 25px;
    border: 1px solid #cccccc;
    background-color: #FFFFFF;
    transition: border-color .1s ease;
}
.frm_inp:focus, .frm_inp:focus-visible{
    outline: none;
    border-color: #931519;
}
.frm_inp:not(:last-child){
    margin-bottom: 20px;
}
div.form-actions, div.form-actions input {
	width: 100%;
}
.frm_err {
    font-size: 14px;
    text-align: center;
    margin: 15px 0 0;
    color: #e86161;
}
.frm_susc {
    font-size: 14px;
    text-align: center;
    margin: 15px 0 0;
    color: #85e861;
}
.nv_br{
    display: none;
    min-width: 40px;
    height: 35px;
    border: 0;
    background: transparent;
    padding: 5px;
    margin-right: 25px;
}
.nv_br_l{
    width: 100%;
    height: 4px;
    background: #2e9cc7;
    border-radius: 3px;
    position: relative;
}
.nv_br_l::before, .nv_br_l::after{
    content: '';
    position: absolute;
    width: 100%;
    height: 4px;
    background: #2e9cc7;
    border-radius: 3px;
    left: 0;
}
.nv_br_l::before{
    transform: translateY(-10px);
}
.nv_br_l::after{
    transform: translateY(10px);
}
.nv_mb_hr{
    display: none;
}
.nv_cls{
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 19px;
    line-height: 1.1;
    font-weight: 600;
    color: #FFFFFF;
    background: linear-gradient(to bottom, #3bb2e2, #19779c);
    border: 0;
    display: flex;
    padding: 10px;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 100%;
    border-bottom: 4px solid #15475f;
    box-shadow: 0 8px 35px 0 rgba(15,15,15,.35);
    transition: border-bottom-width .1s ease-in-out, transform .1s ease-in-out, color .2s ease-in-out;
    width: 50px;
    height: 50px;
}
.nv_cls:hover, .nv_cls:focus{
    border-bottom-width: 0;
    transform: scale(1.03);
    color: #15475f;
    text-decoration: none;
}
.nv_mb_tl {
    font-size: 30px;
    margin: 0 0 35px;
    line-height: 1.1;
    font-weight: 700;
}
.nv_mb_el1{
    display: none;
    position: absolute;
    left: 100%;
    top: 60px;
    pointer-events: none;
}
/* #endregion */


/* #region Header */
.header{
    position: relative;
}
.hr_bk_el{
    position: absolute;
    right: 25px;
    top: 0;
    z-index: -1;
    pointer-events: none;
}
.hr_tp{
    padding: 20px 0;
    display: grid;
    grid-template-columns: 300px 1fr;
    grid-column-gap: 15px;
    border-bottom: 1px solid #cfd9e4;
}
.hr_tp_lg{
    display: flex;
    align-items: center;
}
.hr_cts{
    display: grid;
    grid-template-columns: 200px auto 200px;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
}
.hr_cts_im{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
a.hr_cts_im:hover, a.hr_cts_im:focus{
    text-decoration: none;
}
.hr_cts_im.hr_cts_im--vk{
    align-items: center;
    color: #5b759e;
	line-height: 1.1;
}
a.hr_cts_im.hr_cts_im--vk{
    transition: opacity .2s linear;
}
a.hr_cts_im.hr_cts_im--vk:hover, .hr_cts_im.hr_cts_im--vk:focus{
    text-decoration: none;
    opacity: .8;
}
.hr_cts_im:not(.hr_cts_im--vk) .hr_cts_im_ic{
    min-width: 29px;
    width: 29px;
    height: 29px;
    min-height: 29px;
    border-radius: 100%;
    background-color: #FFFFFF;
    box-shadow: 0 8px 13px 0 rgba(15,15,15,.14);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 1;
    color: #931519;
    margin-right: 15px;
}
.hr_cts_im.hr_cts_im--mb{
    align-items: center;
    display: none;
}
.hr_cts_im.hr_cts_im--mb .hr_cts_im_ic{
    min-width: 38px;
    width: 38px;
    height: 38px;
    font-size: 17px;
    margin-right: 0;
}
.hr_cts_im.hr_cts_im--vk .hr_cts_im_ic{
    margin-right: 15px;
    font-size: 29px;
}
.hr_cts_im_cn p, .hr_cts_im_cn span, .hr_cts_im_cn a{
    font-weight: 600;
    line-height: 1.6;
    display: inline-flex;
}
.hr_cts_im_cn a{
    color: #151515;
    transition: color .2s linear;
}
.hr_cts_im_cn a:hover, .hr_cts_im_cn a:focus{
    color: #931519;
    text-decoration: none;
}
.hr_cts_im_cn a.hr_cts_im_lnk--red{
    color: #931519;
}
.hr_cts_im_cn a.hr_cts_im_lnk--uln:hover, .hr_cts_im_cn a.hr_cts_im_lnk--uln:focus{
    color: #151515;
    text-decoration: none;
}
.hr_cts_im_cn a.hr_cts_im_lnk--uln{
    text-decoration: underline;
}
.hr_nv{
    padding: 15px 0;
}
.hr_nv_lst{
    padding: 0;
    margin: 0 -15px;
    display: grid;
    grid-template-columns: repeat(7, auto);
    grid-column-gap: 15px;
}
.hr_nv_lst li{
    display: flex;
}
.hr_nv_lst a{
    padding: 10px;
    display: inline-flex;
    width: 100%;
    text-align: center;
    align-items: center;
    justify-content: center;
    color: #151515;
    font-size: 17px;
    line-height: 1.1;
    font-weight: 600;
    transition: transform .3s ease, color .2s linear;
}
.hr_nv_lst a:hover, .hr_nv_lst a:focus{
    transform: translateY(-2px);
    color: #931519;
    text-decoration: none;
}
/* #endregion */

/* #region Banner */
.banner{
    position: relative;
    padding-bottom: 55px;
}
.br_in{
    display: grid;
    grid-template-columns: 500px 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 30px;
}
.br_bk_el1, .br_bk_el2{
    position: absolute;
    z-index: -1;
    pointer-events: none;
}
.br_bk_el1{
    top: 15px;
    left: 0;
}
.br_bk_el2{
    bottom: 0;
    right: 0;
}
.br_in_tx{
    padding-top: 115px;
}
.br_in_tl {
    font-size: 44px;
    line-height: 1.3;
    margin: 0 0 25px;
}
.br_in_tl > b, .br_in_tl > strong, .br_in_tl > span{
    color: #76a2bf;
}
.br_in_stl {
    font-size: 27px;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 1.2;
}
.br_in_tx_btm{
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}
.br_in_arw{
    transform: rotate(-100deg);
    font-size: 82px;
    color: #931519;
    margin-right: 25px;
    margin-bottom: 10px;
}
.br_in_btn{
    width: 100%;
    max-width: 315px;
    background: linear-gradient(to bottom,#fb834f,#fe4d00);
    border-color: #ac3400;
}
.br_in_btn:focus, .br_in_btn:hover{
    color: #FFFFFF;
}
.br_in_img img{
    min-width: 880px;
    max-width: 880px;
}
/* #endregion */

/* #region Why videos */
.why_videos{
    padding: 35px 0 55px;
}
.wy_vs_lst{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 30px;
    grid-row-gap: 30px;
}
.why_videos .wy_vs_v_cnt:nth-child(1) iframe, .reviews_stud .rs_sd_v_cnt:nth-child(1) iframe {
background-image: url("../img/v1.png") !important;
background-size: auto !important;
}
.why_videos .wy_vs_v_cnt:nth-child(2) iframe, .reviews_stud .rs_sd_v_cnt:nth-child(2) iframe {
background-image: url("../img/v2.png") !important;
background-size: auto !important;
}
/* #endregion */

/* #region Advantages */
.advantages{
    padding: 38px 0 30px;
}
.as_in_lst{
    padding: 30px 0 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    list-style: none;
}
.as_in_lst_im{
    display: flex;
    flex-direction: column;
}
.as_in_im_img{
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    margin-bottom: 18px;
}
.as_in_im_ic{
    line-height: 1;
    font-size: 76px;
    color: #931519;
    margin-right: 20px;
}
.as_in_im_ic_cn{
    font-size: 60px;
    line-height: .75;
    color: #8eb24c;
    opacity: .3;
}
.as_in_im_tx{
    margin: 0;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
    max-width: 300px;
}
/* #endregion */

/* #region Weekdays */
.weekdays{
    position: relative;
    padding-bottom: 46px;
    margin: 0 0 45px;
	padding-top: 150px;
}
.ws_bk{
    content: '';
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    top: 55px;
    display: block;
    width: 100%;
    height: calc(100% - 55px);
    z-index: -1;
    overflow:hidden;
}
.ws_bk > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(15px);
}
.ws_in{
    padding: 45px 0 40px;
}
.ws_in_lst{
    list-style: none;
    padding: 0;
    margin: -8px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.ws_lst_im{
    width: 25%;
    padding: 8px;
    display: flex;
    height: 268px;
}
.ws_lst_im:nth-child(2){
    width: 50%;
}
.ws_lst_im:nth-child(4n){
    width: 50%;
}
.ws_lst_im:last-child {
	width: 25%;
}
.ws_lst_im_img{
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 5px;
}
.ws_lst_im_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.ws_car_lst{
    display: none;
}
/* #endregion */

/* #region Why teach */
.why_teach{
    padding: 42px 0 0 0;
}
.why_teach > .container{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.wy_th_in{
    width: 100%;
    padding-top: 40px;
    display: grid;
    grid-template-columns: auto 1fr;
}
.wy_th_in_img{
    display: flex;
    justify-content: center;
    align-items: center;
}
.wy_th_in_img img{
    max-width: 717px;
    width: 100%;
}
.wy_th_in_tx{
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.wy_th_tx_lst{
    width: 100%;
    counter-reset: step;
    list-style-type: none;
    padding-left: 32px;
}
.wy_th_tx_lst li{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    max-width: 450px;
}
.wy_th_tx_lst li::before{
    content: counter(step, decimal-leading-zero) " ";
    counter-increment: step;
    font-size: 48px;
    line-height: 1;
    font-weight: 700;
    color: #76a2bf;
    margin-bottom: 10px;
}
.wy_th_tx_lst li:not(:last-child){
    margin-bottom: 45px;
}
.wy_th_tx_lst li:nth-child(1) {
    margin-left: -130px;
}
.wy_th_tx_lst li:nth-child(3) {
    margin-left: -30px;
}
.wy_th_tx_lst li:nth-child(4) {
    margin-left: -140px;
}
/* #endregion */

/* #region Events */
.events{
    background: url("../img/events_back.png") top center/cover no-repeat;
    position: relative;
    padding: 30px 0 60px;
    z-index: 1;
    margin-bottom: 60px;
}
.es_el1, .es_el2{
    position: absolute;
    z-index: -1;
    pointer-events: none;
}
.es_el1{
    left: 0;
    top: 55%;
    transform: translateY(-50%);
}
.es_el2{
    left: 78%;
    bottom: -60px;
    transform: translateX(-50%);
}
.events .sn_tl {
	text-align: left;
	max-width: 433px;
	margin-left: 0;
	padding-left: 50px;
}
.field--name-field-banner-akcii img {
max-width: 672px;
}
.es_in{
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column-gap: 20px;
    grid-row-gap: 45px;
}
.es_tx_lst{
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
}
.evs_in{
    /* max-width: 790px;
    margin: auto; */
}
.es_in_bottom{
    font-size: 20px;
    font-weight: 600;
    padding-left: 25px;
    color: #931519;
}
.es_in_bottom_title{
    font-size: 22px;
    font-weight: 700;
    padding-left: 25px;
    /* color: #931519; */
}
.es_in_bottom_title a{
    text-decoration: underline;
}
.sn_subtl{
    /* text-align: center; */
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    font-size: 27px;
    margin-bottom:20px;
    padding-left: 25px;
}
.es_tx_lst li{
    position: relative;
    font-size: 22px;
    font-weight: 500;
    padding-left: 25px;
    line-height: 1.4;
}
.es_tx_lst{
padding-left: 50px;
}
.es_tx_lst li:not(:last-child){
    margin-bottom: 30px;
}
.es_tx_lst li::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 5px;
    height: 100%;
    background-color: #931519;
    display: block;
    border-radius: 5px;
}
.es_in_img{
    margin-top: -100px;
}
.es_img{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    box-shadow: 0 0 43px 0 rgba(15,15,15,.33);
    overflow: hidden;
    max-width: 672px;
    margin-top: 182px;
    /* display: none; */
}
.es_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* #endregion */

/* #region Prices */
.prices{
    padding: 60px 0;
}
.ps_in_lst {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin: 0 -8px 25px;
}
.ps_lst_itm {
    display: flex;
    padding: 0 8px;
}
.ps_itm_inf {
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    border-radius: 10px;
    background-color: #f2f3f9;
    text-align: center;
    display: flex;
    flex-direction: column;
}
.ps_lst_itm:first-child .ps_itm_inf {
    background-color: transparent;
}
.ps_lst_itm:first-child .ps_itm_inf li{
    padding: 0;
    text-align: left;
}
.ps_itm_inf li {
    padding: 10px 15px;
    display: flex;
    flex-direction: column;
    min-height: 70px;
    justify-content: center;
    position: relative;
}
.ps_itm_inf li:not(:last-child)::after {
    content: '';
    border-bottom: 1px solid #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: calc(100% + 16px);
}
.ps_itm_inf li small {
    display: none;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 7px;
}
.ps_inf_tl {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}
.ps_inf_tx {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.1;
}
.ps_inf_pls{
    align-items: center;
}
.ps_inf_pls > div {
    width: 31px;
    height: 31px;
    border-radius: 100%;
    background-color: #76a2bf;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 10px 8px 8px;
}
.ps_inf_prs {
    font-size: 24px;
    line-height: 1;
    font-weight: 500;
}
.ps_inf_ord {
    align-items: center;
    min-height: 82px !important;
}
.ps_inf_ord .btn {
    padding: 10px;
    font-size: 15px;
    max-width: 147px;
    width: 100%;
}
.ps_in_mb{
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.ps_in_mb::-webkit-scrollbar{
    width: 0;
}
.ps_in_tx{
    text-align: center;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;
}
.ps_in_tx *:last-child{
    margin-bottom: 0;
}
/* #endregion */

/* #region Teach Items */
.teach_items{
    padding: 35px 0 25px;
    position: relative;
}
.th_is_el1{
    position: absolute;
    bottom: 100%;
    right: 0;
    z-index: -1;
    transform: translateY(60%);
    pointer-events: none;
}
.th_is_lst{
    margin: 0 0 25px;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-column-gap: 35px;
    grid-row-gap: 60px;
}
.th_lst_itm{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.th_itm_ic{
    width: 141px;
    height: 141px;
    border-radius: 100%;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 13px 27px 0 rgba(15,15,15,.16);
    margin-bottom: 15px;
    font-size: 74px;
    color: #931519;
    transition: transform .3s ease, box-shadow .3s ease;
}
.th_lst_itm:hover .th_itm_ic{
    transform: translateY(-3px)scale(1.05);
    box-shadow: 0 13px 27px 0 rgba(236, 6, 6, 0.16);
}
.th_itm_ic.th_itm_ic--b{
    font-size: 88px;
}
.th_itm_nm{
    text-align: center;
    font-size: 16px;
    line-height: 1.1;
    font-weight: 500;
}
/* #endregion */

/* #region Reviews Stud */
.reviews_stud{
    position: relative;
    padding: 82px 0 90px;
    margin: 55px 0 50px;
}
.rs_sd_bk{
    content: '';
    position: absolute;
    right: 0;
    left: -5px;
    bottom: 0;
    top: 0;
    display: block;
    width: calc(100% + 10px);
    height: 100%;
    z-index: -1;
    overflow: hidden;
}
.rs_sd_bk img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: blur(4px);
}
.rs_sd_lst{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 30px;
    grid-row-gap: 30px;
}
/* #endregion */

/* #region Reviews grad */
.reviews_grad{
    padding: 45px 0;
}
.rs_gd_in{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.rs_gd_lst{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 30px;
    grid-row-gap: 80px;
    padding-top: 50px;
    margin-bottom: 50px;
}
.rs_lst_itm, .rs-lst-itm{
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0 18px 35px 0 rgba(15,15,15,.27);
}
.rs_itm_hr{
    padding: 25px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
.rs_itm_bd{
    padding: 0 25px 50px;
}
.rs_hr_img{
    width: 145px;
    min-width: 145px;
    height: 145px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 100%;
    margin-top: -55px;
    margin-right: 55px;
}
.rs_hr_tl {
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	width: 130px;
}
.rs_hr_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.rs_bd_tx{
    font-size: 14px;
    line-height: 1.5;
}
.rs_gd_in .btn{
    max-width: 314px;
    width: 100%;
}
.rs_hr_bls {
    margin-right: -15px;
    list-style: none;
    padding: 0 0 0 10px;
    margin-left: 20px;
    margin-bottom: 20px;
    font-size: 15px;
    border-left: 2px solid #30a0cd;
	width: 200px;
}
.rs_hr_bls span {
    color: #931519;
    font-weight: 600;
}
/* #endregion */

/* #region Achivments */
.achivments{
    padding: 30px 0;
}
.as_sld{
    box-shadow: 0 7px 16px 0 rgba(15,15,15,.27);
    overflow: hidden;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.as_sld_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* #endregion */

/* #region Contacts */

#ya_map{
    height: 700px;
}
.cs_in{
    display: grid;
    grid-template-columns: 100%;
}
.cs_in_map{
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-start: 1;
    grid-row-end: 1;
    position: relative;
}
.cs_in_map::before {
    content: '';
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    background: linear-gradient(to bottom, rgb(255, 255, 255) 15%, rgba(255,255,255,0.6) 70%, transparent);
    z-index: 1;
    height: 210px;
    pointer-events: none;
}
.cs_in_inf{
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-start: 1;
    grid-row-end: 1;
}
.cs_inf_blk{
    box-shadow: 0 18px 35px 0 rgba(15,15,15,.27);
    background-color: #FFFFFF;
    border-radius: 10px;
    width: 100%;
    max-width: 365px;
    position: absolute;
    margin-top: 75px;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 30px 40px;
    z-index: 1;
    margin-right: 15px;
}
.cs_inf_form{
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}
.cs_frm_flds{
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 20px;
}
.cs_inf_cts{
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}
.cs_cts_itm{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
.cs_cts_itm:not(:last-child){
    margin-bottom: 20px;
}
.cs_itm_ic{
    min-width: 29px;
    width: 29px;
    height: 29px;
    min-height: 29px;
    border-radius: 100%;
    background-color: #FFFFFF;
    box-shadow: 0 8px 13px 0 rgba(15,15,15,.14);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 1;
    color: #931519;
    margin-right: 15px;
}
.cs_itm_cn a, .cs_itm_cn span, .cs_itm_cn p{
    font-weight: 600;
    line-height: 1.6;
    display: inline-flex;
}
.cs_itm_cn a{
    color: #151515;
    transition: color .2s linear;
}
.cs_itm_cn a:hover, .cs_itm_cn a:focus{
    color: #931519;
    text-decoration: none;
}
.cs_itm_cn a.cs_cts_itm_lnk--red{
    color: #931519;
}
.cs_itm_cn a.cs_cts_itm_lnk--red:hover, .cs_itm_cn a.cs_cts_itm_lnk--red:focus{
    color: #151515;
    text-decoration: none;
}
.cs_itm_cn a.cs_cts_itm_lnk--uln{
    text-decoration: underline;
}
/* #endregion */

/* #region Footer */
.footer{
    background-color: #e5e5e5;
    padding: 20px 0;
}
.fr_in_tx{
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: space-between
}
.fr_in_tx p{
    margin: 0;
}
/* #endregion */

/* #region Modal */
.modal{
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(15, 15, 15, .6);
    padding: 15px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: visibility .3s ease, opacity .3s ease;
}
.modal.fade{
    visibility: hidden;
    opacity: 0;
}
.mdl_dg{
    width: 100%;
    max-width: 400px;
    margin: auto;
    max-height: 100%;
    display: flex;
    flex-direction: column;
}
.mdl_cnr{
    display: flex;
    flex-direction: column;
    background-color: #FFFFFF;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    max-height: 100%;
    border-radius: 15px;
}
.mdl_bd{
    display: flex;
    flex-direction: column;
    padding: 45px 55px;
}
.mdl_tl{
    font-size: 24px;
    line-height: 1.1;
    font-weight: 700;
    margin: 0 0 20px;
    text-align: center;
}
.mdl_frm_flds{
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}
.modal .btn{
    width: 100%;
}
/* #endregion */

/* #region Media */
/* < 1280px */
@media (max-width: 1279px) {
    .es_in_img{
        margin-top: 0;
    }
    .container{
        max-width: 992px;
    }
    .hr_cts{
        grid-template-columns: 1fr 1fr;
    }
    .br_in{
        grid-template-columns: 380px 1fr;
    }
    .br_bk_el1{
        display: none;
    }
    .br_in_tx{
        padding-top: 55px;
    }
    .br_in_tl{
        font-size: 40px;
    }
    .br_in_stl{
        font-size: 25px;
    }
    .br_in_img img{
        min-width: 590px;
        max-width: 590px;
    }
    .wy_th_in_img img{
        max-width: 560px;
    }
    .es_img{
        max-width: 487px;
    }
    .rs_itm_hr{
        flex-wrap: wrap;
    }
    .rs_hr_bls{
        margin-right: 0;
        margin-left: 0;
        margin-top: 20px;
        margin-bottom: 0;
    }
}
/* < 1024px */
@media (max-width: 1023px){
    .container{
        max-width: 700px;
    }
    .hr_cts_im:not(.hr_cts_im--mb){
        display: none;
    }
    .sn_tl.sn_tl--ex{
        font-size: 28px;
    }
    .hr_tp{
        border: 0;
    }
    .br_in{
        grid-template-columns: 100%;
    }
    .br_bk_el2{
       bottom: 40%;
    }
    .as_in_lst{
        grid-template-columns: repeat(2, 1fr);
    }
    .sn_tl.sn_tl--ex{
        padding: 30px 20px;
    }
    .ws_lst_im{
        width: 50%;
    }
    .ws_lst_im:nth-child(2) {
        width: 50%;
    }
    .ws_lst_im:nth-child(4n) {
        width: 50%;
    }
    .wy_th_in{
        grid-template-columns: 100%;
    }
    .wy_th_tx_lst{
        padding-left: 0;
        max-width: 400px;
    }
    .wy_th_tx_lst li:nth-child(1){
        margin-left: 0;
    }
    .wy_th_tx_lst li:nth-child(3){
        margin-left: 0;
    }
    .wy_th_tx_lst li:nth-child(4){
        margin-left: 0;
    }
    .wy_th_in_tx{
        padding-top: 25px;
    }
    .es_in{
        grid-template-columns: 100%;
    }
    .es_in_tx{
        grid-row-start: 2;
        grid-row-end: 2;
    }
    .es_in_img{
        margin-top: 0;
    }
    .es_el2{
        display: none;
    }
    .ps_in_lst{
        grid-template-columns: repeat(4, 1fr);
    }
    .ps_lst_itm:first-child{
        display: none;
    }
    .ps_itm_inf li > small {
        display: block;
    }
    .th_is_el1{
        right: -90px;
    }
    .th_is_lst{
        grid-template-columns: repeat(4, 1fr);
    }
    .th_itm_ic{
        width: 121px;
        height: 121px;
        font-size: 60px;
    }
    .th_itm_ic.th_itm_ic--b{
        font-size: 68px;
    }
    .rs_gd_lst{
        grid-template-columns: 100%;
    }
    .hr_cts{
        justify-items: left;
    }
    .hr_cts_im.hr_cts_im--mb{
        display: flex;
    }
    .hr_tp{
        grid-template-columns: auto 1fr;
    }

    .header > .container{
        position: unset;
    }
    .nv_br{
        display: inline-block;
    }
    .hr_nv{
        position: fixed;
        z-index: 1001;
        margin-right: auto;
        width: 100%;
        max-width: 350px;
        background: url('../img/body_back.png') center top/auto, #FFFFFF;
        max-height: 100vh;
        height: 100vh;
        padding: 15px;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear, transform .6s linear, opacity .5s ease;
        transition-delay: 1s, .1s, .1s;
        transform: translateX(-100%);
        left: 0;
        top: 0;
    }
    body.mb_show .hr_nv{
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
        transition-delay: 0s, .1s, .1s;
    }
    .hr_tp_lg{
        margin-right: 15px;
    }
    .nv_ovlr{
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(15,15,15,.45);
        z-index: 1000;
        visibility: hidden;
        opacity: 0;
        transition: visability .6s ease, opacity .6s ease;
        transition-delay: .6s, 0s;
    }
    body.mb_show .nv_ovlr{
        opacity: 1;
        visibility: visible;
        transition-delay: 0s, .2s;
    }
    .nv_mb_hr{
        display: block;
    }
    .hr_nv_lst{
        grid-template-columns: 100%;
    }
    .hr_nv_lst a{
        padding: 15px;
        text-align: left;
        justify-content: flex-start;
        font-size: 20px;
    }
    .nv_mb_el1{
        display: block;
    }
    .rs_hr_bls{
        margin-right: -15px;
        margin-bottom: 20px;
        margin-left: 20px;
        margin-top: 0;
    }
}

/* < 768px */
@media (max-width: 767px){

    .es_in_bottom{
        font-size: 22px;
        font-weight: 600;
        line-height: 1.4;
        padding-left: 0;
    }

    .es_tx_lst>li{
        font-size: 22px;
        line-height: 1.2;
    }
    .container{
        max-width: 500px;
    }
    .br_in_tx{
        padding-top: 30px;
    }
    .br_in_tl{
        font-size: 34px;
    }
    .br_in_img img{
        min-width: auto;
        width: 100%;
    }
    .br_bk_el2 {
        bottom: 29%;
        max-width: 160px;
    }
    .wy_vs_lst{
        grid-template-columns: 100%;
    }
    .sn_tl{
        font-size: 30px;
    }
    .sn_tl.sn_tl--ex{
        padding: 20px;
        font-size: 26px;
    }
    .ws_in{
        padding-top: 20px;
    }
    .wy_th_tx_lst li{
        font-size: 18px;
    }
    .ps_in_lst{
        display: flex;
    }
    .ps_lst_itm{
        min-width: 220px;
    }
    .ps_in_mb{
        margin-bottom: 15px;
    }
    .th_is_lst{
        grid-template-columns: repeat(3, 1fr);
    }
    .rs_sd_lst{
        grid-template-columns: 100%;
    }
    .footer{
        height: 287px;
    }
    .footer > .container{
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        height: 100%;
    }
    .cs_in_map::after {
        content: '';
        bottom: 0;
        left: 0;
        position: absolute;
        width: 100%;
        background: linear-gradient(to top, rgb(229, 229, 229) 15%, rgba(255,255,255,0.6) 70%, transparent);
        z-index: 1;
        height: 210px;
        pointer-events: none;
    }
    .cs_inf_blk{
        margin-right: 0;
        margin-top: 355px;
        right: 50%;
        transform: translateX(50%);
    }
    .rs_hr_bls{
        margin-right: 0;
        margin-left: 0;
        margin-top: 20px;
        margin-bottom: 0;
    }
}

/* < 576px */
@media (max-width: 575px){

    .sn_subtl{
        font-size: 18px;
        padding-left:0;
        margin-bottom: 10px;
    }

    .es_tx_lst{
        padding-left: 20px;
    }

    .es_in_bottom_title{
        padding-left:0;
        font-size: 18px;
        line-height: 1.3;
    }

    .es_in_bottom{
        font-size: 16px;
    }

    .container{
        max-width: 100%;
    }
    .sn_tl{
        font-size: 20px;
    }
    .cs_inf_blk{
        max-width: 285px;
        padding: 25px 15px 30px;
    }
    .frm_tl{
        margin: 0 0 20px;
        text-align: center; 
    }
    .cs_itm_cn a, .cs_itm_cn span, .cs_itm_cn p{
        line-height: 1.4;
        font-size: 15px;
    }
    .as_sld{
        max-width: 200px;
    }
    .as_slider .owl-item {
        display: flex;
        justify-content: center;
    }
    .owl-carousel button.owl-dot{
        min-width: 13px;
        height: 13px;
    }
    .owl-carousel button.owl-dot:not(:last-child) {
        margin-right: 15px;
    }
    .rs_lst_itm, .rs-lst-itm:last-child{
        display: none;
    }
    .reviews_grad{
        padding: 20px 0 20px;
    }
    .rs_gd_in .btn {
        max-width: 208px;
    }
    .btn{
        padding: 12px 25px;
        font-size: 14px;
    }
    .rs_gd_lst{
        margin-bottom: 30px;
    }
    .rs_itm_hr{
        flex-direction: column;
        align-items: center;
        padding: 25px 25px 12px;
    }
    .rs_hr_img{
        margin-right: 0;
        margin-bottom: 12px;
    }
    .rs_hr_tl{
        margin-bottom: 0;
        font-size: 18px;
    }
    .rs_itm_bd{
        padding: 0 10px 10px;
    }
    .reviews_stud {
        padding: 44px 0 60px;
        margin: 0 0 20px;
    }
    .yv_cnt > iframe{
        min-height: 170px;
    }
    .yv_cnt::before{
        width: 40px;
        height: 40px;
        box-shadow: 0 0 0 8px #9315196e;
        font-size: 14px;
    }
    .th_is_lst{
        grid-template-columns: repeat(2, 1fr);
    }
    .th_is_el1{
        display: none;
    }
    .th_itm_ic{
        width: 112px;
        height: 112px;
        font-size: 52px;
    }
    .th_itm_ic.th_itm_ic--b{
        font-size: 54px;
    }
    .th_itm_nm{
        font-size: 14px;
    }
    .ps_in_tx{
        font-size: 14px;
    }
    .ps_in_mb{
        margin: 0 -15px 15px;
    }
    .ps_in_lst{
        padding-left: 8px;
    }
    .ps_lst_itm{
        padding: 0 15px;
    }
    .ps_inf_tl{
        font-size: 20px;
    }
    .ps_itm_inf li:not(:last-child)::after {
        width: 100%;
    }
    .prices{
        padding: 20px 0;
    }
    .events{
        padding: 20px 0 10px;
        margin-bottom: 30px;
    }
    .es_tx_lst li {
        font-size: 14px;
        padding-left: 15px;
        line-height: 1.3;
    }
    .es_tx_lst li:not(:last-child) {
        margin-bottom: 15px;
    }
    .es_in{
        grid-row-gap: 30px;
        display: grid;
    }
    .es_el1{
        display: none;
    }
    .wy_th_tx_lst li{
        flex-direction: row;
        font-size: 14px;
    }
    .wy_th_tx_lst li::before{
        margin-right: 35px;
        font-size: 36px;
    }
    .wy_th_tx_lst li:not(:last-child) {
        margin-bottom: 20px;
    }
    .wy_th_in{
        padding-top: 0;
    }
    .why_teach{
        padding: 15px 0 40px;
    }
    .weekdays{
        margin: 55px 0 15px;
    }
    .ws_in{
        padding-top: 0;
    }
    .sn_tl.sn_tl--ex{
        font-size: 16px;
        padding: 15px 13px;
    }
    .sn_tl.sn_tl--ex::before {
        transform: skew(-5deg);
    }
    .as_in_lst{
        padding: 0;
        display: block;
    }
    .as_in_lst .owl-dots{
        margin-top: 0;
    }
    .advantages{
        padding: 15px 0 30px;
    }
    .why_videos{
        padding: 35px 0 25px;
    }
    .banner{
        padding-bottom: 15px;
    }
    .br_in_img{
height: 300px;
    }
    .br_in_tl{
        font-size: 24px;
        margin-bottom: 15px;
    }
    .br_in_stl{
        font-size: 18px;
    }
    .br_in_arw{
        font-size: 55px;
        margin-right: 15px;
    }
    .br_in_tx_btm{
        padding-right: 15px;
    }
    .br_bk_el2{
        max-width: 82px;
    }
    .hr_bk_el{
        display: none;
    }
    .hr_tp_lg{
        margin-right: 0;
    }
    .hr_nv_lst a{
        font-size: 18px;
        padding: 10px 15px;
    }
    .nv_mb_tl{
        margin-bottom: 15px;
    }
    .hr_lg{
        max-width: 180px;
        width: 180px;
    }
    .wy_th_in_img{height: 389px;}
    .es_img{min-height: 254px;}
    .ws_car_lst{max-height: 460px;}
    .as_in_lst{max-height: 246px;}.ps_in_lst{max-height: 472px;}.as_slider{max-height: 366px;}.achivments{height: 470px;}
    body{
        background-size: 280%;
    }
    .ws_car_lst{
        display: block;
    }
    .ws_in_lst{
        display: none;
    }
    .ws_lst_im_img {
        height: 184px;
    }
    .ws_lst_im_img:not(:last-child) {
        margin-bottom: 20px;
    }
    .ws_car_lst .owl-dots{
        margin-top: 10px;
    }
    .ws_car_lst button.owl-dot{
        background-color: #FFFFFF;
    }
    .ws_in{
        padding-bottom: 0;
    }
    .weekdays{
        padding-bottom: 36px;
    }
    .mdl_bd{
        padding: 25px 15px;
    }
    .mdl_tl{
        font-size: 20px;
    }
    .rs_hr_bls{
        padding: 0 10px 10px 10px;
        border-left: 0;
        border-bottom: 2px solid #30a0cd;
    }
}
/* #endregion */