@media print,
(max-width: 1599px)
{
    /*---------------
        Portfolio
    ---------------*/
    .portfolio .row > *.big_w
    {
        width: calc(100% - 24px);
    }


    .portfolio .item.big_w .year,
    .portfolio .item.big_w .company
    {
        width: 306px;
    }

    .portfolio .item.big_w .category,
    .portfolio .item.big_w .name
    {
        width: calc(100% - 330px);
    }
}



@media print,
(max-width: 1439px)
{
    /*-------------------
        Global styles
    -------------------*/
    .cont
    {
        padding: 0 40px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block
    {
        font-size: 18px;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block .feedback_btn
    {
        font-size: 26px;
        line-height: 32px;

        padding: 24px;
    }



    /*-----------------
        About block
    -----------------*/
    .about_block
    {
        margin-top: 160px;
    }


    .about_block .logo img
    {
        width: 560px;
        height: 296px;
    }


    .about_block .title
    {
        font-size: 52px;
        line-height: 66px;
    }


    .about_block .desc
    {
        font-size: 26px;
        line-height: 36px;
    }


    .about_block .link
    {
        font-size: 42px;
        line-height: 48px;

        margin-top: 40px;
        padding-right: 36px;
    }



    /*---------------
        Case head
    ---------------*/
    .case_head
    {
        margin-bottom: 28px;
        padding-top: 132px;
    }


    .case_head .pre_title
    {
        font-size: 28px;
        line-height: 38px;

        margin-bottom: 28px;
    }


    .case_head .title
    {
        font-size: 64px;
    }



    /*---------------
        Case data
    ---------------*/
    .case_data .info_block .title
    {
        font-size: 28px;
    }


    .case_data .info_block .desc
    {
        font-size: 26px;
        line-height: 36px;
    }


    .case_data .links a
    {
        font-size: 28px;

        padding: 27px;
    }



    /*---------------
        Next case
    ---------------*/
    .next_case
    {
        margin-top: 200px;
    }


    .next_case .data
    {
        height: 680px;
        padding: 100px 60px;
    }


    .next_case .company
    {
        font-size: 28px;
        line-height: 36px;

        width: 800px;
    }

    .next_case .name
    {
        font-size: 64px;
        line-height: 80px;

        width: 780px;
        margin-top: 100px;
    }



    /*--------------------
        Privacy policy
    --------------------*/
    .privacy_policy
    {
        padding-top: 140px;
        padding-bottom: 52px;
    }



    .privacy_policy .page_title
    {
        font-size: 60px;
        line-height: 72px;

        margin-bottom: 104px;
    }


    .privacy_policy .section + .section
    {
        margin-top: 52px;
    }


    .privacy_policy .title
    {
        font-size: 26px;
        line-height: 32px;

        width: 296px;
    }


    .privacy_policy .text_block
    {
        width: calc(100% - 324px);
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        margin-top: 160px;
        padding-bottom: 32px;
    }


    footer .top
    {
        margin-bottom: 100px;
    }

    footer .top .row
    {
        width: 80%;
    }


    footer .bottom
    {
        margin-top: 100px;
    }



    footer .email a
    {
        font-size: 26px;
        line-height: 36px;
    }


    footer .feedback_btn
    {
        font-size: 18px;
        line-height: 24px;

        width: 628px;
        padding: 11px 23px;
    }



    footer .contacts_wrap
    {
        width: 80%;
    }


    footer .contacts_wrap .row
    {
        margin-bottom: -80px;
    }

    footer .contacts_wrap .row > *
    {
        margin-bottom: 80px;
    }


    footer .contacts .country
    {
        font-size: 26px;
        line-height: 36px;

        margin-bottom: 20px;
    }
}



@media print,
(max-width: 1279px)
{
    /*-------------------
        Global styles
    -------------------*/
    html.custom_scroll ::-webkit-scrollbar
    {
        width: 5px;
        height: 5px;
    }


    .cont
    {
        padding: 0 32px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .columns
    {
        --form_columns_offset: 24px;
    }


    .form .line
    {
        margin-bottom: 24px;
    }


    .form .input
    {
        font-size: 18px;

        height: 60px;
    }


    .form textarea
    {
        font-size: 18px;
        line-height: 26px;
    }


    .form .submit_btn
    {
        font-size: 18px;
        line-height: 100%;
    }


    .form .agree
    {
        font-size: 14px;
        line-height: 20px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block
    {
        font-size: 17px;
        line-height: 25px;
    }


    .text_block > *
    {
        margin-bottom: 20px;
    }


    .text_block ul li:before
    {
        top: 9px;
    }

    .text_block ul li.mar_t
    {
        margin-top: 20px;
    }



    /*---------------
        Portfolio
    ---------------*/
    .portfolio .item .company
    {
        margin-top: 24px;
    }

    .portfolio .item .name
    {
        margin-top: 12px;
        margin-right: 0;
    }


    .portfolio .item.big_w .year
    {
        width: 240px;
    }

    .portfolio .item.big_w .category
    {
        width: calc(100% - 268px);
    }

    .portfolio .item.big_w .company
    {
        width: 240px;
        margin-top: 24px;
    }

    .portfolio .item.big_w .name
    {
        width: calc(100% - 268px);
        margin-top: 24px;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block
    {
        margin-top: 80px;
    }


    .action_block .feedback_btn
    {
        font-size: 24px;
        line-height: 30px;

        padding: 19px;
    }

    .action_block .feedback_btn .icon
    {
        width: 36px;
        height: 36px;
        margin-right: 24px;
    }



    /*-----------------
        About block
    -----------------*/
    .about_block
    {
        margin-top: 132px;
    }


    .about_block .logo img
    {
        width: 501px;
        height: 265px;
    }


    .about_block .data
    {
        width: 348px;
    }


    .about_block .title
    {
        font-size: 46px;
        line-height: 56px;
    }


    .about_block .desc
    {
        font-size: 23px;
        line-height: 33px;
    }


    .about_block .link
    {
        font-size: 38px;
        line-height: 44px;

        margin-top: 32px;
    }



    /*---------------
        Case head
    ---------------*/
    .case_head .pre_title
    {
        font-size: 26px;
        line-height: 36px;
    }


    .case_head .title
    {
        font-size: 60px;
        line-height: 72px;
    }



    /*---------------
        Case data
    ---------------*/
    .case_data .year
    {
        width: 240px;
        padding-bottom: 23px;
    }

    .case_data .category
    {
        width: calc(100% - 268px);
        padding-bottom: 23px;
    }


    .case_data .info_block .title
    {
        font-size: 26px;
        line-height: 32px;

        width: 240px;
    }

    .case_data .info_block .title br
    {
        display: none;
    }


    .case_data .info_block .desc
    {
        font-size: 22px;
        line-height: 32px;

        width: calc(100% - 268px);
    }


    .case_data .info_block .images
    {
        margin-top: 80px;
    }


    .case_data .links a
    {
        font-size: 24px;
        line-height: 30px;

        padding: 19px;
    }



    /*---------------
        Next case
    ---------------*/
    .next_case
    {
        margin-top: 150px;
    }


    .next_case .link
    {
        padding-top: 164px;
    }


    .next_case .data
    {
        height: 600px;
        padding: 80px 40px;
    }


    .next_case .company
    {
        font-size: 24px;
        line-height: 30px;
    }

    .next_case .name
    {
        font-size: 60px;
        line-height: 72px;

        margin-top: 80px;
    }



    /*--------------------
        Privacy policy
    --------------------*/
    .privacy_policy
    {
        padding-bottom: 48px;
    }



    .privacy_policy .page_title
    {
        font-size: 52px;
        line-height: 64px;

        margin-bottom: 80px;
    }


    .privacy_policy .title
    {
        font-size: 24px;
        line-height: 30px;

        width: 272px;
    }


    .privacy_policy .text_block
    {
        width: calc(100% - 300px);
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        margin-top: 120px;
        padding-bottom: 28px;
    }


    footer .top .row
    {
        width: 75%;
    }


    footer .email a
    {
        font-size: 24px;
        line-height: 34px;
    }


    footer .feedback_btn
    {
        width: 472px;
    }

    footer .feedback_btn .icon
    {
        width: 36px;
        height: 36px;
        margin-right: 36px;
    }


    footer .contacts_wrap
    {
        width: 75%;
    }


    footer .contacts_wrap .row
    {
        margin-bottom: -60px;
    }

    footer .contacts_wrap .row > *
    {
        margin-bottom: 60px;
    }


    footer .contacts .country
    {
        line-height: 34px;
    }


    footer .contacts .city,
    footer .contacts .phone a
    {
        font-size: 18px;
        line-height: 24px;
    }



    /*-----------
        Modal
    -----------*/
    .lock .modal
    {
        width: 100%;
    }


    .modal_title
    {
        margin-bottom: 52px;
    }


    .modal .text
    {
        font-size: 24px;
        line-height: 34px;

        width: 500px;
    }


    .modal .contacts .email
    {
        font-size: 24px;
        line-height: 34px;
    }


    .modal .contacts .links
    {
        margin-top: 40px;
    }

    .modal .contacts .links a
    {
        font-size: 18px;
        line-height: 26px;
    }


    .modal .form
    {
        margin-top: 72px;
    }
}



@media print,
(max-width: 1023px)
{
    /*-------------------
        Global styles
    -------------------*/
    .cont
    {
        padding: 0 28px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .columns
    {
        --form_columns_offset: 20px;
    }


    .form .line
    {
        margin-bottom: 20px;
    }


    .form .input
    {
        font-size: 17px;

        height: 56px;
    }


    .form textarea
    {
        font-size: 17px;
        line-height: 23px;

        padding-top: 15px;
        padding-bottom: 15px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block
    {
        font-size: 16px;
        line-height: 24px;
    }


    .text_block ul li:before
    {
        top: 8px;
    }



    /*---------------
        Portfolio
    ---------------*/
    .portfolio .row
    {
        margin-bottom: -60px;
    }

    .portfolio .row > *
    {
        margin-bottom: 60px;
    }


    .portfolio .item .year,
    .portfolio .item .category
    {
        padding-top: 15px;
    }


    .portfolio .item.big_w .year
    {
        width: 200px;
    }

    .portfolio .item.big_w .category
    {
        width: calc(100% - 224px);
    }

    .portfolio .item.big_w .company
    {
        width: 200px;
        margin-top: 20px;
    }

    .portfolio .item.big_w .name
    {
        width: calc(100% - 224px);
        margin-top: 20px;
    }



    /*-----------------
        About block
    -----------------*/
    .about_block
    {
        margin-top: 124px;
    }


    .about_block .logo img
    {
        width: 422px;
        height: 223px;
    }


    .about_block .data
    {
        width: 248px;
    }


    .about_block .title
    {
        font-size: 44px;
        line-height: 50px;
    }


    .about_block .desc
    {
        font-size: 22px;
        line-height: 29px;

        margin-top: 24px;
    }


    .about_block .link
    {
        font-size: 34px;
        line-height: 36px;

        margin-top: 24px;
    }



    /*---------------
        Case head
    ---------------*/
    .case_head .pre_title
    {
        font-size: 22px;
        line-height: 30px;

        margin-bottom: 24px;
    }


    .case_head .title
    {
        font-size: 52px;
        line-height: 64px;

        margin-bottom: 40px;
    }



    /*---------------
        Case data
    ---------------*/
    .case_data .year
    {
        width: 200px;
        padding-bottom: 19px;
    }

    .case_data .category
    {
        width: calc(100% - 224px);
        padding-bottom: 19px;
    }


    .case_data .info_block .title
    {
        font-size: 24px;
        line-height: 30px;

        width: 200px;
    }


    .case_data .info_block .desc
    {
        font-size: 19px;
        line-height: 27px;

        width: calc(100% - 224px);
    }


    .case_data .info_block .images
    {
        margin-top: 60px;
    }


    .case_data .links a
    {
        font-size: 20px;
    }

    .case_data .links .icon
    {
        width: 28px;
        height: 28px;
        margin-left: 12px;
    }



    /*---------------
        Next case
    ---------------*/
    .next_case
    {
        margin-top: 130px;
    }


    .next_case .link
    {
        padding-top: 130px;
    }


    .next_case .data
    {
        height: 480px;
        padding: 60px 40px;
    }


    .next_case .company
    {
        font-size: 22px;
    }

    .next_case .name
    {
        font-size: 52px;
        line-height: 64px;

        margin-top: 40px;
    }



    /*--------------------
        Privacy policy
    --------------------*/
    .privacy_policy
    {
        padding-top: 132px;
    }


    .privacy_policy .page_title
    {
        margin-bottom: 72px;
    }


    .privacy_policy .title
    {
        font-size: 22px;
        line-height: 28px;

        width: 100%;
        margin-bottom: 24px;
    }


    .privacy_policy .text_block
    {
        width: 100%;
    }



    /*------------
        Footer
    ------------*/
    footer .top .row
    {
        width: 100%;
    }


    footer .contacts .city,
    footer .contacts .phone a
    {
        font-size: 17px;
        line-height: 23px;
    }



    /*-----------
        Modal
    -----------*/
    .modal_title
    {
        margin-bottom: 40px;
    }


    .modal .text
    {
        font-size: 21px;
        line-height: 29px;

        width: 340px;
    }


    .modal .contacts .email
    {
        font-size: 21px;
        line-height: 29px;
    }


    .modal .contacts .links
    {
        margin-top: 32px;
    }

    .modal .contacts .links a
    {
        font-size: 17px;
        line-height: 25px;
    }
}



@media print,
(max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    .cont
    {
        padding: 0 20px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .columns > *
    {
        width: calc(100% - var(--form_columns_offset));
    }


    .form .line
    {
        margin-bottom: 16px;
    }


    .form .input
    {
        font-size: 16px;

        height: 52px;
    }


    .form textarea
    {
        font-size: 16px;
        line-height: 22px;

        height: 132px;
    }


    .form .submit_btn
    {
        font-size: 17px;
    }



    /*---------------
        Portfolio
    ---------------*/
    .portfolio .row
    {
        margin-left: 0;
    }


    .portfolio .row > *
    {
        width: 100%;
        margin-left: 0;
    }

    .portfolio .row > *.big_w
    {
        width: 100%;
    }


    .portfolio .item .info
    {
        margin-top: 20px;
    }


    .portfolio .item .year,
    .portfolio .item.big_w .year
    {
        width: 124px;
    }

    .portfolio .item .category,
    .portfolio .item.big_w .category
    {
        width: calc(100% - 124px);

        text-align: right;
    }

    .portfolio .item.big_w .company,
    .portfolio .item.big_w .name
    {
        width: 100%;
        margin-top: 16px;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block .feedback_btn
    {
        text-align: left;
    }

    .action_block .feedback_btn br
    {
        display: block;
    }



    /*-----------------
        About block
    -----------------*/
    .about_block
    {
        margin-top: 100px;
    }


    .about_block .logo
    {
        margin-bottom: 30px;
    }

    .about_block .logo img
    {
        width: 100%;
        height: auto;
    }


    .about_block .data
    {
        width: 100%;
    }


    .about_block .title
    {
        font-size: 50px;
        line-height: 54px;

        letter-spacing: -1.3px;
    }


    .about_block .desc
    {
        width: 257px;
        max-width: 100%;
        margin-top: 20px;
    }


    .about_block .link
    {
        margin-top: 20px;
    }



    /*---------------
        Case head
    ---------------*/
    .case_head
    {
        margin-bottom: 24px;
        padding-top: 116px;
    }


    .case_head .pre_title
    {
        font-size: 20px;
        line-height: 28px;

        margin-bottom: 20px;
    }


    .case_head .title
    {
        font-size: 46px;
        line-height: 56px;

        margin-bottom: 32px;
    }

    .case_head .title br
    {
        display: none;
    }



    /*---------------
        Case data
    ---------------*/
    .case_data .year
    {
        width: 124px;
    }

    .case_data .category
    {
        width: calc(100% - 124px);

        text-align: right;
    }


    .case_data .info_block
    {
        margin-top: 80px;
    }


    .case_data .info_block .title
    {
        width: 100%;
        margin-bottom: 24px;
    }


    .case_data .info_block .desc
    {
        width: 100%;
    }


    .case_data .info_block .images
    {
        margin-left: 0;
    }

    .case_data .info_block .image,
    .case_data .info_block .image.full_w
    {
        width: 100%;
        margin-left: 0;
    }



    .case_data .links
    {
        margin-bottom: -40px;
        margin-left: 0;
    }

    .case_data .links > *
    {
        width: 100%;
        margin-bottom: 40px;
        margin-left: 0;
    }


    .case_data .links a
    {
        font-size: 20px;
    }

    .case_data .links .icon
    {
        width: 28px;
        height: 28px;
        margin-left: 12px;
    }



    /*---------------
        Next case
    ---------------*/
    .next_case .data
    {
        height: 400px;
    }


    .next_case .company
    {
        font-size: 20px;
    }


    .next_case .name
    {
        font-size: 41px;
        line-height: 51px;
    }



    /*--------------------
        Privacy policy
    --------------------*/
    .privacy_policy
    {
        padding-top: 124px;
        padding-bottom: 24px;
    }


    .privacy_policy .page_title
    {
        font-size: 44px;
        line-height: 52px;

        margin-bottom: 60px;
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        margin-top: 150px;
        padding-bottom: 30px;
    }


    footer .top
    {
        margin-bottom: 100px;
    }

    footer .top .row
    {
        flex-wrap: wrap;
    }


    footer .email
    {
        width: 100%;
        margin: 0;
    }

    footer .email a
    {
        font-size: 29px;
    }


    footer .feedback_btn
    {
        width: 100%;
        margin-top: 50px;
        padding: 11px 15px;
    }

    footer .feedback_btn .icon
    {
        margin-right: 28px;
    }


    footer .col_left
    {
        width: 100%;
        margin-bottom: 45px;
    }


    footer .contacts_wrap
    {
        width: 100%;
    }


    footer .contacts_wrap .row
    {
        margin-bottom: -45px;
    }

    footer .contacts_wrap .row > *
    {
        width: calc(50% - 24px);
        margin-bottom: 45px;
    }


    footer .contacts .country
    {
        margin-bottom: 24px;
    }


    footer .contacts .city,
    footer .contacts .phone a
    {
        font-size: 19px;
        line-height: 28px;
    }


    footer .copyright
    {
        width: 100%;
    }


    footer .links
    {
        width: 100%;
        margin-top: 15px;
        margin-left: 0;
    }



    /*-----------
        Modal
    -----------*/
    .modal
    {
        padding: 32px;
    }


    .modal_title
    {
        margin-bottom: 32px;
    }


    .modal .text
    {
        font-size: 19px;
        line-height: 28px;

        width: 100%;
    }


    .modal .contacts
    {
        width: 100%;
        margin-top: 28px;
    }


    .modal .contacts .email
    {
        font-size: 22px;
        line-height: 30px;
    }


    .modal .contacts .links
    {
        margin-top: 28px;
    }


    .modal .form
    {
        margin-top: 52px;
    }
}



@media print,
(max-width: 479px)
{
    /*-------------------
        Global styles
    -------------------*/
    .cont
    {
        padding: 0 12px;
    }



    /*---------------
        Portfolio
    ---------------*/
    .portfolio .item .year,
    .portfolio .item.big_w .year
    {
        width: 100px;
    }

    .portfolio .item .category,
    .portfolio .item.big_w .category
    {
        width: calc(100% - 100px);
    }



    /*------------------
        Action block
    ------------------*/
    .action_block .feedback_btn
    {
        padding: 22px 23px 22px 15px;
    }

    .action_block .feedback_btn .icon
    {
        margin-right: auto;
    }

    .action_block .feedback_btn span
    {
        width: calc(100% - 64px);
    }



    /*---------------
        Case head
    ---------------*/
    .case_head
    {
        padding-top: 100px;
    }


    .case_head .pre_title
    {
        font-size: 19px;
        line-height: 27px;
    }


    .case_head .title
    {
        font-size: 40px;
        line-height: 52px;

        margin-bottom: 24px;
    }



    /*---------------
        Case data
    ---------------*/
    .case_data .info
    {
        font-size: 14px;
        line-height: 20px;
    }


    .case_data .year
    {
        width: 92px;
    }


    .case_data .category
    {
        width: calc(100% - 92px);
    }



    .case_data .links
    {
        margin-bottom: -40px;
        margin-left: 0;
    }

    .case_data .links > *
    {
        width: 100%;
        margin-bottom: 40px;
        margin-left: 0;
    }


    .case_data .links a
    {
        font-size: 20px;
    }

    .case_data .links .icon
    {
        width: 28px;
        height: 28px;
        margin-left: 12px;
    }



    /*---------------
        Next case
    ---------------*/
    .next_case
    {
        margin-top: 100px;
    }


    .next_case .link
    {
        padding-top: 80px;
    }


    .next_case .data
    {
        height: 360px;
        padding: 60px 24px;
    }


    .next_case .company
    {
        font-size: 18px;
        line-height: 26px;
    }

    .next_case .name
    {
        font-size: 37px;
        line-height: 49px;
    }



    /*--------------------
        Privacy policy
    --------------------*/
    .privacy_policy
    {
        padding-top: 100px;
        padding-bottom: 20px;
    }


    .privacy_policy .page_title
    {
        font-size: 40px;
        line-height: 48px;

        margin-bottom: 52px;
    }



    /*------------
        Footer
    ------------*/
    footer .contacts_wrap .row
    {
        margin-left: 0;
    }


    footer .contacts_wrap .row > *
    {
        width: 100%;
        margin-left: 0;
    }



    /*-----------
        Modal
    -----------*/
    .modal
    {
        padding: 32px 24px;
    }


    .modal .contacts
    {
        width: 100%;
        margin-top: 28px;
    }


    .modal .contacts .email
    {
        font-size: 22px;
        line-height: 30px;
    }


    .modal .contacts .links
    {
        margin-top: 28px;
    }


    .modal .form
    {
        margin-top: 52px;
    }
}
