.open-mobile-menu{
    display: inline-block;
    vertical-align: top;
    float: right;
    width: 30px; height: 19px;
    background-image: url(../img/menu-icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}

.mobile-menu{
    display: none;
    position: absolute;
    top: 125px;; left: 0px;
    width: 100%;
    z-index: 100;
    background-color: #194782;
    border-top: 2px solid #fff;
    padding: 15px 20px 20px 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    
    -webkit-transition: left 0.4s ease-out 0s;
    -moz-transition: left 0.4s ease-out 0s;
    -ms-transition: left 0.4s ease-out 0s;
    -o-transition: left 0.4s ease-out 0s;
    transition: left 0.4s ease-out 0s;
}

.mobile-menu.opened{
    display: block;
    overflow-y: auto;
    height: calc(100vh - 117px);
}

.header .mobile-menu .logo{
    margin-top: 0px;
    margin-bottom: 8px;
    float: none;
}

.header .mobile-menu .logo img{
    width: 160px;
}

.mobile-menu .close-mobile-menu{
    display: block;
    position: absolute;
    right: 54px;
    top: 40px;
    width: 29px; height: 46px;
    background-image: url(../img/menu-icon-vertical.png);
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}

.mobile-menu .nav-wrapper{
    display: block;
}

.mobile-menu .nav-wrapper .nav-main{
    margin-top: 0px;
    padding: 0px;
}

.mobile-menu .nav-wrapper .nav-main--item{
    display: block;
    text-align: left;
    margin-right: 0px;
}

.mobile-menu .nav-wrapper .nav-main--item>a{
    padding: 10px 0px;
    font-size: 17px;
}

.mobile-menu .nav-wrapper .nav-main--item:hover{
    background-color: transparent;
}

.mobile-menu .nav-wrapper .nav-main--item:hover>a,
.mobile-menu .nav-wrapper .nav-main-nested--item > a:hover{
    color: #7581a8;
}

.mobile-menu .nav-wrapper .nav-main--item > a .ico-caret-down-xs{
   /* display: none;*/
}

.mobile-menu .nav-wrapper .nav-main-nested{
    position: static;
    min-width: 0px;
    white-space: normal;
    background-color: transparent;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.mobile-menu .nav-wrapper .nav-main--item:hover .nav-main-nested{
    display: none;
}

.mobile-menu .nav-wrapper .nav-main-nested--item > a{
    border-top: none;
    padding: 10px 0px;
    font-size: 16px;
}

.header .mobile-menu .nav{
    display: block;
    float: none;
    margin: 20px 0px 0px 0px;
    padding: 20px 0px 0px 0px;
    border-top: 1px solid #747888;
}

.header .mobile-menu .nav--item{
    display: block;
    margin-left: 0px;
    margin-bottom: 20px;
}

.mobile-only{
    display: none;
}


::-webkit-input-placeholder {color:transparent;}
::-moz-placeholder          {color:transparent;}/* Firefox 19+ */
:-moz-placeholder           {color:transparent;}/* Firefox 18- */
:-ms-input-placeholder      {color:transparent;}


@media only screen and (max-width: 1200px) {
    
    nobr{
        white-space: normal;
    }
    
    #wrapper{
        min-width: 0px;
    }
    
    .header .top-nav-wrapper{
        margin-right: 15px;
        text-align: right;
    }
    
    .header .top-address-wrapper{
        font-size: 13px;
    }
    
    p{
        margin-bottom: 12px;
    }

    .contents,
    #wrapper,
    .contents{
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
    }

    
    .about-block{
        margin-top: 0px;
        margin-bottom: 20px;
    }
    
     .about-block ul{
         margin-bottom: 0px;
     }
     
     .service-block .pluses,
     .about-block ul{
         margin-left: 0px;
         padding-left: 0px;
     }
     
     .header .nav-main{
         text-align: center;
     }

     
     .header .nav--item{
         margin-left: 12px;
     }
     
     .nav-main-nested--item > a{
         font-size: 14px;
     }

    .nav-main--item{
        margin-right: 6px;
    }
    .nav-main--item > a{
        font-size: 12px;
        padding: 10px 6px;
    }
    
    .l-tiles-col{
        display: block;
        width: 100%;
        float: none;
    }
    
    .l-tile{
        height: 100% !important;
    }
    
    .l-tile.-extend-padding-{
        padding-top: 15px;
        padding-bottom: 15px;
    }
    
    .news-home, .home-left-column{
        padding-right: 0px;
    }
    
    .home-events{
        width: 46%;
    }

    .home-events--header{
        margin-bottom: 15px;
    }
    
    .blog-home{
        margin-left: 50%;
    }
    
    .about-block h1.sub-header{
        margin: 10px 0px 15px 0px;
    }
    
    .services-wrapper{
        margin: 10px 0px;
    }
    
    .services-wrapper .service-block-wrapper .service-block{
        height: auto;
        display: block;
        padding: 15px;
        margin-bottom: 6px;
    }
    
    .services-wrapper .left-column, .services-wrapper .right-column{
        width: 50%;
        padding: 15px 20px 15px 15px;
    }
    
    .services-wrapper .right-column div{
        margin-top: 10px;
    }
    
    .services-wrapper .left-column ul{
        width: 100%;
        margin-right: 0px;
    }
    
    .services-wrapper .left-column ul li, .services-wrapper .service-block-wrapper .service-block li{
        margin-bottom: 10px;
        margin-left: 0px;
    }
    
    .services-wrapper .service-block-wrapper h2{
        margin-bottom: 20px;
    }
    
    .services-wrapper .right-column div{
        margin-top: 20px;
    }
    
    .service-table td{
        display: block;
        width: 100%;
        text-align: left;
    }
    
    .main{
        width: 70%;
    }
    
    .sidebar{
        width: 30%;
        margin: 30px 0px 10px 0px;
    }
    
    .sidebar .sidebar{
        width: 90%;
        padding: 20px 0px 0px 0px;
        border-top: 1px dashed #282828;
    }
    
    .main.news{
        width: 100%;
        background-color: #fff;
    }
    
    .main.-full-{
        width: 100%;
        padding-top: 15px;
    }
    
    .main.contacts-layout{
        width: 100%;
    }
    
    .shop-nav{
        margin-top: -30px;
        margin-bottom: 10px;
    }
    
    .shop-nav--header{
        min-height: 0px;
        padding-bottom: 19px;
    }
    
    .shop-chosen--header{
        margin-bottom: 0px;
    }
    
    .shop-cart-head{
        padding: 5px 0px;
    }
    
    .shop-items{
        margin-left: 0px;
    }

    .shop-tiles-regular .shop-tile{
        width: 100%;
    }
    
    .l-tile-main{
        padding: 10px;
    }
    
    .l-tiles-block{
        display: block;
        float: none;
        width: 100%; 
        margin-top: 0px;
        margin-bottom: 5px;
       /*  height: auto !important;  */
    }
    
    .pub-item{
        width: 50%;
        margin-right: 0px;
    }
    
    .pub-item--link img{
        margin: 0px auto 10px auto;
    }
    
    .pub-contacts,
    .pub-sub{
        margin-right: 10px;
    }
    
    .question-block,
     .schedule-wrap *{
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .news-item-grid{
        display: block;
        width: 50%;
        float: left;
        margin-bottom: 10px;
        height: auto !important;
        padding-bottom: 0px;
    }

    .news-item-main  .news-item--header{
        font-size: 24px;
        margin-bottom: 10px;
    }
    
    .news-item-main .news-item--date{
        font-size: 14px;
        margin-bottom: 2px;
    }
    
    .blog-item{
        width: 100%;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }
    
    .blog-sidebar{
        width: 25%;
        float: left;
    }
    
    .study-banner.-in-sidebar-{
        margin-right: 10px;
    }
    
    iframe,
    .contacts-list,
    .contacts-map{
        width: 100%;
        float: none;
    }
    
    .contacts-map{
        margin-top: 0px;
    }
    
    .contacts-list-row{
        margin-bottom: 12px;
    }
    
    .course-controls--item{
        margin: 10px 20px 10px 0px;
    }
    
    .pub-sub{
        padding: 10px;
    }
    
    .pub-sub h2{
        padding: 10px;
        margin: -10px -10px 10px -10px;
    }
    
    .pub-sub label,
    .pub-sub input[type='text']{
        margin-bottom: 6px;
    }
    
    .pub-sub textarea{
        height: 120px;
        margin: 6px 0px;
    }

    .show-request{
        width: 100%;
        margin-left: -50%;
    }
    
    .request{
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0px 10px;
    }
    .req-form > fieldset, .cart-form > fieldset{
        width: 100%;
    }
    
    .req-form--label{
        display: block;
    }
    
    .cart{
        width: 100%;
        padding-top: 0px;
        padding-bottom: 15px;
    }
    
    .cart-form-note{
        position: static;
    }
    .cart h1{
        margin-bottom: 20px;
    }
    .cart-form-row input[type='text'], .cart-form-row.-double-{
        width: 100%;
    }
    
    .cart-items {
        width: 100%;
        margin-bottom: 15px;
    }
    
    .cart-items td{
        width: auto !important;
    }
    
    .nav-main-nested{
        padding: 0px 6px;
    }
    
    .nav-main-nested--item>a{
       padding: 10px 0px;
    }
    
    .footer-social,
    .footer-left{
        /*display: block;
        float: none;*/
    }
    
    .footer-info,
    .footer-copyright{
        float: none;
        display: block;
    }
    
    .footer-social a:first-child{
        margin-left: 0px;
    }
    
    .sidebar .sidebar{
        width: 100%;
        padding: 20px 0px 0px 0px;
        border-top: 1px dashed #282828;
    }
}

@media only screen and (min-width: 901px) {
    .mobile-menu.opened {
        display: none !important;
    }
}
@media (min-width: 900px) {
	.crosslink_wrapper{
		margin-left: 0;
		margin-right: 0; 
	}
}
@media only screen and (max-width: 900px) {
	.crosslink_wrapper{
		margin-left: -9px;
		margin-right: -9px; 
	}
    #request-source .g-recaptcha{
		margin-bottom:15px;
	}
    ::-webkit-input-placeholder {color: #aeaeae; font-size: 13px;}
    ::-moz-placeholder          {color: #aeaeae; font-size: 13px;}/* Firefox 19+ */
    :-moz-placeholder           {color: #aeaeae; font-size: 13px;}/* Firefox 18- */
    :-ms-input-placeholder      {color: #aeaeae; font-size: 13px;}
    
    .mobile-only{
        display: block;
    }
    
    span.mobile-only{
        display: inline;
    }

    ol.quip-comment-list {
        padding-left: 0 !important;
    }
    
    .header .mobile-menu .nav-main{
        display: flex;
        flex-direction: column;
    }
    .header .mobile-menu .nav{
        border-top-color: #3b87bf;
    }
    
    .mobile-menu-block{
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        background-color: #194782;
        padding: 8px 30px 6px 15px;
    }
    
    .header .top-nav-wrapper,
    .header .top-address-wrapper{
        display: inline-block;
        vertical-align: top;
        margin-top: 0px;
        max-width: 180px;
        text-align: left;
        margin-right: 0px;
    }
    
    .nav--item a{
        color: #4ca9e2;
        border-color: transparent;
    }
    
    .nav--item a:hover{
        color: #4ca9e2;
        border-color: #4ca9e2;
    }
    
    .content{
        padding-bottom: 10px;
        /* padding-top: 145px; */
    }

    .contents{
        /* padding-bottom: 50px; */
        padding-left: 20px;
        padding-right: 20px;
        
    }
    
    #wrapper > .contents {
        padding-top: 145px;
    }
    
    .contents.about-block .contents.about-block{
        padding-left: 0px;
        padding-right: 0px;
    }
    
    .study-banner{
        height: auto;
    }
    
    .contents .contents{
        padding-bottom: 0px;
    }
    
    .header{
        margin-bottom: 25px;
        position: fixed;
        z-index: 9;
    }
    
	.header + #content{
		padding-top:145px;
	}
	
    .header .contents{
        padding: 16px 20px;
    }
    
    .header .logo{
        display: block;
        float: left;
        margin: 0px;
        max-width: 140px;
        padding-top: 10px;
    }
    
    .header .logo img{
        width: 100%;
    }
    
    .header-contact{
        width: auto;
        position: static;
        padding-top: 10px;
        padding-top: 10px;
        margin: -3px 15px 0px 0px;
    }
    
    .header-contact-item.-phone-{
        width: auto;
        color: #fff;
        float: left;
    }
    
    .header-contact-item.-phone- strong{
        color: #fff;
    }

    .header .nav,
    .header-contact .header-contact-item,
    .nav-wrapper,
    #topcontrol,
    .breadcrumbs,
    .desktop-only,
    .header-contact{
        display: none;
    }
    
    
    .home-events{
        float: none;
        width: 100%;
        height: auto !important;
    }
    
    .news-home .home-event{
        height: auto !important;
    }
    
    .news-home:after{
        display: none;
    }

    .blog-home{
        margin-left: 0px;
    }
    
    .about-block h1.sub-header{
        margin: 10px 0px 15px 0px;
    }
    
    .services-wrapper .service-block-wrapper{
        display: block;
        width: 100%;
        float: none;
        padding: 0px;
    }
 
    .sidebar,
    .main{
        width: 100%;
        float: none;
    }
    
    .main img{
        max-width: 100%;
    }
    
    .main>h1, .news-detail>h1{
        font-size: 22px;
        margin-bottom: 20px;
    }
    
    .sidebar{
        margin-bottom: 10px;
        margin-top: 30px;
    }
    
    .sidebar .sidebar{
        padding-top: 20px;
        border-top: 1px dashed #282828;
    }
    
    .main.news{
        background-color: #fff;
    }
    
    .main.-full-{
        padding-top: 15px;
    }
    
    .shop-nav{
        margin-top: 0px;
        margin-bottom: 10px;
    }
    
    .shop-nav--header{
        min-height: 0px;
        padding-bottom: 19px;
    }
    
    .shop-chosen--header{
        margin-bottom: 0px;
    }
    
    .shop-cart-head{
        padding: 5px 0px;
    }
    
    .shop-tiles,
    .shop-tile,
    .shop-item-info{
        position: static !important;
    }
    
    .shop-tiles{
        height: auto !important;
    }
    
    .shop-tile,
    .shop-tiles-regular .shop-tile{
        display: block;
        width: 100%;
        margin-bottom: 6px;
        background-size: cover;
        white-space: nowrap;
    }
    
    .shop-tile{
        max-height: 200px;
        -webkit-background-size: contain;
        background-size: contain;
        background-position: center right !important;
    }
    
    .shop-items{
        margin-left: -10px;
        padding-left: 30px;
        margin-right: -10px;
        padding-right: 30px;
    }
    
    .shop-item{
        display: block;
        width: 100%;
        padding: 20px !important;
        height: auto !important;
        background-color: #fff;
        border: 1px solid #ebebeb;
        margin-bottom: 25px;
    }
    
    .shop-item--desc{
        margin-bottom: 0px;
        padding-right: 0px;
    }
    
    .shop-item--desc span{
        display: block;
        margin: 10px 0px;
    }
     
    .shop-item--desc span span{
        display: inline;
    }
    
    .shop-item--desc:after{
        content: "1";
        margin-left: 100%;
        height: 0px;
        overflow: hidden;
        display: inline-block;
        font-size: 0px;
    }
    
    .shop-item--header{
        display: block;
        margin-bottom: 8px;
    }
    
    .shop-item-txt > img{
        position: static;
    }
    
    .shop-item--desc *{
        text-align: left;
    }
    
    .shop-item--desc input{
        width: 80px !important;
    }
    
    .shop-item-info .btn{
        display: block;
        width: 100%;
        font-size: 18px;
        text-align: center;
        height: 50px;
        line-height: 48px;
    }
    
    .pub-item{
        display: block;
        width: 100%;
    }
    
    .news-item-main,
    .news-item-grid{
        display: block;
        width: 100%;
        float: none;
        margin-bottom: 10px;
        padding: 0px;
        height: auto !important;
    }
    
    .news-item-main p,
    .news-item-grid p{
        height: auto !important;
        max-height: 100px;
    }
    
    .blog-sidebar{
        display: block;
        width: 100%;
        margin: 0px;
    }
    
    .contacts-map{
        height: 250px;
        margin-top: 0px;
    }
    
    .contacts-map>ymaps{
        width: 100% !important;
        height: 100% !important;
    }
    
    .contacts-list-row{
        margin-bottom: 12px;
    }
    
    .course-controls--item{
        margin: 0px 20px 0px 0px;
    }

    .course-controls--remain,
    .course-request{
        display: block;
        margin: 10px 0px;
        text-align: center;
        width: auto !important;
    }
    
    .course-title{
        margin-bottom: 8px;
    }
    
    .schedule-wrap:after,
    .schedule-wrap:before{
        display: none;
    }
    
    .schedule{
        border: none;
    }
    
    .schedule thead{
        display: none;
    }
    
    .schedule tr,
    .cart-items tr{
        margin-bottom: 10px;
        display: block;
        border: 1px solid #d8d8d8;
    }
    
    .schedule td,
    .cart-items td{
        display: block;
        text-align: right;
        font-size: 13px;
        border: 0;
        border-bottom: 1px solid #ededed;
        width: 100%;
        padding: 10px;
    }
    
    .cart-items td:last-child,
    .schedule td:last-child{
        border-bottom: none;
    }
    
    .schedule td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        display: block;
        color: #7a7a7a;
        font-size: 18px;
        margin-top: 2px;
    }
    
    .schedule .course-time{
        text-align: left;
        padding-left: 32px;
        margin-bottom: 6px;
        min-height: 24px;
        font-size: 16px;
    }
    
    .cart-items .cart-items--sum{
        font-size: 16px;
        font-weight: bold;
    }
    
    .shop-chosen textarea{
        width: 100%;
    }
    
    .schedule .course-time .mobile-only{
        display: inline;
        position: relative;
        margin-left: 10px;
        padding-left: 32px;
    }
    
    .schedule .course-time [class^='ico']{
        left: 0px;
        top: 1px;
    }
    
    .schedule .course-time .mobile-only .ico-clock{
        top: -2px;
    }
    
    .schedule .about-course{
        text-align: center;
    }
    
    .req-form .label-input span.select_name,.req-form .label-input span.label_name, .cart .label-input span{
        display: none;
    }
    
    .req-form .label-input input, .cart .label-input input{
        padding-left: 16px !important;
    }
    
    .services-wrapper .left-column, .services-wrapper .right-column{
        display: block;
        float: none;
        width: 100%;
    }
    
    .services-wrapper .left-column{
        text-align: center;
    }
    
     .services-wrapper .left-column li:before{
         display: none;
     }
    
    .footer{
        position: relative;
        height: auto;
        padding-bottom: 10px;
    }
    
    .footer--contacts{
        margin-top: -15px;
    }
    
    .footer .nav--item{
        display: block;
        margin-right: 0px;
        margin-bottom: 20px;
    }
    
    .footer-nav-wrapper,
    .footer--logo
    {
        display: block;
        float: none;
        margin-top: 0px;
    }
    
    .footer--logo-wrapper{
        display: block;
        float:none;
    }
    
    .footer--logo{
        margin-bottom: 20px;
        float: left;
        margin-right: 10px;
    }
    
    .footer .nav--item a:hover{
        color: #fff;
    }
    
    .footer .footer-social{
        margin-top: 0px;
        margin-bottom: 20px;
        float: none;
    }
    
    .footer--contacts.mobile-only{
        /*float: right;*/
        margin-top: 0px;
        margin-bottom: 10px;
    }
    
    .footer--contacts.mobile-only span{
        margin-right: 0px;
        display: block;
    }
    
    .grid-row{
        margin-top: 10px;
        margin-left: 0px;
    }
    
    [class*='col-'] {
        display: block;
        width: 100%;
        margin: 5px 0px;
        float: none;
    }
    
    [class*='btn-'], [class^='btn']{
        font-size: 13px;
    }
    
    .cart-submit{
        display: block;
        margin-top: 15px;
        width: 100%;
        float: none;
    }
    
    .shop-block .shop-item--img{
        max-width: 100%;
    }
    
    .scrollingHotSpotRight,
    .scrollingHotSpotLeft{
        display: none !important;
    }
    
    .promo-block-wrapper{
        width: 100%;
    }
    
    .services-wrapper.our-services{
        padding-top: 15px;
    }
    
    .services-wrapper .service-block-wrapper.our-services .service-block{
        padding-right: 10px;
        padding-top: 0px;
        padding-bottom: 0px;
        margin-bottom: 0px;
    }
    
    .services-wrapper .service-block-wrapper.gray-block .service-block{
        margin-bottom: 30px;
    }
    
    .service-block .pluses{
        padding-bottom: 20px;
        padding-left: 20px;
    }
    
    .promo-block{
        margin-bottom: 20px;
    }
    
    .schedule-row{
        display: block;
    }
    
    .schedule-row .schedule-date,
    .schedule-row .schedule-links,
    .schedule-row-bottom .schedule-date,
    .schedule-row-bottom .schedule-links,
    .schedule-row-bottom.row-mobile{
        display: none;
    }
    
    .schedule-row .schedule-info,
    .schedule-row-bottom .schedule-info{
        display: block;
        width: 100%;
        padding: 10px 0px;
    }
    
    .schedule-info-places .places,
    .schedule-info-places .prices{
        display: block;
        float: none;
    }
    
    .schedule-info-text{
        margin-bottom: 10px;
    }
    
    .schedule-info-places .places,
    .schedule-info-places .prices{
        margin-bottom: 10px;
    }
    
    .schedule-date-header{
        margin-bottom: 5px;
    }
    
    .schedule-date-list li{
        display: inline;
        font-size: 18px;
    }
    
    .schedule-date-list{
        margin-bottom: 10px;
    }
    
    .helper-item .btn-blue, .helper-item .course-controls--item {
        display: block;
        width: 100%;
        margin-bottom: 0px;
        margin-top: 10px;
    }
    
     .sidebar .sidebar{
        padding-top: 20px;
        border-top: 1px dashed #282828;
    }

    .text-page img{
        max-width: 100% !important;
        height:auto !important;
        width: 100%\9 !important;
    }
    .l-tiles-block{
        padding-right: 0;    
    }
    .pub-contacts, .pub-sub{
        margin-right:0;
    }
}

@media only screen and (max-width: 400px){
    .header .logo{
        max-width: 100px;
    }
    
    .header .top-address-wrapper{
        font-size: 11px;
        max-width: 150px;
    }
    
    .mobile-menu{
        top: 115px;
    }
    
    .footer--logo{
        max-width: 120px;
    }
    
    .footer--logo img{
        width: 100%;
    }
    
    .footer--contacts.mobile-only{
        margin-top: -5px;
    }
}
*, :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}