@media (max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size_title: 28px;
        --font_size_title_s: 24px;
        --outside_gap: 68px;
    }



    .swiper-button-next,
    .swiper-button-prev
    {
        width: 40px;
        height: 40px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion_item .head .title
    {
        width: calc(100% - 64px);
    }


    .accordion_item .head .icon
    {
        width: 40px;
        height: 40px;
    }


    .accordion_item .head .icon svg
    {
        width: 24px;
        height: 24px;
    }



    /*--------------
        All link
    --------------*/
    .all_link a
    {
        width: 100%;
        height: 44px;
    }



    /*----------------
        Pagination
    ----------------*/
    .pagination a
    {
        width: 44px;
        height: 44px;

        font-size: var(--font_size);
    }


    .pagination .prev
    {
        margin-right: var(--inner_gap_s);
    }


    .pagination .next
    {
        margin-left: var(--inner_gap_s);
    }



    /*---------------
        Page head
    ---------------*/
    .breadcrumbs .sep
    {
        margin-inline: 4px;
    }



    .page_head .bottom .btn,
    .page_head .bottom .phone a
    {
        height: 44px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head .desc
    {
        font-size: var(--font_size);
    }



    /*------------------
        Form elements
    ------------------*/
    .form .columns > *.width1of3,
    .form .columns > *.width2of3
    {
        width: calc(100% - var(--form_columns_offset));
    }


    .form .checkbox
    {
        font-size: var(--font_size_s);
    }



    /*----------------
        Typography
    ----------------*/
    .text_block table td
    {
        padding: 12px;
    }


    .text_block ul li
    {
        padding-left: 20px;
    }



    /*-------------------
        First section
    -------------------*/
    .first_section .cont
    {
        padding-block: var(--cont_padding_double);
    }


    .first_section .data
    {
        width: 100%;
    }


    .first_section .btn
    {
        width: 100%;
        height: 44px;
    }


    .first_section .image
    {
        position: relative;
        right: 0;

        width: 360px;
        margin-inline: auto;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .data
    {
        padding-block: var(--cont_padding) 0;
    }


    .about_info .desc
    {
        font-size: var(--font_size);
    }


    .about_info .bottom
    {
        flex-wrap: wrap;

        gap: var(--inner_gap_s);
    }


    .about_info .btn,
    .about_info .phone a
    {
        height: 44px;
    }


    .about_info .image
    {
        width: 280px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .requisites .label
    {
        width: 100%;
    }


    .contacts_info .requisites .val
    {
        width: 100%;
        padding-inline: var(--inner_gap_xs);
        padding-top: 0;

        border: none;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block .image
    {
        width: 400px;
    }



    /*--------------------
        Contacts block
    --------------------*/
    .contacts_block
    {
        padding-bottom: 0;
    }


    .contacts_block .data
    {
        width: 100%;
        min-height: 0;
    }


    .contacts_block .map
    {
        position: relative;

        height: 280px;
        margin-top: var(--cont_padding_double);
    }



    /*-------------------
        Document info
    -------------------*/
    .document_info .notice
    {
        font-size: var(--font_size);
    }


    .document_info .link a
    {
        width: 100%;
    }



    /*---------------
        Documents
    ---------------*/
    .documents .anchors .row > *:nth-child(5) ~ *,
    .documents .anchors .row > *:nth-child(12) ~ *,
    .documents .anchors.show_all .row > *:nth-child(16) ~ *
    {
        display: none;
    }


    .documents .anchors.show_all .row > *:nth-child(5) ~ *
    {
        display: block;
    }



    .documents .anchors .btn,
    .documents .anchors .spoler_btn
    {
        font-size: var(--font_size_s);
    }


    .documents .anchors .spoler_btn
    {
        margin-top: var(--inner_gap_s);
    }



    .documents .grid_row
    {
        --offset_v: var(--inner_gap_s);
        --count_per_line: 1;
    }



    .documents .document .icon
    {
        width: 24px;
        height: 24px;
    }



    .documents .more_btn
    {
        width: 100%;
        height: 44px;
    }



    /*------------------
        Article info
    ------------------*/
    .article_info .author .phone a
    {
        height: 44px;
    }



    /*--------------
        Articles
    --------------*/
    .articles .article .author .photo
    {
        width: 40px;
        height: 40px;
    }


    .articles .article .author .photo + *
    {
        width: calc(100% - 52px);
    }


    .articles .article .title
    {
        font-size: var(--font_size);
    }



    /*-------------
        Reviews
    -------------*/
    .reviews .grid_row
    {
        --offset_v: var(--inner_gap_s);
        --count_per_line: 1;
    }



    /*------------
        Prices
    ------------*/
    .prices table th,
    .prices table td
    {
        padding: 12px;
    }


    .prices table td.price
    {
        width: 156px;
    }



    .prices .spoler_btn
    {
        width: 100%;
        height: 44px;
    }



    /*----------------
        Info block
    ----------------*/
    .info_block .data
    {
        padding-block: var(--cont_padding) 0;
        padding-inline: var(--cont_padding);
    }


    .info_block .image
    {
        position: relative;
        right: 0;

        width: 300px;
        margin-inline: auto;
        margin-top: var(--inner_gap_b);
    }



    /*-------------
        Persons
    -------------*/
    .persons .grid_row
    {
        --count_per_line: 1;
    }



    /*-----------
        Cases
    -----------*/
    .cases .head
    {
        min-height: 200px;
        padding: var(--cont_padding);
    }


    .cases .head .title
    {
        font-size: 36px;
    }


    .cases .head .image
    {
        right: var(--cont_padding);

        width: 160px;
    }



    .cases .list
    {
        gap: var(--inner_gap_s);
    }


    .cases .case .images
    {
        width: 100%;
    }


    .cases .case .info
    {
        width: 100%;
        margin-top: var(--inner_gap_b);
    }


    .cases .case .features
    {
        font-size: var(--font_size_s);
    }


    .cases .case .features .label
    {
        width: 76px;
    }


    .cases .case .features .val
    {
        width: calc(100% - 88px);
    }


    .cases .case .link
    {
        padding-left: 88px;
    }



    /*-----------------
        Person info
    -----------------*/
    .person_info .post
    {
        font-size: var(--font_size);
    }


    .person_info .btn
    {
        width: 100%;
        height: 44px;
        padding-inline: var(--block_padding_b);
    }


    .person_info .contacts
    {
        gap: var(--inner_gap_s) var(--block_padding_b);
    }



    /*-----------
        Certs
    -----------*/
    .certs .grid_row
    {
        --count_per_line: 3;
    }


    .certs .grid_row > *:nth-child(3) ~ *,
    .certs .grid_row.show_all > *:nth-child(4) ~ *
    {
        display: none;
    }


    .certs .grid_row.show_all > *:nth-child(3) ~ *
    {
        display: flex;
    }


    .certs .item .image
    {
        padding: 16px 12px;
    }



    /*-----------
        Posts
    -----------*/
    .posts .grid_row
    {
        --offset_v: var(--inner_gap_s);
        --count_per_line: 1;
    }



    /*------------
        Videos
    ------------*/
    .videos .grid_row
    {
        --offset_v: var(--inner_gap);
        --count_per_line: 1;
    }



    /*--------------
        Services
    --------------*/
    .services .grid_row
    {
        --count_per_line: 1;
        --offset_v: var(--inner_gap_s);
    }



    /*-------------------
        Services list
    -------------------*/
    .services_list .grid_row
    {
        --offset_v: var(--inner_gap_s);
        --count_per_line: 1;
    }



    /*------------------
        Errors facts
    ------------------*/
    .errors_facts .grid_row
    {
        --count_per_line: 1;
    }


    .errors_facts .item .icon
    {
        width: 24px;
        height: 24px;
        margin-top: 8px;
    }


    .errors_facts .item span
    {
        width: calc(100% - 36px);
    }



    /*------------
        Footer
    ------------*/
    footer .col
    {
        order: 2;

        margin-top: var(--cont_padding_double);
        margin-bottom: 0;
    }



    footer .links
    {
        order: 1;

        width: 100%;
        margin-top: var(--cont_padding_double);
    }



    footer .bottom
    {
        order: 3;
    }



    /*---------------------
        PopUp - Success
    ---------------------*/
    #success_modal .btn
    {
        width: 100%;
        height: 44px;
    }

    .section
    {
        scroll-margin-top: 100px;
    }
}
