/*-------------------
    Global styles
-------------------*/
:root
{
    --bg: #fff;
    --bg_grey: #f5f6f7;
    --border_color: #c4d3d8;
    --border_color_secondary: #296668;
    --cont_padding: 24px;
    --cont_padding_double: calc(var(--cont_padding) * 2);
    --cont_padding_half: calc(var(--cont_padding) * .5);
    --content_width: 1316px;
    --content_width_l: 1620px;
    --scroll_width: 17px;
    --custom_scroll_width: 10px;
    --custom_scroll_height: 10px;
    --custom_scroll_border_radius: 0;
    --custom_scroll_scrollbar_color: var(--bg);
    --custom_scroll_scrollbar_thumb_color: var(--secondary_color);
    --primary_color: #d7f18e;
    --secondary_color: #113138;
    --dark_color: #1d1d1d;
    --light_color: #fff;
    --grey_color: #7d7d7d;
    --grey_color_strong: #404040;
    --font_size_xl: 20px;
    --font_size_l: 18px;
    --font_size: 16px;
    --font_size_s: 14px;
    --font_size_xs: 12px;
    --font_size_title_l: 55px;
    --font_size_title: 45px;
    --font_size_title_s: 25px;
    --font_size_title_xs: 23px;
    --font_family_primary: 'Inter', 'Arial', sans-serif;
    --font_family_secondary: 'Wix Madefor Display', 'Arial', sans-serif;
    --font_family_tertiary: 'Inter Tight', 'Arial', sans-serif;
    --block_head_offset: 40px;
    --block_padding_l: 50px;
    --block_padding: 40px;
    --outside_gap: 90px;
    --outside_gap_s: 60px;
    --inner_gap_xl: 30px;
    --inner_gap_l: 24px;
    --inner_gap: 20px;
    --inner_gap_s: 16px;
    --inner_gap_xs: 12px;
    --inner_gap_m: 10px;
    --inner_gap_xxs: 8px;
    --border_radius_max: 100px;
    --border_radius_xl: 50px;
    --border_radius_l: 40px;
    --border_radius: 20px;
    --border_radius_s: 15px;
    --border_radius_xs: 10px;
    --zero_px: calc(0 * 1px);
}


::selection
{
    color: var(--secondary_color);
    background: var(--primary_color);
}

::-moz-selection
{
    color: var(--secondary_color);
    background: var(--primary_color);
}


html
{
    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;

    scrollbar-gutter: stable;
}


body
{
    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;

    font-family: var(--font_family_primary);
    font-size: var(--font_size);
    font-weight: 400;
    line-height: normal;

    color: var(--dark_color);


    &.lock
    {
        overflow: clip;
    }
}


button
{
    display: inline-block;

    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;

    cursor: pointer;
    vertical-align: top;

    color: inherit;
    border: none;
    background: none;
}


.wrap
{
    position: relative;

    display: flex;
    overflow: clip;
    flex-direction: column;

    min-height: 100%;

    background: var(--bg);


    & > .main
    {
        position: relative;

        display: flex;
        flex: 1 0 auto;
        flex-direction: column;
    }
}


.cont
{
    width: 100%;
    max-width: calc(var(--content_width) + var(--cont_padding_double));
    margin-inline: auto;
    padding-inline: var(--cont_padding);


    &.l_w
    {
        max-width: calc(var(--content_width_l) + var(--cont_padding_double));
    }
}


.block
{
    position: relative;
    z-index: 3;

    margin-bottom: var(--outside_gap);


    &.s_m
    {
        margin-bottom: var(--outside_gap_s);
    }


    &.no_m
    {
        margin-bottom: 0;
    }


    &.bg_light
    {
        padding-block: var(--outside_gap);

        background: var(--bg);
    }


    &.bg_grey
    {
        padding-block: var(--outside_gap);

        background: var(--bg_grey);
    }


    &.bg_secondary
    {
        padding-block: var(--outside_gap);

        color: var(--light_color);
        background: var(--secondary_color);
    }


    &.radius
    {
        border-radius: var(--border_radius_xl);
    }


    &.radius_top
    {
        border-top-left-radius: var(--border_radius_xl);
        border-top-right-radius: var(--border_radius_xl);
    }


    &.radius_bottom
    {
        border-bottom-right-radius: var(--border_radius_xl);
        border-bottom-left-radius: var(--border_radius_xl);
    }


    &.l_pad_bottom
    {
        padding-bottom: calc(var(--outside_gap) + var(--outside_gap_s));
    }


    &.no_pad_bottom
    {
        padding-bottom: 0;
    }


    &.top_indent
    {
        margin-top: calc(var(--outside_gap_s) * -1);
    }
}


img.cover
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



