/*-------------------
    Global styles
-------------------*/
:root
{
    --bg: #fff;
    --bg_grey: #f6f6f6;
    --cont_padding: 24px;
    --cont_padding_double: calc(var(--cont_padding) * 2);
    --cont_padding_half: calc(var(--cont_padding) * .5);
    --content_width: 1626px;
    --scroll_width: 17px;
    --custom_scroll_width: 10px;
    --custom_scroll_height: 10px;
    --custom_scroll_border_radius: 0;
    --primary_color: #f87000;
    --secondary_color: #045cfb;
    --dark_color: #131313;
    --black_color: #000;
    --light_color: #fff;
    --grey_color: #949494;
    --grey_color_soft: #d7d7d7;
    --font_size_l: 16px;
    --font_size: 15px;
    --font_size_s: 12px;
    --font_size_title_l: 56px;
    --font_size_title: 42px;
    --font_size_title_s: 32px;
    --font_size_title_xs: 26px;
    --font_family: 'LT Superior', 'Arial', sans-serif;
    --block_head_offset: 60px;
    --block_padding_xl: 60px;
    --block_padding_l: 50px;
    --block_padding: 40px;
    --block_padding_s: 32px;
    --outside_gap: 150px;
    --inner_gap_xl: 28px;
    --inner_gap_l: 24px;
    --inner_gap: 20px;
    --inner_gap_s: 16px;
    --inner_gap_xs: 12px;
    --inner_gap_xxs: 8px;
    --inner_gap_xxxs: 4px;
    --border_radius_max: 100px;
    --border_radius: 20px;
    --border_radius_s: 10px;
    --zero_px: calc(0 * 1px);
}


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

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



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


html.custom_scroll ::-webkit-scrollbar
{
    width: var(--custom_scroll_width);
    height: var(--custom_scroll_height);

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


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


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

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

    color: var(--black_color);
}


button
{
    display: inline-block;

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

    cursor: pointer;
    vertical-align: top;
    letter-spacing: inherit;

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


.wrap
{
    position: relative;

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

    min-height: 100%;

    z-index: 5;

    background: var(--bg);
}


.wrap > .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);
}



.block
{
    margin-bottom: var(--outside_gap);
}



.modal_btn > *
{
    pointer-events: none;
}



img.cover
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



.overlay
{
    position: fixed;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    z-index: 100;

    opacity: .6;
    background: var(--dark_color);
}



/*--------------
    Fancybox
--------------*/
.fancybox__container
{
    --fancybox-backdrop-bg: rgba(0, 0, 0, .15);
    --f-close-button-width: 40px;
    --f-close-button-height: 40px;
    --f-close-border-radius: 0;
    --f-close-button-color: var(--dark_color);
    --f-close-button-hover-color: var(--primary_color);
    --f-close-button-svg-width: 14px;
    --f-close-button-svg-height: 14px;
    --f-close-button-svg-stroke-width: 1;
    --f-close-button-bg: transparent;
    --f-close-button-hover-bg: transparent;
    --f-close-button-active-bg: transparent;
}


.fancybox__slide,
.fancybox__slide.has-html,
.fancybox__slide.has-close-btn
{
    padding: var(--inner_gap);
}


.f-button.is-close-button
{
    top: var(--inner_gap_xxs);
    right: var(--inner_gap_xxs);
}



/*--------------
    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);
}


.grid_row.centered
{
    justify-content: center;
}


.grid_row > *
{
    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_item
{
    transition: .2s linear;

    border: 1px solid transparent;
    border-radius: var(--border_radius);
    background: var(--bg_grey);
}


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

    padding: var(--block_padding_s);

    cursor: pointer;

    gap: var(--inner_gap);
}


.accordion_item .head .title
{
    width: calc(100% - 58px - var(--inner_gap));

    font-size: var(--font_size_title_xs);
    line-height: 120%;
}


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

    width: 58px;
    padding-top: 2px;

    transition: .2s linear;

    border: 1px solid #ddd;
    border-radius: 50%;
    background: var(--bg);

    aspect-ratio: 1 / 1;
}


.accordion_item .head .icon svg
{
    display: block;

    width: 22px;
    height: 13px;

    transition: transform .2s linear;
}


.accordion_item .data
{
    display: none;

    padding-block: 0 var(--block_padding_s);
    padding-inline: var(--block_padding_s);
}


.accordion_item.active
{
    border-color: #ddd;
    background: var(--bg);
}


.accordion_item.active .head .icon
{
    padding-top: 0;

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


.accordion_item.active .head .icon svg
{
    transform: rotate(180deg);
}



/*----------
    Tabs
----------*/
.tabs
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: fit-content;
    margin-bottom: var(--block_padding);
    padding: var(--inner_gap_xxxs);

    border: 1px solid var(--grey_color_soft);
    border-radius: var(--border_radius_max);

    gap: var(--inner_gap_xxs);
}


.tabs .btn
{
    height: 33px;
    padding-inline: var(--inner_gap_xs);
    padding-top: 2px;

    font-size: var(--font_size_l);

    transition: .2s linear;

    color: var(--black_color);
    border-radius: var(--border_radius_max);
}


.tabs .btn:hover
{
    background: var(--bg_grey);
}


.tabs .btn.active
{
    font-weight: 600;

    background: var(--bg_grey);
}


.tabs .sep
{
    width: 1px;
    height: 19px;

    background: var(--grey_color_soft);
}


