@media print,
(max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size: 14px;
        --font_size_title: 28px;
    }


    .swiper-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction
    {
        left: 24px;

        margin-left: 0;
    }


    .swiper-button-next,
    .swiper-button-prev
    {
        display: none;
    }


    .block
    {
        margin-bottom: 60px;
    }

    .block.big_m
    {
        margin-bottom: 70px;
    }

    .block.border
    {
        padding-bottom: 60px;
    }



    /*--------------
        Fancybox
    --------------*/
    .fancybox__slide
    {
        padding: 20px;
    }



    /*-----------------
        Mob. header
    -----------------*/
    .mob_header .contacts
    {
        display: block;
    }


    .mob_header .callback_btn
    {
        margin-top: 4px;
        margin-left: auto;
    }


    .mob_header .socials
    {
        display: none;
    }



    /*---------------
        Page head
    ---------------*/
    .page_head
    {
        margin-bottom: 40px;
        padding-top: 24px;
    }


    .page_title
    {
        margin-top: 20px;
    }


    .page_desc
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*----------------
        Block head
    ----------------*/
    .block_head,
    .block_head.small_m
    {
        margin-bottom: 30px;
    }


    .block_head .title br
    {
        display: none;
    }


    .block_head .desc
    {
        font-size: 15px;
        line-height: 21px;
    }



    /*------------------
        Form elements
    ------------------*/
    .form .columns > *,
    .form .columns > *.width2of3,
    .form .columns > *.width1of3
    {
        width: calc(100% - var(--form_columns_offset));
    }


    .form .line
    {
        margin-bottom: 24px;
    }


    .form .file,
    .form .agree
    {
        margin-top: -8px;
    }


    .form .checkbox
    {
        line-height: 16px;
    }


    .form .submit_btn
    {
        padding: 10px 26px;
    }



    .form .submit_btn.fill
     {
         width: 100%;
         padding: 14px 23px 10px;
     }

    /*----------------
        Typography
    ----------------*/
    .text_block
    {
        line-height: 22px;
    }


    .text_block h2,
    .text_block h3
    {
        margin-bottom: 20px !important;
    }


    .text_block * + h2,
    .text_block * + h3
    {
        margin-top: 48px;
    }


    .text_block .columns
    {
        column-gap: 0;
        column-count: 1;
    }


    .text_block .cols .col
    {
        width: 100%;
    }

    .text_block .cols .col + .col
    {
        margin-top: 40px;
    }


    .text_block ul li:before
    {
        top: 8px;
    }


    .text_block .image_block .image,
    .text_block .image_block > div,
    .text_block .image_block > div.small
    {
        width: 100%;
    }


    .text_block .image_block .image.bg_left
    {
        width: calc(100% + 24px);
        margin-top: 24px;
        margin-left: -24px;
    }


    .text_block .table_wrap
    {
        overflow: auto;

        width: 100%;
    }


    .text_block table
    {
        width: 900px;
    }


    .text_block .content_contacts
    {
        margin-bottom: 40px;
    }



    /*-----------------
        Main slider
    -----------------*/
    .main_slider .swiper-slide
    {
        display: flex;
        flex-direction: column;
    }


    .main_slider .cont
    {
        order: 2;

        min-height: auto;
        padding-top: 48px;
        padding-bottom: 80px;
    }


    .main_slider .data
    {
        width: 100%;
    }


    .main_slider .title br
    {
        display: none;
    }


    .main_slider .img
    {
        position: relative;
        left: 0;

        width: 100%;
        height: auto;
    }



    /*--------------
        Services
    --------------*/
    .services .row > *
    {
        width: calc(50% + 1px);
    }


    .services .service .icon
    {
        margin-bottom: 25px;
    }


    .services .service .icon1 svg
    {
        width: 50px;
        height: 30px;
    }

    .services .service .icon2 svg
    {
        width: 41px;
        height: 30px;
    }

    .services .service .icon3 svg
    {
        width: 38px;
        height: 30px;
    }

    .services .service .icon4 svg
    {
        width: 42px;
        height: 30px;
    }

    .services .service .icon5 svg
    {
        width: 53px;
        height: 30px;
    }

    .services .service .icon6 svg
    {
        width: 61px;
        height: 30px;
    }

    .services .service .icon7 svg
    {
        width: 41px;
        height: 30px;
    }

    .services .service .icon8 svg
    {
        width: 30px;
        height: 30px;
    }

    .services .service .icon9 svg
    {
        width: 42px;
        height: 30px;
    }

    .services .service .icon10 svg
    {
        width: 48px;
        height: 30px;
    }

    .services .service .icon11 svg
    {
        width: 38px;
        height: 30px;
    }

    .services .service .icon12 svg
    {
        width: 38px;
        height: 30px;
    }

    .services .service .icon13 svg
    {
        width: 47px;
        height: 30px;
    }

    .services .service .icon14 svg
    {
        width: 49px;
        height: 30px;
    }

    .services .service .icon15 svg
    {
        width: 30px;
        height: 30px;
    }

    .services .service .icon16 svg
    {
        width: 40px;
        height: 30px;
    }



    /*-----------
        Media
    -----------*/
    .media .data
    {
        padding-top: 24px;
        padding-left: 32px;
    }

    .media .data .logo
    {
        width: 140px;
        height: 171px;
    }



    /*------------
        Stats
    ------------*/
    .stats .block_head
    {
        padding-bottom: 0;
    }


    .stats .row > *
    {
        width: calc(50% - 24px);
    }



    /*-----------
        Steps
    -----------*/
    .steps
    {
        padding: 60px 0;
    }


    .steps .swiper
    {
        padding: 0;
    }


    .steps .swiper-slide
    {
        visibility: visible;

        width: 304px;

        pointer-events: auto;

        opacity: 1;
    }


    .steps .step
    {
        padding: 0;
    }



    /*----------------
        Boss quote
    ----------------*/
    .boss_quote
    {
        padding-top: 60px;
    }


    .boss_quote .data
    {
        order: 2;

        width: 100%;
        padding-bottom: 32px;
        padding-left: 32px;
    }

    .boss_quote .data:before
    {
        display: none;
    }


    .boss_quote .data .quote:after
    {
        right: -16px;
    }


    .boss_quote .data .author
    {
        margin-top: 30px;
    }


    .boss_quote .photo
    {
        position: relative;
        right: 0;
        left: 0;

        width: 100%;
        margin-left: 0;
    }

    .boss_quote .photo:after
    {
        display: none;
    }

    .boss_quote .photo:before
    {
        display: none;
    }


    .boss_quote .photo img
    {
        width: 320px;
        height: auto;
        margin: 0 auto;
    }



    /*-------------
        Clients
    -------------*/
    .clients .swiper
    {
        padding: 0;
    }


    .clients .swiper-slide
    {
        width: auto;
    }


    .clients .item
    {
        height: 80px;
    }



    /*--------------
        Articles
    --------------*/
    .articles .row
    {
        margin-left: 0;
    }

    .articles .row > *
    {
        width: 100%;
        margin-left: 0;
    }


    .articles .swiper
    {
        padding: 0;
    }


    .articles .swiper-slide
    {
        visibility: visible;

        width: 320px;

        pointer-events: auto;

        opacity: 1;
    }



    /*-----------------
        Get consult
    -----------------*/
    .get_consult .block_title
    {
        font-size: 26px;
        line-height: 32px;

        margin-bottom: 32px;
    }


    .get_consult .data
    {
        padding: 29px;
    }



    /*-------------
        Persons
    -------------*/
    .persons .person .data
    {
        padding: 28px 0;
    }


    .persons .person .name
    {
        font-size: 22px;
        line-height: 28px;
    }


    .persons .person .post
    {
        line-height: 18px;
    }


    .persons .person .contacts .email .icon
    {
        top: 0;
    }


    .persons .person .desc
    {
        margin-top: 20px;
    }



    /*-------------
        Ratings
    -------------*/
    .ratings .swiper
    {
        padding: 0;
    }


    .ratings .swiper-slide.visible
    {
        visibility: visible;

        pointer-events: auto;

        opacity: 1;
    }



    /*----------------
        Advantages
    ----------------*/
    .advantages
    {
        padding: 60px 0;
    }


    .advantages .row
    {
        display: block;
        overflow: auto;

        width: calc(100% + 48px);
        margin: 0 -24px;
        padding: 10px 24px 0;

        white-space: nowrap;

        scroll-padding: 0 24px;
        scroll-snap-type: x mandatory;
    }

    .advantages .row::-webkit-scrollbar
    {
        display: none !important;

        width: 0 !important;
        height: 0 !important;

        background-color: transparent !important;
    }

    .advantages .row::-webkit-scrollbar-thumb
    {
        background-color: transparent !important;
    }


    .advantages .row > *
    {
        display: inline-block;

        width: 240px;
        max-width: none;
        margin: 0;

        vertical-align: top;
        white-space: normal;

        scroll-snap-align: start;
    }

    .advantages .row > * + *
    {
        margin-left: -4px;
    }


    .advantages .item
    {
        line-height: 21px;

        padding: 0 24px;
    }


    .advantages .item .name
    {
        height: 42px;
    }



    /*-----------------
        Person info
    -----------------*/
    .person_info .contacts
    {
        line-height: 24px;
    }



    /*------------
        Certs.
    ------------*/
    .certs .item .thumb .icon
    {
        width: 50px;
        height: 50px;
    }


    .certs .item .thumb .icon svg
    {
        width: 24px;
        height: 24px;
    }



    /*------------
        Videos
    ------------*/
    .videos .video .btn
    {
        width: 112px;
        padding: 16px;
    }



    /*-----------------
        Person info
    -----------------*/
    .person_info .data
    {
        width: 100%;
    }


    .person_info .business_card
    {
        position: relative;
        bottom: 0;

        margin-top: 24px;
    }


    .person_info .contacts
    {
        margin-top: 24px;
        padding-top: 24px;
    }


    .person_info .desc
    {
        width: 100%;
    }



    /*------------
        Certs.
    ------------*/
    .certs .swiper
    {
        padding: 0;
    }


    .certs .swiper-slide
    {
        visibility: visible;

        width: 220px;

        pointer-events: auto;

        opacity: 1;
    }



    /*------------
        Videos
    ------------*/
    .videos .swiper
    {
        padding: 0;
    }


    .videos .swiper-slide
    {
        visibility: visible;

        width: 296px;

        pointer-events: auto;

        opacity: 1;
    }



    /*-----------------
        Specialists
    -----------------*/
    .specialists .swiper
    {
        padding: 0;
    }


    .specialists .swiper-slide
    {
        visibility: visible;

        width: 296px;

        pointer-events: auto;

        opacity: 1;
    }


    .specialists .person
    {
        margin-top: 108px;
    }



    /*--------------
        Branches
    --------------*/
    .branches .tabs
    {
        display: block;
        overflow: auto;

        width: calc(100% + 48px);
        margin: 0 -24px 24px;
        padding: 0 24px;

        white-space: nowrap;

        scroll-padding: 0 24px;
        scroll-snap-type: x mandatory;
    }

    .branches .tabs::-webkit-scrollbar
    {
        display: none !important;

        width: 0 !important;
        height: 0 !important;

        background-color: transparent !important;
    }

    .branches .tabs::-webkit-scrollbar-thumb
    {
        background-color: transparent !important;
    }


    .branches .tabs .btn
    {
        display: inline-block;
        flex-direction: row;

        width: 328px;
        max-width: none;
        margin: 0;

        vertical-align: top;
        white-space: normal;

        scroll-snap-align: start;
    }

    .branches .tabs .btn + .btn
    {
        margin-left: 20px;
    }


    .branches .tabs .name
    {
        font-size: 16px;

        margin-bottom: 12px;
    }



    /*----------------
        In ratings
    ----------------*/
    .in_ratings .row
    {
        margin-bottom: -24px;
        margin-left: 0;
    }


    .in_ratings .row > *
    {
        width: 100%;
        margin-bottom: 24px;
        margin-left: 0;
    }


    .in_ratings .row > * + *
    {
        padding-top: 24px;

        border-top: 1px solid #cdcdcd;
    }


    .in_ratings .item .exp,
    .in_ratings .item .desc
    {
        line-height: 140%;
    }


    /*-----------
        Cases
    -----------*/
    .cases .row
    {
        margin-left: 0;
    }

    .cases .row > *
    {
        width: 100%;
        margin-left: 0;
    }


    .cases .item:nth-child(2n+1) .head:after,
    .cases .item:nth-child(2n) .head:after
    {
        display: none;
    }



    /*------------------
        Free consult
    ------------------*/
    .free_consult .title
    {
        font-size: 24px;
    }


    .free_consult .title small
    {
        font-size: 18px;
    }


    .free_consult .features .row
    {
        align-content: flex-start;
        align-items: flex-start;

        margin-bottom: -24px;
        padding-right: 0;
    }


    .free_consult .features .row > *:nth-child(1)
    {
        order: 3;

        margin-left: auto;
    }

    .free_consult .features .row > *:nth-child(2)
    {
        order: 2;
    }

    .free_consult .features .row > *:nth-child(3)
    {
        order: 1;
    }


    .free_consult .features .item
    {
        line-height: 140%;

        width: calc(50% - 12px);
        margin-bottom: 24px;
    }


    .free_consult .mob_img
    {
        display: block;
    }


    .free_consult .form .col,
    .free_consult .form .col.big
    {
        width: 100%;
    }


    .free_consult .form .col + .col
    {
        margin-top: 5px;
    }


    .free_consult .form textarea
    {
        padding: 19px 14px;
    }


    .free_consult .form .submit
    {
        padding-top: 8px;
    }


    .free_consult .img2
    {
        right: 24px;
        bottom: -32px;

        display: none;

        width: 200px;
    }



    /*------------------
        Service info
    ------------------*/
    .service_info .free_consult
    {
        margin-bottom: 40px;
    }



    /*----------------------
        Content contacts
    ----------------------*/
    .content_contacts
    {
        display: block;

        padding-top: 46px;

        text-align: center;
    }


    .content_contacts .label
    {
        margin-top: 20px;
    }


    .content_contacts .phone
    {
        margin-top: 8px;
    }



    /*-------------------
        Service steps
    -------------------*/
    .service_steps .block_title
    {
        font-size: 24px;
    }


    .service_steps .block_desc
    {
        font-size: 15px;
        line-height: 140%;
    }


    .service_steps .row > *
    {
        width: calc(50% - 24px);
    }



    /*------------------------
        Service advantages
    ------------------------*/
    .service_advantages .block_title
    {
        font-size: 24px;
    }


    .service_advantages .row > *
    {
        width: calc(50% - 24px);
    }


    /*------------------
         Action block
     ------------------*/
     .action_block .info
     {
         width: 100%;
     }
 
 
     .action_block .img
     {
         position: relative;
 
         width: 75%;
         max-width: 100%;
         height: auto;
         margin-left: auto;
     }
 
 
     .action_block .img img
     {
         width: 100%;
         height: auto;
     }
 
 
 
     /*-----------------
         Action form
     -----------------*/
     .action_form
     {
         min-height: 0;
     }
 
 
     .action_form .data
     {
         width: 100%;
         padding: 24px;
     }
 
 
     .action_form .person
     {
         position: relative;
         top: 0;
 
         width: 75%;
         max-width: 100%;
         margin-right: auto;
         margin-left: auto;
         padding-bottom: 16px;
     }
 
 
     .action_form .person .name,
     .action_form .person .post
     {
         padding-right: 0;
         padding-left: 24px;
 
         text-align: left;
     }
 
 
     .action_form .person .name
     {
         font-size: 16px;
     }
 


    /*----------------
        Intresting
    ----------------*/
    .intresting
    {
        padding-top: 0;
    }


    .intresting .row > *
    {
        width: calc(50% - 16px);
    }


    .intresting .title
    {
        width: calc(100% - 16px);
    }


    .intresting .picture
    {
        display: none;
    }


    .intresting .row .empty
    {
        display: none;
    }


    .intresting .link
    {
        min-height: 124px;
        padding: 19px;
    }


    .intresting .link:nth-child(6)
    {
        justify-content: flex-start;
    }


    .intresting .all
    {
        align-content: center;
        align-items: center;

        width: calc(100% - 16px);
        padding: 0;

        border: none;
    }



    /*------------------
        Person2 info
    ------------------*/
    .person2_info .data:before
    {
        height: 348px;
    }


    .person2_info .photo
    {
        width: auto;
        height: 300px;
        margin-inline: auto;
    }


    .person2_info .photo img
    {
        width: auto;
        height: 100%;
    }


    .person2_info .contacts
    {
        width: 100%;
        margin-top: 24px;
        margin-left: 0;
    }


    .person2_info .business_card
    {
        margin-top: 24px;
    }


    .person2_info .business_card .name
    {
        width: calc(100% - 90px);
    }



    /*-----------------
        Person desc
    -----------------*/
    .person_desc
    {
        margin-bottom: 60px;
    }


    .person_desc .text_block
    {
        overflow: hidden;

        height: 280px;
        padding-bottom: 48px;
    }


    .person_desc .text_block:after
    {
        position: absolute;
        bottom: 0;
        left: 0;

        display: block;

        width: 100%;
        height: 100%;

        content: '';
        z-index: 2;

        background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%);
    }


    .person_desc .text_block.show
    {
        height: auto;
    }


    .person_desc .text_block.show:after
    {
        display: none;
    }


    .person_desc .mob
    {
        height: auto;
        padding: 0;
    }


    .person_desc .mob:after
    {
        display: none;
    }


    .person_desc .spoler_btn {
        display: block;
    }

    /*------------
        Footer
    ------------*/
    footer
    {
        padding-bottom: 24px;
    }


    footer .col_center
    {
        margin-top: 24px;
    }


    footer .services_links,
    footer .menu
    {
        display: none;
    }



    /*-----------
        PopUp
    -----------*/
    .modal
    {
        padding: 40px;
    }


    .modal_title
    {
        font-size: 26px;
        line-height: 34px;

        margin-bottom: 30px;
    }
}