/*-------------------
    Custom scroll
-------------------*/
@media (hover: hover)
{
    html ::-webkit-scrollbar
    {
        width: var(--custom_scroll_width);
        height: var(--custom_scroll_height);

        border-radius: var(--custom_scroll_border_radius);
        background-color: var(--bg);
    }


    html ::-webkit-scrollbar-thumb
    {
        border-radius: var(--custom_scroll_border_radius);
        background-color: var(--custom_scroll_scrollbar_thumb_color);
    }
}



/*--------------
    Grid row
--------------*/
.grid_row
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: calc(var(--gap_y) * -1);
    margin-left: calc(var(--gap_x) * -1);

    --items_per_line: 3;
    --gap_x: var(--inner_gap);
    --gap_y: var(--inner_gap);


    &.centered
    {
        justify-content: center;
    }


    & > *
    {
        width: calc(100% / var(--items_per_line) * var(--width_multiplier, 1) - var(--gap_x));
        margin-bottom: var(--gap_y);
        margin-left: var(--gap_x);
    }
}



/*---------------
    Accordion
---------------*/
.accordion
{
    &.grid_row
    {
        --items_per_line: 2;
        --gap_x: var(--inner_gap_s);
        --gap_y: var(--inner_gap_s);
    }


    .col
    {
        display: flex;
        flex-direction: column;
        gap: var(--inner_gap_s);
    }
}


.accordion_item
{
    border: 1px solid var(--border_color);
    border-radius: var(--border_radius);
    background: var(--light_color);


    .head
    {
        display: flex;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: space-between;

        padding-block: var(--inner_gap_xs);
        padding-inline: var(--inner_gap_l) var(--inner_gap_xs);

        cursor: pointer;


        .title
        {
            width: calc(100% - 35px - var(--inner_gap));

            font-family: var(--font_family_secondary);
            font-size: var(--font_size_l);
            font-weight: 600;
            line-height: 110%;

            color: #10313d;
        }


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

            width: 35px;

            border: 1px solid var(--border_color);
            border-radius: 5px;
            background: var(--bg_grey);

            aspect-ratio: 1 / 1;


            svg
            {
                display: block;

                width: 9px;
                height: 15px;

                transform: rotate(-90deg);
            }
        }
    }


    .data
    {
        display: none;

        padding-block: var(--inner_gap_xs) var(--inner_gap_l);
        padding-inline: var(--inner_gap_l);

        font-size: var(--font_size_l);
        line-height: 130%;

        color: var(--grey_color_strong);


        & > * + *
        {
            margin-top: var(--inner_gap);
        }
    }
}



/*----------
    Tabs
----------*/
.tab_content
{
    display: none;

    opacity: 0;


    &.active
    {
        display: block;

        transition: opacity .35s linear, display .35s allow-discrete;

        opacity: 1;


        @starting-style
        {
            opacity: 0;
        }
    }
}



