@media print,
(max-width: 1023px)
{
    /*-------------------
        Global styles
    -------------------*/
    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction
    {
        bottom: 24px;

        padding: 0 40px;
    }



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 24px;
    }



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

        width: 325px;
        height: 100%;
        min-height: -moz-available;
        min-height: -webkit-fill-available;
        min-height:         fill-available;
        margin: 0;
        padding: 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: 20px 0;

        justify-content: flex-start;
        align-items: flex-start;
        align-content: flex-start;
        flex-wrap: wrap;
        overscroll-behavior-y: contain;
    }

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


    header .logo
    {
        display: none;
    }


    header .menu
    {
        display: block;

        width: 100%;
    }

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

    header .menu_item > a
    {
        font-size: 15px;
    }


    header .contacts
    {
        width: 100%;
        margin-top: 40px;
        margin-left: 0;
    }


    header .consult_btn
    {
        font-size: 14px;
        line-height: 24px;

        margin-top: 16px;
        margin-left: 0;
        padding: 8px 20px;
    }



    /*-----------------
        Mob. header
    -----------------*/
    .mob_header
    {
        display: block;
    }



    /*---------------
        Page head
    ---------------*/
    .page_title
    {
        line-height: calc(var(--font_size_title) + 6px);
    }


    .breadcrumbs
    {
        line-height: 17px;

        margin-top: 12px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head .desc
    {
        font-size: 17px;
        line-height: 27px;

        margin-top: 20px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block
    {
        line-height: 23px;
    }


    .text_block h2
    {
        font-size: 25px;
        line-height: 31px;
    }


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

        width: auto;
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
    }


    .text_block ul li:before
    {
        top: 10px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider .data
    {
        width: 500px;
        height: 488px;
        padding: 48px 124px 58px 40px;
    }


    .main_slider .title
    {
        line-height: calc(var(--font_size_title) + 6px);
    }


    .main_slider .desc
    {
        line-height: 21px;

        margin-top: 20px;
    }


    .main_slider .btns
    {
        margin-top: 28px;
    }



    /*----------------
        Directions
    ----------------*/
    .directions .grid
    {
        grid-gap: 12px;
        grid-template-columns: repeat(3, 1fr);
    }


    .directions .direction .thumb
    {
        height: 132px;
    }


    .directions .direction.big .thumb
    {
        height: 352px;
    }



    /*--------------
        Projects
    --------------*/
    .projects .row
    {
        margin-bottom: -20px;
        margin-left: -20px;
    }

    .projects .row > *,
    .projects .row.big > *
    {
        width: calc(50% - 20px);
        margin-bottom: 20px;
        margin-left: 20px;
    }


    .projects .project .info
    {
        padding: 24px 20px 20px;
    }



    /*------------------
        Consult form
    ------------------*/
    .consult_form .info
    {
        width: 100%;

        text-align: center;
    }


    .consult_form .info .desc
    {
        font-size: 20px;
        line-height: 28px;

        margin-top: 16px;
    }


    .consult_form .call
    {
        font-size: 18px;
        line-height: 26px;

        margin-top: 40px;

        text-align: left;

        justify-content: center;
    }

    .consult_form .call .icon
    {
        margin-right: 20px;
    }

    .consult_form .call .icon + *
    {
        width: auto;
    }

    .consult_form .call .phone
    {
        font-size: 22px;
        line-height: 28px;

        margin-top: 4px;
    }


    .consult_form .form
    {
        width: 520px;
        max-width: 100%;
        margin: 40px auto 0;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages .item .icon
    {
        height: 52px;
        margin-bottom: 16px;
    }



    /*-----------
        Steps
    -----------*/
    .steps .row
    {
        display: block;
        overflow: auto;

        width: calc(100% + 48px);
        margin: 0 -24px;
        padding: 0 24px;

        white-space: nowrap;

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

    .steps .row::-webkit-scrollbar
    {
        width: 0 !important;
        height: 0 !important;

        background-color: transparent !important;
    }

    .steps .row::-webkit-scrollbar-thumb
    {
        background-color: transparent !important;
    }


    .steps .row > *
    {
        display: inline-block;

        width: 220px;
        max-width: none;
        margin: 0;

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

    .steps .row > * + *
    {
        margin-left: 20px;
    }



    /*-----------
        Quote
    -----------*/
    .quote .data
    {
        width: 100%;

        order: 2;
    }


    .quote .image
    {
        width: 100%;
        margin-bottom: 32px;
    }



    /*--------------
        Articles
    --------------*/
    .articles .row
    {
        margin-left: -20px;
    }

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


    .articles .article .info
    {
        padding: 24px 16px 20px;
    }


    .articles .article .name
    {
        font-size: 17px;
        line-height: 23px;
    }


    .articles .article .consult_btn
    {
        font-size: 13px;
        line-height: 17px;

        margin-top: 16px;
        padding: 11px 15px;
    }



    /*--------------
        Services
    --------------*/
    .services table th,
    .services table td
    {
        padding: 16px 20px;
    }



    /*-------------
        Reviews
    -------------*/
    .reviews .row
    {
        display: block;
        overflow: auto;

        width: calc(100% + 48px);
        margin: 0 -24px;
        padding: 0 24px;

        white-space: nowrap;

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

    .reviews .row::-webkit-scrollbar
    {
        width: 0 !important;
        height: 0 !important;

        background-color: transparent !important;
    }

    .reviews .row::-webkit-scrollbar-thumb
    {
        background-color: transparent !important;
    }


    .reviews .row > *
    {
        display: inline-block;

        width: 220px;
        max-width: none;
        margin: 0;

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

    .reviews .row > * + *
    {
        margin-left: 20px;
    }



    /*----------
        Calc
    ----------*/
    .calc .col_left
    {
        width: 100%;
    }


    .calc .col_right
    {
        width: 100%;
        margin-top: 40px;
    }


    .calc .image .item
    {
        width: 108px;
        height: 199px;
    }

    .calc .image .item.big_h
    {
        height: 278px;
    }


    .calc .image .item .name
    {
        font-size: 10px;
        line-height: 12px;

        padding: 14px;
    }



    /*--------------------
        Contacts block
    --------------------*/
    .contacts_block .consult_btn
    {
        display: none;
    }


    .contacts_block .map
    {
        height: 480px;
    }



    /*------------
        Footer
    ------------*/
    footer .menu
    {
        display: none;
    }


    footer .col
    {
        display: flex;

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

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


    footer .creator
    {
        margin-top: 0;
        margin-left: auto;
    }



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