@media (max-width: 1279px)
{
    /*---------------
        Main styles
    ---------------*/
    :root
    {
        --font_size_title: 50px;
    }


    .block_head
    {
        margin-bottom: 40px;
    }



    /*---------------
        Header
    ---------------*/
    header .logo,
    header .logo a
    {
        font-size: 26px;
    }

    header .logo img
    {
        margin-right: 10px;
    }


    header .logo + .sep
    {
        margin: 0 20px;
    }


    header .sr img
    {
        width: 150px;
    }


    header .steps button
    {
        font-size: 18px;
        line-height: 34px;

        height: 40px;
        padding: 0 20px;
    }

    header .steps .sep
    {
        width: 14px;
        margin: 0 5px;
    }


    header .menu .item + .item
    {
        margin-left: 30px;
    }



    /*---------------
        Main section
    ---------------*/
    .first_section .cont
    {
        padding-top: 70px;
    }


    .first_section .block_title
    {
        font-size: 50px;
        line-height: 60px;

        margin-bottom: 50px;
    }

    .first_section .block_title b
    {
        font-size: 70px;
        line-height: 70px;
    }


    .first_section .info,
    .first_section .tasks
    {
        font-size: 17px;
        line-height: 23px;
    }

    .first_section .call .title
    {
        font-size: 28px;
        line-height: 34px;
    }


    .first_section .bg
    {
        top: -30px;
        right: -100px;
    }


    .first_section .link button
    {
        font-size: 20px;
        line-height: 64px;

        height: 60px;
        padding: 0 40px;
    }



    .block_wrap
    {
        padding: 60px 0;
    }



    .step1 .block_title
    {
        font-size: 50px;
    }

    .step1 .form
    {
        padding: 40px;
    }

    .step1 .normal
    {
        font-size: 24px;

        display: flex;

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

        text-align: left;

        justify-content: flex-start;
        align-items: center;
        align-content: center;
        flex-wrap: wrap;
    }

    .step1 .normal .icon
    {
        width: 46px;
        height: 46px;
        margin: 0 15px 0 0;
    }

    .step1 .normal .icon img
    {
        max-width: 26px;
        max-height: 26px;
    }

    .step1 .normal span
    {
        margin-right: 10px;
    }

    .step1 .normal br
    {
        display: none;
    }



    .step2 .result
    {
        padding: 40px;
    }

    .step2 .result .title
    {
        font-size: 50px;
    }

    .step2 .result .desc
    {
        font-size: 28px;
    }

    .step2 .result .link
    {
        font-size: 18px;
        line-height: 64px;
        height: 60px;
        padding: 0 40px;
    }



    .step3 .block_title
    {
        font-size: 50px;
        line-height: 46px;
    }

    .step3 .city
    {
        width: 440px;
        padding: 35px 40px;
    }

    .step3 .city .title
    {
        font-size: 35px;
        line-height: 41px;
    }

    .step3 .text
    {
        font-size: 17px;
        line-height: 23px;

        width: calc(100% - 480px);
    }



    .map_block
    {
        height: 500px;
    }




    .events .item .date
    {
        font-size: 50px;

        top: 20px;
    }

    .events .item .thumb + *
    {
        font-size: 16px;
        line-height: 22px;

        padding: 20px;
    }

    .events .item .desc
    {
        margin-top: 10px;
    }



    .partners .item
    {
        height: 160px;
    }



    /*---------------
        Footer
    ---------------*/
    footer
    {
        padding: 40px 0;
    }


    footer .menu > * + *
    {
        margin-left: 30px;
    }


    footer .socials a + a
    {
        margin-left: 20px;
    }
}