.tab_content
{
    position: relative;

    visibility: hidden;
    overflow: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}


.tab_content.active
{
    visibility: visible;
    overflow: visible;

    height: auto;

    transition: opacity .2s linear;
    pointer-events: auto;

    opacity: 1;
}



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

    padding-block: var(--inner_gap_s);

    z-index: 9;

    border-bottom: 1px solid #ededed;
    background: var(--bg);
}


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


header .logo
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-right: auto;

    line-height: 117%;

    text-decoration: none;

    color: var(--grey_color);

    gap: var(--inner_gap_xl);
}


header .logo img
{
    display: block;

    width: 110px;
    height: 44px;
}


header .phone
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_xxxs);
}


header .phone a
{
    font-size: var(--font_size_l);
    font-weight: 700;
    line-height: 1;

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

    color: currentColor;
}


header .phone .work_time
{
    font-size: var(--font_size_s);
    line-height: 1;
}


header .callback_btn
{
    height: 35px;
    margin-left: var(--inner_gap);
    padding-inline: var(--inner_gap_s);

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;

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


header .callback_btn:hover
{
    background: var(--secondary_color);
}



/*----------------
    Block head
----------------*/
.block_head
{
    display: flex;
    flex-direction: column;

    margin-bottom: var(--block_head_offset);

    gap: var(--inner_gap);
}


.block_head.row
{
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}


.block_head.row .col
{
    display: flex;
    flex-direction: column;

    width: 628px;
    max-width: calc(100% - 328px - var(--cont_padding_double));

    gap: var(--inner_gap_xl);
}


.block_head.row .col .title,
.block_head.row .col .desc
{
    width: 100%;
    max-width: 100%;
}


.block_head.row .title
{
    width: 865px;
    max-width: calc(100% - 460px - var(--cont_padding_double));
}


.block_head.row .title.s_w
{
    max-width: calc(100% - 524px - var(--cont_padding_double));
}


.block_head.row .desc
{
    width: 460px;
    max-width: 100%;
}


.block_head.row .desc.l_w
{
    width: 524px;
}


.block_head.row .desc b,
.block_head.row .desc strong
{
    font-weight: 600;
}


.block_head .title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: 120%;
}


.block_head .desc
{
    font-size: var(--font_size_l);
    line-height: 140%;

    color: var(--dark_color);
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: var(--light_color);
    --form_border_color_focus: var(--primary_color);
    --form_border_radius: var(--border_radius_max);
    --form_error_color: red;
    --form_bg_color: var(--light_color);
    --form_placeholder_color: #878787;
    --form_line_gap: var(--inner_gap_xs);
    --form_input_height: 45px;
    --form_input_padding_inline: var(--inner_gap_l);
}


/* placeholders */
.form ::-webkit-input-placeholder
{
    color: var(--form_placeholder_color);
}


.form :-moz-placeholder
{
    color: var(--form_placeholder_color);
}


.form ::-moz-placeholder
{
    opacity: 1;
    color: var(--form_placeholder_color);
}


.form :-ms-input-placeholder
{
    color: var(--form_placeholder_color);
}


.form .line
{
    margin-bottom: var(--form_line_gap);
}


.form .field
{
    position: relative;
}


.form .input
{
    display: block;

    width: 100%;
    height: var(--form_input_height);
    padding-inline: var(--form_input_padding_inline);

    font-family: var(--font_family);
    font-size: var(--font_size_l);

    transition: border-color .2s linear;
    text-align: center;

    color: var(--dark_color);
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}


.form .input:-webkit-autofill
{
    -webkit-box-shadow: inset 0 0 0 50px var(--form_bg_color) !important;
}


.form .input:focus
{
    border-color: var(--form_border_color_focus);
}


.form .error
{
    border-color: var(--form_error_color);
}


.form .error_text
{
    margin-top: 4px;

    color: var(--form_error_color);

    size: var(--font_size_s);
}


.form .checkbox
{
    position: relative;

    display: block;

    min-height: 20px;
    padding-top: 2px;
    padding-left: 35px;

    line-height: 140%;

    cursor: pointer;
}


.form .checkbox input
{
    display: none;
}


.form .checkbox .check
{
    position: absolute;
    top: 0;
    left: 0;

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

    width: 20px;

    transition: .2s linear;

    color: var(--primary_color);
    border: 1px solid transparent;
    border-radius: 4px;
    background: var(--form_bg_color);

    aspect-ratio: 1 / 1;
}


.form .checkbox .check .icon
{
    display: block;

    width: 10px;
    height: 9px;

    transition: opacity .2s linear;

    opacity: 0;
}


.form .checkbox input.error ~ .check
{
    border-color: var(--form_error_color);
}


.form .checkbox input:checked ~ .check
{
    border-color: var(--primary_color);
}


.form .checkbox input:checked ~ .check .icon
{
    opacity: 1;
}

.form .checkbox button
{
    font-size: var(--font_size_l);
    font-weight: 600;
}

.form .checkbox button:hover
{
    text-decoration: underline;
}


