@media print,
(max-width: 1439px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 16px;
        --font_size_title: 48px;
        --font_size_title_big: 52px;
    }


    .block
    {
        margin-bottom: 80px;
    }

    .block.small_m
    {
        margin-bottom: 52px;
    }

    .block.middle_m
    {
        margin-bottom: 60px;
    }

    .block.middle_m2
    {
        margin-bottom: 72px;
    }

    .block.middle_m3
    {
        margin-bottom: 60px;
    }



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 24px;
    }



    /*------------
        Header
    ------------*/
    header
    {
        margin-bottom: 60px;
        padding: 24px 0;
    }


    header .logo img
    {
        width: 200px;
        height: 41px;
    }



    header .menu
    {
        gap: 48px;
    }



    header .contacts_btn
    {
        padding: 11px 31px;
    }



    header .langs .btn
    {
        line-height: 28px;
    }



    header .langs .mini_modal
    {
        top: -16px;

        padding: 56px 24px 0;

        border-radius: 24px;
    }


    header .langs .mini_modal .btn img
    {
        margin-left: 16px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head
    {
        gap: 32px;
    }


    .block_head .title
    {
        line-height: calc(100% + 8px);
    }


    .block_head .desc
    {
        font-size: 20px;
        line-height: calc(100% + 12px);
    }


    .block_head .link .btn
    {
        padding: 16px 40px;

        font-size: 18px;
        line-height: 22px;
    }



    /*----------------
        Typography
    ----------------*/
    .text_block ul.columns > * + *
    {
        margin-top: 16px;
    }


    .text_block ul li:before
    {
        top: 9px;

        width: 6px;
        height: 6px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .row
    {
        padding-top: 20px;
    }


    .form .input,
    .form .nice-select .current
    {
        height: 56px;

        font-size: 18px;
    }


    .form textarea
    {
        height: 100px;

        font-size: 18px;
    }


    .form .submit
    {
        padding-top: 12px;
    }


    .form .submit_btn
    {
        height: 56px;
        padding: 12px 28px;

        font-size: 18px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider .cont
    {
        min-height: 650px;
        padding-top: 138px;
        padding-bottom: 60px;
    }


    .main_slider .data
    {
        padding-bottom: 24px;
    }

    .main_slider .data.big
    {
        width: 764px;
        padding-bottom: 0;
    }


    .main_slider .head
    {
        font-size: 18px;

        gap: 20px;
    }


    .main_slider .title
    {
        line-height: calc(100% + 8px);
    }


    .main_slider .desc
    {
        font-size: 20px;
        line-height: calc(100% + 12px);
    }


    .main_slider .link a
    {
        padding: 12px 48px;

        font-size: 18px;
        line-height: 22px;
    }


    .main_slider .items
    {
        width: 500px;
        margin-bottom: -24px;
        margin-left: -24px;

        font-size: 18px;
    }


    .main_slider .data.big .items
    {
        width: 724px;
        margin-top: 40px;
    }


    .main_slider .items > *
    {
        width: calc(50% - 24px);
        margin-bottom: 24px;
        margin-left: 24px;
    }


    .main_slider .data.big .items > *
    {
        width: calc(33.333% - 24px);
    }


    .main_slider .items > *:before
    {
        height: calc(100% - 6px);
    }


    .main_slider .message
    {
        width: 208px;
        min-height: 168px;
        margin-right: 168px;
        padding: 24px;

        line-height: calc(100% + 12px);

        border-radius: 20px 900px 900px 20px;
    }


    .main_slider .swiper-button-next
    {
        bottom: 60px;

        width: 208px;
        height: 168px;
    }



    /*----------------
        About info
    ----------------*/
    .about_info .block_head
    {
        width: 352px;
    }



    .about_info .industries
    {
        width: calc(100% - 420px);
    }



    /*----------------
        Industries
    ----------------*/
    .industries
    {
        gap: 20px;
    }


    .industries .info
    {
        width: calc(100% - 348px);
        padding: 40px;

        border-radius: 20px 690px 690px 20px;
    }


    .industries .info .name
    {
        font-size: 36px;
        line-height: calc(100% + 8px);
    }


    .industries .info .stats
    {
        margin-top: 24px;

        font-size: 14px;

        gap: 40px;
    }


    .industries .info .stats > *
    {
        padding-left: 16px;
    }


    .industries .info .stats > *:before
    {
        bottom: 2px;

        height: calc(100% - 10px);
    }


    .industries .info .stats .val
    {
        margin-bottom: 0;

        font-size: 28px;
        line-height: 40px;
    }


    .industries .image
    {
        width: 324px;
        min-height: 280px;

        border-radius: 28px 900px 28px 28px;
    }



    /*-------------
        Clients
    -------------*/
    .clients .logos
    {
        gap: 24px 48px;
    }


    .clients .logos picture
    {
        height: 72px;
    }



    /*-----------
        Cases
    -----------*/
    .cases .head
    {
        margin-bottom: 40px;
    }


    .cases .head .title
    {
        line-height: calc(100% + 8px);
    }


    .cases .head .title + *
    {
        width: calc(100% - 480px);
    }


    .cases .head .desc
    {
        width: 600px;

        font-size: 20px;
        line-height: calc(100% + 12px);
    }


    .cases .filter
    {
        gap: 24px 100px;
    }


    .cases .filter .nice-select .current
    {
        height: 48px;

        font-size: 18px;
        line-height: 48px;
    }


    .cases .filter .nice-select-dropdown
    {
        left: -24px;

        width: 225px;
        min-width: calc(100% + 48px);
        padding: 48px 24px 24px;
    }


    .cases .filter .nice-select .list .option
    {
        padding: 12px 0;

        font-size: 18px;
    }


    .cases .swiper,
    .cases .swiper.small
    {
        width: calc(100% - 448px);
    }


    .cases .case
    {
        padding: 40px;
    }


    .cases .case .image
    {
        width: 200px;
        height: 180px;

        border-radius: 28px 900px 28px 28px;
    }


    .cases .case .image.left
    {
        border-radius: 28px 900px 900px 28px;
    }


    .cases .case .info
    {
        width: calc(100% - 248px);
    }


    .cases .case .name
    {
        width: 344px;

        font-size: 36px;
        line-height: calc(100% + 8px);
    }


    .cases .case .industry
    {
        font-size: 14px;
        line-height: 20px;
    }


    .cases .case .tags
    {
        width: calc(100% - 248px);
        max-width: calc(100% - 248px);

        gap: 12px;
    }


    .cases .case .tags > *
    {
        padding: 8px 20px;

        font-size: 14px;
        line-height: 20px;
    }


    .cases .case .stats
    {
        font-size: 14px;

        gap: 32px;
    }


    .cases .case .stats .val
    {
        margin-bottom: 0;

        font-size: 28px;
        line-height: 40px;
    }


    .cases .case .stats .val + *
    {
        max-width: 240px;
    }


    .cases .case .stats .sep
    {
        height: 68px;
    }


    .cases .block_head
    {
        width: 400px;
        margin-top: 60px;
        padding-right: 0;
    }


    .cases .block_head.big_w
    {
        width: 508px;
        padding-right: 0;
    }


    .cases .list
    {
        gap: 48px;
    }


    .cases .list .case .info
    {
        width: calc(100% - 360px);
    }


    .cases .list .case .name
    {
        width: 624px;
    }


    .cases .list .case .industry
    {
        margin-top: 40px;
    }


    .cases .list .case .image,
    .cases .list .case .image.left
    {
        width: 320px;
        height: 280px;
    }



    .cases .more
    {
        margin-top: 40px;
    }


    .cases .more .btn
    {
        width: 180px;
        height: 52px;

        font-size: 18px;
    }



    /*--------------
        Articles
    --------------*/
    .articles
    {
        padding-bottom: 0;
    }


    .articles .row
    {
        margin-bottom: -24px;
        margin-left: -24px;
    }


    .articles .row > *
    {
        width: 320px;
        max-width: calc(50% - 24px);
        margin-bottom: 24px;
        margin-left: 24px;
    }


    .articles .row > *.big
    {
        width: calc(100% - 712px);
    }


    .articles .article
    {
        padding: 40px;
    }


    .articles .article .date
    {
        font-size: 12px;
    }


    .articles .article .title
    {
        font-size: 22px;
        line-height: calc(100% + 8px);
    }


    .articles .article .author
    {
        margin-top: 28px;

        font-size: 13px;
    }


    .articles .article .author .photo
    {
        width: 48px;
        height: 48px;
    }


    .articles .article .author .photo + *
    {
        width: calc(100% - 68px);
    }


    .articles .article.big
    {
        padding: 40px;

        border-radius: 20px 690px 690px 20px;
    }



    /*--------------
        Partners
    --------------*/
    .partners .row
    {
        gap: 24px 48px;
    }


    .partners picture
    {
        display: flex;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;

        max-width: 200px;
        height: 72px;
    }



    /*-------------------
        Contacts info
    -------------------*/
    .contacts_info
    {
        padding-top: 80px;
        padding-bottom: 60px;
    }


    .contacts_info .block_head
    {
        margin-bottom: 220px;
    }


    .contacts_info .image
    {
        top: -48px;
        right: 0;
        right: 0;
        left: auto;

        width: 800px;
        margin-left: 0;
    }


    .contacts_info .row
    {
        gap: 40px 80px;
    }


    .contacts_info .row > *
    {
        width: 280px;
    }


    .contacts_info .item
    {
        font-size: 18px;
    }


    .contacts_info .item .name
    {
        font-size: 20px;
    }


    .contacts_info .item .address
    {
        margin-top: 40px;
    }


    .contacts_info .item .phone,
    .contacts_info .item .email
    {
        font-size: 20px;
    }



    /*---------------
        Case info
    ---------------*/
    .case_info .head .title
    {
        line-height: calc(100% + 10px);
    }


    .case_info .head .title + *
    {
        width: calc(100% - 584px);
    }


    .case_info .head .desc
    {
        width: 100%;

        font-size: 20px;
        line-height: calc(100% + 12px);
    }


    .case_info .stats .sep
    {
        height: 56px;
    }


    .case_info .stats .val
    {
        margin-bottom: 8px;

        font-size: 30px;
        line-height: 100%;
    }



    .case_info .section .info
    {
        width: calc(100% - 380px);
    }


    .case_info .section .info.small
    {
        width: calc(100% - 748px);
    }


    .case_info .section .info.middle
    {
        width: calc(100% - 540px);
    }


    .case_info .section .info .desc
    {
        line-height: calc(100% + 12px);
    }


    .case_info .section .quote
    {
        width: 400px;
    }


    .case_info .section .quote .icon
    {
        width: 100px;
    }


    .case_info .section .image
    {
        width: 320px;
        height: 288px;
    }


    .case_info .section .default_image
    {
        width: 480px;
        margin-top: 40px;
    }



    /*------------------
        Action block
    ------------------*/
    .action_block .cont
    {
        gap: 24px 80px;
    }


    .action_block .title
    {
        font-size: 30px;
    }


    .action_block .btn
    {
        height: 56px;
        padding: 0 40px;

        font-size: 19px;
    }



    /*---------------
        Service info
    ---------------*/
    .service_info .head
    {
        margin-bottom: 60px;
    }


    .service_info .head .title
    {
        width: 480px;

        line-height: calc(100% + 12px);
    }


    .service_info .head .title + *
    {
        width: calc(100% - 540px);

        gap: 40px;
    }


    .service_info .head .desc
    {
        width: 100%;

        font-size: 20px;
        line-height: calc(100% + 14px);
    }


    .service_info .stats
    {
        gap: 80px;
    }


    .service_info .stats .val
    {
        font-size: 40px;
    }



    /*------------------------
        Service industries
    ------------------------*/
    .service_industries .row
    {
        margin-bottom: -24px;
        margin-left: -24px;
    }


    .service_industries .row > *
    {
        width: calc(33.333% - 24px);
        margin-bottom: 24px;
        margin-left: 24px;
    }


    .service_industries .industry
    {
        padding: 40px;
    }


    .service_industries .industry .thumb
    {
        width: 132px;
        height: 116px;
    }


    .service_industries .industry .name
    {
        min-height: 68px;

        font-size: 24px;
        line-height: calc(100% + 10px);
    }


    .service_industries .industry .name br
    {
        display: none;
    }


    .service_industries .industry .desc
    {
        margin-top: 12px;

        font-size: 16px;
        line-height: calc(100% + 10px);
    }



    .service_industries .action
    {
        padding: 48px;

        font-size: 30px;

        border-radius: 20px 20px 200px;
    }


    .service_industries .action .btn
    {
        height: 56px;
        margin-top: 32px;
        padding: 0 40px;

        font-size: 18px;
    }



    /*------------------
        Service data
    ------------------*/
    .service_data .expertise
    {
        width: 480px;
    }


    .service_data .expertise .items
    {
        font-size: 17px;

        gap: 40px;
    }


    .service_data .expertise .col > *:before
    {
        top: 8px;

        width: 6px;
        height: 6px;
    }



    .service_data .team
    {
        width: calc(100% - 540px);
    }



    /*----------------
        About head
    ----------------*/
    .about_head
    {
        padding: 80px 0;
    }


    .about_head .data
    {
        width: 560px;
    }


    .about_head .title
    {
        font-size: 52px;
    }


    .about_head .desc
    {
        font-size: 20px;
        line-height: calc(100% + 12px);
    }


    .about_head .message
    {
        margin-top: 28px;
        padding-left: 24px;

        font-size: 18px;
        line-height: calc(100% + 16px);
    }


    .about_head .exp
    {
        width: 368px;
        padding: 40px 68px 40px 40px;

        font-size: 17px;
        line-height: calc(100% + 10px);
    }



    /*----------------
        About data
    ----------------*/
    .about_data
    {
        margin-bottom: 60px;
        padding-top: 100px;
    }


    .about_data .image
    {
        width: 400px;
    }


    .about_data .data
    {
        width: 360px;
        margin-top: -200px;

        gap: 28px;
    }


    .about_data .data .exp
    {
        width: 324px;
        min-height: 280px;
        padding: 40px 80px 24px 28px;

        font-size: 17px;
        line-height: calc(100% + 10px);
    }


    .about_data .data .desc
    {
        font-size: 18px;
        line-height: calc(100% + 10px);
    }


    .about_data .stats
    {
        width: 272px;
        margin-top: 68px;
    }


    .about_data .stats .val
    {
        font-size: 30px;
    }


    .about_data .stats .desc
    {
        font-size: 18px;
        line-height: calc(100% + 10px);
    }



    /*------------
        Why we
    ------------*/
    .why_we .row
    {
        padding: 0;
    }


    .why_we .col
    {
        padding-bottom: 0;
    }


    .why_we .col + .col
    {
        margin-left: 40px;
        padding-left: 40px;
    }


    .why_we .col .title
    {
        font-size: 24px;
    }


    .why_we .col .stats .val
    {
        font-size: 30px;
    }


    .why_we .col .stats .desc
    {
        line-height: calc(100% + 10px);
    }


    .why_we .col .items
    {
        font-size: 17px;

        gap: 12px;
    }


    .why_we .col .desc
    {
        margin-top: 16px;

        font-size: 16px;
        line-height: calc(100% + 10px);
    }


    .why_we .col .logos_wrap
    {
        height: 144px;
        margin-top: 40px;
    }


    .why_we .col .logos
    {
        gap: 32px;
    }


    .why_we .col .logos picture
    {
        max-width: 148px;
        height: 56px;
    }


    .why_we .col .spoler_btn
    {
        font-size: 17px;
    }



    /*------------------
        Our services
    ------------------*/
    .our_services .tabs .btn
    {
        font-size: 22px;
    }


    .our_services .link .btn
    {
        padding: 16px 40px;

        font-size: 18px;
        line-height: 24px;
    }



    /*-------------
        Why we2
    -------------*/
    .why_we2 .data .name
    {
        font-size: 22px;
    }



    /*----------------
        Error page
    ----------------*/
    .error_page
    {
        padding-block: 124px;
    }


    .error_page .data
    {
        width: 400px;
        max-width: 100%;

        gap: 32px;
    }


    .error_page .desc
    {
        font-size: 18px;
    }


    .error_page .links a
    {
        height: 52px;
        padding-inline: 52px;
    }


    .error_page .code
    {
        width: calc(100% - 500px);
        padding-block: 100px;
        padding-inline: 100px;
    }



    /*-----------
        Products
    -----------*/
    .products
    {
        padding-bottom: 48px;
    }


    .products .head
    {
        margin-bottom: 40px;
    }


    .products .head .title
    {
        line-height: calc(100% + 8px);
    }


    .products .head .title + *
    {
        width: calc(100% - 480px);
    }


    .products .head .desc
    {
        width: 600px;

        font-size: 20px;
        line-height: calc(100% + 12px);
    }


    .products .filter
    {
        gap: 24px 100px;
    }


    .products .filter .nice-select .current
    {
        height: 48px;

        font-size: 18px;
        line-height: 48px;
    }


    .products .filter .nice-select-dropdown
    {
        left: -24px;

        width: 225px;
        min-width: calc(100% + 48px);
        padding: 48px 24px 24px;
    }


    .products .filter .nice-select .list .option
    {
        padding: 12px 0;

        font-size: 18px;
    }



    .products .grid
    {
        margin-bottom: -24px;
        margin-left: -24px;
    }


    .products .grid > *
    {
        width: calc(33.333% - 24px);
        margin-bottom: 24px;
        margin-left: 24px;
    }


    .products .product
    {
        padding-inline: 40px;
    }


    .products .product .icon
    {
        right: 40px;

        width: 56px;
    }


    .products .product .name
    {
        width: calc(100% - 80px);

        font-size: 24px;
    }


    .products .product .desc
    {
        width: calc(100% - 80px);
        min-height: 0;

        font-size: 14px;
    }


    .products .product .tags
    {
        margin-top: 20px;

        gap: 8px;
    }


    .products .product .tags > *
    {
        padding-block: 4px;
        padding-inline: 20px;

        font-size: 14px;
        line-height: 28px;
    }



    .products .more
    {
        margin-top: 40px;
    }


    .products .more .btn
    {
        width: 180px;
        height: 52px;

        font-size: 18px;
    }



    /*------------------
        Product info
    ------------------*/
    .product_info .head .cont
    {
        height: 500px;
        padding-top: 60px;
    }


    .product_info .head .info
    {
        width: 592px;

        gap: 24px;
    }


    .product_info .head .title
    {
        font-size: 48px;
    }


    .product_info .head .desc
    {
        width: 448px;

        font-size: 18px;
    }


    .product_info .head .actions
    {
        font-size: 16px;
        line-height: calc(100% + 12px);

        gap: 20px;
    }


    .product_info .head .image
    {
        width: 600px;
    }



    /*---------------------
        Product anchors
    ---------------------*/
    .product_anchors
    {
        padding-block: 8px;
    }


    .product_anchors .btn
    {
        padding-inline: 8px;

        font-size: 16px;
        line-height: calc(100% + 12px);
    }


    .product_anchors .contacts_btn
    {
        padding-inline: 32px;

        font-size: 16px;
        line-height: calc(100% + 12px);
    }



    /*------------------
        Product data
    ------------------*/
    .product_data
    {
        margin-top: 68px;

        scroll-margin-top: 84px;
    }



    .product_data .description .title
    {
        width: 360px;

        font-size: 22px;
    }


    .product_data .description .text_block
    {
        width: calc(100% - 440px);

        font-size: 18px;
    }



    .product_data .items
    {
        row-gap: 60px;
    }


    .product_data .items .item
    {
        padding-inline: 40px;
    }


    .product_data .items .name
    {
        font-size: 24px;
    }


    .product_data .items .desc
    {
        font-size: 16px;
    }


    .product_data .items .logos
    {
        gap: 48px;
    }


    .product_data .items .logos img
    {
        max-width: 124px;
        max-height: 80px;
    }



    /*--------------------------
        Product architecture
    --------------------------*/
    .product_architecture
    {
        scroll-margin-top: 84px;
    }


    .product_architecture .block_head
    {
        margin-bottom: 40px;
    }


    .product_architecture .icons
    {
        width: 340px;
        height: 320px;
        padding: 40px 64px 40px 32px;
    }


    .product_architecture .icons .icon
    {
        height: 68px;
    }


    .product_architecture .data
    {
        width: calc(100% - 420px);
    }


    .product_architecture .item
    {
        font-size: 18px;

        gap: 16px;
    }


    .product_architecture .image
    {
        height: 400px;
        margin-top: 60px;

        border-radius: 24px;
    }


    .product_architecture .image + .row
    {
        margin-top: 60px;
    }



    /*-----------------------
        Product use cases
    -----------------------*/
    .product_use_cases
    {
        scroll-margin-top: 84px;
    }


    .product_use_cases .item
    {
        padding: 32px 64px 32px 32px;
    }


    .product_use_cases .item .thumb
    {
        width: 124px;
        height: 112px;
        margin-bottom: 0;
    }


    .product_use_cases .item .name
    {
        font-size: 22px;
    }



    /*------------------------
        Product advantages
    ------------------------*/
    .product_advantages .item
    {
        padding: 32px 64px 32px 32px;
    }


    .product_advantages .item .icon
    {
        width: 124px;
        height: 112px;
        margin-bottom: 0;
    }


    .product_advantages .item .icon img
    {
        width: 40px;
    }


    .product_advantages .item .name
    {
        font-size: 22px;
    }



    /*---------------------
        Product license
    ---------------------*/
    .product_license .data
    {
        width: calc(100% - 560px);
        padding: 48px;
    }


    .product_license .data .items > *
    {
        padding: 4px 20px;
    }



    .product_license .block_head
    {
        width: 480px;
        margin-right: 0;
    }



    /*-------------
        Tariffs
    -------------*/
    .tariffs
    {
        scroll-margin-top: 84px;
    }


    .tariffs .block_head .desc
    {
        width: 800px;

        font-size: 20px;
    }


    .tariffs .tariff
    {
        border-radius: 32px;
    }


    .tariffs .tariff .name
    {
        padding: 4px 8px;
    }



    /*-----------------
        Action form
    -----------------*/
    .action_form
    {
        padding-block: 60px;
    }


    .action_form .block_head
    {
        width: 380px;
    }


    .action_form .form
    {
        width: 700px;
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        padding-top: 60px;
        padding-bottom: 120px;
    }



    footer .logo img
    {
        width: 200px;
        height: 41px;
    }



    footer .menu
    {
        margin-left: 148px;

        gap: 48px;
    }


    footer .bottom
    {
        margin-top: 40px;
        padding-left: 348px;
    }


    footer .copyright
    {
        font-size: 13px;
    }



    /*-----------
        PopUp
    -----------*/
    .modal
    {
        width: 720px;
        padding: 40px;
    }


    .modal_title
    {
        min-height: 0;
        margin-bottom: 24px;

        font-size: 24px;
    }
}