/*------------
    Header
------------*/
header
{
    position: relative;

    width: 100%;
    padding-block: var(--block_padding);

    color: var(--light_color);


    &:before
    {
        position: absolute;
        z-index: 2;
        inset: 0;

        display: block;

        content: '';
        transition: .1s linear .3s;
        pointer-events: none;

        opacity: 0;
        border-radius: 0 0 30px 30px;
        background: var(--secondary_color);
    }


    &.absolute
    {
        position: absolute;
        z-index: 100;
        top: 0;
        left: 0;
    }


    .sub_menu_open &,
    .lock &
    {
        &:before
        {
            transition: none;

            opacity: 1;
        }
    }


    .cont
    {
        display: flex;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: space-between;
    }


    .logo
    {
        position: relative;
        z-index: 3;

        display: flex;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: var(--inner_gap);

        font-family: var(--font_family_secondary);
        font-size: 22px;
        font-weight: 500;
        line-height: 110%;

        text-decoration: none;

        color: currentColor;


        img
        {
            display: block;

            width: 92px;
            height: 51px;
        }


        span
        {
            padding-left: var(--inner_gap);

            border-left: 1px solid;
        }
    }


    .menu
    {
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: var(--inner_gap_l);

        margin-inline: auto;


        .item
        {
            & > a
            {
                position: relative;
                z-index: 3;

                display: flex;
                align-content: center;
                align-items: center;
                flex-wrap: wrap;
                justify-content: space-between;
                gap: 6px;

                font-family: var(--font_family_secondary);
                font-size: var(--font_size_l);
                line-height: 135%;

                transition: color .2s linear;
                text-decoration: none;

                color: currentColor;


                &.active
                {
                    color: var(--primary_color);
                }


                .arr
                {
                    display: block;

                    width: 8px;
                    height: 4px;
                    margin-top: 2px;

                    transition: .2s linear;
                }
            }


            @media (hover: hover) and (pointer: fine)
            {
                &:hover
                {
                    & > a
                    {
                        color: var(--primary_color);


                        .arr
                        {
                            margin-top: 0;

                            transform: rotate(180deg);
                        }
                    }


                    .sub
                    {
                        display: block;

                        opacity: 1;


                        @starting-style
                        {
                            opacity: 0;
                        }
                    }
                }
            }


            &.open
            {
                & > a
                {
                    color: var(--primary_color);


                    .arr
                    {
                        margin-top: 0;

                        transform: rotate(180deg);
                    }
                }


                .sub
                {
                    display: block;

                    opacity: 1;


                    @starting-style
                    {
                        opacity: 0;
                    }
                }
            }
        }


        .sub
        {
            position: absolute;
            z-index: 1;
            top: 0;
            left: 0;

            display: none;

            width: 100%;
            min-height: 489px;
            padding-block: 189px var(--block_padding);

            transition: opacity .2s linear, display .2s allow-discrete;

            opacity: 0;
            color: var(--dark_color);
            border-radius: 0 0 var(--border_radius_l) var(--border_radius_l);
            background: var(--bg_grey);


            .cont
            {
                display: flex;
                align-content: flex-start;
                align-items: flex-start;
                flex-wrap: wrap;
                justify-content: flex-start;
                gap: var(--outside_gap);
            }


            .title
            {
                margin-bottom: var(--inner_gap_s);

                line-height: 135%;

                text-transform: uppercase;

                color: #a8a8a8;
            }


            .group
            {
                display: flex;
                flex-direction: column;
                gap: 2px;
            }


            .group + *
            {
                margin-top: var(--inner_gap);
            }


            .sub_title
            {
                display: inline-block;

                font-weight: 600;
                line-height: 150%;

                transition: opacity .2s linear;
                vertical-align: top;
                text-decoration: none;

                color: currentColor;


                @media (hover: hover) and (pointer: fine)
                {
                    &:hover
                    {
                        opacity: .6;
                    }
                }
            }


            .items
            {
                display: flex;
                flex-direction: column;

                font-weight: 600;
                line-height: 180%;


                .group &
                {
                    font-weight: 400;
                    line-height: 150%;
                }


                a
                {
                    display: inline-block;

                    transition: opacity .2s linear;
                    vertical-align: top;
                    text-decoration: none;

                    color: currentColor;


                    @media (hover: hover) and (pointer: fine)
                    {
                        &:hover
                        {
                            opacity: .6;
                        }
                    }
                }
            }
        }
    }


    .contacts
    {
        position: relative;
        z-index: 3;

        display: flex;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: var(--inner_gap_s);


        .phone
        {
            font-size: var(--font_size_xl);
            font-weight: 600;
            line-height: 135%;


            a
            {
                white-space: nowrap;
                text-decoration: none;

                color: currentColor;
            }
        }


        .whatsapp_link
        {
            position: relative;

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

            height: 50px;
            padding-block: 6px;
            padding-inline: 48px 13px;

            line-height: 130%;

            text-decoration: none;

            color: var(--secondary_color);
            border-radius: var(--border_radius_max);
            background: var(--primary_color);


            .icon
            {
                position: absolute;
                top: 0;
                bottom: 0;
                left: 6px;

                display: flex;
                align-content: center;
                align-items: center;
                flex-wrap: wrap;
                justify-content: center;

                width: 39px;
                min-width: 39px;
                height: 39px;
                margin-block: auto;

                transition: .3s linear;

                color: var(--primary_color);
                border-radius: 50%;
                background: var(--secondary_color);

                aspect-ratio: 1 / 1;


                svg
                {
                    display: block;

                    width: 16px;
                    height: 16px;
                }
            }


            span
            {
                padding-inline: var(--inner_gap_xxs);

                transition: transform .3s linear;
            }


            @media (hover: hover) and (pointer: fine)
            {
                &:hover
                {
                    .icon
                    {
                        left: calc(100% - 45px);

                        transform: rotate(360deg);
                    }


                    span
                    {
                        transform: translateX(-42px);
                    }
                }
            }
        }
    }


    .langs
    {
        position: relative;
        z-index: 3;

        margin-left: var(--inner_gap_s);


        .btn
        {
            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-start;
            gap: 6px;

            height: 50px;
            padding-inline: var(--inner_gap_xl) var(--inner_gap);

            font-size: var(--font_size_l);
            font-weight: 500;
            line-height: 130%;
            letter-spacing: -.36px;

            border: 1px solid #2e5760;
            border-radius: var(--border_radius_l);


            .icon
            {
                display: block;

                width: 8px;
                height: 4px;
            }
        }
    }


    .mob_menu_btn
    {
        position: relative;
        z-index: 3;

        display: none;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;

        width: 27px;

        aspect-ratio: 1 / 1;


        .icon
        {
            display: block;

            width: 27px;
            height: 18px;
        }


        .icon + .icon
        {
            display: none;

            width: 20px;
            height: 20px;
        }


        &.active
        {
            .icon
            {
                display: none;
            }


            .icon + .icon
            {
                display: block;
            }
        }
    }
}



