@media (max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --cont_padding: 20px;
        --block_padding_l: 28px;
        --block_padding: 24px;
        --block_padding_s: 20px;
        --block_head_offset: 28px;
        --block_head_offset_s: 20px;
    }



    /*---------------
        All llink
    ---------------*/
    .all_link a
    {
        height: 68px;
    }



    /*-----------------
        Mob. header
    -----------------*/
    .mob_header .data
    {
        padding-block: var(--inner_gap_xs);
        padding-inline: 12px var(--inner_gap_xs);
    }


    .mob_header .logo img
    {
        width: 160px;
        height: 52px;
    }



    /*---------------
        Mob. menu
    ---------------*/
    .mob_menu
    {
        padding-top: 104px;
    }



    /*---------------
        Page head
    ---------------*/
    .page_head .cont
    {
        gap: var(--outside_gap_s);
    }



    /*----------------
        Typography
    ----------------*/
    .text_block h2
    {
        margin-bottom: var(--inner_gap_l);
    }


    .text_block h3
    {
        margin-bottom: var(--inner_gap);
    }


    .text_block * + h2
    {
        margin-top: var(--outside_gap_xs);
    }


    .text_block table td
    {
        font-size: var(--font_size_s);
    }


    .text_block table td.val
    {
        width: 160px;
    }


    .text_block blockquote,
    .text_block q
    {
        padding-inline: var(--block_padding_s);
    }


    .text_block .grid_row
    {
        --items_per_line: 1;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider .swiper-slide
    {
        padding-block: var(--block_padding);
        padding-inline: var(--inner_gap);
    }


    .main_slider .data
    {
        width: 100%;
    }



    /*-------------
        Catalog
    -------------*/
    .catalog .grid_row
    {
        --items_per_line: 1;
    }


    .catalog .category
    {
        height: auto;
    }

    .catalog .category .name,
    .catalog .category.open .name
    {
        margin-top: 220px;
    }


    .catalog .category .sub
    {
        position: relative;

        display: none;

        padding: 0;
    }


    .catalog .category .sub a
    {
        font-size: var(--font_size);
    }


    .catalog .category.open .thumb
    {
        opacity: 1;
    }


    .catalog .category.open .sub
    {
        display: flex;
    }



    /*-------------------
        Modern clinic
    -------------------*/
    .modern_clinic .data
    {
        width: calc(100% + 30px);
        margin-inline: -15px;
        padding-inline: 15px;
    }


    .modern_clinic .title,
    .modern_clinic .desc
    {
        width: 100%;
    }



    .modern_clinic .advantages
    {
        margin-top: -100px;
        padding-inline: 0;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .item
    {
        padding: var(--inner_gap_s);

        gap: var(--inner_gap_s);
    }


    .advantages .item .icon
    {
        width: 52px;
    }


    .advantages .item .icon img
    {
        width: 24px;
    }


    .advantages .item .desc
    {
        font-size: var(--font_size_s);
    }



    /*----------------
        About info
    ----------------*/
    .about_info .images .image
    {
        height: 420px;
    }



    .about_info .ratings .item .logo
    {
        height: 100px;
    }



    /*-------------
        Ratings
    -------------*/
    .ratings .grid_row
    {
        --items_per_line: 2;
    }



    /*-------------
        Reviews
    -------------*/
    .reviews .grid_row
    {
        --items_per_line: 1;
    }



    .reviews .swiper-slide
    {
        visibility: visible;

        width: 315px;

        pointer-events: auto;

        opacity: 1;
    }


    .reviews .swiper-controls
    {
        justify-content: center;
    }


    .reviews .swiper-controls .swiper-button-next,
    .reviews .swiper-controls .swiper-button-prev
    {
        display: none;
    }



    /*----------------
        Price list
    ----------------*/
    .price_list .section
    {
        padding-bottom: var(--block_padding_l);
    }


    .price_list .section + .section
    {
        margin-top: var(--block_padding_l);
    }



    .price_list .title
    {
        margin-bottom: var(--inner_gap);
    }


    .price_list .item
    {
        padding: var(--inner_gap);
    }


    .price_list .item .name
    {
        width: calc(100% - 80px - var(--inner_gap));
    }


    .price_list .item .price
    {
        align-content: flex-end;
        align-items: flex-end;
        flex-direction: column;

        width: 80px;

        font-size: var(--font_size);

        gap: 0;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block .data
    {
        width: calc(100% + 30px);
        margin-inline: -15px;
    }


    .action_block .info
    {
        padding-inline: 15px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .data
    {
        padding: var(--inner_gap);
    }


    .contacts_info .address
    {
        font-size: var(--font_size_title_xs);
    }



    .contacts_info .info
    {
        padding: var(--inner_gap);
    }



    .contacts_info .messengers a
    {
        min-width: 42px;
        height: 66px;
        padding-inline: var(--inner_gap_xs);
    }


    .contacts_info .messengers a .icon
    {
        width: 18px;
    }


    .contacts_info .messengers a.vk_link
    {
        width: calc(100% - 144px);
        height: 66px;
        margin-left: 0;

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


    .contacts_info .messengers a.vk_link .icon
    {
        width: 20px;
    }



    .contacts_info .distributor .logo img
    {
        width: 200px;
    }



    .contacts_info .map
    {
        height: 440px;
    }



    /*-----------------------
        Legal information
    -----------------------*/
    .legal_information .items > *
    {
        font-size: var(--font_size_s);

        --val_width: 125px;
    }


    .legal_information .spoler_btn
    {
        margin-top: var(--inner_gap_s);

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



    /*------------------
        Service info
    ------------------*/
    .service_info .head
    {
        padding: var(--inner_gap);
    }


    .service_info .head .data
    {
        width: 100%;
        min-height: calc(690px - var(--outside_gap_xs) * 2);
    }


    .service_info .head .price
    {
        min-width: 180px;
        margin-top: var(--inner_gap);
        padding-block: var(--inner_gap_s);
    }


    .service_info .head .btn
    {
        right: var(--inner_gap);
        bottom: var(--inner_gap);

        width: calc(100% - var(--inner_gap) * 2);
        max-width: calc(100% - var(--inner_gap) * 2);
    }


    .service_info .head .bg
    {
        height: 325px;
    }


    .service_info .head .bg:before
    {
        position: absolute;
        inset: 0;

        display: block;

        content: '';

        background: linear-gradient(0deg, rgba(237, 222, 197, .00) 73.38%, #eddec5 100%), linear-gradient(180deg, rgba(237, 222, 197, .00) 50%, #eddec5 100%), linear-gradient(0deg, rgba(237, 222, 197, .30) 0%, rgba(237, 222, 197, .30) 100%);
    }



    /*-----------------
        Page author
    -----------------*/
    .page_author .person
    {
        gap: var(--inner_gap);
        --photo_width: 120px;
    }


    .page_author .person .photo + *
    {
        width: calc(100% - var(--photo_width) - var(--inner_gap));
    }


    .page_author .person .name
    {
        font-size: 18px;
    }


    .page_author .person .post
    {
        font-size: var(--font_size_s);
    }



    /*-----------------
        Doctor info
    -----------------*/
    .doctor_info .col_main
    {
        gap: var(--cont_padding_double);
    }



    .doctor_info .section
    {
        width: calc(100% + var(--cont_padding) * 2);
        margin-inline: calc(var(--cont_padding) * -1);
        padding-block: 0;
        padding-inline: var(--cont_padding);

        border-radius: 0;
        background: none;
    }



    .doctor_info .data .quote
    {
        padding-inline: var(--inner_gap);
    }



    .doctor_info .education .items > *
    {
        gap: var(--inner_gap_xs);
    }


    .doctor_info .education .items .name
    {
        width: 100%;
    }



    .doctor_info .swiper-controls
    {
        display: none;
    }



    /*-----------
        Certs
    -----------*/
    .certs .swiper-slide
    {
        visibility: visible;

        width: 315px;

        pointer-events: auto;

        opacity: 1;
    }


    .certs .swiper-horizontal > .swiper-pagination-bullets,
    .certs .swiper-pagination-bullets.swiper-pagination-horizontal,
    .certs .swiper-pagination-custom,
    .certs .swiper-pagination-fraction
    {
        display: none;
    }



    /*-----------
        Cases
    -----------*/
    .cases .swiper-slide
    {
        visibility: visible;

        width: 315px;

        pointer-events: auto;

        opacity: 1;
    }



    /*----------------
        About head
    ----------------*/
    .about_head .cont
    {
        min-height: 320px;
        padding-block: 100px var(--inner_gap);
    }


    .about_head .title
    {
        font-size: 72px;
    }



    /*-----------
        Stats
    -----------*/
    .stats .row
    {
        margin-bottom: calc(var(--inner_gap) * -1);
    }


    .stats .item
    {
        width: calc(50% - var(--inner_gap) / 2);
        margin-bottom: var(--inner_gap);

        font-size: var(--font_size_s);

        gap: var(--inner_gap_xs);
    }


    .stats .item .val
    {
        font-size: 42px;
    }


    .stats .item .desc br
    {
        display: none;
    }



    /*----------------
        About data
    ----------------*/
    .about_data .description .title span
    {
        display: block;

        width: 100%;

        font-size: 48px;
    }



    /*-------------
        History
    -------------*/
    .history .block_head .title
    {
        font-size: 72px;
        line-height: 85%;
    }


    .history .swiper
    {
        width: 335px;
    }


    .history .item .year,
    .history .swiper-slide.active .item .year
    {
        font-size: 80px;
    }


    .history .swiper-slide .item .text_wrap
    {
        margin-top: var(--block_padding);

        grid-template-rows: 1fr;
    }


    .history .swiper-controls
    {
        display: none;
    }



    /*----------
        Team
    ----------*/
    .team .data
    {
        width: calc(100% + 30px);
        margin-inline: -15px;
        padding-block: var(--block_padding_l) 260px;
        padding-inline: 15px;
    }


    .team .link
    {
        width: 240px;
    }



    /*-----------
        Certs
    -----------*/
    .certs .other_docs
    {
        order: 2;

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


    .certs .row .grid_row
    {
        display: grid;
        overflow: auto;

        width: calc(100% + var(--cont_padding_double));
        margin-block: 0;
        margin-inline: calc(var(--cont_padding) * -1);
        padding-inline: var(--cont_padding);

        gap: var(--inner_gap_xs);
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        scroll-padding: 0 var(--cont_padding);
        scroll-snap-type: x mandatory;
        scrollbar-color: transparent transparent;
        scrollbar-width: thin;
    }


    .certs .row .grid_row::-webkit-scrollbar
    {
        display: none;

        width: 0;
        height: 0;

        background-color: transparent;
    }


    .certs .row .grid_row::-webkit-scrollbar-thumb
    {
        background-color: transparent;
    }


    .certs .row .grid_row > *
    {
        width: 315px;
        margin: 0;

        scroll-snap-align: start;
    }



    /*-------------
        Doctors
    -------------*/
    .doctors .grid_row
    {
        --items_per_line: 1;
    }



    /*------------
        Footer
    ------------*/
    footer .cont
    {
        gap: var(--block_padding_l);
    }


    footer .location,
    footer .contacts
    {
        width: 100%;
        margin-left: 0;
    }


    footer .contacts
    {
        margin-top: var(--block_padding_l);
    }



    footer .messengers a
    {
        min-width: 42px;
        height: 66px;
        padding-inline: var(--inner_gap_xs);
    }


    footer .messengers .icon
    {
        width: 18px;
    }


    footer .order_btn
    {
        width: calc(100% - 150px);
        height: 66px;

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


    footer .order_btn .icon
    {
        width: 20px;
    }



    footer .data .row
    {
        gap: var(--block_padding_l);
    }


    footer .data .item
    {
        width: calc(50% - var(--block_padding_l) / 2);
        min-width: 0;
        max-width: none;

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


    footer .data + .divider
    {
        display: none;
    }



    footer .vk_link
    {
        width: 100%;
        margin-top: var(--inner_gap_xs);
    }



    footer .warning img
    {
        display: none;
    }


    footer .warning span
    {
        display: block;
    }
}
