@media (max-width: 767px)
{
    /*---------------
        Main styles
    ---------------*/
    :root
    {
        --font_size: 15px;
        --font_size_title: 26px;
    }


    body
    {
        line-height: 21px;
    }


    .block_head .title
    {
        line-height: 30px;
    }

    .block_head .title small,
    .block_head .title.mini small
    {
        font-size: 18px;
    }


    .page_title
    {
        line-height: 34px;

        margin-bottom: 25px;
    }



    .text_block .columns
    {
        column-gap: 0;
        column-count: 1;
    }

    .text_block p,
    .text_block img,
    .text_block iframe,
    .text_block ul,
    .text_block ol,
    .text_block blockquote,
    .text_block q
    {
        margin-bottom: 20px;
    }


    .text_block h2
    {
        font-size: 24px;
        line-height: 34px;
    }

    .text_block h3
    {
        font-size: 20px;
        line-height: 30px;
    }

    .text_block h4
    {
        font-size: 18px;
        line-height: 28px;
    }


    .text_block .banner
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
    }

    .text_block .banner .info
    {
        font-size: 18px;
        line-height: 22px;

        min-height: 320px;
        padding: 50px 20px;
    }

    .text_block .banner .info > * + *
    {
        margin-top: 15px;
    }

    .text_block .banner .title
    {
        font-size: 32px;
        line-height: 36px;
    }

    .text_block .banner .link
    {
        margin-top: 25px;
    }


    .text_block .slider_in_text
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
    }

    .text_block .slider_in_text .info
    {
        font-size: 18px;
        line-height: 22px;

        min-height: 320px;
        padding: 50px 20px;
    }

    .text_block .slider_in_text .info > * + *
    {
        margin-top: 15px;
    }

    .text_block .slider_in_text .title
    {
        font-size: 32px;
        line-height: 36px;
    }

    .text_block .slider_in_text .link
    {
        margin-top: 25px;
    }


    .text_block .cols .col + .col
    {
        margin-top: 35px;
    }


    .text_block blockquote,
    .text_block q
    {
        padding: 15px 20px;
    }


    .text_block .icon.right
    {
        width: 150px;
    }



    .content_flex .content
    {
        width: 100%;
    }



    .form
    {
        --form_label_width: 150px;
    }



    /*---------------
        Header
    ---------------*/
    header .info
    {
        padding: 15px 0;
    }


    header .top,
    header .col_center
    {
        display: none;
    }


    header .logo
    {
        margin-right: auto;
    }

    header .logo a,
    header .logo img
    {
        height: 60px;
    }


    header .links > * + *
    {
        margin-left: 25px;
    }

    header .links .icon img
    {
        height: 32px;
    }



    #mob_menu .contacts
    {
        display: block;
    }



    /*---------------
        Sidebar
    ---------------*/
    aside
    {
        width: 100%;
        margin-bottom: 20px;
    }


    aside .filter .title
    {
        font-size: 18px;
        line-height: 26px;

        margin: -5px 0;

        cursor: pointer;

        border: none;
    }

    aside .filter .mob_hide,
    aside .filter .reset_btn
    {
        display: none;
    }

    aside .filter.active .reset_btn
    {
        display: block;
    }

    aside .filter .item .name
    {
        padding: 10px 42px 9px 20px;
    }



    /*---------------
        Main section
    ---------------*/
    .main_slider .slide .info
    {
        width: 290px;
        min-height: 300px;
        padding: 50px 20px;
    }

    .main_slider .slide .info > * + *
    {
        margin-top: 15px;
    }

    .main_slider .slide .title
    {
        font-size: 32px;
        line-height: 34px;
    }

    .main_slider .slide .desc
    {
        font-size: 16px;
    }

    .main_slider .slide .link
    {
        margin-top: 20px;
    }



    .cats_wall .flex
    {
        margin-bottom: -35px;

        --cats_wall_count: 3;
    }

    .cats_wall .flex > *
    {
        margin-bottom: 35px;
    }



    .about .data .info
    {
        width: 100%;
    }

    .about .data .info > * + *
    {
        margin-top: 15px;
    }

    .about .data .info .title
    {
        font-size: 36px;
        line-height: 38px;
    }


    .about .data .logo
    {
        width: 100%;
        margin: 40px 0 0;
    }


    .about .links
    {
        flex-wrap: wrap;
    }

    .about .links a
    {
        font-size: var(--font_size);
        line-height: 21px;

        min-height: 44px;
        padding: 12px 20px 10px;
    }

    .about .links > * + *
    {
        margin-top: 10px;
        margin-left: 0;
    }



    .products .flex
    {
        --products_count: 2;
    }


    .products.popular .flex > *:nth-last-child(1)
    {
        display: flex;
    }


    .products .slider
    {
        border: none;
    }

    .products .slider .product
    {
        padding: 0 10px;
    }


    .products .all a
    {
        font-size: 16px;
        line-height: 52px;

        width: 100%;
        height: 50px;
    }



    .decorators_order .data .info
    {
        font-size: 14px;
        line-height: 20px;
    }

    .decorators_order .data .info .title
    {
        font-size: 36px;
        line-height: 38px;
    }

    .decorators_order .data .info .desc > * + *
    {
        margin-top: 20px;
    }



    .main_article .info,
    .articles .article .info
    {
        padding: 25px;
    }

    .main_article .name,
    .articles .article .name
    {
        font-size: 18px;
        line-height: 28px;
    }


    .articles .all a
    {
        font-size: 16px;
        line-height: 52px;

        width: 350px;
        height: 50px;
    }



    .cart_info table thead
    {
        display: none;
    }

    .cart_info table tr
    {
        position: relative;

        display: flex;
        overflow: hidden;

        padding: 20px 0;

        border-top: 2px solid #cecfcf;

        justify-content: space-between;
        align-items: center;
        align-content: center;
        flex-wrap: wrap;
    }

    .cart_info table td
    {
        display: flex;

        padding: 0;

        border: 0;

        justify-content: flex-start;
        align-items: center;
        align-content: center;
        flex-wrap: wrap;
    }

    .cart_info table td.image
    {
        width: 100px;
        margin-bottom: 15px;
    }

    .cart_info table td.info
    {
        width: calc(100% - 115px);
        margin-bottom: 15px;
    }

    .cart_info table td.info .name
    {
        width: 100%;
        margin-bottom: 5px;
    }

    .cart_info table td.price,
    .cart_info table td.amount
    {
        position: relative;

        min-height: 64px;
        padding-top: 20px;
    }

    .cart_info table td.price:before,
    .cart_info table td.amount:before
    {
        color: var(--text_color);
        font-size: 11px;
        font-weight: normal;
        line-height: 10px;

        position: absolute;
        top: 0;
        left: 0;

        display: block;

        width: 100%;

        content: attr(data-column);
        text-align: left;
        text-transform: uppercase;

        opacity: .5;
    }

    .cart_info table td.delete
    {
        position: absolute;
        top: 0;
        right: 0;
    }


    .cart_info table tfoot tr
    {
        justify-content: center;
    }

    .cart_info table tfoot tr:last-child
    {
        padding-bottom: 0;
    }

    .cart_info table tfoot tr + tr
    {
        padding-top: 0;

        border: none;
    }

    .cart_info table tfoot td
    {
        font-size: 22px;
        line-height: 26px;

        padding: 0 10px;
    }

    .cart_info table tfoot td:empty
    {
        display: none;
    }



    .subscribe .info
    {
        padding: 30px 50px;
    }



    .decorators .head
    {
        padding-top: 33.333%;
    }

    .decorators .head .bg
    {
        height: 50%;
    }

    .decorators .head .info
    {
        left: 20px;

        max-width: calc(100% - 40px);
    }

    .decorators .head .title
    {
        font-size: 24px;
        line-height: 32px;
    }

    .decorators .head .desc
    {
        font-size: 13px;
        line-height: 17px;
    }



    .promo .flex
    {
        --promo_count: 1;
    }



    .decorators .about .text_block
    {
        width: 100%;
    }

    .decorators .about .img
    {
        display: none;
    }



    .advantages .flex
    {
        --advantages_count: 2;
    }



    .decorators .slider
    {
        margin-bottom: 30px;
    }

    .decorators .slide .data
    {
        padding-bottom: 50%;
    }

    .decorators .slider .owl-carousel .owl-nav button.owl-prev
    {
        left: 0;
    }

    .decorators .slider.owl-carousel .owl-nav button.owl-next
    {
        right: 0;
    }



    .decorators .send_project
    {
        padding: 50px 20px;
    }

    .decorators .send_project .title
    {
        font-size: 32px;
        line-height: 38px;

        margin-bottom: 20px;
    }

    .decorators .send_project .form
    {
        padding: 30px;
    }



    .delivery_service
    {
        justify-content: space-between;
    }

    .delivery_service .item
    {
        width: auto;
        max-width: calc(25% - 10px);
    }



    .faq .accordion .item .title
    {
        font-size: 17px;
        line-height: 23px;
    }

    .faq .accordion .item .data
    {
        margin-top: 25px;
        margin-bottom: 30px;
        padding: 15px 20px;
    }


    .faq .add_question
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
        padding: 40px 50px;
    }

    .faq .add_question .title
    {
        font-size: 24px;
        line-height: 30px;
    }


    .faq .columns .question,
    .faq .cols .question
    {
        font-size: 16px;

        padding: 15px 110px 15px 20px;
    }

    .faq .columns .answer,
    .faq .cols .answer
    {
        padding: 15px 20px;
    }



    .order_methods .title
    {
        font-size: 18px;
        line-height: 26px;

        margin-bottom: 30px;
    }

    .order_methods .flex
    {
        margin-bottom: -40px;

        --order_methods_count: 2;
    }

    .order_methods .flex > *
    {
        margin-bottom: 40px;
    }

    .order_methods .item .icon
    {
        width: 74px;
        height: 74px;
        padding: 15px;
    }



    .product_info .images .thumbs
    {
        margin-top: 10px;

        --images_thumbs_offset: 10px;
    }

    .product_info .information .name
    {
        font-size: 15px;
        line-height: 19px;
    }

    .product_info .information > * + *
    {
        margin-top: 20px;
    }


    .product_info .product_name
    {
        font-size: 25px;
        line-height: 32px;

        padding-right: 0;
    }

    .product_info .share
    {
        position: relative;
        top: 0;
        right: 0;

        margin-bottom: 10px;
    }

    .product_info .favorite_link
    {
        position: absolute;
        right: 0;
        bottom: 100%;

        margin-bottom: 10px;
    }

    .product_info .buy
    {
        padding: 25px;
    }

    .product_info .amount
    {
        margin-right: auto;
        margin-left: 40px;
    }

    .product_info .amount .input
    {
        width: 75px;
    }

    .product_info .quike_buy_link
    {
        width: 100%;
        margin-top: 20px;
    }


    .product_info .features
    {
        column-count: 1;
        column-gap: 0;
    }

    .product_info .features > * + *
    {
        margin-top: 10px;
    }



    .reviews .flex
    {
        --reviews_count: 2;
    }

    .reviews .review
    {
        padding: 10px;
    }

    .reviews .review > * + *
    {
        margin-top: 15px;
    }

    .reviews .review .text
    {
        font-size: 13px;
        line-height: 17px;
    }


    .reviews .all a
    {
        font-size: 16px;
        line-height: 52px;

        width: 350px;
        height: 50px;
    }



    .projects .flex
    {
        --projects_count: 2;
    }

    .projects .project
    {
        font-size: 14px;
        line-height: 22px;
    }

    .projects .project .btn
    {
        font-size: 11px;
        line-height: 26px;

        height: 30px;
        padding: 0 20px;
    }


    .projects .all a
    {
        font-size: 16px;
        line-height: 52px;

        width: 100%;
        height: 50px;
    }



    .contacts_info > *
    {
        width: 100% !important;
    }


    .contacts_info .info > * + *
    {
        margin-top: 25px;
    }

    .contacts_info .info .name,
    .contacts_info .info .phone a
    {
        font-size: 20px;
    }


    .contacts_info .map
    {
        height: 320px;
        margin-top: 30px;
    }


    .contacts_info .schema
    {
        padding: 30px;
    }



    .stocks .stock:after
    {
        top: -7px;
        right: -7px;

        width: 110px;
        height: 111px;

        background-size: 100%;
    }

    .stocks .stock .info
    {
        width: 100%;
        padding: 30px;
    }

    .stocks .stock .thumb
    {
        width: 100%;
        padding-bottom: 50%;
    }

    .stocks .all a
    {
        font-size: 16px;
        line-height: 52px;

        width: 100%;
        height: 50px;
    }



    .collections .content_flex .content
    {
        margin-bottom: -50px;
    }

    .collections .block + .block
    {
        margin-top: 60px;
    }

    .collections .item .info
    {
        padding: 20px;
    }

    .collections .item .sticker
    {
        font-size: 11px;
        line-height: 23px;

        height: 21px;
    }

    .collections .item .name
    {
        font-size: 20px;
        line-height: 26px;
    }




    .checkout .form .block
    {
        padding: 20px 20px 1px;
    }

    .checkout .form .block_title
    {
        font-size: 22px;
    }


    .checkout .form .reset
    {
        position: relative;
        bottom: 0;

        margin-bottom: 20px;
    }


    .checkout .total
    {
        font-size: 20px;

        margin-bottom: 20px;

        letter-spacing: .05em;
    }

    .checkout .total .val
    {
        margin-left: 20px;
    }


    .checkout .form .submit
    {
        width: 100%;
        max-width: 100%;
    }



    .sort
    {
        position: relative;
        top: 0;
        right: 0;

        width: 100%;
        margin-bottom: 20px;
    }



    /*---------------
        Footer
    ---------------*/
    footer .info .flex + .flex .col_right
    {
        width: 100%;
        margin-top: 10px;

        text-align: left;

        order: 9;
    }



    footer .info .cont > .flex:first-child .col_center
    {
        width: 100%;
        margin-top: 20px;

        order: 5;
    }

    footer .menu
    {
        justify-content: center;
    }



    /*---------------
        PopUp
    ---------------*/
    .fancybox-caption__body
    {
        font-size: 20px;
        line-height: 26px;
    }


    .modal .modal_title
    {
        font-size: 22px;
        line-height: 26px;

        min-height: 80px;
        padding: 19px 80px 15px 25px;
    }

    .modal .modal_data
    {
        padding: 25px;
    }


    .modal table.product tr
    {
        position: relative;

        display: flex;
        overflow: hidden;

        justify-content: space-between;
        align-items: flex-start;
        align-content: flex-start;
        flex-wrap: wrap;
    }

    .modal table.product td
    {
        display: flex;

        padding: 0;

        border: 0;

        justify-content: flex-start;
        align-items: center;
        align-content: center;
        flex-wrap: wrap;
    }

    .modal table.product td.image
    {
        width: 100px;
        margin-bottom: 15px;
    }

    .modal table.product td.info
    {
        width: calc(100% - 115px);
        margin-bottom: 15px;
    }

    .modal table.product td.info .name
    {
        width: 100%;
        margin-bottom: 5px;
    }

    .modal table.product td.amount
    {
        margin-left: 115px;
    }

    .modal table.product td.price,
    .modal table.product td.amount
    {
        position: relative;

        min-height: 64px;
        padding-top: 20px;
    }

    .modal table.product td.price
    {
        margin-right: auto;
        margin-left: 35px;

        align-self: center;
    }

    .modal table.product td.price:before,
    .modal table.product td.amount:before
    {
        color: var(--text_color);
        font-size: 11px;
        font-weight: normal;
        line-height: 10px;

        position: absolute;
        top: 0;
        left: 0;

        display: block;

        width: 100%;

        content: attr(data-column);
        text-align: left;
        text-transform: uppercase;

        opacity: .5;
    }


    .modal .form .bg
    {
        margin-right: -25px;
        margin-left: -25px;
        padding: 30px 25px 25px;
    }

    .modal .form .columns
    {
        margin-left: -20px;

        --columns_offset: 20px;
    }


    .modal .to_cart
    {
        margin-top: 20px;
    }


    .fancybox-slide--html .fancybox-close-small
    {
        width: 80px;
        height: 80px;
        padding: 20px;
    }
}