/*---------------
    Mob. menu
---------------*/
.mob_menu
{
    position: fixed;
    z-index: 50;
    top: 0;
    left: 100%;

    display: flex;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;
    gap: var(--inner_gap_s);

    width: 100%;
    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
    padding-block: 112px var(--block_padding_l);
    padding-inline: var(--cont_padding);

    transition: transform .3s linear;

    background: var(--bg_grey);


    &.show
    {
        transform: translateX(-100%);
    }


    .menu
    {
        display: flex;
        flex-direction: column;

        margin-bottom: 50px;


        & > *
        {
            border-bottom: 1px solid #ddd;
        }


        a
        {
            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: space-between;

            padding-block: var(--inner_gap_s);

            font-size: var(--font_size);
            font-weight: 500;
            line-height: 135%;

            text-decoration: none;

            color: currentColor;


            .arr
            {
                display: block;

                width: 7px;
                height: 12px;

                transition: transform .2s linear;
                transform: rotate(-90deg);
            }


            &.active
            {
                .arr
                {
                    transform: rotate(90deg);
                }
            }
        }


        .sub
        {
            display: none;
            flex-direction: column;
            gap: var(--block_padding);

            padding-block: var(--inner_gap_xs) var(--inner_gap);


            &.show
            {
                display: flex;
            }


            .title
            {
                margin-bottom: var(--inner_gap_s);

                line-height: 135%;

                text-transform: uppercase;

                color: #a8a8a8;
            }


            .group
            {
                display: flex;
                flex-direction: column;
                gap: 2px;
            }


            .group + *
            {
                margin-top: var(--inner_gap);
            }


            .sub_title
            {
                display: inline-block;

                padding: 0;

                font-weight: 600;
                line-height: 150%;

                transition: color .2s linear;
                vertical-align: top;
                text-decoration: none;

                color: currentColor;


                @media (hover: hover) and (pointer: fine)
                {
                    &:hover
                    {
                        color: var(--secondary_color);
                    }
                }
            }


            .items
            {
                display: flex;
                flex-direction: column;

                font-weight: 600;
                line-height: 180%;


                .group &
                {
                    font-weight: 400;
                    line-height: 150%;
                }


                a
                {
                    display: inline-block;

                    padding: 0;

                    transition: color .2s linear;
                    vertical-align: top;
                    text-decoration: none;

                    color: currentColor;


                    @media (hover: hover) and (pointer: fine)
                    {
                        &:hover
                        {
                            color: var(--secondary_color);
                        }
                    }
                }
            }
        }
    }


    .contacts
    {
        display: flex;
        flex-direction: column;
        gap: var(--inner_gap_s);
    }


    .phone
    {
        font-size: var(--font_size_l);
        font-weight: 600;
        line-height: 135%;


        a
        {
            white-space: nowrap;
            text-decoration: none;

            color: currentColor;
        }
    }


    .whatsapp_link
    {
        position: relative;

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

        width: 100%;
        min-height: 56px;
        padding-block: 6px;
        padding-inline: 64px var(--inner_gap_s);

        font-size: var(--font_size);
        font-weight: 500;
        line-height: 130%;
        letter-spacing: -.36px;

        text-decoration: none;

        color: var(--secondary_color);
        border-radius: var(--border_radius_max);
        background: var(--primary_color);


        .icon
        {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 6px;

            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: center;

            width: 44px;
            min-width: 44px;
            height: 44px;
            margin-block: auto;

            transition: .2s linear;

            color: var(--primary_color);
            border-radius: 50%;
            background: var(--secondary_color);


            svg
            {
                display: block;

                width: 16px;
                height: 16px;
            }
        }


        span
        {
            margin-inline: auto;
            padding-inline: var(--inner_gap_xxs);

            transition: transform .2s linear;
        }


        @media (hover: hover) and (pointer: fine)
        {
            &:hover
            {
                .icon
                {
                    left: calc(100% - 54px);

                    transform: rotate(360deg);
                }


                span
                {
                    transform: translateX(-54px);
                }
            }
        }
    }


    .btn
    {
        width: 100%;
        min-height: 56px;
        padding-inline: var(--inner_gap_xl);

        font-size: var(--font_size);
        font-weight: 500;
        line-height: 130%;
        letter-spacing: -.36px;

        transition: color .2s linear;

        border: 1px solid #879ca0;
        border-radius: var(--border_radius_max);


        @media (hover: hover) and (pointer: fine)
        {
            &:hover
            {
                color: var(--primary_color);
            }
        }
    }


    .langs
    {
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: var(--inner_gap_m);


        a
        {
            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: center;

            min-width: 60px;
            height: 42px;
            padding-inline: var(--inner_gap_s);

            font-size: 15px;
            font-weight: 500;
            line-height: 130%;
            letter-spacing: -.3px;

            text-align: center;
            text-decoration: none;

            color: currentColor;
            border: 1px solid #2e5760;
            border-radius: var(--border_radius_l);
        }
    }
}



