@media (max-width: 1023px)
{
    /*---------------
        Main styles
    ---------------*/
    :root
    {
        --font_size_title: 28px;
    }


    body
    {
        line-height: 22px;
    }


    .block_head .title
    {
        line-height: 32px;
    }

    .block_head .title small,
    .block_head .title.mini small
    {
        font-size: 20px;
    }


    .page_title
    {
        line-height: 32px;
    }



    .text_block h2
    {
        font-size: 26px;
        line-height: 36px;

        margin-bottom: 20px;
    }

    .text_block h3
    {
        font-size: 22px;
        line-height: 32px;

        margin-bottom: 20px;
    }

    .text_block h4
    {
        font-size: 20px;
        line-height: 30px;
    }


    .text_block .img
    {
        padding: 10px;
    }


    .text_block .banner .info
    {
        font-size: 20px;
        line-height: 24px;

        min-height: 350px;
    }

    .text_block .banner .info > * + *
    {
        margin-top: 20px;
    }

    .text_block .banner .title
    {
        font-size: 36px;
        line-height: 40px;
    }

    .text_block .banner .link
    {
        margin-top: 30px;
    }


    .text_block .slider_in_text .info
    {
        font-size: 20px;
        line-height: 24px;

        min-height: 350px;
    }

    .text_block .slider_in_text .info > * + *
    {
        margin-top: 20px;
    }

    .text_block .slider_in_text .title
    {
        font-size: 36px;
        line-height: 40px;
    }

    .text_block .slider_in_text .link
    {
        margin-top: 30px;
    }


    .text_block .cols .col
    {
        width: 100%;
    }

    .text_block .cols .col + .col
    {
        margin-top: 40px;
    }

    .text_block blockquote .title2,
    .text_block q .title2
    {
        font-size: 15px;
    }


    .text_block .icon.right
    {
        width: 200px;
    }


    .text_block .method .info,
    .text_block .method .info.big
    {
        width: 100%;
    }

    .text_block .method blockquote,
    .text_block .method .map
    {
        width: 100%;
        margin-top: 24px;
    }

    .text_block .method .map
    {
        height: 290px;
    }



    .overlay
    {
        cursor: pointer;
    }



    /*---------------
        Header
    ---------------*/
    header .menu,
    header .cats
    {
        display: none;
    }


    header .info
    {
        padding: 20px 0;
    }


    header .logo a,
    header .logo img
    {
        height: 70px;
    }


    header .col_center
    {
        max-width: calc(100% - 500px);
        margin: 0 auto;
    }

    header .slogan
    {
        margin-bottom: 0;
    }


    header .links > * + *
    {
        margin-left: 30px;
    }

    header .links a > *
    {
        display: none;
    }

    header .links > * + *:before
    {
        display: none;
    }

    header .links a > *.icon
    {
        display: flex;

        margin-bottom: 0;
    }


    #search_modal
    {
        top: calc(100% + 15px);
        right: -25px;
    }


    header .mob_menu_link
    {
        display: block;

        margin-left: 10px;
    }



    /*---------------
        Sidebar
    ---------------*/



    /*---------------
        Main section
    ---------------*/
    .main_slider .slide .info
    {
        width: 400px;
        min-height: 350px;
        padding: 50px;
    }

    .main_slider .slide .info > * + *
    {
        margin-top: 20px;
    }

    .main_slider .slide .title
    {
        font-size: 40px;
        line-height: 42px;
    }

    .main_slider .slide .desc
    {
        font-size: 20px;
    }

    .main_slider .slide .link
    {
        line-height: 42px;

        margin-top: 25px;
        padding: 0 35px;
    }



    .cats_wall .cat .name
    {
        font-size: 15px;
        line-height: 23px;

        min-height: 46px;
    }

    .cats_wall .cat .link
    {
        line-height: 31px;

        padding: 0 15px;

        letter-spacing: 0;
    }



    .about .data
    {
        min-height: 350px;
        padding: 50px 40px;
    }

    .about .data .info > * + *
    {
        margin-top: 20px;
    }

    .about .data .info .title
    {
        font-size: 40px;
        line-height: 42px;
    }

    .about .data .info .link
    {
        margin-top: 25px;
    }

    .about .data .logo
    {
        font-size: 24px;
        line-height: 34px;

        margin-right: 60px;
        margin-left: 40px;
    }


    .about .links a
    {
        font-size: 16px;
        line-height: 20px;

        min-height: 50px;
        padding: 13px 20px 10px;
    }



    .products .flex
    {
        --products_count: 3;
    }

    .products .product
    {
        padding: 25px;
    }

    .products .product .quike_buy_link
    {
        letter-spacing: 0;
    }

    .products.popular .flex > *:nth-last-child(2)
    {
        display: flex;
    }


    .content .products .flex
    {
        --products_count: 2;
    }

    .content .products .product
    {
        padding: 20px;
    }


    .products .slider .product
    {
        padding: 0 20px;
    }


    .products .all
    {
        margin-top: 30px;
    }

    .products .all a
    {
        font-size: 18px;
        line-height: 54px;

        width: 500px;
        height: 54px;
    }



    .decorators_order .data
    {
        justify-content: center;
    }

    .decorators_order .data .info
    {
        width: 100%;
        margin-bottom: 30px;
    }

    .decorators_order .data .info .title
    {
        font-size: 40px;
        line-height: 42px;
    }

    .decorators_order .data .info > * + *
    {
        margin-top: 20px;
    }

    .decorators_order .data .info br
    {
        display: none;
    }



    .bottom_blocks .flex
    {
        --bottom_blocks_offset: 20px;
        --bottom_blocks_count: 1;
    }


    .main_article .info,
    .articles .article .info
    {
        padding: 35px;
    }


    .articles .flex
    {
        --articles_count: 1;
    }

    .articles .all
    {
        margin-top: 30px;
    }

    .articles .all a
    {
        font-size: 18px;
        line-height: 54px;

        width: 500px;
        height: 54px;
    }


    .subscribe .info
    {
        padding: 35px 85px;
    }



    .cart_info table td.info
    {
        line-height: 20px;
    }

    .cart_info table td.info .name
    {
        font-size: 15px;
        line-height: 21px;
    }

    .cart_info table td.price,
    .cart_info table td.amount
    {
        width: auto;
    }

    .cart_info table td.price
    {
        font-size: 18px;
    }


    .cart_info table tfoot td
    {
        font-size: 20px;
        line-height: 24px;

        padding-top: 20px;
    }


    .cart_info .checkout_link
    {
        font-size: 18px;
        line-height: 57px;

        height: 55px;
    }



    .decorators .head
    {
        width: calc(100% + 40px);
        margin: 0 -20px 20px;
    }

    .decorators .head .info
    {
        bottom: 20px;

        max-width: calc(100% - 60px);
    }

    .decorators .head .title
    {
        font-size: 28px;
        line-height: 38px;
    }

    .decorators .head .desc
    {
        font-size: 14px;
        line-height: 20px;
    }

    .decorators .head .slogan
    {
        display: none;
    }



    .promo .flex
    {
        --promo_offset: 20px;
    }

    .promo .item
    {
        font-size: 14px;
        line-height: 20px;

        padding: 20px;
    }

    .promo .item > * + *
    {
        margin-top: 15px;
    }

    .promo .item .name
    {
        font-size: 20px;
        line-height: 26px;

        margin-top: 20px;
    }



    .decorators .about .text_block
    {
        width: calc(100% - 310px);
    }

    .decorators .about .img
    {
        width: 290px;
        height: 330px;
    }

    .decorators .about .img img
    {
        width: calc(100% + 20px);
        height: auto !important;
    }



    .advantages
    {
        padding-bottom: 0;
    }

    .advantages .flex
    {
        margin-bottom: -40px;

        --advantages_offset: 20px;
    }

    .advantages .flex > *
    {
        margin-bottom: 40px;
    }

    .advantages .item
    {
        font-size: 14px;
        line-height: 20px;
    }

    .advantages .item .icon
    {
        height: 71px;
    }

    .advantages .item br
    {
        display: none;
    }



    .decorators .slider
    {
        width: calc(100% + 40px);
        margin: 0 -20px 40px;
    }

    .decorators .slide .data
    {
        padding-bottom: 45%;
    }



    .decorators .send_project
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
        padding: 50px;
    }

    .decorators .send_project .title
    {
        font-size: 36px;
        line-height: 42px;

        margin-bottom: 25px;
    }



    .faq .content
    {
        width: 100%;
    }

    .faq .col_right
    {
        width: 100%;
        margin-top: 40px;
    }

    .faq .add_question
    {
        padding: 50px 100px;
    }



    .order_methods .item
    {
        font-size: 14px;
        font-weight: 500;
        line-height: 18px;
    }

    .order_methods .item > * + *
    {
        margin-top: 20px;
    }

    .order_methods .item br
    {
        display: none;
    }



    .product_info .col_left
    {
        width: 440px;
        max-width: 100%;
        margin: 0 auto 40px;
    }


    .product_info .col_right
    {
        width: 100%;
    }

    .product_info .product_name
    {
        font-size: 28px;
        line-height: 34px;

        padding-right: 150px;
    }

    .product_info .share
    {
        top: 15px;
    }


    .product_info .buy
    {
        padding: 25px 40px;
    }

    .product_info .amount .input
    {
        width: 75px;
    }



    .reviews .review .rating > * + *
    {
        margin-left: 5px;
    }

    .reviews .review .title
    {
        font-size: 16px;
    }


    .reviews .all
    {
        margin-top: 30px;
    }

    .reviews .all a
    {
        font-size: 18px;
        line-height: 54px;

        width: 500px;
        height: 54px;
    }



    .faq .cols
    {
        --faq_offset: 20px;
        --faq_count: 1;
    }

    .faq .columns
    {
        column-count: 1;
    }

    .faq .columns > * + *,
    .faq .cols .col > * + *
    {
        margin-top: 20px;
    }



    .projects .project
    {
        font-size: 16px;
        line-height: 24px;
    }

    .projects .project .info
    {
        padding: 20px;
    }

    .projects .project .btn
    {
        margin-top: 15px;
    }


    .projects .all
    {
        margin-top: 30px;
    }

    .projects .all a
    {
        font-size: 18px;
        line-height: 54px;

        width: 500px;
        height: 54px;
    }



    .contacts_info .info
    {
        width: 57.5%;
    }

    .contacts_info .info .name,
    .contacts_info .info .phone a
    {
        font-size: 22px;
    }


    .contacts_info .map
    {
        width: 42.5%;
    }


    .contacts_info .schema .title,
    .contacts_info .feedback .title
    {
        font-size: 22px;
        line-height: 30px;

        margin-bottom: 20px;
    }



    .stocks .stock .info
    {
        padding: 25px;
    }

    .stocks .stock .name
    {
        font-size: 22px;
        line-height: 30px;
    }

    .stocks .stock .time
    {
        font-size: 15px;

        padding: 20px 30px;
    }


    .stocks .all
    {
        margin-top: 30px;
    }

    .stocks .all a
    {
        font-size: 18px;
        line-height: 54px;

        width: 500px;
        height: 54px;
    }



    .collections
    {
        --aside_width: 100%;
    }

    .collections aside
    {
        display: none;
    }

    .collections .content_flex .content
    {
        width: 100%;
    }

    .collections .block + .block
    {
        display: block;

        margin-top: 80px;
    }



    .checkout .form .column
    {
        column-gap: 0;
        column-count: 1;
    }

    .checkout .form .column > * + *
    {
        margin-top: 20px;
    }

    .checkout .form .block
    {
        padding: 20px 41px 21px;
    }


    .checkout .bottom
    {
        margin-top: 20px;
        padding-top: 20px;

        justify-content: center;
    }

    .checkout .total
    {
        width: 100%;
        max-width: 100%;
        margin-bottom: 25px;

        text-align: center;

        justify-content: center;
    }

    .checkout .form .submit_btn
    {
        font-size: 20px;
        font-weight: 600;
        line-height: 51px;

        height: 55px;
    }



    .loading
    {
        display: none;
    }



    .sort
    {
        margin-bottom: 32px;
    }



    .all a
    {
        line-height: 42px;

        min-width: 290px;
        height: 44px;
        padding: 0 30px;
    }



    /*---------------
        Footer
    ---------------*/
    footer .info .cont > .flex
    {
        align-items: center;
        align-content: center;
    }

    footer .info .cont > .flex:first-child .col_center
    {
        width: 310px;
    }

    footer .info .col_center
    {
        width: 190px;
        max-width: 100%;
    }


    footer .menu
    {
        font-size: 11px;

        margin-bottom: -10px;
        margin-left: -15px;
    }

    footer .menu a
    {
        margin-bottom: 10px;
        margin-left: 15px;
    }



    /*---------------
        PopUp
    ---------------*/
    .fancybox-caption__body
    {
        font-size: 24px;
        line-height: 30px;
    }

    .fancybox-image
    {
        outline: none;
        outline-offset: 0;
    }
}
