@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
    ---------------*/
    .home + .mob_header {
        margin-bottom: 0;
    }

    .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: 1px;
    }

    .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;
    }

    /* for mobile filter activity --start--*/
    /*
    aside .filter{
        display:block!important;
        visibility: hidden;
        opacity: 0;
    }
    aside .filter.active{
        visibility: visible;
        opacity: 1;
    }
    */
    /* for mobile filter activity --finish--*/
    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 {
        padding: 0 20px;
    }

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

    .article_info .head .info {
        width: calc(100% - 170px);
        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;

        max-width: 310px;

        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 .box_total {
        width: 100%;
    }

    .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;

        margin-top: 5px;

        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 .buy .back_link {
        font-size: 16px;
        line-height: 20px;
    }


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

        margin-top: 20px;
    }


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


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

    .first_section .info .desc {
        color: #fff;
        font-size: 16px;
    }

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

        padding-right: 40px;
    }

    .first_section .img {
        width: 100%;
        margin: 35px auto 0;
    }

    .first_section .img > * {
        width: 100%;
    }

    .first_section .info {
        z-index: 1;
    }

    .first_section .info .link {
        font-size: 15px;
        font-weight: 500;
        line-height: 15px;

        height: 44px;
        padding: 15px 15px;
        float: right;
    }


    .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%;
        padding-bottom: 75px;

        text-align: center;
    }

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

        padding-right: 0;
        padding-bottom: 0;
    }

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

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

    .main_slider2 .img {
        width: 450px;
        height: 480px;
        margin: 0 auto 30px;

        order: -1;
    }


    .main_slider3 .slide {
        background-position: center;
        background-size: cover;
    }


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

        max-width: 100%;
        padding: 0 0 120px 0;
    }

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

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

    .main_slider3 .img {
        order: -1;
        margin: 30px auto 35px;
    }

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

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

    .main_slider3 .slide {
        align-items: flex-start;
    }


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

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


    .about .info {
        /*width: 100%;
        max-width: 100%;*/
        width: 100%;
        max-width: 100%;
        padding: 40px 0;
    }

    .about .link {
        font-size: 15px;
        font-weight: 500;
        line-height: 15px;

        height: 44px;
        margin-top: 0;
        padding: 15px 15px;
    }

    .about .img {
        display: block;
        margin: 35px auto 0;
        height: 400px;
        order: -1;
        width: 100%;
    }

    .about .img > * {
        position: relative;
        width: 100%;
    }


    .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 {
        display: block;
        margin: 35px auto 0;
        height: 400px;
        order: -1;
        width: 100%;
    }

    .how_we_work .img > * {
        position: relative;
        width: 100%;
    }

    .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 {
    }


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

    .big_boss_quote .info {
        width: 100%;
        max-width: 100%;
        padding: 30px 0;

        order: 0;
    }

    .big_boss_quote .img {
        display: block;
        margin: 35px auto 0;
        height: 400px;
        order: -1;
        width: 100%;
    }

    .big_boss_quote .img > * {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }


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


    .prices .flex > * {
        width: calc(100% - 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%;
        padding: 30px 20px;

        order: 0;
    }

    .director_letter .img {
        display: block;
        margin: 35px auto 0;
        height: 400px;
        order: -1;
        width: 100%;
    }

    .director_letter .img > * {
        position: relative;
        width: 100%;
    }


    .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 .item.big .thumb {
        display: block;

        width: 100%;
        height: 200px;
    }

    .ads_block .item.big .thumb img {
        object-fit: cover;
    }

    .ads_block .flex > *.full {
        width: 100%;
    }

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

    .ads_block .item.big .info {
        width: 100%;
    }

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

    .ads_block .item.small .thumb img {
        transform: none;
    }

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


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


    .vacancies .item {
        padding: 25px;
    }


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

    .soc_block2 {

    }

    .soc_block .info {
        padding: 0;
    }

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

    .soc_block {
        background: #f8f8f8 !important;
    }

    .soc_block .widget {
        margin: 0 auto;
        width: 100%;

        order: 3;
    }

    .services .flex {
        display: block;
        overflow: auto;

        margin-right: -30px;
        margin-bottom: 0;
        margin-left: -30px;
        padding: 0 30px;

        white-space: nowrap;
    }

    .services .flex > * {
        display: inline-block;

        width: 270px;
        margin-right: 30px;
        margin-bottom: 0;
        margin-left: 0;

        vertical-align: top;
        white-space: normal;
    }

    .upload .info {
        width: 100%;
    }

    .upload .form {
        width: 100%;
    }

    .upload .form input[type=checkbox] + label {
        color: #fff;
    }

    .upload:after {
        display: none;
    }


    .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%;
    }


    .image_tips .image img {

    }

    /* 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;
        margin-bottom: 140px;
        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;
    }


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

    .about_video .info {
        max-width: 100%;
        padding: 40px;
        padding-bottom: 20px;
    }

    .about_video .video_link {
        width: 100%;
        padding: 0;
    }

    .about_video .video_link:before {
        width: 100%;
        height: 400px;
    }

    .about_video .video_link img {
        position: static;

        width: 100%;
        height: 400px;
    }

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


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

    .quiz_poll .img {
        display: block;
        margin: 35px auto 0;
        height: 400px;
        order: -1;
        width: 100%;
    }

    .quiz_poll .img > * {
        position: relative;
        width: 100%;
    }

    .quiz_poll .info {
        width: 100%;
        max-width: 100%;
        padding: 40px 20px;

        order: 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;
    }

    .products .flex.mob_slider {
        display: block;
        overflow: auto;

        margin-right: -30px;
        margin-bottom: 0;
        margin-left: -30px;
        padding: 0 30px;

        white-space: nowrap;
    }

    .products .flex.mob_slider > * {
        display: inline-block;

        width: 270px;
        margin-right: 20px;
        margin-bottom: 0;
        margin-left: 0;

        vertical-align: top;
        white-space: normal;
    }

    .gallery2 .flex > * {
        width: calc(100% - 36px);
    }


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

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


    footer .links {
        margin: 0 auto 40px;

        column-gap: 40px;
    }

    .news .flex {
        margin-top: 0;
        margin-bottom: -20px;
        margin-left: -20px;
    }

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

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

    .news_category {
        overflow: auto;
    }

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

        text-align: center;
    }

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

        padding-right: 40px;

        text-align: center;
    }

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

    .big_image .info .desc {
        margin-top: 10px;

        text-align: center;
    }

    .big_image .img.no_mask {
        display: flex;

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

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

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

    .big_image .img {
        order: -1;
    }

    .product_info .cont {
        display: flex;
    }

    .pagination .prev span, .pagination .next span {
        font-size: 12px;
        display: none;
    }

    .order_block .form .socials a + a {
        margin-left: 10px;
    }

    .order_block .form .socials img {
        width: 30px;
        height: 30px;
    }

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

    /* 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;
    }

    .first_section .info {
        z-index: 6;
    }

    .first_section .img {
        z-index: 2;
    }

    .first_section .img:after {
        background: linear-gradient(260.88deg, rgba(0, 0, 0, 0) 15.76%, #000000 88.63%);
        width: 100%;
        content: "";
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        -webkit-mask-position: center;
        -webkit-mask-size: contain;
        mask: url(../../../../images/site/designs/3/svg_bg_1.svg);
        -webkit-mask-box-image: url(../../../../images/site/designs/3/svg_bg_1.svg);
    }

    /*---------------
        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;
    }

    .product_info .image {
        width: 100%;
        margin: 0;
        padding-bottom: 100%;
    }

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

    .upload .agree label a {
        color: #fff;
    }

}