/*-----------------
    Breadcrumbs
-----------------*/
.breadcrumbs
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: var(--inner_gap_xxs);

    font-family: var(--font_family_secondary);
    line-height: 135%;


    a
    {
        transition: opacity .2s linear;
        text-decoration: none;

        opacity: .5;
        color: currentColor;


        @media (hover: hover) and (pointer: fine)
        {
            &:hover
            {
                opacity: 1;
            }
        }
    }


    .sep
    {
        width: 2px;

        opacity: .5;
        border-radius: 50%;
        background: currentColor;

        aspect-ratio: 1 / 1;
    }
}




/*----------------
    Block head
----------------*/
.block_head
{
    display: flex;
    flex-direction: column;
    gap: var(--inner_gap_s);

    margin-bottom: var(--block_head_offset);


    &.row
    {
        align-content: flex-start;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;


        .col
        {
            display: flex;
            flex-direction: column;
            gap: var(--inner_gap_s);

            width: 826px;
            max-width: 100%;
        }


        .pre_title
        {
            order: 2;

            margin-top: var(--inner_gap_xxs);
        }
    }


    &.no_m
    {
        margin-bottom: 0;
    }


    .pre_title
    {
        width: fit-content;
        padding-block: 6px;
        padding-inline: var(--inner_gap_s);

        font-family: var(--font_family_tertiary);
        font-weight: 500;
        line-height: 130%;
        letter-spacing: -.32px;

        color: var(--secondary_color);
        border: 1px solid var(--border_color);
        border-radius: 30px;


        span
        {
            position: relative;

            padding-left: 14px;


            &:before
            {
                position: absolute;
                top: .5lh;
                left: 0;

                display: block;

                width: 4px;

                content: '';
                transform: translateY(-50%);

                border-radius: 50%;
                background: currentColor;

                aspect-ratio: 1 / 1;
            }
        }
    }


    .title
    {
        max-width: 100%;

        font-family: var(--font_family_secondary);
        font-size: var(--font_size_title);
        font-weight: 600;
        line-height: 110%;

        color: var(--secondary_color);
    }


    .desc
    {
        max-width: 100%;

        font-size: var(--font_size_l);
        line-height: 135%;

        color: var(--secondary_color);
    }
}



/*------------
    Action
------------*/
.action
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: var(--inner_gap_xl);

    width: fit-content;
    margin-top: var(--block_padding);
    padding-block: var(--inner_gap_m);
    padding-inline: 34px var(--inner_gap_m);

    color: var(--light_color);
    border-radius: var(--border_radius_max);
    background: var(--secondary_color);


    &.full_w
    {
        width: 100%;
    }


    &.view2
    {
        gap: var(--block_padding);

        width: 100%;
        padding: var(--inner_gap_l);

        border-radius: var(--border_radius);
    }


    .info
    {
        display: flex;
        flex-direction: column;
        gap: var(--inner_gap_s);

        max-width: 100%;
    }


    .title
    {
        max-width: 100%;

        font-family: var(--font_family_secondary);
        font-size: var(--font_size_title_xs);
        font-weight: 600;
        line-height: 120%;
    }


    .desc
    {
        max-width: 100%;

        font-size: var(--font_size_l);
        line-height: 135%;


        .title + &
        {
            width: 100%;
            max-width: 887px;

            line-height: 130%;
            letter-spacing: -.54px;

            color: #c8c8c8;
        }
    }


    .whatsapp_link
    {
        position: relative;

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

        min-height: 60px;
        padding-block: 6px;
        padding-inline: 60px var(--inner_gap_s);

        font-size: var(--font_size_l);
        font-weight: 500;
        line-height: 130%;
        letter-spacing: -.36px;

        white-space: nowrap;
        text-decoration: none;

        color: var(--secondary_color);
        border-radius: var(--border_radius_max);
        background: var(--primary_color);


        .icon
        {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 6px;

            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: center;

            width: 48px;
            min-width: 48px;
            height: 48px;
            margin-block: auto;

            transition: .2s linear;

            color: var(--primary_color);
            border-radius: 50%;
            background: var(--secondary_color);


            svg
            {
                display: block;

                width: 16px;
                height: 16px;
            }
        }


        span
        {
            margin-inline: auto;
            padding-inline: var(--inner_gap_xxs);

            transition: transform .2s linear;
        }


        @media (hover: hover) and (pointer: fine)
        {
            &:hover
            {
                .icon
                {
                    left: calc(100% - 54px);

                    transform: rotate(360deg);
                }


                span
                {
                    transform: translateX(-54px);
                }
            }
        }
    }


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

        min-height: 60px;
        padding-inline: var(--inner_gap_xl);

        font-size: var(--font_size_l);
        font-weight: 500;
        line-height: 130%;
        letter-spacing: -.36px;

        transition: .2s linear;
        text-align: center;
        white-space: nowrap;
        text-decoration: none;

        color: var(--secondary_color);
        border-radius: var(--border_radius_max);
        background: var(--primary_color);


        @media (hover: hover) and (pointer: fine)
        {
            &:hover
            {
                transform: scale(1.02);

                background: #e7f7bb;
            }
        }
    }
}