.form .submit_btn
{
    position: relative;

    width: 100%;
    height: var(--form_input_height);
    padding-inline: var(--inner_gap_l);
    padding-top: 2px;

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;

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


.form .submit_btn:hover
{
    background: var(--primary_color);
}


.form .submit_btn:disabled
{
    cursor: default;
}

.form .submit_btn:disabled:before
{
    content: "";

    display: block;
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 100%;
    height: 100%;

    border-radius: 30px;
    background: rgba(255, 255, 255, 0.8);

    z-index: 1;
}

.form .submit_btn:disabled:after
{
    content: "";

    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 30px;
    height: 30px;

    border: 5px solid #7fba3a;
    border-bottom-color: transparent;
    border-radius: 50%;

    display: block;
    position: absolute;

    z-index: 2;

    animation: submitBtnLoader 1s linear infinite;
}


@keyframes submitBtnLoader 
{
    0% 
    {
        transform: rotate(0deg);
    }
    100% 
    {
        transform: rotate(360deg);
    }
}



/*----------------
    Typography
----------------*/
.text_block
{
    line-height: 160%;
}


.text_block > *
{
    margin-bottom: var(--inner_gap);
}


.text_block > :last-child
{
    margin-bottom: 0 !important;
}


.text_block > :first-child
{
    margin-top: 0 !important;
}


.text_block h2
{
    font-size: var(--font_size_title_xs);
    font-weight: 400;
    line-height: normal;

    color: var(--black_color);
}


.text_block * + h2
{
    margin-top: var(--block_padding);
}


.text_block h2 + *
{
    margin-top: 0 !important;
}


.text_block img
{
    display: block;

    max-width: 100%;
}


.text_block ul
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_xxs);
}


.text_block ul li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 20px;

    list-style-type: none;
}


.text_block ul li:before
{
    position: absolute;
    top: .5lh;
    left: 6px;

    display: block;

    width: 4px;

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

    border-radius: 50%;
    background: currentColor;

    aspect-ratio: 1 / 1;
}


.text_block a
{
    color: var(--primary_color);

    text-decoration-thickness: 1px;
}


.text_block a:hover
{
    text-decoration: none;
}


.text_block b,
.text_block strong
{
    font-weight: 600;
}


.text_block .message
{
    position: relative;

    width: fit-content;
    padding-block: var(--inner_gap) var(--inner_gap_s);
    padding-inline: var(--inner_gap);

    line-height: normal;

    color: var(--light_color);
    border-radius: var(--border_radius_s);
    background: var(--primary_color);
}


.text_block .message:after
{
    position: absolute;
    right: var(--block_padding_s);
    bottom: -15px;

    display: block;

    width: 40px;
    height: 24px;

    content: '';

    border-inline: 20px solid transparent;
    border-top: 24px solid var(--primary_color);
}



/*-------------------
    First section
-------------------*/
.first_section
{
    padding-top: var(--block_padding_l);
}


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


.first_section .data
{
    width: 780px;
    max-width: 100%;
}


.first_section .data .title
{
    margin-bottom: var(--block_padding_xl);

    font-size: var(--font_size_title_l);
    font-weight: 400;
    line-height: 120%;
}


.first_section .data .sub_title
{
    font-size: var(--font_size_title_s);
    font-weight: 600;
}


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

    margin-top: var(--block_padding_s);

    line-height: 110%;

    gap: var(--inner_gap);
}


.first_section .data .items > *
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--inner_gap_xxs);
}


.first_section .data .items .icon
{
    display: block;

    width: 15px;

    color: var(--primary_color);

    aspect-ratio: 1 / 1;
}


.first_section .data .items span
{
    width: calc(100% - 15px - var(--inner_gap_xxs));
}


.first_section .data .btns
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: var(--block_padding);

    gap: var(--inner_gap_l);
}


.first_section .data .btns .btn
{
    line-height: 45px;
    padding-inline: var(--inner_gap_l);

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;

    color: var(--light_color);
    border-radius: var(--border_radius_max);
    background: #3e3e3e;
    text-decoration: none;
}


.first_section .data .btns .btn:hover
{
    background: var(--primary_color);
}


.first_section .data .btns .btn.secondary
{
    background: var(--secondary_color);
}


.first_section .data .btns .btn.secondary:hover
{
    background: var(--primary_color);
}


.first_section .person
{
    position: relative;

    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    flex-direction: column;

    width: calc(100% - 780px - var(--cont_padding_double));
    margin-left: auto;
    padding-block: var(--block_padding_l);
    padding-inline: var(--block_padding_xl);

    border-radius: var(--border_radius);
    background: var(--primary_color);

    gap: var(--block_padding);
}


.first_section .person .photo
{
    position: absolute;
    right: 306px;
    bottom: 0;

    display: block;

    height: calc(100% + 28px);

    z-index: 3;
    pointer-events: none;
}


.first_section .person .photo img
{
    display: block;

    height: 100%;
}


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

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

    gap: var(--inner_gap_l);
}


.first_section .person .items .item
{
    position: relative;

    overflow: hidden;

    min-height: 124px;
    padding: var(--inner_gap_s);

    font-size: var(--font_size_l);

    border-radius: var(--border_radius_s);
    background: var(--bg);
}


.first_section .person .items .item > *
{
    position: relative;

    z-index: 3;
}


.first_section .person .items .item .image
{
    position: absolute;
    inset: 0;

    display: block;

    z-index: 1;
    pointer-events: none;
}


.first_section .person .info
{
    width: 259px;
    max-width: 100%;

    line-height: 153%;

    color: var(--light_color);
}


.first_section .person .info .post
{
    font-weight: 700;
}


.first_section .mob_person_items
{
    display: none;
}


.first_section .mob_person_items .grid_row
{
    --gap_x: var(--inner_gap_l);
    --gap_y: var(--inner_gap_l);
}


