@media (max-width: 479px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size_title: 32px;
    }


    .cont
    {
        padding: 0 20px;
    }



    /*----------------
        Pagination
    ----------------*/
    .pagination > * + *
    {
        margin-left: 8px;
    }


    .pagination a
    {
        line-height: 38px;

        width: 40px;
        height: 40px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion_item
    {
        width: calc(100% + 30px);
        margin-right: -20px;
        margin-left: -10px;
    }


    .accordion_item .head
    {
        display: flex;

        min-height: 86px;
        padding: 20px 100px 20px 20px;

        border-top-right-radius: 0;
        border-bottom-right-radius: 0;

        justify-content: flex-start;
        align-items: center;
        align-content: center;
        flex-wrap: wrap;
    }


    .accordion_item .head .title
    {
        font-size: 18px;
        line-height: 125%;
    }


    .accordion_item .head > .icon
    {
        right: 30px;

        width: 48px;
        height: 48px;
    }


    .accordion_item .head .tooltip .hover
    {
        width: 100px;
        height: 100px;

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

    .accordion_item .head .tooltip .hover img
    {
        width: 90px;
        height: 90px;
    }


    .accordion_item .data
    {
        padding: 40px 10px 20px 20px;
    }



    /*------------
        Header
    ------------*/
    header .logo img
    {
        width: 120px;
    }



    /*-------------
        Sidebar
    -------------*/
    aside .links
    {
        padding: 30px 20px;
    }



    /*------------
        Filter
    ------------*/
    .filter
    {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }


    .filter .item
    {
        padding: 14px 18px;
    }


    .filter .item .label
    {
        font-size: 14px;
        line-height: 16px;
    }



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        margin-bottom: 40px;
    }


    .breadcrumbs
    {
        font-size: 12px;
        line-height: 15px;
    }

    .breadcrumbs .sep
    {
        width: 4px;
        height: 4px;
        margin-right: 10px;
        margin-left: 10px;
    }



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


    .block_head .title
    {
        color: #484540;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .checkbox
    {
        font-size: 12px;
        line-height: 14px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block
    {
        color: rgba(0, 0, 0, .5);
        font-size: 12px;
        line-height: 145%;
    }


    .text_block > *
    {
        margin-bottom: 14px;
    }

    .text_block h2
    {
        margin-bottom: 20px;
    }

    .text_block h3
    {
        font-size: 24px;
        line-height: 125%;

        margin-bottom: 18px;
    }

    .text_block h4
    {
        font-size: 22px;
        line-height: 125%;

        margin-bottom: 18px;
    }


    .text_block ul
    {
        margin-top: 14px;
        margin-bottom: 14px;
    }

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

    .text_block ul li + li
    {
        margin-top: 12px;
    }

    .text_block ul li:before
    {
        top: 5px;

        width: 8px;
        height: 8px;
    }


    .text_block.middle_w2 ul li
    {
        padding-left: 20px;
    }


    .text_block .table_wrap
    {
        width: calc(100% + 20px);
        max-width: calc(100% + 20px);
        margin-right: -10px;
        margin-left: -10px;
    }


    .text_block table td:last-child
    {
        min-width: 100px;
    }


    .text_block .message
    {
        font-size: 18px;
        line-height: 135%;

        margin-top: 20px;
        margin-bottom: 20px;
        padding-top: 20px;
        padding-left: 0;
    }

    .text_block .message:before
    {
        width: 60px;
        height: 4px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .category_info .block_head
    {
        margin-bottom: 18px;
    }


    .category_info .products
    {
        margin-top: 20px;
        padding-top: 20px;
    }



    /*--------------
        Products
    --------------*/
    .products .row
    {
        margin-bottom: -5px;
        margin-left: -5px;
    }

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


    .products .tabs
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-bottom: 20px;
        margin-left: -20px;
    }


    .products .tabs .btn
    {
        font-size: 14px;
        line-height: 16px;

        padding: 9px 28px;
    }


    .products .product
    {
        padding: 141px 7px 7px;

        border-radius: 14px;
    }


    .products .product .thumb
    {
        height: 130px;

        border-radius: 12px;
    }


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


    .products .product .details
    {
        font-size: 12px;
        line-height: 14px;

        margin-top: 10px;
    }


    .products .product .buy
    {
        margin-top: 10px;
    }


    .products .product .price
    {
        font-size: 12px;
        line-height: 14px;
    }


    .products .product .details .icon,
    .products .product .buy_btn
    {
        width: 40px;
        height: 40px;
    }


    .products .product .details .icon svg
    {
        width: 14px;
        height: 9px;
    }


    .products .product .buy_btn .icon
    {
        width: 24px;
        height: 24px;
    }



    /*-------------------------
        Product simple head
    -------------------------*/
    .product_simple_head .cont
    {
        padding: 0 10px;
    }


    .product_simple_head .product_name
    {
        left: 10px;

        max-width: calc(100% - 20px);
        padding: 30px 20px;
    }


    .product_simple_head .data
    {
        height: 260px;
    }


    .product_simple_head .controls
    {
        padding: 20px;
    }



    /*-------------
        Manager
    -------------*/
    .manager
    {
        padding: 30px 20px 112px;
    }


    .manager .title
    {
        font-size: 24px;
    }


    .manager .desc
    {
        margin-top: 14px;
    }



    /*------------------
        Product info
    ------------------*/
    .product_info .images
    {
        display: flex;
        flex-direction: column;

        padding: 0;
    }

    .product_info .images .thumbs
    {
        position: relative;

        width: 100%;
        height: auto;
        margin-top: 10px;

        order: 2;
    }


    .product_info .images .thumbs .swiper
    {
        position: relative;

        width: 100%;
        height: auto;
        padding: 0 40px;
    }


    .product_info .images .thumbs .swiper-slide button:after
    {
        top: 100%;
        right: 0;
        bottom: auto;
        left: 0;

        width: 0;
        height: 3px;
        margin: 4px auto 0;

        transition: .2s linear;
    }

    .product_info .images .thumbs .swiper-slide-thumb-active button:after
    {
        width: 20px;
        height: 3px;
    }


    .product_info .images .swiper-button-prev
    {
        left: 0;

        width: 20px;
        height: 100%;
    }

    .product_info .images .swiper-button-prev .icon
    {
        transform: rotate(90deg);
    }


    .product_info .images .swiper-button-next
    {
        right: 0;
        left: auto;

        width: 20px;
        height: 100%;
    }

    .product_info .images .swiper-button-next .icon
    {
        transform: rotate(-90deg);
    }



    .product_info .data .option .label,
    .product_info .data .option label div
    {
        font-size: 12px;
        line-height: 14px;
    }



    .product_info .tabs
    {
        display: block;
        overflow: auto;

        width: calc(100% + 40px);
        margin: 0 -20px 30px;
        padding: 0 20px;

        white-space: nowrap;

        scrollbar-color: transparent transparent !important;
        scrollbar-width: thin !important;
    }

    .product_info .tabs::-webkit-scrollbar
    {
        width: 0 !important;
        height: 0 !important;

        background-color: transparent !important;
    }

    .product_info .tabs::-webkit-scrollbar-thumb
    {
        background-color: transparent !important;
    }


    .product_info .tabs .btn
    {
        display: inline-block;

        max-width: none;
        margin: 0;
        padding-bottom: 11px;

        vertical-align: top;
    }

    .product_info .tabs .btn + .btn
    {
        margin-left: 20px;
    }


    .product_info .features .item
    {
        flex-wrap: nowrap;
    }

    .product_info .features .item + .item
    {
        margin-top: 12px;
    }


    .product_info .features .label
    {
        width: 100%;
    }


    .product_info .features .val
    {
        width: auto;

        text-align: right;
    }



    /*----------------
        Categories
    ----------------*/
    .categories .row
    {
        margin-bottom: -10px;
        margin-left: 0;
    }

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


    .categories .row .category .thumb
    {
        border-radius: 40px;
    }

    .categories .row .category .info
    {
        padding: 40px;
    }

    .categories .row .category .name
    {
        font-size: 18px;
        line-height: 22px;
    }

    .categories .row .category .btn
    {
        width: 58px;
        height: 58px;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block .data
    {
        padding: 40px 20px 80px;
    }



    /*-----------------
        About block
    -----------------*/
    .about_block .accordion_item
    {
        border-radius: 10px  0 0 10px;
    }



    /*----------------
        Price list
    ----------------*/
    .price_list .exp
    {
        font-size: 12px;
        line-height: 125%;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .has_question
    {
        padding: 30px 20px 80px;
    }


    .contacts_info .requisites,
    .contacts_info .socials
    {
        padding: 30px 20px;
    }



    /*---------------------
        About info head
    ---------------------*/
    .about_info_head .data .title
    {
        font-size: 50px;
    }


    .about_info_head .data .desc
    {
        font-size: 12px;
        line-height: 135%;

        margin-top: 20px;
    }



    /*----------------------
        About advantages
    ----------------------*/
    .about_advantages .info .desc
    {
        font-size: 12px;
        line-height: 135%;
    }


    .about_advantages .item .icon
    {
        width: 50px;
        height: 50px;
        padding: 10px;
    }

    .about_advantages .item .icon + *
    {
        width: calc(100% - 66px);
    }


    .about_advantages .item .name
    {
        font-size: 14px;
        line-height: 16px;
    }

    .about_advantages .item .desc
    {
        font-size: 12px;
        line-height: 135%;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .block_head
    {
        margin-bottom: 30px;
    }


    .about_info .gallery
    {
        width: 320px;
    }



    /*-------------
        Persons
    -------------*/
    .persons .row
    {
        margin-left: 0;
    }

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


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



    /*-------------
        History
    -------------*/
    .history .years .swiper-slide
    {
        font-size: 60px;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block
    {
        margin-bottom: 60px;
    }



    /*---------------
        Cart info
    ---------------*/
    .cart_info .clear_btn
    {
        font-size: 12px;
        line-height: 14px;

        margin-bottom: 3px;
    }


    .cart_info .product
    {
        width: calc(100% + 20px);
        margin-right: -10px;
        margin-left: -10px;
    }


    .cart_info .product .thumb
    {
        width: 70px;
        height: 70px;
    }


    .cart_info .product .info
    {
        width: calc(100% - 218px);
        margin-left: 8px;
        padding-right: 0;
    }


    .cart_info .product .name
    {
        font-size: 12px;
        line-height: 125%;
    }


    .cart_info .product .amount
    {
        margin-top: 5px;
    }


    .cart_info .product .price
    {
        top: 44px;
        right: 48px;
    }

    .cart_info .product .price .label
    {
        font-size: 12px;
        line-height: 14px;
    }


    .cart_info .product .delete
    {
        margin-left: 18px;
    }



    /*----------------
        Cart total
    ----------------*/
    .cart_total
    {
        width: calc(100% + 20px);
        margin-right: -10px;
        margin-left: -10px;
        padding: 30px 20px;
    }



    /*------------
        Footer
    ------------*/
    footer .bottom
    {
        font-size: 12px;
        line-height: 15px;

        padding: 20px 0;
    }


    footer .logo img
    {
        height: 50px;
    }


    footer .desc
    {
        font-size: 12px;
        line-height: 135%;

        width: 252px;
        margin-top: 10px;
    }


    footer .callback_btn
    {
        font-size: 12px;
        line-height: 15px;
    }


    footer .contacts .label
    {
        font-size: 12px;
        line-height: 15px;
    }


    footer .contacts .phones .val
    {
        font-size: 16px;
        line-height: 19px;
    }


    footer .contacts .val
    {
        font-size: 12px;
        line-height: 15px;
    }



    /*-----------
        PopUp
    -----------*/
}