/*------------
    Footer
------------*/
footer
{
    padding-block: 100px var(--outside_gap);

    color: var(--light_color);
    border-radius: var(--border_radius_xl) var(--border_radius_xl) 0 0;
    background: var(--secondary_color);


    .cont
    {
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: space-between;
    }


    .cont + .cont
    {
        margin-top: 33px;
    }


    .divider
    {
        width: 100%;
        height: 1px;
        margin-top: 70px;

        background: #a8a8a8;
    }


    .col
    {
        display: flex;
        flex-direction: column;
        gap: var(--block_padding);

        margin-right: auto;
    }


    .logo
    {
        display: flex;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: var(--inner_gap);

        font-family: var(--font_family_secondary);
        font-size: 22px;
        font-weight: 500;
        line-height: 110%;

        text-decoration: none;

        color: currentColor;


        img
        {
            display: block;

            width: 92px;
            height: 51px;
        }


        span
        {
            padding-left: var(--inner_gap);

            border-left: 1px solid;
        }
    }


    .license
    {
        line-height: 150%;
    }


    .menu
    {
        column-gap: var(--block_padding);

        column-count: 2;


        & > *
        {
            transform: translateZ(0);

            --webkit-column-break-inside: avoid;
            page-break-inside: avoid;
            break-inside: avoid;
        }


        & > * + *
        {
            margin-top: var(--block_padding);
        }


        .title
        {
            margin-bottom: 4px;

            line-height: 135%;

            text-transform: uppercase;

            color: #a8a8a8;
        }


        .items
        {
            display: flex;
            flex-direction: column;

            line-height: 150%;


            a
            {
                display: inline-block;

                transition: color .2s linear;
                vertical-align: top;
                text-decoration: none;

                color: currentColor;


                @media (hover: hover) and (pointer: fine)
                {
                    &:hover
                    {
                        color: var(--primary_color);
                    }
                }
            }
        }
    }


    .contacts
    {
        width: 313px;
        max-width: 100%;
        margin-left: var(--inner_gap_xl);


        .title
        {
            margin-bottom: var(--inner_gap_xxs);

            line-height: 135%;

            text-transform: uppercase;

            color: #a8a8a8;
        }


        .row
        {
            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-start;
            gap: var(--inner_gap_l);
        }


        .phone
        {
            font-size: var(--font_size_xl);
            font-weight: 600;
            line-height: 135%;


            a
            {
                white-space: nowrap;
                text-decoration: none;

                color: currentColor;
            }
        }


        .messengers
        {
            display: flex;
            align-content: flex-start;
            align-items: flex-start;
            flex-wrap: wrap;
            justify-content: flex-start;
            gap: var(--inner_gap_xs);


            a
            {
                display: flex;
                align-content: center;
                align-items: center;
                flex-wrap: wrap;
                justify-content: center;

                width: 46px;

                text-decoration: none;

                color: currentColor;
                border: 1px solid #2e5760;
                border-radius: 50%;

                aspect-ratio: 1 / 1;


                .icon
                {
                    display: block;
                }


                &.fb_link
                {
                    .icon
                    {
                        width: 11px;
                        height: 21px;
                    }
                }


                &.insta_link
                {
                    .icon
                    {
                        width: 21px;
                        height: 21px;
                    }
                }
            }
        }


        .email
        {
            margin-top: var(--inner_gap_xxs);

            line-height: 135%;


            a
            {
                white-space: nowrap;
                text-decoration: none;

                color: currentColor;
            }
        }


        .text
        {
            display: flex;
            flex-direction: column;
            gap: 1px;

            margin-top: var(--inner_gap_xl);

            line-height: 135%;
        }


        .whatsapp_link
        {
            position: relative;

            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-start;
            gap: 6px;

            width: fit-content;
            min-height: 60px;
            margin-top: var(--block_padding);
            padding-block: 6px;
            padding-inline: 60px var(--inner_gap_s);

            font-size: var(--font_size_l);
            font-weight: 500;
            line-height: 130%;
            letter-spacing: -.36px;

            text-decoration: none;

            color: var(--secondary_color);
            border-radius: var(--border_radius_max);
            background: var(--primary_color);


            .icon
            {
                position: absolute;
                top: 0;
                bottom: 0;
                left: 6px;

                display: flex;
                align-content: center;
                align-items: center;
                flex-wrap: wrap;
                justify-content: center;

                width: 48px;
                min-width: 48px;
                height: 48px;
                margin-block: auto;

                transition: .2s linear;

                color: var(--primary_color);
                border-radius: 50%;
                background: var(--secondary_color);


                svg
                {
                    display: block;

                    width: 16px;
                    height: 16px;
                }
            }


            span
            {
                margin-inline: auto;
                padding-inline: var(--inner_gap_xxs);

                transition: transform .2s linear;
            }


            @media (hover: hover) and (pointer: fine)
            {
                &:hover
                {
                    .icon
                    {
                        left: calc(100% - 54px);

                        transform: rotate(360deg);
                    }


                    span
                    {
                        transform: translateX(-54px);
                    }
                }
            }
        }


        .langs
        {
            margin-top: var(--inner_gap_l);
        }
    }


    .langs
    {
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: var(--inner_gap_m);


        a
        {
            display: flex;
            align-content: center;
            align-items: center;
            flex-wrap: wrap;
            justify-content: center;

            min-width: 60px;
            height: 50px;
            padding-inline: var(--inner_gap_s);

            font-size: var(--font_size_l);
            font-weight: 500;
            line-height: 130%;
            letter-spacing: -.36px;

            text-align: center;
            text-decoration: none;

            color: currentColor;
            border: 1px solid #2e5760;
            border-radius: var(--border_radius_l);
        }
    }


    .copyright
    {
        width: 368px;
        max-width: 100%;

        line-height: 150%;
    }


    .links
    {
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 84px;

        width: 652px;
        max-width: 100%;

        line-height: 150%;


        a
        {
            text-decoration: none;

            color: currentColor;
        }
    }



    @media print,
    (max-width: 1439px)
    {
        &
        {
            padding-block: var(--outside_gap) var(--outside_gap_s);


            .menu
            {
                column-gap: var(--inner_gap_xs);
            }


            .contacts
            {
                width: 304px;
                margin-left: var(--inner_gap_l);
            }


            .links
            {
                gap: 80px;

                width: 636px;
            }
        }
    }
}