.first_section .mob_person_items .item
{
    position: relative;

    overflow: hidden;

    min-height: 214px;
    padding: var(--inner_gap);

    font-size: 20px;

    border-radius: var(--border_radius_s);
    background: var(--bg_grey);
}


.first_section .mob_person_items .item > *
{
    position: relative;

    z-index: 3;
}


.first_section .mob_person_items .item .image
{
    position: absolute;
    inset: 0;

    display: block;

    z-index: 1;
    pointer-events: none;
}



/*----------
    Calc
----------*/
.calc .data
{
    position: relative;

    padding-block: var(--block_padding_l);
    padding-inline: var(--block_padding_xl);

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


.calc .data .info
{
    display: flex;
    flex-direction: column;

    gap: var(--block_padding);
}


.calc .data .info .line
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap);
}


.calc .data .info .line.row
{
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
}


.calc .data .info .label
{
    font-size: var(--font_size_title_xs);
}


@keyframes ripple
{
    0%
    {
        box-shadow: 0 0 0 0 rgba(4, 92, 251, .4);
    }
    100%
    {
        box-shadow: 0 0 0 12px rgba(4, 92, 251, 0);
    }
}


.calc .data .info .input
{
    display: block;

    width: 119px;
    height: 42px;
    padding-inline: var(--inner_gap_xs);
    padding-top: 4px;

    font-family: var(--font_family);
    font-size: calc(var(--font_size) - 1px);

    animation: ripple 1.2s ease-out infinite;
    text-align: center;

    color: #878787;
    border: 1px solid var(--secondary_color);
    border-radius: var(--border_radius_max);
    background: var(--bg);
}


.calc .data .info .vals
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: var(--inner_gap_s);
}


.calc .data .info .vals label
{
    display: block;

    cursor: pointer;
}


.calc .data .info .vals label input
{
    display: none;
}


.calc .data .info .vals label input:checked + span
{
    color: var(--light_color);
    background: #3e3e3e;
}


.calc .data .info .vals label span
{
    display: block;

    padding-block: var(--inner_gap_xxs) calc(var(--inner_gap_xxs) - 2px);
    padding-inline: var(--inner_gap_s);

    transition: .2s linear;

    border: 1px solid #ddd;
    border-radius: var(--border_radius_max);
}


.calc .data .result
{
    position: absolute;
    top: 50%;
    right: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 855px;
    height: 421px;
    padding-block: var(--block_padding_l);
    padding-inline: var(--block_padding_l) 124px;

    z-index: 3;
    transform: translateY(-50%);

    background: url(../images/bg_calc_result.png) 0 0/ 100% 100% no-repeat;

    gap: var(--inner_gap);
}


.calc .data .result .logo
{
    display: none;

    margin-bottom: var(--inner_gap_xs);
}


.calc .data .result .logo img
{
    display: block;

    width: 90px;
    height: 36px;
}


.calc .data .result .title
{
    font-size: var(--font_size_title_xs);
    font-weight: 600;
    line-height: 115%;
}


.calc .data .result .prices
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: var(--inner_gap_l);
}


.calc .data .result .prices > *
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_xxs);
}


.calc .data .result .prices .label
{
    line-height: 140%;

    color: var(--dark_color);
}


.calc .data .result .prices .price
{
    font-size: var(--font_size_title_s);
    font-weight: 600;

    white-space: nowrap;
    letter-spacing: -.32px;
}


.calc .data .result .desc
{
    margin-top: var(--inner_gap_xs);
}


.calc .data .result .desc b
{
    font-weight: 600;
}


.calc .data .result .btn
{
    width: fit-content;
    height: 45px;
    padding-inline: var(--inner_gap_l);
    padding-top: 2px;

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;

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


.calc .data .result .btn:hover
{
    background: var(--primary_color);
}



/*-------------
    History
-------------*/
.history .row
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--block_padding_s);
}


.history .chart
{
    width: calc(100% - 518px - var(--block_padding_s));
    height: 348px;
}


.history .info
{
    display: flex;
    flex-direction: column;

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

    gap: var(--inner_gap_xl);
}


.history .info .color_exp
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_xs);
}


.history .info .color_exp .color
{
    position: relative;

    width: 33px;
    max-width: 100%;
    height: 3px;

    border-radius: 2px;
}


.history .info .color_exp .color:before
{
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;

    display: block;

    width: 7px;
    margin-inline: auto;

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

    border-radius: 50%;

    aspect-ratio: 1 / 1;
}


.history .info .color_exp .color.primary
{
    background: var(--primary_color);
}


.history .info .color_exp .color.primary:before
{
    background: var(--primary_color);
}


.history .info .color_exp .color.secondary
{
    background: var(--secondary_color);
}


.history .info .color_exp .color.secondary:before
{
    background: var(--secondary_color);
}


.history .info .color_exp b
{
    font-weight: 600;
}


.history .info .title
{
    margin-top: auto;

    font-size: var(--font_size_title_xs);
    font-weight: 400;
    line-height: 140%;
}


.history .info .service
{
    display: flex;
    flex-direction: column;

    margin-top: var(--inner_gap_xxs);
    padding: var(--inner_gap);

    font-weight: 600;

    color: var(--dark_color);
    border-radius: var(--border_radius_s);
    background: var(--bg_grey);

    gap: var(--inner_gap_xxxs);
}


.history .info .service span
{
    color: var(--primary_color);
}



/*----------------
    Situations
----------------*/
.situations .grid_row
{
    --items_per_line: 2;
    --gap_x: var(--inner_gap_xl);
    --gap_y: var(--inner_gap_xl);
}


