@media (max-width: 479px)
{
    /*---------------
        Main styles
    ---------------*/
    :root
    {
        --font_size_title: 27px;
    }



    .block_head .title
    {
        line-height: 35px;
    }

    .block_head .desc
    {
        font-size: 12px;
        line-height: 22px;
    }



    .page_head
    {
        margin-bottom: 40px;
        padding-top: 120px;
    }

    .page_title
    {
        line-height: 35px;

        margin-bottom: 30px;
    }


    .page_head .filter
    {
        padding: 15px 0;
    }



    .page_head .clubs_city_list
    {
        margin-top: -30px;
    }

    .page_head .clubs_city_list .current
    {
        font-size: 22px;
        line-height: 28px;

        padding-right: 50px;
    }

    .page_head .clubs_city_list .current:after
    {
        top: auto;
        bottom: 0;

        width: 40px;
        height: 24px;
        margin-top: 0;
    }

    .page_head .clubs_city_list .current.active:after
    {
        margin-top: 4px;
    }


    .page_head .clubs_city_list .view
    {
        font-size: 11px;
    }



    .page_head .selected_club .title
    {
        font-size: 12px;
    }

    .page_head .selected_club .slider
    {
        width: 240px;
    }

    .page_head .selected_club .owl-stage-outer
    {
        overflow: visible !important;
    }



    .lk_head .cont
    {
        padding-top: 100px;
    }

    .lk_head .back_link
    {
        top: 20px;
    }

    .lk_head .auth_links
    {
        margin-top: -15px;
        margin-bottom: 30px;
    }

    .lk_head .auth_links .icon
    {
        margin-right: 10px;
        margin-left: 10px;
    }


    .sections_head .page_title
    {
        font-size: 24px;
        line-height: 32px;
    }



    .sections_head .cont
    {
        padding-top: 100px;
    }

    .sections_head .back_link
    {
        top: 20px;
    }



    .text_block h2
    {
        font-size: 20px;
        line-height: 24px;
    }

    .text_block h3
    {
        font-size: 14px;
        line-height: 20px;
    }



    /*---------------
        Header
    ---------------*/
    header .logo a,
    header .logo img,
    header .logo object
    {
        height: 50px !important;
    }



    .city_modal
    {
        padding-top: 120px;
    }

    .city_modal .title
    {
        line-height: 35px;
    }

    .city_modal .title span
    {
        font-size: 23px;
        line-height: 35px;
    }


    .city_modal .list
    {
        margin-top: 20px;
        padding: 20px 0;
    }



    /*---------------
        Sidebar
    ---------------*/



    /*---------------
        Main section
    ---------------*/
    .main_slider .slide .cont
    {
        min-height: 450px;
        padding-bottom: 40px;
    }

    .main_slider .slide .title
    {
        font-size: 24px;
    }



    .services .item .info,
    .services .item.big .info
    {
        padding: 20px;
    }

    .services .flex > *
    {
        padding-bottom: 60%;
    }



    .stocks .list .item .desc
    {
        font-size: 16px;
        line-height: 24px;
    }



    .advantages .item .title
    {
        font-size: 24px;
    }

    .advantages .item .desc
    {
        font-size: 18px;
        line-height: 28px;
    }

    .advantages .item .img
    {
        margin-top: 40px;
        padding-bottom: 40%;
    }



    .clubs .flex
    {
        --clubs_count: 1;
        --clubs_offset: 45px;
    }

    .clubs .item .name
    {
        font-size: 13px;
        line-height: 19px;
    }

    .clubs .item .adres
    {
        font-size: 16px;
        line-height: 24px;
    }



    .success_story .flex > *,
    .success_story .flex > *.middle
    {
        width: calc(100% - 20px);
        padding-bottom: 100%;
    }

    .success_story .item.video_link:before
    {
        bottom: 30px;
    }

    .success_story .item .info
    {
        padding: 30px 64px 30px 20px;
    }


    .success_story .item.text
    {
        font-size: 16px;
        line-height: 24px;

        padding: 40px 0 0;
    }



    .articles .main .info
    {
        padding: 40px 0;
    }


    .articles .flex
    {
        --articles_count: 1;
    }

    .articles .item:nth-child(2n+1) .info:before,
    .articles .item:nth-child(2n) .info:before
    {
        background:    -moz-linear-gradient(left, #a329d6 0%, #dbff00 100%) !important;
        background: -webkit-linear-gradient(left, #a329d6 0%, #dbff00 100%) !important;
        background:         linear-gradient(to right, #a329d6 0%, #dbff00 100%) !important;
    }



    .lk .head .my_card .img
    {
        width: 280px;
    }


    .lk .head .my_card .name
    {
        font-size: 22px;
        line-height: normal;
    }

    .lk .head .my_card .desc
    {
        font-size: 12px;

        margin-top: 5px;
    }



    .auth_form .form .fio
    {
        width: 100%;
    }

    .auth_form .form .date,
    .auth_form .form .gender
    {
        width: calc(50% - var(--columns_offset));
        margin-left: var(--columns_offset);
    }



    .card_selection .label
    {
        font-size: 12px;
        line-height: 16px;
    }

    .card_selection .submit_btn
    {
        line-height: normal;

        height: auto;
        padding: 15px;
    }


    .card_selection .get_card
    {
        padding-top: 50px;
    }

    .get_card .get_link
    {
        margin-top: 50px;
    }

    .get_card .get_link:hover
    {
        margin-top: 45px;
    }



    /*.all_cards .slider
    {
        margin-bottom: -70px;
    }*/

    .all_cards .card_info .card_name
    {
        font-size: 18px;
    }

    .all_cards .card_info .freezing
    {
        font-size: 12px;
    }

    .all_cards .card_info .capacity ul li + li
    {
        margin-top: 15px;
    }



    .additional_bonuses .block_head
    {
        margin-bottom: 40px;
    }

    .additional_bonuses .block_head .title
    {
        font-size: 20px;
        line-height: 28px;
    }

    .additional_bonuses .block_head .desc
    {
        font-size: 16px;
        line-height: 26px;
    }


    .service_head .info{
        padding-top: 125px;
        padding-bottom: 40px;
    }
    .service_head .back_link{
        top: 95px;
    }
    .service_head .service_name
    {
        margin-bottom: 24px;
        font-size: 22px;
    }
    .service_head .service_name h1{
        margin-bottom: 0;
        line-height: 40px;
    }
    .service_head .desc{
        margin-bottom: 72px;
    }
    .service_head .socials{
        margin-bottom: 28px;
    }
    .service_head .socials a + a
    {
        margin-left: 15px;
    }
    .service_head .mobile_links{
        display: block;
        position: relative;
        bottom: auto;
    }
    .service_head .links .sign_up{
        display: inline-block;
    }

    .service_info_empty{
        margin-bottom: 70px;
        padding-top: 0 !important;
    }


    .club_head .service_name
    {
        font-size: 22px;
        line-height: 28px;
    }


    .club_head .socials a + a
    {
        margin-left: 15px;
    }



    .about_program .col_left .text_block
    {
        padding: 30px;
    }


    .about_program .img
    {
        margin-top: 30px;
    }



    .about_training .title
    {
        font-size: 18px;
        line-height: 26px;

        margin-bottom: 20px;
    }

    .about_training .desc
    {
        font-size: 16px;
        line-height: 24px;

        margin-bottom: 30px;
    }



    .clubs_map .club_info
    {
        padding: 40px 25px 30px;
    }



    .related_programs .flex
    {
        --related_programs_count: 1;
    }

    .related_programs .all_link
    {
        margin-top: 60px;
    }

    .related_programs .all_link:hover
    {
        margin-top: 55px;
    }



    .cafe_services .flex
    {
        --cafe_services_count: 1;
    }

    .cafe_services .flex
    {
        margin-bottom: -40px;

        --cafe_services_offset: 20px;
    }

    .cafe_services .flex > *
    {
        margin-bottom: 40px;
    }



    .book_menu .filter
    {
        margin-bottom: 40px;
    }

    .book_menu .filter form
    {
        padding: 0 100px 0 0;
    }

    .book_menu .filter .reset_btn
    {
        padding-right: 22px;

        background-size: 12px auto;
    }

    .book_menu .filter .reset_btn span
    {
        display: none;
    }



    .book_menu .category .block_title
    {
        margin-bottom: 20px;
    }


    .book_menu .category .flex > *.big
    {
        padding-bottom: 75%;
    }



    .products .filter
    {
        margin-bottom: 40px;
    }


    .products .flex
    {
        --products_count: 1;
    }

    .products .product .weight
    {
        bottom: 15px;
        left: 20px;
    }




    .about_club .pluses .flex
    {
        --about_club_pluses_count: 1;
    }


    .about_club .text_block
    {
        padding: 30px;
    }



    .coachs .flex > *
    {
        width: calc(100% - 20px);
        padding-bottom: 100%;
    }

    .coachs .item.text
    {
        font-size: 16px;
    }



    .club_schedule .block_head .export_link
    {
        position: relative;
        bottom: 0;

        margin-top: 10px;
    }



    .club_schedule .filter form
    {
        padding-right: 50px;
    }



    .schedule_data .time_block + .time_block
    {
        margin-top: 50px;
    }

    .schedule_data .time_block .block_title
    {
        margin-bottom: 45px;
    }

    .schedule_data .time_block .flex
    {
        --time_block_count: 1;
    }

    .schedule_data .time_block .item .brought_text
    {
        line-height: 24px;

        padding: 15px 20px 19px;
    }

    .schedule_data .time_block .item .brought_text.icon
    {
        padding-right: 45px;

        text-align: left;

        background-position: calc(100% - 20px) calc(50% - 2px);
    }


    .schedule_data .time_block .item .cancelled_text
    {
        line-height: 24px;

        padding: 15px 20px;
    }



    .choose_fitness .block_title
    {
        font-size: 20px;
        line-height: 28px;

        margin-bottom: 40px;
    }


    .choose_fitness .flex
    {
        --clubs_count: 1;
        --clubs_offset: 40px;
    }

    .choose_fitness .item .name
    {
        font-size: 12px;
        line-height: 18px;
    }



    .services_cats .filter
    {
        margin-bottom: 40px;
    }

    .services_cats .filter form
    {
        display: none;
    }

    .services_cats .filter form.mob
    {
        display: flex;
    }



    .services_cats .flex
    {
        --services_cats_count: 1;
    }



    .sections_info .flex
    {
        --sections_info_count: 1;
    }



    .bottom_link
    {
        font-size: 32px;
        padding: 70px 0;
        /*line-height: 200px;

        height: 200px;*/
    }


    .franchise_info .join_link{
        display: none;
    }
    .franchise_info .join_link.mobile_link{
        display: block;
        width: 100%;
        max-width: 100%;
        margin-bottom: 27px;
    }

    .franchise_opport{
        margin-bottom: 52px;
    }

    .franchise_bold_block{
        margin-bottom: 56px;
    }
    .franchise_bold_block .text{
        font-size: 16px;
        line-height: 24px;
    }

    .franchise_about_block{
        margin-bottom: 100px;
    }
    .franchise_about_block .list .item .info{
        margin-bottom: 36px;
    }
    .franchise_about_block .list .item .title{
        font-size: 12px;
        line-height: 16px;
    }

    .franchise_num_block .img{
        height: 130px;
    }
    .franchise_num_block .num_list{
        margin-top: 50px;
    }
    .franchise_num_block .num_item:last-child{
        margin-bottom: 0;
    }
    .franchise_num_block .num_item .num{
        margin-bottom: 8px;
        font-size: 22px;
        line-height: normal;
        opacity: 1;
    }
    .franchise_num_block .num_item .txt{
        font-size: 12px;
        line-height: 18px;
    }

    .franchise_format{
        margin-bottom: 64px;
    }
    .franchise_format .text_block{
        padding: 40px 20px 60px;
    }
    .franchise_format .text_block h4,
    .franchise_cond_block .text_block h4{
        font-size: 12px;
        line-height: 16px;
    }
    .franchise_format .text_block .consult_up{
        margin-top: 10px;
    }

    .franchise_cond{
        margin-bottom: 74px;
    }
    .franchise_cond_block .list .item .img .desc{
        margin-top: 10px;
    }

    .contacts_list .item .post{
        font-size: 12px;
        line-height: 18px;
    }
    /*---------------
        Footer
    ---------------*/



    /*---------------
        PopUp
    ---------------*/
    #menu_modal .links
    {
        width: calc(100% + 40px);
        max-width: calc(100% + 40px);
        margin-left: -40px;
    }

    #menu_modal .links a
    {
        font-size: 26px;
        line-height: 40px;

        margin-left: 40px;
    }


    #menu_modal .lk_link
    {
        font-size: 16px;

        margin-top: 50px;
        padding: 20px 105px 20px 20px;
    }

    #menu_modal .lk_link:before
    {
        right: 23px;
    }

    #menu_modal .lk_link:after
    {
        right: 25px;
    }



    .modal .modal_title
    {
        font-size: 22px;
        line-height: 30px;
    }



    #coach_modal .video_link
    {
        margin-top: 50px;
    }

    .ask_form .title{
        font-size: 22px;
        line-height: 26px;
    }
    .ask_form .subtitle{
        margin-bottom: 40px;
        font-size: 12px;
        line-height: normal;
    }
    .ask_form .columns > *.width1of3{
        width: 100%;
    }

    .social_bot{
        position: absolute;
        top: 2px;
        margin-left: 75px;
    }
    .social_bot a + a{
        margin-left: 15px;
    }
    .buttons_block a{
        width: 48px;
        height: 48px;
    }
    .buttons_block .call_btn::after{
        top: 7px;
        left: 6px;
        width: 30px;
        height: 30px;
        background-size: cover;
    }
    .buttons_block .move_top_btn::after{
        top: 6px;
        left: 11px;
        width: 20px;
        height: 30px;
        background-position: -90px 1px;
        background-size: cover;
    }
    footer .apps a + a{
        margin-left: 10px;
    }
    /*.buttons_block_mobile{
        display: block;
        width: 60px;
        position: absolute;
        top: 70px;
        left: 86px;
        opacity: 1;
    }
    .buttons_block_mobile a{
        display: inline-block;
        width: 22px;
        height: 21px;
    }
    .buttons_block_mobile a + a{
        margin-left: 10px;
    }
    .buttons_block_mobile a:after{
        background: none;
    }
    .buttons_block_mobile .call_btn:after{
        background: url("../images/tel_icon.png") 0 0 no-repeat;
        top: 1px;
        left: 2px;
        width: 16px;
        height: 16px;
        background-size: contain;
    }
    .buttons_block_mobile .move_top_btn:after{
        background: url("../images/arrow_icon.png") 0 0 no-repeat;
        top: 1px;
        left: 1px;
        width: 16px;
        height: 16px;
        background-size: contain;
    }*/

    .franchise_num_block .num_list .cont{
        display: block;
    }
    .franchise_num_block .num_list .num_item:first-child,
    .franchise_num_block .num_list .num_item:last-child{
        display: block;
        width: 100%;
    }
    .franchise_num_block .num_list .num_item:nth-of-type(3){
        margin-left: 50px;
    }

    .bottom_link .item a{
        word-break: break-all;
    }
    .bottom_link .item a:after{
        /*width: 50px;
        height: 28px;*/
        position: absolute;
        right: 12px;
        top: 50%;
        margin-top: -11px;
        background: url(../images/ic_bottom_link.svg) 100% 50% no-repeat;
        background-size: cover;
        content: '';
    }
    /*.bottom_link_club .item a:after{
        margin-top: -11px;
    }*/
    /*.bottom_link .item a
    {
        color: #000;
        text-shadow: -0   -2px 0   #7ae000,
        0   -2px 0   #7ae000,
        -0    2px 0   #7ae000,
        0    2px 0   #7ae000,
        -2px -0   0   #7ae000,
        2px -0   0   #7ae000,
        -2px  0   0   #7ae000,
        2px  0   0   #7ae000,
        -1px -2px 0   #7ae000,
        1px -2px 0   #7ae000,
        -1px  2px 0   #7ae000,
        1px  2px 0   #7ae000,
        -2px -1px 0   #7ae000,
        2px -1px 0   #7ae000,
        -2px  1px 0   #7ae000,
        2px  1px 0   #7ae000,
        -2px -2px 0   #7ae000,
        2px -2px 0   #7ae000,
        -2px  2px 0   #7ae000,
        2px  2px 0   #7ae000,
        -2px -2px 0   #7ae000,
        2px -2px 0   #7ae000,
        -2px  2px 0   #7ae000,
        2px  2px 0   #7ae000;
    }*/
    .bottom_link .item:hover{
        background: none !important;
    }
    .bottom_link .item a:hover:after
    {
        background: url(../images/ic_bottom_link2.svg) 100% 50% no-repeat;
        background-size: cover;
    }

    .modal .personal{
        margin-top: 10px;
    }

    .form textarea{
        height: 120px;
    }

    .partners_list .partner{
        width: 50%;
        height: auto;
    }

    .fake_page .title, .fake_page .title{
        font-size: 30px;
        line-height: normal;
    }
    .goto_home a span{
        display: none;
    }
    .goto_home a span:first-child{
        display: block;
        top: 17px;
        transform: rotate(0deg);
    }

    header .info .cont{
        display: block;
    }
    header .logo{
        position: absolute;
        top: -8px;
        left: 50px;
    }
    header .logo object{
        width: auto;
    }
    header .city{
        position: absolute;
        top: 0;
        right: 20px;
    }
    header .phone{
        position: absolute;
        right: 20px;
    }

    .get_card .cont{
        display: block;
    }
    .card_selection .options .field{
        max-width: 80%;
    }
    /*.get_card .slider{
        height: 555px !important;
    }*/
    .get_card .owl-stage-outer{
        overflow: hidden !important;
    }
    .get_card .slide_inner .img{
        padding-right: 62px;
    }
    .block_head .title{
        margin-left: 0;
    }
    .card_selection .get_card .block_head .title
    {
        font-size: 20px;
        line-height: 28px;
    }
    .stocks .flex .item .info .name{
        max-width: 100%;
    }

    #wantcard .line:first-child{
        width: 100%;
    }

    .page_head .selected_club .slide:hover label{
        color: #ffffff;
    }

    .get_card_home .img{
        margin-left: 0;
    }
    .get_card_home .img .stock{
        right: 0 !important;
    }

    .get_card .marquee{
        display: none;
    }
    .get_card .home_all_cards{
        display: block;
    }

    footer .socials a{
        font-size: 17px;
        line-height: 30px;
    }

    .reviews .review
    {
        padding: 20px;
    }

    .service_head.short_block .info .video_link{
        font-size: 12px;
    }
    .service_head .short_services_list{
        padding: 55px 20px 75px;
    }
    .service_head .short_service{
        margin-bottom: 5px;
    }
    .service_head .short_service.service_small_font{
        margin-bottom: 0;
    }
    .service_head .short_service a{
        font-size: 15px;
    }
    .service_head .short_service.service_small_font a{
        font-size: 12px;
    }
    .service_head .short_service:nth-of-type(3) + .service_small_font{
        margin-top: 30px;
    }

    .service_head .services_page_links {
        display: none;
        bottom: 20px;
    }
    .service_head .services_page_links .socials {
        width: 100%;
        margin-top: 15px;
    }

    .club_service_info .join_link{
        display: none;
    }
    .club_service_info .join_link_mobile{
        display: block;
        margin: 0 auto 35px;
    }
    .services .links a{
        white-space: normal;
        padding-right: 60px;
    }
    .services .links a:before, .services .links a:after{
        opacity: 1;
    }

    .reviews.guest_block .flex > *, .reviews.guest_block .flex > *.middle{
        width: calc(100% - 20px);
        padding-bottom: 100%;
    }
    .success_story.guest_block .item.text{
        padding-bottom: 0;
    }

    .about_service .title{
        font-size: 20px;
    }

    .club_buy_card{
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        margin-top: 0;
        margin-left: 0;
    }
}

@media (max-width: 389px){
    .service_head .short_services_list{
        padding: 45px 20px;
    }
    .service_head .short_service{
        margin-bottom: 0;
    }

    .special_text{
        margin-bottom: 30px;
    }
}
@media (max-width: 359px){
    .fake_page .title{
        font-size: 28px;
    }
    .get_card .all_cards{
        margin-bottom: 70px !important;
    }
    /*.get_card .slider {
        height: 450px !important;
    }*/
    .service_head .short_services_list{
        padding: 20px;
    }
}