@media (max-width: 1023px)
{
    /*---------------
        Main styles
    ---------------*/



    /*---------------
        Header
    ---------------*/
    header
    {
        padding: 20px 0;
    }


    header .logo
    {
        margin-right: auto;
    }


    header .mob_menu_link
    {
        display: block;
    }

    header .menu
    {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;

        display: none;

        width: 100%;
        padding: 20px;

        text-align: center;

        background: #000;
    }

    header .menu > * + *
    {
        margin-left: 0;
    }

    header .menu .menu_item:hover > .sub_menu
    {
        display: none;
    }



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



    /*---------------
        Main section
    ---------------*/
    .first_section
    {
        padding: 50px 0 100px;
    }

    .first_section .info
    {
        font-size: 16px;
    }

    .first_section .info > * + *
    {
		font-size: 18px;
        margin-top: 15px;
    }

    .first_section .info .title
    {
        font-size: 40px;
        line-height: 50px;
    }

    .first_section .info .links
    {
        margin-top: 35px;
    }



    .services
    {
        padding: 60px 0;
    }

    .services .grid
    {
      width: calc(100% + 9px);
    margin: 0px -5px;
    }


    .services .cols .title
    {
        font-size: 18px;

        min-height: 65px;
    }

    .services .cols .all_link
    {
        line-height: 50px;

        height: 50px;
    }


    .services .item
    {
        width: 50%;
        height: 300px;
        padding: 30px;
    }

    .services .item.big
    {
        width: calc(50% + 20px);
    }

    .services .item.big.left
    {
        margin-left: -20px;
        padding-left: 50px;
    }

    .services .item.big.right
    {
        margin-right: -20px;
        padding-right: 50px;
    }

    .services .item .name
    {
        font-size: 16px;
    }

.services .item .video {width: 100%; height: auto;}

    .order_block
    {
        padding: 60px 0;
    }

    .order_block .info
    {
        width: calc(50% - 10px);
    }

    .order_block .info .title
    {
        font-size: 24px;
        line-height: 34px;
    }

    .order_block .form
    {
        width: calc(50% - 10px);
        padding-right: 0;
    }



    .steps
    {
        padding: 60px 0;
    }

    .steps .grid
    {
        margin-left: -30px;
    }

    .steps .item
    {
        width: calc(25% - 30px);
        margin-left: 30px;
        padding-right: 0;
    }

    .steps .item:nth-child(2n+1),
    .steps .item:nth-child(2n)
    {
        padding-top: 50px;
        padding-bottom: 0;

        align-self: flex-start;
    }

    .steps .item:before,
    .steps .item + .item:before
    {
        top: 0;
        left: 0;

        width: 100%;
        height: auto;
        padding: 0;

        text-align: left;

        background: none;
    }

    .steps .link
    {
        padding-top: 40px;
    }



    .team
    {
        padding: 60px 0;
    }

    .team .item .info
    {
        padding: 20px;
    }



    .cases
    {
        padding: 60px 0;
    }

    .cases .item + .item
    {
        margin-top: 60px;
    }

    .cases .item .images
    {
        width: calc(100% - 300px);
    }

    .cases .item .images .big
    {
        min-height: auto !important;
    }

    .cases .item .images .thumbs
    {
        margin-top: 10px;
    }

    .cases .all
    {
        padding-top: 40px;
    }



    .bottom_text
    {
        padding: 60px 0 40px;
    }



    .contacts_block
    {
        padding: 60px 0;
    }



    .about_page
    {
        padding-bottom: 40px;
    }

    .about_page .image
    {
        width: calc(100% + 40px);
        margin: 0 -20px;
text-align: center;
    }

    .about_page .text_block
    {
        width: 100%;
        margin-top: 40px;
    }



    .case_page .photo
    {
        margin-bottom: 40px;
    }

    .case_page .photo .thumbs
    {
        bottom: 20px;
    }



    .case_desc
    {
        padding: 40px 0 40px;
    }

    .case_desc .col.left,
    .case_desc .col.right
    {
        width: 100%;
    }

    .case_desc .text_block
    {
        font-size: 14px;
        line-height: 20px;
    }

    .case_desc .col.right
    {
        margin-top: 20px;
    }



    .case_reviews
    {
        padding: 60px 0;
    }

    .case_reviews .review .info
    {
        padding-top: 0;
    }

    .case_reviews .review .text
    {
        font-size: 14px;
    }



    .case_backstage
    {
        padding: 60px 0;
    }

    .case_backstage .slide .info
    {
        width: 275px;
        padding: 30px;
    }



    .contacts_page
    {
        padding-bottom: 60px;
    }

    .contacts_page .info
    {
        width: calc(50% - 20px);
    }

    .contacts_page .socials .items
    {
        width: 130px;
    }

    .contacts_page .feedback
    {
        width: calc(50% - 20px);
    }

    .contacts_page #map
    {
        width: 100%;
        min-height: 320px !important;
        margin-top: 40px;

        order: 3;
    }



    .portfolio_page .item
    {
        height: 290px;
    }
	.portfolio_page .item video {height: inherit; width: auto;}

    .portfolio_page .photo,
    .portfolio_page .video
    {
        padding-bottom: 40px;
    }

    .portfolio_page .photo .thumbs
    {
        margin-top: 20px;
    }



    .service_page .photo
    {
        padding-bottom: 60px;
    }

    .service_page .photo .slide .info
    {
        width: 315px;
        padding: 30px 50px;
    }



    .service_info
    {
        padding: 60px 0;
    }

    .service_info .last_cases,
    .service_info .advantages
    {
        width: calc(50% - 20px);
    }
	.service_info .advantages a {font-size: 14px;}

    .service_info .last_cases .item
    {
        width: calc(50% - 10px);
    }


    .service_info_block .image,
    .service_info_block .text_block + .image
    {
        width: calc(100% + 40px);
        margin: 0 -20px;

        order: 1;
    }

    .service_info_block .image img
    {
        left: 0;

        width: 100%;
        height: auto;

        transform: none;
    }

    .service_info_block .text_block
    {
        width: 100%;
        padding: 30px 0 10px;

        order: 2;
    }



    .price_list
    {
        padding: 60px 0;
    }

    .price_list .item
    {
        padding-bottom: 138px;
    }

    .price_list .item .name
    {
        font-size: 16px;
        line-height: 22px;

        padding: 10px 20px;
    }

    .price_list .item .price b
    {
        font-size: 28px;
    }

    .price_list .item .info,
    .price_list .item .bottom
    {
        padding: 20px;
    }




    .portfolio_services
    {
        padding: 50px 0;
    }



    .pagination
    {
        font-size: 20px;

        margin-top: 40px;
    }



    .error_page
    {
        font-size: 16px;

        padding: 170px 0 80px;
    }

    .error_page .code
    {
        font-size: 140px;
        line-height: 100px;
    }

    .error_page .title
    {
        font-size: 26px;

        margin-bottom: 10px;
    }




    .clients
    {
        padding: 60px 0;
    }

    .clients .flex
    {
        left: -20px;
    }

    .clients .flex > *
    {
        width: 25%;
        margin-left: 0;
    }
	
    /*---------------
        Footer
    ---------------*/
    footer
    {
        padding: 60px 0;
    }

    footer .links
    {
        margin-left: 35px;
    }



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

.about_page .image video {width: 100%; position: relative; /* max-width: 600px;*/}
}
