@media print,
(max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 14px;
        --font_size_title: 26px;
    }


    .block
    {
        margin-bottom: 60px;
    }



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



    /*----------------
        Pagination
    ----------------*/
    .pagination
    {
        justify-content: space-between;

        width: 100%;
    }


    .pagination a
    {
        width: 44px;
        height: 44px;

        line-height: 42px;
    }


    .pagination .sep
    {
        width: 44px;

        line-height: 44px;
    }


    .pagination a.prev
    {
        margin-right: auto;
    }

    .pagination a.next
    {
        margin-left: auto;
    }



    /*-----------------
        Mob. header
    -----------------*/
    .mob_header
    {
        padding: 12px 0;
    }


    .mob_header .logo img
    {
        height: 22px;
    }


    .mob_header .links
    {
        gap: 24px;
    }


    .mob_header .links .icon + div
    {
        display: none;
    }


    .mob_header .links .count
    {
        right: -10px;

        width: 16px;
        height: 16px;

        font-size: 10px;
    }


    .mob_header .mob_menu_btn
    {
        margin-left: 24px;
    }



    /*-------------
        Sidebar
    -------------*/
    aside
    {
        margin-bottom: 32px;
    }



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        padding-top: 20px;
        padding-bottom: 28px;
    }



    .breadcrumbs
    {
        font-size: 13px;
    }

    .breadcrumbs .sep
    {
        width: 4px;
        height: 4px;
        margin: 0 8px;
    }



    .page_title:before
    {
        width: 48px;
        height: 4px;
    }



    .page_head .logout_btn,
    .page_head .clear_cart_btn
    {
        gap: 8px;
    }


    .page_head .logout_btn .icon,
    .page_head .clear_cart_btn .icon
    {
        width: 22px;
        height: 19px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head.pad_r
    {
        padding-right: 0;
    }


    .block_head .title
    {
        padding-left: 40px;
    }

    .block_head .title:before
    {
        left: -24px;

        width: 48px;
    }


    .block_head .sub_title
    {
        font-size: 16px;
    }


    .block_head .desc
    {
        margin-top: 20px;

        font-size: 14px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .cols
    {
        margin-left: 0;
    }


    .form .cols .col
    {
        width: 100%;
        margin-left: 0;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block p.big
    {
        font-size: 18px;
    }


    .text_block h1
    {
        font-size: 28px;
    }

    .text_block h2
    {
        font-size: 25px;
    }

    .text_block h3
    {
        font-size: 22px;
    }


    .text_block .img_block figure,
    .text_block .cols_with_img figure
    {
        width: 100%;
    }


    .text_block .img_block .info
    {
        order: 2;

        width: 100%;
        margin-top: 16px;
    }


    .text_block .cols_with_img > * + *
    {
        margin-top: 24px !important;
    }

    .text_block .cols_with_img .col
    {
        width: 100%;
    }


    .text_block .message.big
    {
        padding: 20px;

        font-size: 15px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider .data
    {
        width: 100%;
    }


    .main_slider .cont
    {
        min-height: 440px;
        padding-top: 60px;
        padding-bottom: 100px;
    }


    .main_slider .desc
    {
        width: 100%;
    }


    .main_slider .image
    {
        display: none;
    }


    .swiper-horizontal > .swiper-pagination-progressbar,
    .swiper-pagination-progressbar.swiper-pagination-horizontal,
    .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
    .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite
    {
        width: 100px;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .cont_wrap
    {
        padding: 60px 0;
    }


    .about_info .data .title
    {
        margin-bottom: 48px;

        font-size: 24px;
    }

    .about_info .data .title:before
    {
        width: 52px;
        margin-top: 16px;
    }


    .about_info .desc
    {
        padding: 0;
    }


    .about_info .link
    {
        margin-top: 24px;
        padding-left: 0;
    }



    /*--------------
        Services
    --------------*/
    .services
    {
        padding: 60px 0;
    }


    .services .row
    {
        margin-left: 0;
    }

    .services .row > *,
    .services .row > *.big,
    .services .row > *:nth-last-child(2)
    {
        order: 0;

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


    .services .service
    {
        min-height: 0;
    }


    .services .service.big .desc
    {
        width: 240px;
    }


    .services .service .thumb
    {
        right: 0;

        width: 224px;
        height: calc(100% + 12px);
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages
    {
        padding: 60px 0;
    }


    .advantages .row > *
    {
        width: calc(50% - 24px);
    }


    .advantages .icon
    {
        height: 72px;
    }

    .advantages .icon:after
    {
        font-size: 72px;
        line-height: 100%;
    }


    .advantages .bottom
    {
        margin-top: 24px;

        font-size: 16px;
    }



    /*----------------
        Categories
    ----------------*/
    .categories
    {
        padding: 60px 0;
    }


    .categories .block_head
    {
        margin-bottom: 32px;
    }


    .categories .row
    {
        margin-bottom: -16px;
        margin-left: 0;
    }

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


    .categories .category
    {
        min-height: 140px;
    }


    .categories .category .thumb
    {
        transform: scale(.7);
    }



    /*--------------
        Projects
    --------------*/
    .projects
    {
        padding: 60px 0;
    }


    .projects .block_head
    {
        margin-bottom: 32px;
    }


    .projects .swiper
    {
        padding-bottom: 24px;
    }


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


    .projects .swiper-slide
    {
        width: 320px;
        padding: 0;
    }


    .projects .swiper-horizontal > .swiper-pagination-bullets,
    .projects .swiper-pagination-bullets.swiper-pagination-horizontal,
    .projects .swiper-pagination-custom,
    .projects .swiper-pagination-fraction
    {
        display: flex;
    }


    .projects .project .thumb
    {
        position: relative;

        width: 100%;
        height: auto;
        padding-bottom: 75%;
    }


    .projects .project .desc
    {
        height: 144px;

        -webkit-line-clamp: 7;
    }


    .projects .project .data
    {
        width: 100%;
    }



    /*--------------
        Partners
    --------------*/
    .partners
    {
        padding: 60px 0;
    }


    .partners .block_head
    {
        margin-bottom: 32px;
    }


    .partners .swiper
    {
        padding: 0 0 48px;
    }


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


    .partners .swiper-horizontal > .swiper-pagination-bullets,
    .partners .swiper-pagination-bullets.swiper-pagination-horizontal,
    .partners .swiper-pagination-custom,
    .partners .swiper-pagination-fraction
    {
        display: flex;
    }



    /*----------------
        Order form
    ----------------*/
    .order_form
    {
        padding: 60px 0;
    }


    .order_form .data
    {
        padding: 40px;
    }


    .order_form .block_head
    {
        margin-bottom: 28px;
    }

    .order_form .block_head .title:before
    {
        left: -40px;

        width: 44px;
    }



    .order_form .data.row
    {
        padding: 40px;
    }


    .order_form .data.row .block_head .title:before
    {
        left: -40px;

        width: 44px;
    }



    /*---------------------
        Filter selected
    ---------------------*/
    .filter_selected
    {
        padding: 16px;
    }


    .filter_selected .btn
    {
        padding-left: 9px;

        font-size: 12px;
    }



    /*--------------
        Products
    --------------*/
    .products .block_head
    {
        margin-bottom: 32px;
    }


    .products .swiper
    {
        padding-bottom: 32px;
    }


    .products .swiper-slide
    {
        visibility: visible;

        width: 240px;

        pointer-events: auto;

        opacity: 1;
    }


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


    .products .swiper-horizontal > .swiper-pagination-bullets,
    .products .swiper-pagination-bullets.swiper-pagination-horizontal,
    .products .swiper-pagination-custom,
    .products .swiper-pagination-fraction
    {
        display: flex;
    }


    .products .row
    {
        margin-bottom: -16px;
        margin-left: -16px;
    }

    .products .row > *
    {
        width: calc(50% - 16px);
        margin-bottom: 16px;
        margin-left: 16px;
    }


    .products .product
    {
        padding: 15px;
    }


    .products .product .thumb
    {
        height: 180px;
    }


    .products .product .name
    {
        font-size: 14px;
    }


    .products .product .articul
    {
        font-size: 13px;
    }



    /*---------------------
        Products bottom
    ---------------------*/
    .products_bottom
    {
        margin-top: 32px;
    }


    .products_bottom .limit
    {
        width: 100%;
        margin-bottom: 12px;
    }


    .products_bottom .nice-select .current
    {
        height: 44px;

        line-height: 42px;
    }



    /*------------------
        Product info
    ------------------*/
    .product_info .images
    {
        width: 100%;
        padding-left: 80px;
    }


    .product_info .images .big .item
    {
        height: 360px;
    }


    .product_info .images .thumbs .swiper
    {
        padding: 40px 0;
    }


    .product_info .data
    {
        width: 100%;
        margin-top: 28px;
    }



    /*-------------------
        Media gallery
    -------------------*/
    .media_gallery .swiper
    {
        margin-bottom: 48px;
        padding-bottom: 28px;
    }


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


    .media_gallery .swiper-horizontal > .swiper-pagination-bullets,
    .media_gallery .swiper-pagination-bullets.swiper-pagination-horizontal,
    .media_gallery .swiper-pagination-custom,
    .media_gallery .swiper-pagination-fraction
    {
        display: flex;
    }


    .media_gallery .item img
    {
        max-width: 320px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .block_head
    {
        margin-bottom: 28px;
    }


    .contacts_info .row
    {
        margin-left: 0;
    }

    .contacts_info .row > *
    {
        width: 100%;
        margin-left: 0;
    }


    .contacts_info .label
    {
        font-size: 16px;
    }


    .contacts_info .phone
    {
        margin-top: 28px;
    }

    .contacts_info .phone a
    {
        font-size: 16px;
    }


    .contacts_info .callback_btn
    {
        margin-top: 28px;

        font-size: 14px;
    }



    /*------------------
        Sub services
    ------------------*/
    .sub_services
    {
        padding: 60px 0;
    }


    .sub_services .service .info
    {
        order: 2;

        width: 100%;
    }


    .sub_services .service .name
    {
        font-size: 16px;
    }


    .sub_services .service .thumb
    {
        width: 100%;
        height: auto;
        padding-bottom: 75%;
    }


    .sub_services .bottom
    {
        font-size: 16px;
    }



    /*------------
        Prices
    ------------*/
    .prices .service + .service
    {
        margin-top: 48px;
    }


    .prices .service .title
    {
        margin-bottom: 24px;

        font-size: 22px;
    }


    .prices .section .name
    {
        margin-bottom: 8px;

        font-size: 16px;
    }


    .prices .items > *
    {
        padding: 2px 12px;

        font-size: 14px;
    }



    /*-----------
        Certs
    -----------*/
    .certs
    {
        padding: 60px 0;
    }



    /*--------------------
        Reviews on map
    --------------------*/
    .reviews_on_map .map
    {
        height: 360px;
    }



    /*---------------------
        Service process
    ---------------------*/
    .service_process .step:after
    {
        font-size: 70px;
    }



    /*---------------
        Cart info
    ---------------*/
    .cart_info .titles
    {
        display: none;
    }


    .cart_info .product
    {
        flex-wrap: wrap;
        justify-content: flex-start;

        padding-block: 19px;
        padding-inline: 19px;
    }


    .cart_info .product .remove_btn
    {
        top: 15px;
        right: 15px;
    }


    .cart_info .product .col_thumb
    {
        margin-bottom: 16px;
    }


    .cart_info .product .col_info
    {
        align-self: flex-start;

        margin-bottom: 16px;
        margin-left: auto;
        padding-top: 24px;
    }


    .cart_info .product .col_price
    {
        text-align: left;
    }


    .cart_info .product .col_price .old
    {
        margin: 0;
    }


    .cart_info .product .col_amount
    {
        margin-left: 20px;
    }


    .cart_info .product .col_total_price
    {
        margin-left: auto;

        text-align: left;
    }



    .cart_info .col_info
    {
        width: calc(100% - 120px);
    }


    .cart_info .col_price,
    .cart_info .col_total_price
    {
        width: 100px;
    }



    /*-------------------
        Checkout info
    -------------------*/
    .checkout_info .section .title
    {
        margin-bottom: 20px;
        padding-left: 68px;

        font-size: 24px;
    }


    .checkout_info .section .title:before
    {
        width: 52px;
    }



    .checkout_info .form .columns
    {
        --form_columns_offset: 16px;
    }


    .checkout_info .form .columns > *
    {
        width: calc(100% - var(--form_columns_offset));
    }



    .checkout_info .legal_entity
    {
        margin-top: 12px;
    }


    .checkout_info .legal_entity .checkbox
    {
        font-size: 16px;
    }



    .checkout_info .delivery_methods label > div
    {
        min-height: 68px;
        padding-inline: 20px;
    }


    .checkout_info .delivery_methods label .data
    {
        padding-left: 0;
    }


    .checkout_info .delivery_methods label .faster
    {
        display: none;
    }


    .checkout_info .delivery_methods label .name
    {
        max-width: calc(100% - 35px);
    }


    .checkout_info .delivery_methods label .arr
    {
        width: 15px;
        height: 10px;
    }



    .checkout_info .delivery_methods .pickup_point
    {
        font-size: 14px;

        gap: 12px;
    }


    .checkout_info .delivery_methods .pickup_point .icon
    {
        width: 20px;
        height: 28px;
    }


    .checkout_info .delivery_methods .pickup_point .icon + *
    {
        width: calc(100% - 32px);
    }



    .checkout_info .payment_methods
    {
        margin-bottom: -12px;
    }


    .checkout_info .payment_methods label
    {
        width: calc(100% - 16px);
        margin-bottom: 12px;
    }


    .checkout_info .payment_methods label .check + div
    {
        min-height: 0;
        padding: 16px 19px 16px 51px;
    }


    .checkout_info .payment_methods label .check
    {
        top: 14px;
        left: 19px;
    }



    /*--------------------
        Checkout total
    --------------------*/
    .checkout_total
    {
        margin-top: 40px;
        padding: 18px;
    }


    .checkout_total .item + .item
    {
        margin-top: 16px;
    }


    .checkout_total .price.green
    {
        margin-top: 4px;
    }



    /*-------------
        LK info
    -------------*/
    .lk_info aside
    {
        margin-bottom: 0;
    }


    .lk_info .block_head .title
    {
        padding-left: 40px;

        font-size: 20px;
    }


    .lk_info .block_head .title:before
    {
        left: -24px;

        width: 48px;
    }


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


    .lk_info .form .submit
    {
        padding-top: 20px;

        gap: 12px;
    }


    .lk_info .form .edit_btn,
    .lk_info .form .submit_btn
    {
        width: 100%;
        padding-inline: 23px;
    }



    /*-------------
        LK menu
    -------------*/
    .lk_menu
    {
        padding-block: 19px;
        padding-inline: 19px;

        gap: 20px;
    }


    .lk_menu a
    {
        font-size: 15px;
    }


    .lk_menu .logout_btn .icon
    {
        width: 22px;
        height: 19px;
    }



    /*----------------
        LK history
    ----------------*/
    .lk_history .titles
    {
        display: none;
    }


    .lk_history .order + .order
    {
        margin-top: 12px;
    }


    .lk_history .order .head
    {
        align-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        flex-wrap: wrap;

        text-align: left;

        gap: 10px;
    }


    .lk_history .order .head > *
    {
        position: relative;

        width: 100%;
        padding-left: 50%;
    }


    .lk_history .order .head > *::before
    {
        position: absolute;
        top: 0;
        left: 20px;

        font-weight: 400;

        content: attr(data-label);

        color: #4f4f4f;
    }


    .lk_history .order .data
    {
        padding: 20px;
    }


    .lk_history .order .product
    {
        flex-wrap: wrap;

        padding-block: 20px;
        padding-inline: 20px;
    }


    .lk_history .order .col_thumb
    {
        margin-bottom: 16px;
    }


    .lk_history .order .col_info
    {
        width: calc(100% - 116px);
        margin-bottom: 16px;
    }


    .lk_history .order .articul
    {
        font-size: 14px;
    }


    .lk_history .order .product .col_price
    {
        width: 96px;

        font-size: 15px;

        text-align: left;
    }


    .lk_history .order .product .col_amount
    {
        width: auto;
        margin-right: auto;
        margin-left: 20px;

        font-size: 15px;

        text-align: left;
    }


    .lk_history .order .product .col_total_price
    {
        width: auto;

        font-size: 16px;
    }



    /*------------
        Footer
    ------------*/
    footer .bottom .cont
    {
        justify-content: space-between;
    }

    footer .bottom .cont > * + *
    {
        margin-top: 10px;
        margin-left: 0;
    }



    footer .copyright
    {
        width: 100%;
    }



    /*-----------
        PopUp
    -----------*/
    .modal_title
    {
        font-size: 22px;
    }


    .modal .form .agree
    {
        margin-top: -4px;
    }
}
