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



    /*------------
        Header
    ------------*/
    .mob_header
    {
        display: block;
    }


    header
    {
        position: fixed;
        z-index: 101;
        top: 0;
        left: 0;

        width: 310px;
        height: 100%;
        min-height: -moz-available;
        min-height: -webkit-fill-available;
        min-height:         fill-available;
        margin: 0;

        transition: transform .3s linear;
        transform: translateX(-100%);

        background: #fff;
    }

    header.show
    {
        transform: translateX(0);
    }


    header .mob_scroll
    {
        display: flex;
        overflow: auto;

        height: 100%;
        min-height: -moz-available;
        min-height: -webkit-fill-available;
        min-height:         fill-available;
        padding: 0;

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

    header .mob_scroll > *
    {
        width: 100%;
    }


    header .logo
    {
        display: none;
    }


    header .info
    {
        padding: 20px 0;

        border-top: 1px solid #ddd;

        order: 3;
    }

    header .contacts
    {
        width: 100%;
    }

    header .email
    {
        margin-top: 12px;
        margin-left: 0;
    }

    header .order_btn
    {
        font-size: 15px;
        line-height: 19px;

        width: 100%;
        margin-top: 15px;
        margin-left: 0;
        padding: 12px 25px;
    }


    header .menu
    {
        padding: 10px 0;
    }

    header .menu .item
    {
        width: 100%;
    }

    header .menu .item > a
    {
        padding: 10px 0;

        text-align: left;

        justify-content: flex-start;
    }

    header .menu .item > a:after
    {
        display: none;
    }

    header .menu .item .sub_menu,
    header .menu .item:hover .sub_menu
    {
        position: relative;
        top: 0;

        display: none;
        visibility: visible;

        width: 100%;
        padding: 0 0 10px;

        pointer-events: auto;

        opacity: 1;
        border-radius: 0;
        background: none;
        box-shadow: none;
    }

    header .menu .item > a.touch_link + .sub_menu.show
    {
        top: 0;

        display: block;
    }

    header .menu .sub_menu a
    {
        padding: 5px 20px;
    }



    /*-------------
        Sidebar
    -------------*/



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        margin-bottom: 30px;
        padding-top: 20px;

        border-top: 1px solid #ddd;
    }

    .page_head .cont > * + *
    {
        margin-top: 15px;
    }

    .page_title
    {
        font-size: 36px;
        line-height: 40px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head .title
    {
        line-height: 35px;
    }

    .block_head .desc
    {
        font-size: 16px;
        line-height: 22px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form
    {
        --form_label_width: 250px;
    }


    .form .label.big
    {
        font-size: 20px;
        line-height: 24px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block h2
    {
        font-size: 32px;
        line-height: 34px;
    }

    .text_block .columns
    {
        column-gap: 30px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider .slide .info
    {
        position: absolute;
        z-index: 9;
        top: 0;
        bottom: 0;
        left: 180px;

        width: 360px;
        height: 297px;
        margin: auto;
        padding: 25px 40px;

        background: #fff;
    }

    .main_slider .slide .title
    {
        font-size: 30px;
        line-height: 36px;
    }

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

        margin-top: 15px;
    }

    .main_slider .slide .link
    {
        margin-top: 25px;
        padding: 14px 25px 15px;
border-bottom: none !important;
  text-decoration: none !important;
    }


    .main_slider .slide .img
    {
        width: calc(100% + 40px);
        max-width: calc(100% + 40px);
        height: 450px;
        margin-right: -20px;
        margin-left: -20px;
    }

    .main_slider .slide .img:after
    {
        width: 144px;
        height: 144px;

        border-width: 77px;
    }


    .main_slider .owl-carousel .owl-nav button.owl-prev
    {
        right: 104px;
    }

    .main_slider .owl-carousel .owl-nav button.owl-next
    {
        right: 57px;
    }



    /*------------------
        Promo blocks
    ------------------*/
    .promo_blocks .item .thumb
    {
        height: 210px;
    }

    .promo_blocks .item .thumb .point
    {
        display: none;
    }

    .promo_blocks .item .name
    {
        font-size: 26px;
        line-height: 32px;
    }

    .promo_blocks .item .desc
    {
        font-size: 16px;
        line-height: 22px;
    }



    /*-----------------
        Works types
    -----------------*/
    .works_types
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        padding: 60px 20px;
    }

    .works_types .row > *
    {
        width: calc(25% - 15px);
    }


    .works_types .type
    {
        font-size: 17px;
        line-height: 21px;
    }



    /*----------------
        What gives
    ----------------*/
    .what_gives
    {
        width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
        padding: 60px 20px;
    }



    /*------------------
        We guarantee
    ------------------*/
    .we_guarantee .row
    {
        justify-content: center;
    }

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


    .we_guarantee .item br
    {
        display: none;
    }



    /*--------------
        For whom
    --------------*/
    .for_whom .info .item .name
    {
        font-size: 24px;
        line-height: 28px;
    }


    .for_whom .img img.before
    {
        display: none;
    }



    /*----------
        Calc
    ----------*/
    .calc .info
    {
        width: calc(100% + 40px);
        margin: 0 -20px;
        padding: 60px 20px 30px;
    }

    .calc .info:before
    {
        display: none;
    }


    .calc .form
    {
        width: 100%;
        padding: 30px 0 60px;
    }



    /*---------------
        Our works
    ---------------*/
    .our_works .video_link
    {
        width: 100%;
    }


    .our_works .video_link + .gallery
    {
        width: calc(100% + 20px);
        margin-top: 30px;
    }

    .our_works .video_link + .gallery > *
    {
        width: calc(25% - 20px);
    }

    .our_works .video_link + .gallery .item
    {
        font-size: 14px;
    }



    /*-------------------
        Message block
    -------------------*/
    .message_block .data
    {
        padding: 15px 20px;
    }


    .message_block .info
    {
        font-size: 15px;

        width: 340px;
        margin-left: 40px;
    }

    .message_block .info .title
    {
        font-size: 20px;
        line-height: 24px;
    }


    .message_block.garanti .info
    {
        width: 440px;
        margin-left: 40px;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .info .sub_title
    {
        font-size: 20px;
        line-height: 26px;

        margin-bottom: 20px;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .row
    {
        justify-content: center;
    }

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


    .advantages .item br
    {
        display: none;
    }



    /*-----------
        Certs
    -----------*/
    .certs .row
    {
        margin-left: -20px;
    }

    .certs .row > *
    {
        width: calc(25% - 20px);
        margin-left: 20px;
    }


    .certs .item
    {
        font-size: 14px;
    }

    .certs .item .thumb
    {
        padding: 12px;
    }



    /*----------
        Team
    ----------*/
    .team .row
    {
        margin-left: -20px;
    }

    .team .row > *
    {
        width: calc(25% - 20px);
        margin-left: 20px;
    }


    .team .person .name
    {
        font-size: 15px;
        line-height: 19px;
    }

    .team .person .post
    {
        font-size: 14px;
        line-height: 20px;
    }



    /*---------------------
        Requisites info
    ---------------------*/
    .requisites_info  .row
    {
        margin-left: -20px;
    }

    .requisites_info .row > *
    {
        width: calc(33.333% - 20px);
        max-width: calc(33.333% - 20px);
        margin-left: 20px;
    }


    .requisites_info .big_boss .name
    {
        font-size: 15px;
        line-height: 19px;
    }

    .requisites_info .big_boss .post
    {
        font-size: 14px;
        line-height: 20px;
    }


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


    .requisites_info .phone .number
    {
        font-size: 22px;
        line-height: 26px;
    }



    /*---------------
        Calc info
    ---------------*/
    .calc_info .head .desc
    {
        font-size: 16px;
        line-height: 22px;

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

    .calc_info .head .free
    {
        font-size: 18px;
        line-height: 22px;

        margin-top: 20px;
    }



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

    .calc_info .form .bottom .total_price
    {
        font-size: 32px;
    }

    .calc_info .form .bottom .total_price small
    {
        font-size: 26px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .info > *
    {
        max-width: calc(33.333% - 20px);
    }


    .contacts_info .phone .number
    {
        font-size: 20px;
    }



    /*---------------
        Documents
    ---------------*/
    .documents .cols .col
    {
        width: 100%;
    }

    .documents .cols .col + .col
    {
        margin-top: -1px;
    }

    .documents .title
    {
        font-size: 36px;
        line-height: 40px;

        margin-bottom: 25px;
    }



    /*-------------------
        Partners info
    -------------------*/
    .partners_info .info
    {
        width: 100%;
    }

    .partners_info .info .title
    {
        font-size: 36px;
        line-height: 40px;

        margin-bottom: 25px;
    }

    .partners_info .info .sub_title
    {
        font-size: 20px;
        line-height: 24px;

        margin-bottom: 20px;
    }


    .partners_info .manager
    {
        display: none;
    }



    /*----------------
        Order form
    ----------------*/
    .order_form
    {
        margin-top: 40px;
    }



    /*---------------
        Portfolio
    ---------------*/
    .portfolio .work .video_link
    {
        width: 100%;
        margin-bottom: 20px;
    }


    .portfolio .work .video_link + .gallery
    {
        width: calc(100% + 20px);
    }

    .portfolio .work .video_link + .gallery > *
    {
        width: calc(25% - 20px);
    }



    /*------------------
        Product head
    ------------------*/
    .product_head .info,
    .product_head .info.big
    {
        width: 100%;
        padding-right: 0;
        padding-bottom: 30px;
    }

    .product_head .product_name
    {
        font-size: 36px;
        line-height: 40px;
    }

    .product_head .desc
    {
        margin-top: 20px;
    }

    .product_head .link
    {
        font-size: 15px;

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

    .product_head .img,
    .product_head .info.big + .img
    {
        width: 100%;
    }



    /*-------------------
        Product usage
    -------------------*/
    .product_usage .row .col
    {
        width: calc(50% - 15px);
    }


    .product_usage .row .title
    {
        font-size: 19px;
        line-height: 23px;

        margin-bottom: 20px;
    }



    /*------------------------
        Pproduct equipment
    ------------------------*/
    .product_equipment .img
    {
        display: none;
    }



    /*------------
        Footer
    ------------*/
    footer .info
    {
        padding-bottom: 30px;
    }


    footer .contacts,
    footer .col_right
    {
        width: calc(50% - 20px);
    }


    footer .phone .number
    {
        font-size: 21px;
    }

    footer .callback_btn
    {
        color: #00a0e3;

        margin-left: 10px;
    }


    footer .menu
    {
        display: none;
    }


    footer .links
    {
        margin-bottom: -10px;
    }

    footer .links .calc_link,
    footer .links .order_btn
    {
        width: 100%;
    }


    footer .socials
    {
        font-size: 15px;
    }

    footer .socials .name
    {
        width: 200px;
    }

    footer .socials a + a
    {
        margin-left: 15px;
    }



    /*-----------
        PopUp
    -----------*/
    .fancybox-slide--html
    {
        padding: 30px;
    }


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