@media (max-width: 479px)
{
    /*---------------
        Main styles
    ---------------*/
    .block_head .title
    {
        font-size: 18px;
        line-height: 20px;
    }



    /*---------------
        Header
    ---------------*/
    header .contacts
    {
       /* display: none; */
	   display: block;
    width: 100%;
    }



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



    /*---------------
        Main section
    ---------------*/
	.first_section {padding: 20px 0 20px;}
    .first_section .info
    {
        font-size: 18px;
    }

    .first_section .info .title
    {
        font-size: 23px;
        line-height: 31px;
    }

    .first_section .info .links a
    {
        font-size: 18px;
        line-height: 44px;

        width: 100%;

        text-align: center;
    }
.first_section .info .links a.portf {display: none;}
    .first_section .info .links > * + *
    {
        margin-left: 0;
    }



    .services .cols .col
    {
        width: 100%;
    }

    .services .cols .col + .col
    {
        margin-top: 40px;
    }

    .services .cols .all_link
    {
        font-size: 14px;
        line-height: 44px;

        height: 44px;
    }


    .services .item
    {
		width: 100%;
        height: 240px;
        padding: 20px;
    }

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

    .order_block .info .title
    {
        font-size: 19px;
        line-height: 27px;
    }

    .order_block .info .desc br
    {
        display: none;
    }



    .steps .item
    {
        width: calc(100% - 30px);
    }

    .steps .link a
    {
        font-size: 14px;
        line-height: 44px;

        height: 44px;
    }



    .cases .item .images .slide .video_link:after
    {
        background-size: auto 40px;
    }

    .cases .all a
    {
        font-size: 14px;
        line-height: 44px;

        height: 44px;
    }



    .contacts_block
    {
        font-size: 12px;
    }

    .contacts_block .title
    {
        font-size: 24px;
        line-height: 30px;

        margin-bottom: 30px;
    }



    .case_page .photo .thumbs
    {
        bottom: 10px;

        padding: 0 55px;
    }

    .case_page .page_menu
    {
        display: none;
    }



    .case_desc .case_team .item
    {
        width: calc(100% - 30px);
    }

    .case_desc .price
    {
        padding: 30px;
    }



    .case_reviews .review .author
    {
        margin: -20px -15px 0;
        padding: 0 15px;
    }

    .case_reviews .review .box
    {
        padding: 5px 25px 40px;
    }

    .case_reviews .all a
    {
        font-size: 14px;
        line-height: 44px;

        height: 44px;
    }



    .case_backstage .big .slide
    {
        overflow: hidden;
    }

    .case_backstage .big .slide img
    {
        position: relative;
        left: 50%;

        width: auto;
        min-width: 100%;
        height: 216px;

        transform: translateX(-50%);
    }

    .case_backstage .slide .info
    {
        width: 100%;
        padding: 20px;
    }



    .portfolio_page .item
    {
        height: 175px;
    }

    .portfolio_page .item:nth-child(2n+1),
    .portfolio_page .item:nth-child(2n)
    {
        padding: 20px;
    }
    .portfolio_page .item:nth-child(2n) {padding: 0;}

.portfolio_page .item:nth-child(2n) .name {margin-top: 20px;}
    .service_page .photo .big .slide
    {
        overflow: hidden;
    }

    .service_page .photo .big .slide .info
    {
        width: 100%;
        padding: 20px;
    }

    .service_page .photo .big .slide img
    {
        position: relative;
        left: 50%;

        width: auto;
        min-width: 100%;
        height: 216px;

        transform: translateX(-50%);
    }

    .service_page .photo .thumbs
    {
        margin-top: 20px;
        padding: 0 60px;
    }



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



    .text_block
    {
        font-size: 13px;
        line-height: 21px;
    }

    .text_block p,
    .text_block img,
    .text_block iframe,
    .text_block ul,
    .text_block ol,
    .text_block blockquote,
    .text_block hr,
    .text_block .table_wrap,
    .text_block figure
    {
        margin-bottom: 20px;
    }



    .error_page
    {
        font-size: 13px;

        padding: 140px 0 50px;
    }

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

        margin-bottom: 20px;
    }

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

        margin-bottom: 5px;
    }

    .error_page .link
    {
        width: 220px;
        margin-top: 20px;
    }

    .clients
    {
        padding: 50px 0;
    }

    .clients .flex > *
    {
        width: 50%;
    }

    /*---------------
        Footer
    ---------------*/
    footer .links
    {
        width: 100%;
    }

    footer .links + .links
    {
        margin-top: 30px;
    }


    footer .bottom a
    {
        display: block;

        width: 100%;
    }

    footer .bottom a + a
    {
        margin-left: 0 !important;
    }



    /*---------------
        PopUp
    ---------------*/
    .modal
    {
        padding: 20px;
    }

    .modal_title
    {
        margin-bottom: 20px;
    }

.mail_top {display: block;}
header .mob_menu_link {margin: 0 auto -10px;     position: absolute;
    right: 0;
    top: 0;}

header .logo {width: 100%;
    text-align: center;
    margin-bottom: 15px;}
	
	.ymaps-b-balloon__content {width: 240px;}
	.first_section .info .links {margin-top: 15px; width: 100%;}
	.first_section .info .title {margin-bottom: 0px; width: 100%; text-align: center; font-size: 32px;
    line-height: 40px; text-transform: uppercase;}
	.first_section .info .title span {display: block;}
	.first_section .info .desc {min-height: 60px; text-align:center; width:100%; font-size: 22px;
    line-height: 26px; margin-top: 25px; margin-bottom: 30px;}

	.first_section .info .desc span {display: block;}
	.service_page .photo .slide .info .price .val {font-size: 24px;}
	.portfolio_services {padding: 0px !important;}
}
