@media (max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 15px;
        --font_size_title: 28px;
        --font_size_title_big: 36px;
    }


    .block
    {
        margin-bottom: 50px;
    }


    .cont
    {
        padding: 0 20px;
    }



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 20px;
    }



    /*------------
        Header
    ------------*/
    header .cont
    {
        padding-top: 20px;
        padding-bottom: 20px;
    }


    header .logo img
    {
        width: 146px;
        height: 30px;
    }


    header .menu
    {
        padding: 40px 20px;
    }


    header .search
    {
        margin-left: 24px;
    }


    header .search form
    {
        max-width: calc(100vw - 220px);
    }


    header .search .input
    {
        font-size: 16px;

        height: 36px;
    }



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        padding-right: 20px;
        padding-left: 20px;
    }


    .page_head .data
    {
        padding-left: 0;
    }


    .page_head .cont,
    .page_head.small .cont
    {
        min-height: 200px;
        padding-top: 80px;
        padding-bottom: 24px;
    }


    .page_head .big_arrow
    {
        top: -16px;
        left: 24px;

        width: 88px;
        height: 92px;

        transform: rotate(90deg);
    }


    .page_head.small .big_arrow
    {
        top: -16px;
    }


    .page_head .title.big_m
    {
        margin-bottom: 24px;
    }


    .page_head .desc,
    .page_head .desc.big_w
    {
        width: 100%;

        gap: 16px;
    }


    .page_head .date
    {
        font-size: 17px;

        margin-top: 28px;
    }


    .page_head .img
    {
        position: relative;
        right: 0;

        width: 100%;
        height: auto;
        margin-top: 20px;
        margin-bottom: -24px;

        border-radius: 0 0 20px 20px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head
    {
        margin-bottom: 25px;
    }


    .block_head .title br
    {
        display: none;
    }


    .block_head .title .small_circles
    {
        width: 48px;
        height: 24px;
        margin-top: -5px;
        margin-left: 8px;
    }


    .block_head .all_link
    {
        width: 100%;
        margin-top: 20px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .columns
    {
        --form_columns_offset: 20px;
    }


    .form .submit_btn
    {
        min-width: 208px;
        height: 44px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block .slider.right
    {
        float: none;

        width: 100%;
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
    }



    /*-------------------
        First section
    -------------------*/
    .first_section .data
    {
        padding-right: 0;
        padding-bottom: 0;
        padding-left: 0;
    }


    .first_section .cont
    {
        min-height: 200px;
        padding-top: 80px;
        padding-bottom: 24px;
    }


    .first_section .circle_text
    {
        top: 0;
    }


    .first_section .title
    {
        margin-bottom: 20px;
        padding: 0;
    }


    .first_section .solutions
    {
        position: relative;
        top: 0;
        right: 0;

        margin-bottom: 52px;
    }


    .first_section .line
    {
        line-height: 8px;

        margin-bottom: 24px;
    }


    .first_section .sub_title
    {
        font-size: 18px;
    }


    .first_section .desc
    {
        width: 100%;
        max-width: 100%;
    }


    .first_section .link
    {
        margin-top: 12px;
        margin-left: 0;
    }


    .first_section .big_arrow
    {
        top: -16px;
        left: 24px;

        width: 88px;
        height: 92px;

        transform: rotate(90deg);
    }


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

        width: 100%;
        height: auto;
        margin-top: 20px;
        margin-bottom: 0;

        border-radius: 0 0 20px 20px;
    }



    /*---------------
        Equipment
    ---------------*/
    .equipment .buttons
    {
        margin-top: 40px;
        margin-bottom: -12px;
        margin-left: 0;
    }


    .equipment .buttons .btn
    {
        width: 100%;
        margin-bottom: 12px;
        margin-left: 0;
    }



    /*-------------------
        Category info
    -------------------*/
    .category_info .list
    {
        display: flex;
        flex-direction: column;

        gap: 16px;
    }


    .category_info .item .thumb
    {
        width: 80px;
        height: 80px;
    }


    .category_info .item .name
    {
        font-size: 18px;

        width: calc(100% - 132px);
        padding: 12px 0;
    }


    .category_info .item .data
    {
        padding-top: 20px;
        padding-bottom: 20px;
    }



    /*--------------
        Articles
    --------------*/
    .articles .swiper
    {
        padding-bottom: 48px;
    }


    .articles .row
    {
        margin-bottom: -40px;
        margin-left: 0;

        --count: 1;
    }


    .articles .row > *
    {
        width: 100%;
        margin-bottom: 40px;
        margin-left: 0;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .row
    {
        flex-direction: column;

        gap: 20px;
    }


    .contacts_info .item
    {
        font-size: 15px;

        width: 100%;
        padding: 20px 20px 52px;

        gap: 20px;
    }


    .contacts_info .item .arrow
    {
        right: 20px;
        bottom: 20px;
    }



    /*--------------
        Feedback
    --------------*/
    .feedback .form
    {
        margin-top: 28px;
        padding: 20px 20px 68px;
    }


    .feedback .form:before
    {
        width: 112px;
        height: 32px;
    }


    .feedback .form:after
    {
        left: 112px;

        width: 40px;
        height: 32px;
    }


    .feedback .form .submit_btn
    {
        margin-top: 20px;
        margin-right: -20px;
        margin-bottom: -20px;
    }


    .feedback .form .submit_btn span
    {
        width: 160px;
        height: 44px;
        padding: 0 20px;
    }


    .feedback .form .submit_btn .arrow
    {
        width: 44px;
        height: 44px;
    }



    /*------------------
        Three whales
    ------------------*/
    .three_whales .row
    {
        margin-bottom: -20px;
        margin-left: 0;
    }


    .three_whales .row > *,
    .three_whales .item.middle,
    .three_whales .item.big
    {
        width: 100%;
        margin-bottom: 20px;
        margin-left: 0;
    }


    .three_whales .item,
    .three_whales .item.big
    {
        height: 240px;
        padding: 20px;
    }


    .three_whales .item .data
    {
        padding: 20px;
    }



    /*-----------------
        About stats
    -----------------*/
    .about_stats .row
    {
        margin-bottom: -20px;
        margin-left: 0;
    }


    .about_stats .row > *
    {
        width: 100%;
        margin-bottom: 20px;
        margin-left: 0;
    }


    .about_stats .item
    {
        padding: 20px;
    }


    .about_stats .item .val
    {
        line-height: calc(100% + 4px);
    }



    /*-------------------
        About objects
    -------------------*/
    .about_objects
    {
        padding-right: 0;
        padding-left: 0;
    }


    .about_objects .data
    {
        padding: 20px 0 40px;
    }


    .about_objects .info
    {
        width: calc(100% - 40px);
        margin: -40px auto 0;
        padding: 32px 32px 43px;
    }


    .about_objects .info .title
    {
        padding-left: 20px;
    }



    /*------------------
        Product info
    ------------------*/
    .product_info .product_name
    {
        font-size: 20px;
    }


    .product_info .product_name br
    {
        display: none;
    }


    .product_info .order_code .label
    {
        font-size: 15px;

        margin-bottom: 20px;
        padding-bottom: 7px;
    }


    .product_info .text_block
    {
        font-size: 15px;
    }


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


    .product_info .text_block ul li:before
    {
        top: 8px;
    }



    /*--------------
        Services
    --------------*/
    .services .row
    {
        margin-bottom: -20px;
        margin-left: 0;
    }


    .services .row > *
    {
        width: 100%;
        margin-bottom: 20px;
        margin-left: 0;
    }


    .services .service
    {
        padding: 20px;
    }


    .services .service .desc.padding
    {
        padding-bottom: 44px;
    }


    .services .service .arrow,
    .services .service .download
    {
        right: 20px;
        bottom: 20px;
    }


    .services .buttons
    {
        margin-top: 40px;
        margin-bottom: -12px;
        margin-left: 0;
    }


    .services .buttons .btn
    {
        width: 100%;
        margin-bottom: 12px;
        margin-left: 0;
    }



    /*--------------------
        Download files
    --------------------*/
    .download_files .data
    {
        padding: 50px 0;
    }


    .download_files .items
    {
        gap: 25px;
    }


    .download_files .item .name
    {
        font-size: 16px;
    }


    .download_files .item .form
    {
        padding-top: 20px;
    }


    .download_files .item .form .row
    {
        gap: 20px;
    }


    .download_files .item .form .row > *
    {
        width: 100%;
    }


    .download_files .item .nice-select .current
    {
        height: 44px;
    }


    .download_files .item select ~ .arr
    {
        top: 18px;
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        padding-right: 20px;
        padding-left: 20px;
    }


    footer .bottom
    {
        font-size: 13px;
    }


    footer .bottom .cont
    {
        gap: 12px;
    }


    footer .data
    {
        padding: 40px 0 20px;
    }


    footer .col
    {
        width: 100%;
    }


    footer .subscribe
    {
        width: 100%;
    }


    footer .title
    {
        margin-bottom: 20px;
        padding-bottom: 11px;
    }


    footer .socials
    {
        gap: 20px;
    }


    footer .copyright
    {
        line-height: 17px;

        width: 100%;
    }


    footer .text
    {
        line-height: 17px;

        width: 100%;

        text-align: left;
    }
}