.situations .col
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_xl);
}


.situations .item .row
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--block_padding_s);
}


.situations .item .bottom
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;

    margin-top: var(--inner_gap_l);

    gap: var(--inner_gap_l);
}


.situations .item .image
{
    display: block;

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

    border-radius: var(--border_radius);
    background: var(--bg_grey);

    aspect-ratio: 1 / .826;
}


.situations .item .info
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 311px - var(--block_padding_s));

    gap: var(--inner_gap_l);
}


.situations .item .info .name
{
    font-size: 22px;
    line-height: 120%;
}


.situations .item .info .text_block
{
    line-height: normal;
}


.situations .item .info .text_block > *
{
    margin-bottom: var(--inner_gap_xs);
}


.situations .item .info .text_block ul
{
    gap: 2px;
}


.situations .item .exp
{
    color: var(--black_color);
}


.situations .item .exp b,
.situations .item .exp strong
{
    font-weight: 600;
}


.situations .item .btn
{
    height: 45px;
    padding-inline: var(--inner_gap_l);

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: .2s linear;
    white-space: nowrap;

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


.situations .item .btn:hover
{
    background: var(--primary_color);
}



/*-----------
    Steps
-----------*/
.steps .message
{
    position: relative;

    width: 328px;
    max-width: 100%;
    padding: var(--inner_gap_l);

    color: var(--light_color);
    border-radius: var(--border_radius_s);
    background: var(--primary_color);
}


.steps .message:after
{
    position: absolute;
    right: var(--block_padding_s);
    bottom: -15px;

    display: block;

    width: 40px;
    height: 24px;

    content: '';

    border-inline: 20px solid transparent;
    border-top: 24px solid var(--primary_color);
}


.steps .grid_row
{
    counter-reset: number;

    --items_per_line: 4;
    --gap_x: 72px;
    --gap_y: var(--block_padding);
}


.steps .item
{
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    min-height: 469px;
    padding: var(--block_padding_s);

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


.steps .item > *
{
    position: relative;

    z-index: 3;
}


.steps .item .number
{
    position: absolute;
    top: 0;
    left: 0;

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

    font-size: 62px;
    line-height: 120%;

    white-space: nowrap;
    pointer-events: none;

    color: var(--grey_color_soft);
}


.steps .item .number:before
{
    content: counter(number, decimal-leading-zero);
    counter-increment: number;
}


.steps .item .thumb
{
    position: absolute;
    inset: 0;

    display: block;

    z-index: 1;

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


.steps .item .thumb:after
{
    position: absolute;
    inset: 0;

    display: block;

    content: '';

    border-radius: inherit;
    background: linear-gradient(180deg, rgba(62, 62, 62, .20) 55.97%, #000 99.98%);
}


.steps .item .info
{
    display: flex;
    flex-direction: column;

    color: var(--light_color);

    gap: var(--inner_gap);
}


.steps .item .info .name
{
    font-size: var(--font_size_title_xs);
    line-height: 120%;
}


.steps .item .info .desc
{
    line-height: 140%;
}


.steps .item .arrow
{
    position: absolute;
    top: 0;
    right: 100%;
    bottom: 0;

    display: block;

    width: 33px;
    height: 15px;
    margin-block: auto;
    margin-right: var(--inner_gap);

    pointer-events: none;
}



/*---------------------
    After departure
---------------------*/
.after_departure .cont
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--inner_gap_xl);
}


.after_departure .block_head
{
    align-self: center;

    width: 294px;
    max-width: 100%;
    margin-bottom: 0;

    gap: 64px;
}


.after_departure .block_head .btn
{
    width: fit-content;
    height: 45px;
    padding-inline: var(--inner_gap_l);
    padding-top: 2px;

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;

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


.after_departure .block_head .btn:hover
{
    background: var(--primary_color);
}


.after_departure .data
{
    width: calc(100% - 294px - var(--inner_gap_xl));
}


.after_departure .grid_row
{
    --items_per_line: 4;
    --gap_x: var(--inner_gap_xl);
    --gap_y: var(--inner_gap_xl);
}


.after_departure .item
{
    position: relative;

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

    min-height: 310px;
    padding: var(--block_padding_s);

    border-radius: var(--border_radius);
    background: var(--bg_grey);

    gap: var(--inner_gap);
}


.after_departure .item > *
{
    position: relative;

    z-index: 3;
}


.after_departure .item .name
{
    font-size: var(--font_size_title_xs);
    line-height: 120%;
}


.after_departure .item .desc
{
    line-height: 140%;

    color: var(--dark_color);
}


.after_departure .item .thumb
{
    position: absolute;
    inset: 0;

    display: block;

    z-index: 1;
    pointer-events: none;
}



/*-----------------------
    Try simpler first
-----------------------*/
.try_simpler_first .row
{
    position: relative;

    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--block_padding);
}


.try_simpler_first .list
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 380px - var(--block_padding));

    counter-reset: number;

    gap: 35px;
}


.try_simpler_first .list .sep
{
    width: 100%;
    height: 1px;

    background: var(--grey_color_soft);
}


.try_simpler_first .list .item
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_l);
}


.try_simpler_first .list .item .image
{
    display: block;

    height: 390px;

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


.try_simpler_first .list .item .info
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_l);
}


.try_simpler_first .list .item .info .row
{
    gap: var(--inner_gap_xs);
}