@media print,
(max-width: 1279px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --custom_scroll_width: 5px;
        --custom_scroll_height: 5px;
        --font_size_title_l: 44px;
        --font_size_title: 36px;
        --font_size_title_s: 22px;
        --font_size_title_xs: 20px;
        --block_padding_l: 40px;
        --block_padding: 30px;
        --outside_gap: 80px;
        --border_radius_xl: 40px;
        --border_radius_l: 30px;
        --border_radius_s: 10px;
    }



    /*-----------------
        Breadcrumbs
    -----------------*/
    .breadcrumbs
    {
        font-size: var(--font_size_s);
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion
    {
        &.grid_row
        {
            --items_per_line: 1;
        }
    }


    .accordion_item
    {
        .data
        {
            font-size: var(--font_size);
        }
    }



    /*------------
        Header
    ------------*/
    header
    {
        .logo
        {
            gap: var(--inner_gap_xs);

            font-size: var(--font_size_s);


            img
            {
                width: 72px;
                height: 40px;
            }


            span
            {
                padding-left: var(--inner_gap_xs);
            }
        }


        .menu
        {
            gap: var(--inner_gap);


            .item
            {
                & > a
                {
                    font-size: var(--font_size_s);
                }


                .sub
                {
                    min-height: 448px;
                    padding-block: 148px var(--block_padding_l);
                }
            }
        }


        .contacts
        {
            .phone
            {
                font-size: var(--font_size_l);
            }


            .whatsapp_link
            {
                height: 48px;
                padding-inline: 52px var(--inner_gap_xs);

                font-size: var(--font_size_s);


                .icon
                {
                    width: 38px;
                    height: 38px;
                    min-height: 38px;
                }


                span
                {
                    padding-inline: 0;
                }
            }
        }


        .langs
        {
            margin-left: var(--inner_gap_xxs);


            .btn
            {
                height: 48px;
                padding-inline: var(--inner_gap_s);

                font-size: var(--font_size_s);
            }
        }
    }



    /*----------------
        Block head
    ----------------*/
    .block_head
    {
        &.row
        {
            .col
            {
                width: 720px;
            }
        }


        .desc
        {
            font-size: var(--font_size);
        }
    }



    /*------------
        Action
    ------------*/
    .action
    {
        gap: var(--inner_gap_l);

        padding-block: var(--inner_gap_xxs);
        padding-inline: var(--block_padding) var(--inner_gap_xxs);


        .desc
        {
            font-size: var(--font_size);
        }


        .whatsapp_link
        {
            min-height: 56px;
            padding-inline: 64px var(--inner_gap_s);

            font-size: var(--font_size);


            .icon
            {
                width: 46px;
                min-width: 46px;
                height: 46px;
            }


            span
            {
                padding-inline: 0;
            }
        }


        .btn
        {
            min-height: 56px;
            padding-inline: var(--inner_gap_l);

            font-size: var(--font_size);
        }
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        .cont + .cont
        {
            margin-top: var(--inner_gap_l);
        }


        .col
        {
            width: 100%;
            margin-bottom: var(--block_padding_l);
        }


        .logo
        {
            gap: var(--inner_gap_s);

            font-size: var(--font_size);


            img
            {
                width: 80px;
                height: 44px;
            }


            span
            {
                padding-left: var(--inner_gap_s);
            }
        }


        .contacts
        {
            .whatsapp_link
            {
                min-height: 56px;
                padding-inline: 64px var(--inner_gap_s);

                font-size: var(--font_size);


                .icon
                {
                    width: 46px;
                    min-width: 46px;
                    height: 46px;
                }


                span
                {
                    padding-inline: 0;
                }
            }
        }


        .langs
        {
            a
            {
                min-width: 56px;
                height: 48px;

                font-size: var(--font_size);
            }
        }



        .divider
        {
            margin-top: var(--outside_gap_s);
        }


        .copyright
        {
            width: auto;
        }


        .links
        {
            gap: var(--outside_gap_s);

            width: auto;
        }
    }
}



