@media (max-width: 1023px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 15px;
        --font_size_title: 48px;
    }



    /*------------
        Header
    ------------*/
    header .menu
    {
        position: absolute;
        top: 100%;
        left: 0;

        display: none;

        width: 100%;
        padding: 30px 20px;

        background: rgba(0,0,0,.75);
    }

    header .menu .item + .item
    {
        margin-top: 5px;
        margin-left: 0;
    }

    header .menu .item > a
    {
        font-size: 16px;

        padding: 10px 0;

        text-align: center;
    }


    header .logo
    {
        margin-right: auto;
    }


    header .mob_menu_btn
    {
        display: block;
    }



    /*---------------
        Page head
    ---------------*/
    .page_head .cont
    {
        padding-top: 150px;
        padding-bottom: 50px;
    }


    .page_head .page_title
    {
        font-size: 80px;
        line-height: 80px;
    }


    .page_head .phone
    {
        font-size: 25px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head
    {
        margin-bottom: 35px;
    }

    .block_head .title
    {
        padding-bottom: 12px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .submit
    {
        padding-top: 20px;
    }



    /*----------------
        Typography
    ----------------*/



    /*-------------------
        First section
    -------------------*/
    .first_section .cont
    {
        padding-top: 160px;
    }


    .first_section .info .title
    {
        font-size: 80px;
        line-height: 80px;
    }

    .first_section .info .phone
    {
        font-size: 25px;
    }

    .first_section .info .book_btn
    {
        font-size: 19px;

        width: 320px;
        margin-top: 40px;
        padding: 15px 30px;
    }


    .first_section .restaurants
    {
        margin-top: 60px;
    }



    /*-----------------
        Restaurants
    -----------------*/
    .restaurants .row
    {
        margin-bottom: -10px;
        margin-left: -10px;
    }

    .restaurants .row > *
    {
        max-width: calc(33.333% - 10px);
        margin-bottom: 10px;
        margin-left: 10px;
    }


    .restaurants .restaurant
    {
        padding: 20px 20px 30px;
    }

    .restaurants .restaurant .name
    {
        font-size: 26px;
        line-height: 30px;
    }

    .restaurants .restaurant .location
    {
        font-size: 13px;
        line-height: 18px;
    }

    .restaurants .restaurant .book_btn,
    .restaurants .restaurant .link
    {
        padding: 10px 30px;
    }



    /*----------------
        Info block
    ----------------*/
    .info_block
    {
        padding-top: 80px;
    }

    .info_block.events
    {
        padding-bottom: 80px;
    }


    .info_block .img
    {
        margin-right: -260px;
        margin-left: -20px;
    }

    .info_block .data + .img
    {
        margin-right: -20px;
        margin-left: -260px;
    }


    .info_block .data
    {
        width: calc(100% - 180px);
        padding: 50px;
    }

    .info_block .data .number
    {
        font-size: 223px;
        line-height: 200px;
    }

    .info_block .data .title
    {
        font-size: 48px;
        line-height: 54px;
    }

    .info_block .data .link
    {
        font-size: 18px;
        line-height: 20px;

        min-width: 220px;
        margin-top: 25px;
        padding: 14px 30px 16px;
    }



    /*--------------
        Articles
    --------------*/
    .articles
    {
        padding-top: 80px;
    }


    .articles .item .name
    {
        font-size: 24px;
        line-height: 30px;
    }



    /*-------------
        Gallery
    -------------*/
    .gallery .data
    {
        padding: 35px  25px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info .data
    {
        width: 360px;
        padding: 30px;
    }

    .contacts_info .title
    {
        font-size: 22px;

        padding-bottom: 10px;
    }

    .contacts_info .item
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*---------------------
        Restaurant menu
    ---------------------*/
    .restaurant_menu
    {
        padding: 60px 0;
    }

    .restaurant_menu:before,
    .restaurant_menu:after
    {
        display: none;
    }



    /*---------------
        Menu_info
    ---------------*/
    .menu_info .head
    {
        padding: 40px 0;
    }

    .menu_info .head .links > *
    {
        width: calc(33.333% - 15px);
    }



    .menu_info .data .cat
    {
        padding: 40px 0;
    }



    /*------------
        Footer
    ------------*/
    footer .col_left,
    footer .contacts,
    footer .col_right
    {
        width: calc(50% - 30px);
    }


    footer .col_right
    {
        margin-top: 25px;
    }



    /*-----------
        PopUp
    -----------*/
    .fancybox-slide--html
    {
        padding: 30px;
    }


    .modal
    {
        padding: 60px;
    }

    .modal_title
    {
        margin-bottom: 35px;
    }
	
	
	.menu_section .flex {
		margin-left: -10px;
		align-items: stretch;
		align-content: stretch;
		--cats_wall_count: 1;
	}

	.gallery .flex .menu-bl {
		min-height: auto;
	}

	.menu_section .flex > * {
		width: 100%;
		margin-bottom: 10px;
		margin-left: 10px;
	}
	
}