.try_simpler_first .list .item .step
{
    font-size: var(--font_size_title_xs);
    font-weight: 700;
    line-height: 120%;

    color: var(--grey_color_soft);
}


.try_simpler_first .list .item .step span:before
{
    content: counter(number);
    counter-increment: number;
}


.try_simpler_first .list .item .name
{
    width: 380px;
    max-width: 100%;

    font-size: var(--font_size_title_xs);
    font-weight: 400;
    line-height: 120%;

    color: var(--black_color);
}


.try_simpler_first .list .item .desc
{
    width: calc(100% - 380px - var(--inner_gap_xs));
}


.try_simpler_first .action
{
    position: sticky;
    top: 0;

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

    width: 380px;
    max-width: 100%;
    min-height: 538px;
    padding: var(--block_padding);

    color: var(--light_color);
    border-radius: var(--border_radius);
    background: var(--primary_color);

    gap: var(--inner_gap_l);
}


.try_simpler_first .action > *
{
    position: relative;

    z-index: 3;
}


.try_simpler_first .action .title
{
    font-size: var(--font_size_title_xs);
    font-weight: 600;
    line-height: 120%;
}


.try_simpler_first .action .desc
{
    width: 196px;
    max-width: 100%;

    line-height: 160%;
}


.try_simpler_first .action .btn
{
    width: fit-content;
    height: 45px;
    margin-top: auto;
    padding-inline: var(--inner_gap_l);

    font-size: var(--font_size_l);
    font-weight: 600;

    border-radius: var(--border_radius_max);
    background: var(--secondary_color);
}


.try_simpler_first .action .photo
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

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

    z-index: 1;
    pointer-events: none;
}


.try_simpler_first .action .photo img
{
    display: block;

    width: 100%;
}



/*------------------
    Before/After
------------------*/
.before_after .images
{
    position: relative;

    overflow: hidden;

    height: 484px;

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


.before_after .images .img
{
    position: absolute;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;

    z-index: 2;
}


.before_after .images .img img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.before_after .images .img.before img
{
    width: 100%;

    clip-path: inset(0 50% 0 0);
}


.before_after .images .img.after
{
    right: 0;
    left: auto;

    width: 100%;

    z-index: 1;
}


.before_after .images .img.after img
{
    object-position: 100% 50%;
}


.before_after .images .slider
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    z-index: 3;
    cursor: ew-resize;

    outline: none;
    background: none;
}


.before_after .images .slider::-webkit-slider-thumb
{
    width: 0;
    height: 0;

    border: none;
    background: transparent;

    -webkit-appearance: none;
            appearance: none;
}


.before_after .images .slider::-moz-range-thumb
{
    width: 0;
    height: 0;

    border: none;
    background: transparent;
}


.before_after .images .line
{
    position: absolute;
    top: 0;
    left: 50%;

    width: 4px;
    height: 100%;

    z-index: 4;
    transform: translateX(-50%);
    pointer-events: none;

    background: var(--bg);
}


.before_after .images .circle
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;

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

    width: 50px;
    height: 50px;
    margin-block: auto;

    z-index: 5;
    transform: translateX(-50%);
    pointer-events: none;

    color: var(--light_color);
}


.before_after .images .circle .icon
{
    display: block;

    width: 39px;
    height: 50px;
}


.before_after .grid_row
{
    margin-top: 36px;

    --items_per_line: 2;
    --gap_x: var(--inner_gap_l);
    --gap_y: var(--inner_gap_l);
}


.before_after .item
{
    display: flex;
    flex-direction: column;

    gap: var(--inner_gap_l);
}


.before_after .item .title
{
    font-size: var(--font_size_title_xs);
    font-weight: 400;
    line-height: 120%;

    color: var(--black_color);
}


.before_after .item .items
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: var(--inner_gap_xs);
}


.before_after .item .items > *
{
    padding-block: var(--inner_gap_xxs);
    padding-inline: var(--inner_gap_s);

    font-size: var(--font_size_l);

    white-space: nowrap;

    color: var(--black_color);
    border: 1px solid;
    border-radius: var(--border_radius_max);
}



/*--------------
    Rreviews
--------------*/
.reviews .row
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--inner_gap_xl);
}


.reviews .big
{
    width: calc(100% - 660px - var(--inner_gap_xl));
}


.reviews .big .review
{
    display: none;
    flex-direction: column;

    padding-bottom: var(--inner_gap_l);

    gap: var(--block_padding_s);
}


.reviews .big .review.show
{
    display: flex;
}


.reviews .big .review .data
{
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;

    width: 100%;
}


.reviews .big .review .top
{
    align-content: flex-start;
    align-items: flex-start;

    width: 100%;
}


.reviews .big .review .play + *
{
    width: calc(100% - 50px - var(--inner_gap_s));
}


.reviews .big .review .name
{
    width: 100%;
}


.reviews .big .review .info
{
    white-space: nowrap;
}


.reviews .list
{
    display: flex;
    flex-direction: column;
    justify-content: space-between;

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

    gap: var(--inner_gap_xl);
}


.reviews .list .review
{
    cursor: pointer;
}


.reviews .review
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: var(--block_padding_s);

    border-radius: var(--border_radius);
    background: var(--bg_grey);

    gap: var(--inner_gap_l);
}


.reviews .review .data
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 214px - var(--inner_gap_l));

    gap: var(--inner_gap_l);
}


.reviews .review .top
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--inner_gap_s);
}