@media print,
(max-width: 1023px)
{
    /*------------
        Header
    ------------*/
    header
    {
        .menu,
        .contacts,
        .langs
        {
            display: none;
        }


        .mob_menu_btn
        {
            display: flex;
        }
    }



    /*----------------
        Block head
    ----------------*/
    .block_head
    {
        &.row
        {
            .col
            {
                width: 560px;
            }
        }
    }



    /*------------
        Action
    ------------*/
    .action
    {
        width: 100%;
        margin-top: var(--block_padding_l);
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        padding-block: var(--outside_gap) var(--block_padding_l);


        .menu
        {
            width: 100%;
        }


        .contacts
        {
            width: 100%;
            margin-top: var(--block_padding_l);
            margin-left: 0;
        }


        .copyright
        {
            width: 100%;

            text-align: center;
        }


        .links
        {
            justify-content: center;

            width: 100%;
            margin-top: var(--inner_gap);

            text-align: center;
        }
    }
}



@media (max-width: 767px)
{
    /*-------------------
        Global styles
    -------------------*/
    :root
    {
        --font_size_title_l: 32px;
        --font_size_title: 25px;
        --font_size_title_s: 18px;
        --font_size_title_xs: 18px;
        --block_padding_l: 32px;
        --block_padding: 28px;
        --outside_gap: 60px;
        --outside_gap_s: 50px;
        --inner_gap_xl: 28px;
        --border_radius_xl: 30px;
        --border_radius_l: 20px;
    }



    /*---------------
        Accordion
    ---------------*/
    .accordion_item
    {
        .head
        {
            padding-inline: var(--inner_gap_s) var(--inner_gap_xs);


            .title
            {
                font-size: var(--font_size);
            }
        }


        .data
        {
            padding-inline: var(--inner_gap_s);

            font-size: var(--font_size_s);
            line-height: 140%;
        }
    }



    /*------------
        Header
    ------------*/
    header
    {
        padding-block: var(--inner_gap_xl);


        .logo
        {
            img
            {
                width: 58px;
                height: 32px;
            }
        }
    }



    /*----------------
        Block head
    ----------------*/
    .block_head
    {
        &.row
        {
            .pre_title
            {
                order: 0;

                margin-top: 0;
            }


            .col
            {
                width: 100%;
            }
        }


        .pre_title
        {
            font-size: var(--font_size_s);
        }


        .desc
        {
            font-size: var(--font_size_s);
            line-height: 140%;
        }
    }



    /*------------
        Action
    ------------*/
    .action
    {
        flex-wrap: wrap;

        padding: var(--inner_gap);

        border-radius: var(--border_radius);


        .info
        {
            width: 100%;
        }


        .title
        {
            width: 100%;

            font-size: var(--font_size_l);
            line-height: 140%;

            text-align: center;
        }


        .desc
        {
            width: 100%;

            font-size: var(--font_size_l);
            line-height: 140%;

            text-align: center;


            br
            {
                display: none;
            }
        }


        .whatsapp_link,
        .btn
        {
            width: 100%;

            white-space: normal;
        }
    }



    /*------------
        Footer
    ------------*/
    footer
    {
        .logo
        {
            font-size: var(--font_size_s);


            img
            {
                width: 58px;
                height: 32px;
            }
        }


        .license
        {
            font-size: var(--font_size_s);
            line-height: 140%;
        }


        .menu
        {
            column-count: 1;


            .title,
            .items
            {
                font-size: var(--font_size_s);
                line-height: 140%;
            }
        }


        .text
        {
            font-size: var(--font_size_s);
            line-height: 140%;
        }


        .contacts
        {
            .phone
            {
                font-size: var(--font_size_l);
            }


            .messengers
            {
                margin-left: auto;


                a
                {
                    width: 41px;
                }
            }


            .email
            {
                font-size: var(--font_size_s);
                line-height: 140%;
            }


            .whatsapp_link
            {
                width: 100%;
            }
        }


        .langs
        {
            a
            {
                min-width: 52px;
                height: 44px;

                font-size: var(--font_size_s);
            }
        }


        .copyright
        {
            font-size: var(--font_size_s);
            line-height: 140%;
        }


        .links
        {
            align-content: center;
            align-items: center;
            flex-direction: column;
            gap: var(--inner_gap_xs);

            font-size: var(--font_size_s);
            line-height: 140%;
        }
    }
}

