@media(max-width:450px) {

    html {
        font-size: 12px !important;
        line-height: 15px !important;
        overflow-x: hidden;
        overflow-y: scroll;
        width: 450px;
    }
    
    
    #top-line>.-first-free {
        left: 25%;
    }

    /* шапка: телефон в одну строку, мессенджеры ближе друг к другу */
    #top-line>* {
        margin: 0 8px;
    }
    #top-line a[href^="tel:"] {
        white-space: nowrap;
    }
    #top-line a.-wa {
        margin-right: 3px;
    }
    #top-line a.-tg {
        margin-left: 3px;
    }

    /* список адресов залов под картой — показываем только на мобиле */
    .map-addr-mobile {
        display: block;
        margin: 18px 0 0;
        text-align: left;
    }
    .map-addr-hint {
        font-size: 15px;
        line-height: 20px;
        font-weight: 600;
        margin: 0 0 8px;
        padding: 0 4px;
        color: #000;
    }
    .map-addr-list {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .map-addr-list li {
        border-top: 1px solid rgba(0, 0, 0, .14);
    }
    .map-addr-list li:last-child {
        border-bottom: 1px solid rgba(0, 0, 0, .14);
    }
    .map-addr-list a {
        display: block;
        position: relative;
        padding: 13px 40px 13px 12px;
        text-decoration: none;
    }
    .map-addr-list b {
        display: block;
        font-size: 16px;
        line-height: 21px;
        font-weight: 600;
        color: #d78d0e;
    }
    .map-addr-list span {
        display: block;
        font-size: 15px;
        line-height: 20px;
        color: #222;
    }
    .map-addr-list a::after {
        content: "→";
        position: absolute;
        right: 12px;
        top: 50%;
        margin-top: -12px;
        font-size: 22px;
        line-height: 24px;
        color: #d78d0e;
    }

    html body section.top { 
/*        margin-top: 0; */
    }

    html body {
        width: 450px;
        overflow-x: hidden;
        overflow-y: visible;
    }

    html body section.top h2 strong {
        font-size: 32px;
        line-height: 38px;
    }

    html body section.top .slides,
    html body section.top .video-container {
        height: 100%;
    }

    html section .wrp {
        max-width: 430px;
    }

    html section.description {
        width: 400px;
    }
    
    html section.description p {
        max-width: 400px;
    }
    
    html section.description {
        padding-left: 20px;
    }
    
    html section.intro{
        padding-left: 0;
    }
    
    html section.intro h2,
    html section.intro h3 {
        max-width: 400px;
        font-size: 40px;
        line-height: 48px;
        white-space: normal;
    }

    html section h3 {
        font-size: 28px;
        line-height: 35px;
        padding-left: 20px;
        white-space: normal;
    }
    html section h3 small {
        display: block;
        margin: -12px 0 0 0;
    }
    html section h3 em {
        -webkit-transform: scale(.8, 1);
        -webkit-transform-origin: left center;
        transform: scale(.8, 1);
        transform-origin: left center;
    }
    html section h3 small.br {
        top: -5px;
    }

    html section ul.addresses {
        padding-left: 20px;
    }

    html section ul.addresses>li {
        font-size: 15px;
        line-height: 18px;
    }
    html section ul.addresses>li::before {
        left: -20px;
        width: 15px;
        height: 22px;
        top: 20px;
    }
    html section ul.addresses>li>strong {
        font-size: 15px;
        line-height: 18px;
    }

    html section ul.addresses>li ul.times li>span.days {
        width: 140px;
        -webkit-transform: scale(.85, 1);
        -webkit-transform-origin: left center;
        transform: scale(.85, 1);
        transform-origin: left center;
    }
    html section.women ul.addresses>li ul.times li>span.days {
        width: 150px;
    }
    html section ul.addresses>li ul.times li>span.time {
        width: 90px;
        -webkit-transform: scale(.85, 1);
        -webkit-transform-origin: left center;
        transform: scale(.85, 1);
        transform-origin: left center;
    }
    html section.child-groups:not(.women) ul.addresses>li ul.times li>span.time {
        width: 160px;
    }
    html section.child-groups.women ul.addresses>li ul.times li>span.time {
        width: 100px;
    }
    html section ul.addresses>li ul.times li>span.trainer {
        width: 200px;
        -webkit-transform: scale(.85, 1);
        -webkit-transform-origin: left center;
        transform: scale(.85, 1);
        transform-origin: left center;
        font-size: .9em;
    }
    html section.child-groups:not(.women) ul.addresses>li ul.times li>span.trainer {
        white-space: normal !important;
        width: 140px;
    }
    html section ul.addresses>li a.addr-4 {
        display: block;
        margin-left: 0;
    }
    html section.child-groups {
        padding-top: 150px;
/*        min-height: calc(100% - 100px); */
    }

    html section.map #gmap {
        width: 420px;
        height: 400px;
    }

    html footer .wrp {
        width: 250px;
        font-size: 12px;
        padding: 25px 170px 25px 10px;
        background-size: 40%;
        white-space: normal;
    }
    html footer {
        padding: 10px 0 50px 0;
    }

    html .call-us {
        height: 70px;
        line-height: 30px;
        font-size: 18px;
    }
    html .call-us strong {
        display: block;
        font-size: 28px;
    }

    section.all-groups, section.child-groups, section.map {
        margin: 60px 0 !important;
    }
    
    section ul.addresses#addr-2>li ul.times li>span.days {
        width: 200px !important;
    }
    section ul.addresses#addr-2>li ul.times li>span.days i {
        width: 75px !important;
    }
    ul.addresses#addr-2>li ul.times li>span.time {
        width: 90px !important;
    }
    .nomobile {
        display: none !important;
    }    
    u.fix-mobile {
        display: inline; 
        margin-left: 0;
    }
    .filters .filter.visible {
        left: calc(50% - 46vw) !important;
        width: 84vw !important;
    }
    
    html section.map h3:last-of-type {
        font-size: 26px;
        text-align: center;
    }

}

@media(min-width:455px){
    .onlymobile {
         display: none !important;
    }
}