@font-face {
    font-family: 'MontserratSemiBold';
    src: url('../fonts/Montserrat-SemiBold.eot');
    src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'),
    url('../fonts/Montserrat-SemiBold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Montserrat-SemiBold.woff') format('woff'),
    url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'MontserratBold';
    src: url('../fonts/Montserrat-Bold.eot');
    src: local('Montserrat Bold'), local('Montserrat-Bold'),
    url('../fonts/Montserrat-Bold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Montserrat-Bold.woff') format('woff'),
    url('../fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'MontserratRegular';
    src: url('../fonts/Montserrat-Regular.eot');
    src: local('Montserrat Regular'), local('Montserrat-Regular'),
    url('../fonts/Montserrat-Regular.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Montserrat-Regular.woff') format('woff'),
    url('../fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'MontserratMedium';
    src: url('../fonts/Montserrat-Medium.eot');
    src: local('Montserrat Medium'), local('Montserrat-Medium'),
    url('../fonts/Montserrat-Medium.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Montserrat-Medium.woff') format('woff'),
    url('../fonts/Montserrat-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'MontserratExtraBold';
    src: url('../fonts/Montserrat-ExtraBold.eot');
    src: local('Montserrat ExtraBold'), local('Montserrat-ExtraBold'),
    url('../fonts/Montserrat-ExtraBold.eot?#iefix') format('embedded-opentype'),
    url('../fonts/Montserrat-ExtraBold.woff') format('woff'),
    url('../fonts/Montserrat-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
body{
    font-family: MontserratRegular, sans-serif;
    line-height: 1.4;
    color: black;
    /*min-height: 100vh;*/
    padding-top: 6.111rem;
}
.test{
    width: 1440px;
    left: 50%;
    transform: translateX(-50%);
}
.logo{
    display: block;
    width: 8.944rem;
}
.container {
    width: 64.5rem;
}
header {
    padding: 1.7rem 0;
    font-family: MontserratMedium, sans-serif;
    background-color: #F0F0F0;
}
.login_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000000;
    padding: 0.6rem 0.65rem;
    padding-right: 1.3rem;
    position: relative;
    border-radius: 10px;
    transition: all 0.35s;
}
.login_btn:hover{
    background-color: #8161FF;
    color: white;
    border-color: #8161FF;
}
.login_btn:hover img{
    filter: brightness(0) invert(1);
}
.login_btn img{
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.35s;
}
.login_btn.clicked_btn{
    border-color: transparent!important;
    background-color: transparent!important;
}
.login_btn.clicked_btn:hover{
    color: #8161FF;
}
.login_btn.clicked_btn:hover img{
    filter: none;
}
main {
    display: block;
    padding-top: 3.2rem;
    margin-bottom: 2rem;
}
.sm_title {
    font-size: 1rem;
    margin-bottom: 0.7rem;
}
.main_info {
    border: 1px solid #4cdb00;
    border-radius: 15px;
    margin-left: 3.5rem;
    overflow: hidden;
}
.main_info_table {
    padding: 0.9rem 1rem;
    padding-left: 1.65rem;
    padding-bottom: 0;
}
.main_info_table table{
    width: 100%;
    border-collapse: collapse;
}
.main_info_table table th{
    font-family: MontserratSemiBold, sans-serif;
    /*width: 25%;*/
}
.main_info_table table td:first-child{
    font-family: MontserratMedium, sans-serif;
    width: 31.1%;
}
.main_info_table table td {
    padding: 0.2rem 0;
}
.main_info_table table td:last-child{
    width: 16%;
    color: #7AB160;
}
.main_info_bottom{
    font-size: 0.778rem;
    padding: 0.25rem 1.7rem;
    margin-top: 0.5rem;
    background: #F0F0F0;
    color: rgba(0, 0, 0, 0.5);
}
.cities{
    display: flex;
    flex-wrap: wrap;
}
.cities a {
    display: flex;
    align-items: center;
    margin-right: 1.3rem;
}
.cities a.active{
    border: 1px solid #000000;
    padding: 0.45rem 0.55rem;
    border-radius: 15px;
    color: #000000;
}
.cities a.active:hover img{
    opacity: 0.5;
}
.cities a.active img{
    display: block;
    transition: all 0.5s;
}
.cities a img {
    margin-left: 0.49rem;
    display: none;
}
.main_search{
    margin-top: 3.2rem;
    position: relative;
}
.main_search input{
    border: 1px solid #000000;
    border-radius: 10px;
    padding: 0.55rem 1rem;
    padding-left: 2rem;
    background-color: transparent;
    font-size: 0.889rem;
    width: 14.1rem;
}
.main_search button{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 2.2rem;
    background-color: transparent;
    transition: all 0.5s;
}
.main_search button:hover{
    opacity: 0.5;
}
.main_search input::placeholder{
    color: rgba(0, 0, 0, 0.8);
}
.container_long {
    width: 78.3rem;
    margin: 0 auto;
}
#box-2{
    padding-top: 2.5rem;
/*    font-size: 0.9rem;*/
}
#box-2 td{
/*     word-break: break-all;*/
}
.kurs_table{
    width: 100%;
    border-collapse: collapse;
}
.th_border{
    border: 1px solid #000000;
    border-radius: 15px;
}
.kurs_table th{
    font-family: MontserratSemiBold, sans-serif;
    border-right: 1px solid #000000;
    text-align: center;
    padding: 0.45rem 0.5rem;
}

.kurs_table th:last-child{
    border: none;
}
.kurs_table td{
    border-right: 1px solid white;
}
.kurs_table td:not(:first-child){
    padding: 0.5rem;
}
.kurs_table td:last-child{
    border: none;
}
.td_border{
    border-radius: 15px;
    margin-top: 3px;
    background-color: #F0F0F0;
}

.td_info{
    padding: 1.2rem 1rem;
    /*padding-left: 2.6rem;*/
    padding-left: 1.6rem;
}
.td_name{
    font-family: MontserratMedium, sans-serif;
}
.td_name_istochnik{
    color: rgba(0, 0, 0, 0.8);
    font-size: 0.833rem;
}
.td_name_istochnik > span{
    color: rgba(255, 0, 0, 0.8);
}
.mb{
    margin-bottom: 0.2rem;
}
.td_status{
    display: flex;
    align-items: center;
    color: rgba(0, 0, 0, 0.8);
    font-size: 0.833rem;
}
.td_status:before{
    display: block;
    width: 9px;
    height: 9px;
    content: "";
    background-color: #7AB160;
    border-radius: 50%;
    margin-right: 0.3rem;
}
.td_status.red:before{
    background-color: #A10404;
}
.td_time{
    font-family: MontserratMedium, sans-serif;
    text-align: center;
}
.td_time span{
    color: rgba(0, 0, 0, 0.5);
    font-size: 0.889rem;
    display: inline-block;
    padding-left: 0.3rem;
}
.td_updated{
    color: rgba(0, 0, 0, 0.5);
    font-size: 0.556rem;
    margin-top: 0.5rem;
}
.td_flex{
    padding: 0 0.5rem;
    position: relative;
    font-family: MontserratBold, sans-serif;
}
.td_flex b{
    font-family: MontserratBold, sans-serif;
}
.td_contacts{
    font-family: MontserratMedium, sans-serif;
}
.td_contacts a{
    display: block;
}
.kurs_table th.t_left{
    text-align: left;
    padding-left: 3.1rem;
}
.kurs_table th.t_left2{
    text-align: left;
    padding-left: 4.2rem;
}
.th_total{
    margin-top: 1rem;
}
.text_logo{
    font-family: MontserratSemiBold, sans-serif;
}
.copy{
    font-family: MontserratMedium, sans-serif;
}
footer{
    padding: 2.5rem 0;
    background: #F0F0F0;
}
.th_flex{
    padding: 0 1.1rem;
}
.th_flex a{
    display: flex;
    align-items: center;
}
.th_flex a img,.th_flex span img {
    margin-left: 8px;
    position: relative;
    left: -3px;
    top: -1px;
}

.arrow {
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    cursor: pointer;
}
.arrow_down{
    transform: rotate(45deg);
}
.arrow_up{
    transform: rotate(-135deg);
}
.drop_th{
    position: relative;
}

.kurs_names{
    display: none;
    padding: 0.7rem 1.2rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    border: 1px solid black;
    background-color: white;
    z-index: 5;
    text-align: center;
    box-shadow: 0px 196px 78px rgba(0, 0, 0, 0.01), 0px 110px 66px rgba(0, 0, 0, 0.05), 0px 49px 49px rgba(0, 0, 0, 0.09), 0px 12px 27px rgba(0, 0, 0, 0.1), 0px 0px 0px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    width: 5.389rem;
}
.show_work_table{
    display: inline-block;
    color: #A10404;
    border-bottom: 1px solid;
    margin: 0;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}
.show_work_table:hover{
    border-color: transparent;
}
.container_long,#box-1 h1{cursor:default}
.toggle_course{
    display:flex;
    align-items:center;
}
.toggle_course:hover{
    cursor:pointer;
}
.kurs_names span,.kurs_names a{
    display: block;
    border-radius: 5px;
    padding: 2px;
}
.kurs_names span:hover{
    color:#8161FF;
    cursor:pointer;
}
.kurs_names span.active{
    color: black;
    border: 1px solid #000000;
}
.kurs_names span:not(:last-child){
    margin-bottom: 0.4rem;
}
.form_item:first-child{
    border-right: 1px solid black;
}
.form_item {
    padding: 3rem 2.7rem;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.border_form{
    border: 1px solid black;
    width: 40.3rem;
    margin: 0 auto;
    border-radius: 25px;
}
main {
    padding-top: 1.7rem;
}
.form-group {
    margin-bottom: 0.7rem;
}
.form-group label{
    font-family: MontserratMedium, sans-serif;
    font-size: 0.889rem;
    margin-bottom: 0.1rem;
}
.form_item .sm_title {
    margin-bottom: 1.9rem;
}
.form-control{
    height: auto;
    border: 1px solid black;
    background-color: transparent;
    border-radius: 10px;
    padding: 0.15rem 1rem;
}
.form_check{
    cursor: pointer;
    display: flex;
    align-items: center;
    font-weight: normal;
    font-family: MontserratRegular, sans-serif;
    font-size: 0.833rem;
    margin: 0;
}
.form_check input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid black;
    width: 1.4rem;
    height: 1.4rem;
    margin-right: 0.3rem;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.form_check input:after{
    font-family: FontAwesome, sans-serif;
    content: "\f00c";
    color: white;
}
.form_check input:checked{
    background-color: #8161FF;
    border-color: #8161FF;
}
.login_flex a{
    font-size: 0.833rem;
    color: #8161FF;
}
.login_flex a:hover{
    text-decoration: underline;
}
.btn_box {
    margin-top: 0.7rem;
}
.btn{
    font-family: MontserratMedium, sans-serif;
    font-size: 0.889rem;
    padding: 0.4rem 0.6rem;
    background: #8161FF;
    border-radius: 10px;
}
.btn:hover{
    background: rgba(129, 97, 255, 0.5);
}
.btn.primary{
    background: rgba(129, 97, 255, 0.5);
}
.btn.primary:hover{
    background: #8161FF;
}
.reg_form .btn_box{
    margin-top: 1.3rem;
}
.forgot {
    min-height: 21.8rem;
    padding-top: 5.9rem;
    padding-bottom: 1rem;
    text-align: center;
}
.forgot_body{
    width: 100%;
}
.sm_input {
    width: 14.7rem;
    margin: 0 auto;
}
.forgot_body .sm_title {
    margin-bottom: 1.9rem;
}
.forgot_body .form-group label {
    margin-bottom: 0.9rem;
}
.forgot_body .btn_box {
    margin-top: 1.1rem;
}

.email_forgot {
    padding-top: 4.2rem;
}
.email_forgot .forgot_body .sm_title {
    margin-bottom: 0.7rem;
}
.helper_span{
    display: block;
    margin-top: 0.5rem;
    margin-bottom: -0.4rem;
}
.code_inputs .form-control{
    width: 18%;
    text-align: center;
    padding-left: 0!important;
    padding-right: 0!important;
}
.vertical_form {
    padding: 0 4.1rem;
}
.vertical_form .form-group label{
    margin: 0;
    width: 13rem;
    text-align: left;
    font-size: 1rem;
}
.vertical_form .form-control{
    width: calc(100% - 13rem);
}
.vertical_form .form-group{
    margin-bottom: 1rem;
}
.forgot_success{
    padding-top: 3.3rem;
    height: 18.8rem;
    min-height: unset;
    padding-bottom: 1.7rem;
}
.forgot_success .forgot_body{
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.success_img{
    margin-bottom: 3.7rem;
}
.btn.long{
    padding: 0.4rem 2rem;
}
.reg_page {
    /*padding-top: 7.4rem;*/
    padding-bottom: 3rem;
}
.reg_title{
    font-size: 1.056rem;
    margin-bottom: 2.3rem;
}
.section_text {
    text-align: center;
    margin-bottom: 1.6rem;
}
.section_text a{
    border-bottom: 1px solid #8161FF;
}
.reg_page_form {
    padding-top: 7.2rem;
}
.hor_groups .form-group{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.13rem;
}
.hor_groups .form-group label{
    margin: 0;
    width: 22rem;
    font-size: 1rem;
}
.hor_input{
    width: calc(100% - 22rem);
    padding-left: 1rem;
    display: flex;
    justify-content: space-between;
}
.reg_form_title{
    margin-bottom: 2.2rem;
}
.big_control .form-control{
    padding: 0.3rem 1rem;
}
.w30 {
    width: 32%;
}
.w50 {
    position: relative;
    width: 48%;
}
.w50 .sm_title {
    position: absolute;
    top: -3.4rem;
    left: 0;
}
.ab_span{
    position: absolute;
    top: 2.3rem;
    left: 0;
    width: 100%;
    font-size: 0.833rem;
}
.reg_page_form_bottom {
    margin-top: 6.7rem;
}
.big_check {
    padding-left: 5.9rem;
    margin-top: -0.2rem;
}
.big_check label{
    cursor: pointer;
    display: flex;
    align-items: center;
    font-family: MontserratMedium, sans-serif;
    line-height: 1.12;
}
.big_input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid black;
    width: 1.722rem;
    height: 1.722rem;
    margin-right: 1.8rem;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.big_input:after{
    font-family: FontAwesome, sans-serif;
    content: "\f00c";
    color: white;
}
.big_input:checked{
    background-color: #8161FF;
    border-color: #8161FF;
}
.weeks{
    border-top: 1px solid #8161FF;
    margin-top: 2.6rem;
    padding-top: 2rem;
}
.week_right {
    width: 13.1rem;
}
.weeks .sm_title {
    margin-bottom: 2.1rem;
}
.week_right .content p{

    line-height: 1.23;
    margin-bottom: 5rem;
}
.week_right .content p:last-child{
    margin: 0;
}
.week_left{
    width: calc(100% - 17.3rem);
}
.d32 {
    width: 38.8%;
}
.d31 {
    width: 36.8%;
}
.d30 {
    width: 24.3%;
}
.day_flex .big_check{
    margin: 0;
    padding: 0;
}
.work_input .form-control{
    width: 3.7rem;
    margin-left: 0.6rem;
    padding: 0 0.2rem;
    border-radius: 5px;
    text-align: center;
}
.work_input{
    margin-right: 0.6rem;
    display: flex;
    align-items: center;
    font-family: MontserratMedium, sans-serif;
}
.day_inputs {
    margin-bottom: 0.56rem;
}
.reg_page_form_last{
    margin-top: 3rem;
}
.alert_text{
    font-family: MontserratRegular, sans-serif;
    font-size: 0.833rem;
    color: #A10404;
    display: inline-block;
    margin-left: 0.7rem;
}
.reg_page_form_last .hor_input {
    width: calc(100% - 36rem);
}
.reg_page_form_last .hor_groups .form-group{
    justify-content: flex-start;
}
.purple_link{
    display: inline-block;
    color: #8161FF;
}
.purple_link:hover{
    text-decoration: underline;
}
.marged_btns {
    margin-top: 1.4rem;
}
.marged_btns .btn{
    margin: 0 0.5rem;
}
.btn.white{
    border: 1px solid black;
    background-color: transparent;
}
.register_email .sm_title{
    border-bottom: 1px solid #8161FF;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
}
.register_email{
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.register_email .vertical_form .form-group label {
    width: 7rem;
}
.register_email .vertical_form .form-control {
    width: calc(100% - 9rem);
}
.register_email .forgot_body .btn_box {
    margin-top: 2.5rem;
}
.account_page {
    /*padding: 0 1.8rem;*/
    /*padding-top: 3.4rem;*/
    padding-bottom: 2rem;
}
.day_flex .big_check label{
    margin: 0;
}
.account_menu{
    margin-top: 4.5rem;
}
.account_menu a{
    border: 1px solid black;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.5rem;
    width: 24.5%;
    border-radius: 10px;
    padding: 0 0.5rem;
    line-height: 1.2;
    font-family: MontserratMedium, sans-serif;
}
.account_menu a.active, .account_menu a:hover{
    color: black;
    border-color: #8161FF;
}
.account_form {
    padding-top: 3.3rem;
}
.account_form .main_search {
    margin-top: 1.2rem;
}
.account_form .main_search input {
    width: 9.8rem;
}
.account_kurs {
    margin-top: 1.3rem;
    /*width: 41.3rem;*/
}
.account_kurs table{
    width: 100%;
    border-collapse: collapse;
}
.account_kurs table th:nth-child(1){
    width: 45.5%;
}
.account_kurs table th:nth-child(2){
    width: 29.5%;
}
.account_kurs table th:nth-child(3){
    width: 20%;
}
.account_kurs table th:nth-child(4){
    width: 5%;
}
.account_kurs table td:last-child{
    text-align: right;
}
.account_kurs table td {
    padding-top: 1.1rem;
    padding-bottom: 0.8rem;
}
.account_kurs table th{
    font-family: MontserratSemiBold, sans-serif;
}
.account_kurs .form-control{
    width: 3.7rem;
    text-align: center;
    border-radius: 5px;
    padding: 0.1rem 0.1rem;
}
.account_kurs .btn_box{
    margin-top: 2rem;
}
.sm_red{
    font-size: 0.667rem;
    display: block;
    color: #A10404;
}
.reg_page_form_edit_dop{
    margin-top: 3rem;
}
.account_page .reg_page_form_last .hor_input {
    width: calc(100% - 45rem);
}
.reg_page_form_last .week_right{
    position: absolute;
    top: 0;
    right: 0;
    width: 17rem;
}
.account_page .reg_page_form_last  .btn_box {
    margin-top: 3rem;
}
.account_page .reg_page_form {
    padding-top: 4rem;
}
.reg_form_title2{
    margin-bottom: 4rem;
}
.delete_account{
    padding-top: 3.3rem;
}
.delete_account .sm_title {
    margin-bottom: 2.3rem;
}
.delete_account_form {
    padding-top: 1.2rem;
}
.delete_account_form .hor_input{
    width: calc(100% - 39.5rem);
}
.delete_account .hor_groups .form-group{
    justify-content: flex-start;
}
.sm_lineh {
    padding-right: 3rem;
    padding-top: 0.5rem;
    line-height: 1.25;
}
.page{
    padding-top: 4rem;
}
.header_drop {
    position: absolute;
    right: 0;
    top: 100%;
    background: #F0F0F0;
    border-radius: 15px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 1rem 1rem;
    font-family: MontserratMedium, sans-serif;
    text-align: right;
    padding-top: 0;
    display: none;
}
.header_drop a{
    display: inline-block;
    margin-bottom: 0.5rem;
}
.header_drop a:last-child{
    color: #A10404;
    border-bottom: 1px solid;
    margin: 0;
}
.header_drop a:hover{
    border-color: transparent;
}
.time_table{
    width: 100%;
    font-size: 0.9rem;
}
.time_table th{
    background-color: #F0F0F0!important;
    border: 1px solid #F0F0F0!important;
    padding: 0.5rem!important;
    width: 33.33%!important;
    text-align: left!important;
}
.time_table td{
    border: 1px solid #F0F0F0!important;
    text-align: left!important;
    padding: 0.5rem!important;
}
.blue_link{
    text-decoration: underline;
    color: #8161FF;
}
.blue_link:hover{
    text-decoration: none;
}
.sm_ninja {
    font-size: 0.9rem;
    margin-top: 0.8rem;
    color: #b1afaf;
}
.sm_ninja a{
    color: #b1afaf;
    text-decoration: underline;
}
.sm_ninja a:hover{
    color: #b1afaf;
    text-decoration: none;
}