.reviews .review .play
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 50px;

    cursor: pointer;

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

    aspect-ratio: 1 / 1;
}


.reviews .review .play .icon
{
    display: block;

    width: 20px;
    margin-left: 4px;

    aspect-ratio: 1 / 1;
}


.reviews .review .play .icon + .icon
{
    display: none;

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


.reviews .review .play.active .icon
{
    display: none;
}

.reviews .review .play.active .icon + .icon
{
    display: block;
}


.reviews .review .name
{
    width: calc(100% - 50px - var(--inner_gap_s));

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


.reviews .review .audio
{
    display: block;

    max-width: 100%;
    height: 32px;
    margin: 0;
    padding: 0;

    border: none;
    outline: none;
    background: transparent;
}


.reviews .review .audio::-webkit-media-controls-panel
{
    padding: 0;

    background: transparent;
}


.reviews .review .info
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    justify-content: flex-start;

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

    gap: var(--inner_gap_l);
}


.reviews .review .info > *
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-start;

    gap: var(--inner_gap_xxs);
}


.reviews .review .info .icon
{
    display: block;

    width: 15px;
    min-width: 15px;
    height: 15px;

    color: var(--primary_color);
}


.reviews .review .info span
{
    margin-bottom: -2px;
}


.reviews .review .info .location .icon
{
    width: 13px;
    min-width: 13px;
    height: 18px;
}


.reviews .review .images
{
    position: relative;

    overflow: hidden;

    width: 100%;

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


.reviews .review .images .thumb
{
    width: 100%;
    height: 387px;

    border-radius: 0;
}


.reviews .review .thumb
{
    display: block;

    width: 214px;
    height: 94px;

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


.reviews .review.active
{
    display: none;
}



/*-------------
    What if
-------------*/
.what_if .row
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--block_padding_s);
}


.what_if .images
{
    width: 518px;
    max-width: 100%;
}


.what_if .images .image
{
    display: none;

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


.what_if .images .image img
{
    display: block;

    width: 100%;

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


.what_if .accordion
{
    width: calc(100% - 518px - var(--block_padding_s));
}


.what_if .accordion .accordion_item
{
    border: none;
    border-radius: 0;
    background: none;
}


.what_if .accordion .accordion_item .head
{
    padding-block: var(--inner_gap_s);
    padding-inline: 0;
}


.what_if .accordion .accordion_item .data
{
    padding-inline: 0;
}


.what_if .accordion .accordion_item .text_block
{
    width: calc(100% - 58px - var(--inner_gap));
}


.what_if .accordion .accordion_item .image
{
    display: none;

    height: 343px;
    margin-top: var(--inner_gap_l);

    border-radius: var(--border_radius_s);
    background: var(--bg_grey);
}


.what_if .accordion .accordion_item + .accordion_item
{
    border-top: 1px solid var(--grey_color_soft);
}



/*------------------
    Action block
------------------*/
.action_block
{
    position: relative;
}


.action_block .cont
{
    position: relative;

    z-index: 3;
}


.action_block .tab_content
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: 36px;
}


.action_block .tab_content.active
{
    padding: var(--block_padding);

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


.action_block .message
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: 594px;
    max-width: 100%;
    padding-block: var(--inner_gap) var(--inner_gap_s);
    padding-inline: var(--inner_gap);

    color: var(--light_color);
    border-radius: var(--border_radius_s);
    background: var(--primary_color);

    gap: var(--inner_gap_xl);
}


.action_block .message:after
{
    position: absolute;
    right: var(--block_padding_s);
    bottom: -15px;

    display: block;

    width: 40px;
    height: 24px;

    content: '';

    border-inline: 20px solid transparent;
    border-top: 24px solid var(--primary_color);
}


.action_block .message .manager
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: var(--inner_gap_s);
}


.action_block .message .manager .photo
{
    width: 44px;

    border-radius: 50%;
    background: var(--grey_color_soft);

    aspect-ratio: 1 / 1;
}


.action_block .message .manager .photo + *
{
    width: calc(100% - 44px - var(--inner_gap_s));
}


.action_block .message .manager .name
{
    line-height: 153%;
}


.action_block .message .manager .post
{
    font-weight: 700;
    line-height: 153%;
}


.action_block .message .text
{
    line-height: 140%;
}


.action_block .data
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 594px - 36px);

    gap: var(--inner_gap_l);
}


.action_block .data .title
{
    font-size: var(--font_size_title_xs);
    line-height: 120%;

    color: var(--black_color);
}


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


.action_block .data .desc b,
.action_block .data .desc strong
{
    font-weight: 600;
}


.action_block .data .form
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: var(--inner_gap_xs);

    column-gap: var(--inner_gap_xl);
}


.action_block .data .form .line
{
    width: calc((100% - 190px - var(--inner_gap_xl) * 2) / 2);
}


.action_block .data .form .submit
{
    width: 190px;
    max-width: 100%;
}


.action_block .no
{
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
}


.action_block .no .title
{
    font-size: var(--font_size_title_xs);
    line-height: 120%;

    color: var(--black_color);
}


