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


    .cont
    {
        padding: 0 20px;
    }


    .block
    {
        margin-bottom: 50px;
    }


    .block_head
    {
        margin-bottom: 30px;
    }

    .block_head .title
    {
        line-height: 34px;

        width: 100%;
        padding-bottom: 20px;
    }

    .block_head .all_link
    {
        margin-top: 25px;
        margin-left: 0;
    }



    .pagination
    {
        margin-top: 35px;
    }



    .text_block img.left,
    .text_block img.right
    {
        float: none;

        max-width: 100%;
        margin: 25px 0;
    }



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

    .form .label
    {
        line-height: 20px;

        margin-bottom: 6px;
    }



    /*---------------
        Header
    ---------------*/
    .mob_header
    {
        margin-bottom: 30px;
        padding: 15px 0 0;
    }


    .mob_header .cont
    {
        flex-wrap: wrap;
    }


    .mob_header .logo
    {
        max-width: calc(100% - 75px);
    }

    .mob_header .logo,
    .mob_header .logo a
    {
        font-size: 3vw;
        line-height: 3vw;

        letter-spacing: 3px;
    }

    .mob_header .logo .name
    {
        font-size: 6vw;
        line-height: 6vw;

        letter-spacing: -.7px;
    }


    .mob_header .bg
    {
        width: calc(100% + 40px);
        margin-top: 15px;
        margin-right: -20px;
        margin-left: -20px;
        padding: 15px 20px;

        background: rgba(0,0,0,.04);

        order: 3;
        justify-content: center;
    }


    .mob_header .mob_menu_link
    {
        width: 50px;
        height: 50px;
        margin-left: auto;
        padding: 12px;

        border-radius: 11px;
    }

    .mob_header .mob_menu_link span:nth-child(2)
    {
        width: calc(100% - 8px);
        margin-right: 8px;
    }



    /*---------------
        Sidebar
    ---------------*/
    aside .mob_filter_link
    {
        width: 140px;
    }


    aside .search
    {
        width: calc(100% - 160px);
        margin-left: auto;
    }


    aside ~ .content .cart_link
    {
        top: 0;
        bottom: auto;
    }


    aside .filter
    {
        padding: 20px;

        pointer-events: auto;
        background: #fff;
        column-gap: normal;
        column-count: auto;
    }

    aside .filter > * + *
    {
        margin-top: 20px;
    }



    /*---------------
        Main section
    ---------------*/
    .gallery .flex
    {
        margin-top: 0;
        margin-bottom: -20px;
        margin-left: -20px;
    }

    .gallery .flex > *
    {
        width: calc(50% - 20px);
        margin-bottom: 20px;
        margin-left: 20px;
    }


    .gallery .flex.images > *
    {
        width: calc(50% - 20px);
    }

    .gallery .images .item
    {
        padding-bottom: calc(50% - 20px);
    }


    .gallery .item
    {
        padding-bottom: calc(50% - 20px);
    }

    .gallery .item .info
    {
        padding: 15px 20px;

        border-radius: 18px 18px 44px 44px;
    }

    .gallery .item .name
    {
        font-size: 15px;
        line-height: 21px;
    }

    .gallery .item .desc
    {
        display: none;
    }



    .article_info .head
    {
        margin-bottom: 30px;
    }

    .article_info .head .info
    {
        width: calc(100% - 121px);
        padding-bottom: 20px;
    }

    .article_info .head .info .title
    {
        font-size: 23px;
        line-height: 27px;
    }

    .article_info .head .info .date
    {
        font-size: 16px;
        line-height: 20px;
    }


    .article_info .text_block
    {
        font-size: 15px;
        line-height: 23px;
    }



    .comments .share
    {
        font-size: 16px;
        line-height: 20px;

        justify-content: flex-start;
    }

    .comments .share .name
    {
        width: 100%;
        margin-bottom: 10px;
        padding: 0;
    }



    .cart_info .product .thumb
    {
        align-self: flex-start;
    }

    .cart_info .product .info
    {
        width: calc(100% - 80px);
    }

    .cart_info .product .name
    {
        font-size: 15px;

        width: 100%;
    }

    .cart_info .product .video_link
    {
        margin-top: 7px;
    }

    .cart_info .product .price,
    .cart_info .product .amount
    {
        position: relative;

        margin-top: 15px;
        padding-top: 20px;
    }

    .cart_info .product .amount
    {
        margin-left: 80px;
    }

    .cart_info .product .price:before,
    .cart_info .product .amount:before
    {
        color: #000;
        font-size: 11px;
        font-weight: normal;
        line-height: 13px;

        position: absolute;
        top: 0;
        left: 0;

        display: block;

        width: 100%;
        height: 20px;
        padding: 0 20px;

        content: attr(data-column);
        text-align: left;
        white-space: nowrap;
        letter-spacing: 0;
        text-transform: uppercase;

        opacity: .4;
    }

    .cart_info .product .price
    {
        line-height: 34px;
    }



    .cart_info .cart_total
    {
        font-size: 16px;

        margin-top: 30px;

        text-align: center;
    }

    .cart_info .cart_total .val
    {
        font-size: 26px;
        line-height: 32px;
    }

    .cart_info .cart_total .checkout_link
    {
        line-height: 45px;

        min-width: 200px;
        height: 45px;
        margin-left: 20px;
        padding: 0 30px;
    }



    .checkout_info .form .line
    {
        margin-bottom: 25px;
    }

    .checkout_info .form .exp
    {
        font-size: 14px;
        line-height: 20px;

        position: relative;

        margin-top: 15px;

        text-align: left;
    }

    .checkout_info .form .agree
    {
        width: 100%;
    }

    .checkout_info .form .total_price
    {
        font-size: 17px;

        width: 100%;
        margin-top: 25px;

        text-align: center;

        justify-content: center;
    }

    .checkout_info .form .total_price .val
    {
        font-size: 30px;
        line-height: 34px;
    }

    .checkout_info .form .submit
    {
        width: 100%;
    }

    .checkout_info .form .submit_btn,
    .checkout_info .form .pay_later
    {
        font-size: 13px;
        line-height: 52px;

        width: calc(50% - 10px);
        min-width: 0;
        height: 50px;
        padding: 0 20px;
    }

    .checkout_info .form .pay_later
    {
        line-height: 46px;

        margin-left: auto;
    }



    .checkout_success .icon img
    {
        width: 115px;
    }

    .checkout_success .title
    {
        font-size: 25px;
        line-height: 31px;
    }

    .checkout_success .desc
    {
        font-size: 21px;
        line-height: 29px;
    }

    .checkout_success .link
    {
        margin-top: 25px;
    }



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


    .product_info .head
    {
        padding-right: 0;
    }

    .product_info .product_name
    {
        font-size: 26px;
        line-height: 30px;
    }

    .product_info .cat
    {
        font-size: 16px;
        line-height: 20px;

        margin-top: 5px;
    }



    .product_info .description
    {
        font-size: 15px;
        line-height: 23px;

        margin-top: 20px;
    }



    .content .products .flex > *
    {
        width: calc(50% - 20px);
        padding-bottom: calc(50% - 20px);
    }




    .first_section .info
    {
        width: 100%;
        max-width: 100%;
        padding-top: 20px;
    }

    .first_section .info .title
    {
        font-size: 30px;
        line-height: 34px;

        padding-right: 40px;
    }

    .first_section .img
    {
        margin: 0px auto 60px;
        order:-1;
    }



    .first_section .img.no_mask
    {
        display: flex;

        width: 100%;
        max-width: 100%;
        padding: 0;

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

    .first_section .img.no_mask > *
    {
        max-width: 80%;
    }



    .main_slider .slide .cont
    {
        min-height: 450px;
    }

    .main_slider .slide .title
    {
        line-height: 34px;

        padding-bottom: 20px;
    }

    .main_slider .slide .desc
    {
        line-height: 24px;

        margin-top: 25px;
    }



    .main_slider2 .info
    {
        line-height: 23px;

        width: 100%;
        max-width: 100%;
    }

    .main_slider2 .info .title
    {
        font-size: 30px;
        line-height: 34px;

        padding-right: 40px;
    }

    .main_slider2 .info .desc
    {
        margin-top: 25px;
    }

    .main_slider2 .info .link
    {
        margin-top: 30px;
    }

    .main_slider2 .img
    {
        width: calc(100% - 40px);
        margin: 40px 20px 0;
    }



    .main_slider3 .info
    {
        line-height: 21px;

        max-width: 100%;
        padding-right: 0;

        text-align: left;
    }

    .main_slider3 .info .title
    {
        font-size: 26px;
        line-height: 30px;

        padding-right: 40px;
    }

    .main_slider3 .info .title:after
    {
        right: auto;
        left: 0;
    }

    .main_slider3 .img
    {
        margin-top: 65px;
        margin-left: 30px;

        order: 3;
    }

    .main_slider3 .owl-dots
    {
        top: auto;
        bottom: 30px;
        left: 210px;
    }

    .main_slider3 .owl-carousel .owl-nav button
    {
        top: auto;
        bottom: 12px;
    }



    .advantages .flex
    {
        margin-bottom: -30px;
        margin-left: -20px;
    }

    .advantages .flex > *
    {
        width: calc(50% - 20px);
        max-width: calc(50% - 20px);
        margin-bottom: 30px;
        margin-left: 20px;
    }



    .about .info
    {
        width: 100%;
        max-width: 100%;
    }

    .about .img
    {
        margin: 35px auto 0;
    }



    .how_we_work .info
    {
        width: 100%;
        max-width: 100%;

        order: 0;
    }

    .how_we_work .info .item .name
    {
        font-size: 19px;
        line-height: 23px;
    }

    .how_we_work .img
    {
        margin: 35px auto 0;
    }



    .reviews .review .author
    {
        width: 100%;
    }

    .reviews .review .name
    {
        font-size: 20px;
        line-height: 24px;
    }

    .reviews .review .post br
    {
        display: none;
    }

    .reviews .review .text
    {
        width: 100%;
        margin-top: 20px;

        text-align: center;
    }



    .articles .article
    {
        padding-bottom: 80%;
    }




    .big_boss_quote .cont:after
    {
        display: none;
    }

    .big_boss_quote .info
    {
        width: 100%;
        max-width: 100%;

        order: 0;
    }

    .big_boss_quote .img
    {
        margin: 35px auto 0;
    }



    .video_reviews .slider
    {
        margin-top: 0;
        padding-bottom: 40px;
    }



    .prices .flex > *
    {
        width: calc(50% - 20px);
    }

    .prices .item
    {
        padding: 25px;
    }

    .prices .item .name
    {
        font-size: 19px;
        line-height: 23px;
    }

    .prices .item .price
    {
        font-size: 28px;
        line-height: 28px;
    }



    .documents .flex > *
    {
        width: calc(33.333% - 20px);
    }



    .director_letter .info
    {
        width: 100%;
        max-width: 100%;

        order: 0;
    }

    .director_letter .img
    {
        margin: 35px auto 0;
    }



    .contacts_block .info
    {
        font-size: 19px;
        line-height: 25px;

        width: 100%;
        max-width: 100%;
    }

    .contacts_block .info .val
    {
        font-size: 19px;
        line-height: 25px;
    }


    .contacts_block .map
    {
        margin: 35px auto 0;
    }



    .stocks .stock .thumb
    {
        width: 170px;
        height: 170px;
    }

    .stocks .stock .thumb + .info
    {
        line-height: 21px;

        width: calc(100% - 190px);
    }

    .stocks .stock .name
    {
        font-size: 19px;
        line-height: 23px;
    }



    .ads_block .flex > *,
    .ads_block .flex > *.big
    {
        width: calc(100% - 20px);
    }

    .ads_block .item .thumb
    {
        display: none;
    }

    .ads_block .flex > *.full .thumb
    {
        display: block;
    }


    .ads_block .flex > *.full .info
    {
        padding: 25px;
    }



    .vacancies .item
    {
        padding: 25px;

        border-radius: 30px;
    }



    .soc_block .info
    {
        width: 100%;
        max-width: 100%;
    }

    .soc_block .widget
    {
        margin: 0 auto;
        order: 3;
    }



    .payment .block_head
    {
        width: 100%;
        max-width: 100%;
    }

    .payment .widget
    {
        width: 100%;
        max-width: 100%;
        margin-top: 25px;
        padding: 0;
    }



    .stock_finish .timer
    {
        width: 440px;
        padding: 15px;
    }

    .stock_finish .timer .item
    {
        font-size: 12px;
        line-height: 16px;
    }

    .stock_finish .timer .item .val
    {
        font-size: 44px;
        line-height: 60px;
    }

    .stock_finish .timer .item .val > *
    {
        width: 44px;
        height: 60px;
    }

    .stock_finish .timer .item .val > * + *
    {
        margin-left: 4px;
    }



    .before_after .block_head
    {
        width: 100%;
    }

    .before_after .item
    {
        width: 100%;
        max-width: 100%;
        margin-top: 35px;
        padding-bottom: 90%;

        border-radius: 44px;
    }



    .image_tips .image img
    {
        border-radius: 44px;
    }

    /* add important because of inline styles in HTML */
    .image_tips .image .info
    {
        top: 100% !important;
        right: 0;
        left: 0 !important;

        width: 100%;

        transform: none;

        box-shadow: 0 5px 24px rgba(0, 0, 0, .5);
    }



    .three_photo .block_head
    {
        width: 100%;
    }

    .three_photo .photo
    {
        width: 440px;
        max-width: 100%;
        margin: 35px auto 0;
        padding-right: 60px;
        padding-left: 80px;
    }



    .socials_block .data
    {
        padding: 25px;

        flex-wrap: wrap;
    }

    .socials_block .block_head
    {
        width: 100%;
        padding: 0;
    }

    .socials_block .socials
    {
        margin-top: 25px;
    }

    .socials_block .socials a{

    }



    .about_video .cont:after
    {
        top: 0;
        bottom: auto;
    }

    .about_video .info
    {
        max-width: 100%;
    }

    .about_video .video_link
    {
        width: 100%;
        padding-bottom: 66.666%;

        border-radius: 18px;
    }



    .quiz_poll .cont:after
    {
        right: 20px;
        left: auto;
    }

    .quiz_poll .info
    {
        width: 100%;
        max-width: 100%;

        order: 0;
    }

    .quiz_poll .step .title
    {
        font-size: 23px;
        line-height: 27px;
    }

    .quiz_poll .img
    {
        margin: 35px auto 0;
    }



    .partners .flex
    {
        margin-left: -20px;
    }

    .partners .flex > *
    {
        width: calc(33.333% - 20px);
        margin-left: 20px;
    }



    .cart_link
    {
        font-size: 14px;
        line-height: 16px;
    }

    .cart_link .icon
    {
        margin-left: 10px;
    }

    .cart_link .icon img
    {
        width: 40px;
    }

    .cart_link:after
    {
        width: 14px;
        height: 14px;
    }



    .contacts_info .info .flex > *
    {
        width: calc(100% - 20px);
    }


    .contacts_info .map
    {
        height: 360px;
    }



    /*---------------
        Footer
    ---------------*/
    footer
    {
        padding: 45px 0;
    }

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


    footer .links
    {
        margin: 0 auto 40px;

        column-gap: 40px;
    }
    .news .flex{
        margin-bottom: -20px;
        margin-left: -20px;
    }

    .news .flex > * {
        width: calc(50% - 20px);
        margin-bottom: 20px;
        margin-left: 20px;
        padding-bottom: calc(50% - 20px);
    }

    .news .item {
        padding-bottom: calc(50% - 20px);
    }

    .news_category > div {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .product_info .cont{
    	display: flex;
    }


    .file-list {
         margin-bottom: 40px;
    }

    .three_photo .photo .img1{
        height: 410px;
    }


    /* thanks ID was changed by class */
.thanks .icon img{width:115px;}
    /* thanks ID was changed by class */
.thanks .title{font-size:25px;line-height:31px;}
    /* thanks ID was changed by class */
.thanks .desc{font-size:21px;line-height:29px;}

    .modal{
        padding: 25px;
    }

    .cart_info .product .price.total{
        text-align: left;
    }

    .products_sort ul{
        display: flex;
        flex-wrap: wrap;
    }
    .products_sort b{
        display: block;
    }
    .sorting_switcher li{
        margin-top: 20px;
        display: block;
    }

    .products_sort_mobile{
        display: block;
    }

    .sorting_switcher li {
        padding: 0 9px;
        font-size: 12px;
        line-height: 12px;
    }

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


    .cart_empty{
        padding: 0px;
    }

    .cart_empty .title {
        font-size: 25px;
        line-height: 31px;
    }

    .cart_empty .desc {
        font-size: 21px;
        line-height: 29px;
    }

    .cart_empty .link {
        margin-top: 25px;
    }

    .cart_empty .link {
        font-size: 13px;
        line-height: 45px;
        width: 150px;
        height: 45px;
    }

    .cart_empty .icon {
        width: 95px;
        height: 95px;
    }
     .about .img, .how_we_work .img, .big_boss_quote .img, .director_letter .img, .quiz_poll .img{
        margin-bottom:35px;
    }


    .first_section .img:after{
        top: 15px;
        left: 0px;
    }
    .first_section .img:before{
        right: -15px;
        bottom: -60px;
    }

    .about .img:after{
        top: 15px;
        left: 0px;
    }

    .about .img:before{
        right: 10px;
        bottom: -40px;
        width: 300px;
        height: 300px;
    }

    .how_we_work .img:after, .big_boss_quote .img:after, .director_letter .img:after, .quiz_poll .img:after{
        top: 16px;
        left: 0px;
    }

    .how_we_work .img:before, .big_boss_quote .img:before, .director_letter .img:before{
        left: -15px;
        bottom: -60px;
        border-radius: 70px;
    }

    .quiz_poll .img:before{
        left: 13px;
        bottom: -45px;
        border-radius: 70px;
    }

     .product_info .image
    {
        width: 100%;
        margin: 0;
        padding-bottom: 100%;
    }
    .products_category .flex>*{
        width: calc(50% - 23px);
    }

}