.action_block .no .btn
{
    height: 45px;
    padding-inline: var(--inner_gap_l);
    padding-top: 2px;

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;
    white-space: nowrap;

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


.action_block .no .btn:hover
{
    background: var(--primary_color);
}


.action_block .image
{
    position: absolute;
    top: -37px;
    right: 50%;

    display: block;

    width: 259px;
    max-width: 100%;
    margin-right: calc(var(--content_width) / -2 + 63px);

    z-index: 1;
    pointer-events: none;

    aspect-ratio: 1 / .742;
}


.action_block .image img
{
    display: block;

    width: 100%;
}



/*-------------
    Cookies
-------------*/
.cookies
{
    position: fixed;
    bottom: var(--cont_padding);
    left: 50%;

    display: none;
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: nowrap;
    justify-content: space-between;

    width: 1074px;
    max-width: calc(100% - var(--cont_padding_double));
    padding: var(--block_padding);

    z-index: 50;
    transform: translateX(-50%);

    border-radius: 15px;
    background: var(--bg_grey);

    gap: var(--inner_gap_xl);
}


.cookies.show
{
    display: flex;
}


.cookies .info
{
    display: flex;
    flex-direction: column;

    width: 100%;

    color: var(--black_color);

    gap: var(--inner_gap);
}


.cookies .title
{
    font-size: 20px;
}


.cookies .desc
{
    line-height: 130%;
}


.cookies .desc button
{
    text-align: left;
    text-decoration: underline;

    text-decoration-thickness: 1px;
}


.cookies .btn
{
    height: 45px;
    padding-inline: var(--inner_gap_l);

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;
    white-space: nowrap;

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


.cookies .btn:hover
{
    background: var(--primary_color);
}



/*------------
    Footer
------------*/
footer
{
    position: relative;

    padding-bottom: var(--inner_gap_xl);
}


footer .cont
{
    position: relative;

    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: space-between;

    z-index: 3;
}


footer .cont + .cont
{
    margin-top: var(--inner_gap_xl);
}


footer .logo
{
    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-right: auto;

    line-height: 117%;

    text-decoration: none;

    gap: var(--inner_gap_l);
}


footer .logo img
{
    display: block;

    width: 186px;
    height: 75px;
}


footer .callback_btn
{
    height: 35px;
    padding-inline: var(--inner_gap_s);

    font-size: var(--font_size_l);
    font-weight: 600;

    transition: background .2s linear;

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


footer .callback_btn:hover
{
    background: var(--secondary_color);
}


footer .phone
{
    display: flex;
    flex-direction: column;

    margin-left: var(--inner_gap);

    gap: var(--inner_gap_xxxs);
}


footer .phone a
{
    font-size: var(--font_size_l);
    font-weight: 700;
    line-height: 1;

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

    color: currentColor;
}


footer .phone .work_time
{
    font-size: var(--font_size_s);
    line-height: 1;
}


footer .text
{
    width: 936px;
    max-width: 100%;

    color: #818181;
}


footer .privacy_policy_btn
{
    font-size: var(--font_size_l);
    font-weight: 600;

    text-align: left;
}

footer .privacy_policy_btn:hover
{
    text-decoration: underline;
}


footer .img
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: none;

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

    z-index: 1;
    pointer-events: none;
}


footer .img img
{
    display: block;

    width: 100%;
}



/*-----------
    PopUp
-----------*/
.modal
{
    display: none;
    visibility: visible !important;
    flex-direction: column;

    width: var(--modal_width);
    max-width: 100%;
    padding: var(--block_padding);

    cursor: default;

    color: var(--dark_color);
    border-radius: var(--border_radius);
    background: var(--bg_grey);

    --modal_width: 773px;
}


.modal .modal_title
{
    width: 346px;
    max-width: 100%;
    padding-right: var(--inner_gap_xl);

    font-size: var(--font_size_title_xs);
    line-height: 120%;

    color: var(--black_color);
}


.modal .modal_desc
{
    width: 346px;
    max-width: 100%;
    margin-top: var(--inner_gap_l);

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


.modal .form
{
    width: 346px;
    max-width: 100%;
    margin-top: var(--block_padding_s);
}


.modal .image
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    max-width: 100%;

    z-index: 1;
    pointer-events: none;
}


.modal .image img
{
    display: block;

    width: 100%;
}


.modal audio
{
    display: block;

    width: 100%;
}


#get_solution_modal .image
{
    width: 340px;
}


#callback_modal .image
{
    right: 7px;

    width: 349px;
}


#get_engineer_modal .image
{
    width: 378px;
}


#privacy_policy_modal
{
    --modal_width: 1350px;
}


#privacy_policy_modal .modal_title
{
    width: 100%;

    font-size: var(--font_size_title);
    line-height: 120%;
}


#privacy_policy_modal .text_block
{
    margin-top: var(--block_padding_l);
}


#privacy_policy_modal .text_block > *
{
    margin-bottom: var(--inner_gap_xs);
}


#audio_modal
{
    padding-block: 48px var(--inner_gap_l);

    --modal_width: 480px;
}


#calc_modal
{
    padding-block: var(--block_padding_l);
    padding-inline: var(--block_padding_xl);

    --modal_width: 1626px;
}


#calc_modal .modal_title
{
    width: 100%;

    font-size: var(--font_size_title);
    line-height: 120%;
}


#calc_modal .modal_desc
{
    width: 660px;
}


#calc_modal .calc .data
{
    padding-inline: 0;

    border-radius: 0;
    background: none;
}


#calc_modal .calc .data .result
{
    width: 773px;
    height: 380px;
}


.jGrowl .message-form
{
    padding: 20px;

    font: 15px var(--font_family);
    line-height: 1.55;
    font-weight: 300;
    width: 360px;
}

.jGrowl .message-success
{
    background: #7fba3a;
}

.jGrowl .message-error
{
    background: #f95d51;
}