/*-----------
    Fonts
-----------*/
@font-face
{
    font-family: 'LC Chalk';
    font-weight: normal;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/lc_chalk.woff') format('woff2'),
    url('../fonts/lc_chalk.woff') format('woff'),
    url('../fonts/lc_chalk.ttf') format('truetype');
}



/*------------------
    Reset styles
------------------*/
*
{
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    scroll-margin-top: 0;
}

*:before,
*:after
{
    box-sizing: border-box;
}

html
{
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
        -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body
{
    margin: 0;

    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility;
    text-decoration-skip: objects;
}

img
{
    border-style: none;
}

textarea
{
    overflow: auto;
}

input,
textarea,
input:active,
textarea:active,
button
{
    margin: 0;

    -webkit-border-radius: 0;
            border-radius: 0;
         outline: none transparent !important;
    box-shadow: none;

    -webkit-appearance: none;
            appearance: none;
    -moz-outline: none !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button
{
    margin: 0;

    -webkit-appearance: none;
}

input[type=number]
{
    -moz-appearance: textfield;
}

:focus
{
    outline: 0;
}

:hover,
:active
{
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
}


::-ms-clear
{
    display: none;
}



/*-------------------
    Global styles
-------------------*/
:root
{
    --bg: #f5f5f5;
    --bg2: #f0f0f0;
    --default_bg: #e6e6e6;
    --content_width_small: 970px;
    --content_width: 1170px;
    --cont_padding: 24px;
    --cont_padding_double: calc(var(--cont_padding) * 2);
    --cont_padding_half: calc(var(--cont_padding) * .5);
    --scroll_width: 17px;
    --custom_scroll_width: 10px;
    --custom_scroll_height: 10px;
    --accent_color: #ffb96f;
    --text_color: #2f2f2f;
    --white_color: #fff;
    --font_size: 16px;
    --font_size_title: 59px;
    --font_size_title_middle: 50px;
    --font_size_title_small: 30px;
    --font_family: 'Ubuntu', 'Arial', sans-serif;
    --font_family2: 'Unbounded', 'Arial', sans-serif;
    --font_family3: 'LC Chalk', 'Arial', sans-serif;
    --block_offset_small: 40px;
    --block_offset: 80px;
    --block_head_offset_small: 20px;
    --block_head_offset: 40px;
    --border_radius: 40px;
    --border_radius_big: 70px;
    --border_radius_half: calc(var(--border_radius) * .5);
}


::selection
{
    color: var(--white_color);
    background: var(--accent_color);
}

::-moz-selection
{
    color: var(--white_color);
    background: var(--accent_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);

    background-color: var(--bg);
}


html.custom_scroll ::-webkit-scrollbar-thumb
{
    background-color: var(--accent_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(--text_color);
}


body.lock
{
    overflow: hidden;
}


button
{
    display: inline-block;

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

    cursor: pointer;
    vertical-align: top;

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


.wrap
{
    position: relative;

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

    min-height: 100%;

    z-index: 9;

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


.cont.small
{
    max-width: calc(var(--content_width_small) + var(--cont_padding_double));
}


.row
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
}



.block
{
    position: relative;

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


.bg_block
{
    background: var(--bg2);
}


.bg_white
{
    background: var(--white_color);
}



.block_sep
{
    padding-bottom: var(--block_offset);
}


.block_sep:after
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: var(--content_width);
    max-width: 100%;
    height: 1px;
    margin-inline: auto;

    content: '';

    background: #dedede;
}



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



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

    display: none;

    width: 100%;
    height: 100%;

    z-index: 100;

    background: rgba(0, 0, 0, .50);

    /*-webkit-backdrop-filter: blur(15px);
            backdrop-filter: blur(15px);

    transform: translate3d(0, 0, 0);*/
}



/*--------------
    Fancybox
--------------*/
.fancybox__backdrop
{
    background: rgba(0, 0, 0, .50);

    /*-webkit-backdrop-filter: blur(25px);
            backdrop-filter: blur(25px);    
    transform: translate3d(0, 0, 0);*/
}


.fancybox__content
{
    position: static;
}


.fancybox__slide
{
    padding: var(--cont_padding);
}


.fancybox__content > .f-button.is-close-btn,
.is-compact .fancybox__content > .f-button.is-close-btn
{
    top: 30px;
    right: 30px;

    opacity: 1;

    --f-button-width: 30px;
    --f-button-height: 30px;
    --f-button-border-radius: 0;
    --f-button-color: rgba(255, 255, 255, .2);
    --f-button-hover-color: var(--white_color);
    --f-button-svg-width: 100%;
    --f-button-svg-height: 100%;
    --f-button-bg: transparent;
    --f-button-hover-bg: transparent;
    --f-button-active-bg: transparent;
}


.fancybox__content > .f-button.is-close-btn svg
{
    stroke: none;
}



/*--------------
    ButtonUp
--------------*/
.buttonUp
{
    position: fixed;
    left: 20px;
    bottom: 20px;

    display: none;

    z-index: 90;
}


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

    width: 60px;
    height: 60px;

    transition: background .2s linear;

    color: #fff;
    border-radius: 50%;
    background: #FFB96F;
}


.buttonUp .btn .icon
{
    display: block;

    width: 19px;
    height: 16px;
}


.buttonUp .btn:hover
{
    background: #eba861;
}



/*----------------
    Mini modal
----------------*/
.modal_cont
{
    position: relative;
}


.mini_modal
{
    position: absolute;
    top: 100%;
    left: 0;

    visibility: hidden;

    z-index: 100;
    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
}


.mini_modal.active
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}



/*----------
    Tabs
----------*/
.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 .5s linear;
    pointer-events: auto;

    opacity: 1;
}



/*----------------
    Pagination
----------------*/
.pagination
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    margin-top: 50px;

    gap: 10px;
}


.pagination a,
.pagination .sep
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 50px;
    height: 50px;

    font-size: calc(var(--font_size) -1px);
    font-weight: 500;
    line-height: calc(100% + 5px);

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

    color: rgba(47, 47, 47, .3);
    border-radius: 15px;
    background: var(--white_color);
    box-shadow: 0 8px 15px 0 rgba(0, 0, 0, .04);
}


.pagination .sep,
.pagination a:hover,
.pagination a.active
{
    color: rgba(47, 47, 47, .4);
    background: none;
    box-shadow: none;
}


.pagination .prev,
.pagination .next
{
    width: auto;
    padding-inline: var(--cont_padding);

    gap: 7px;
}

.pagination .prev
{
    margin-right: 20px;
}

.pagination .next
{
    margin-left: 20px;
}


.pagination .prev .icon,
.pagination .next .icon
{
    display: block;

    width: 14px;
    height: 11px;
}


.pagination .prev .icon
{
    transform: scale(-1, 1);
}



/*------------
    Header
------------*/
header
{
    position: relative;
    top: 0;
    left: 0;

    width: 100%;
    padding-block: 18px;

    z-index: 9;
}


header.absolute
{
    position: absolute;
}


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



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

    font-family: var(--font_family2);
    font-size: 15.623px;
    font-weight: 700;
    line-height: 17.91px;

    text-decoration: none;

    color: #444;

    gap: 5px;
}


header .logo img
{
    display: block;

    width: 20px;
    height: 20px;
}


header .logo span
{
    color: var(--accent_color);
}



header .city
{
    margin-left: 18px;
}


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

    height: 30px;
    padding-inline: 10px;
    padding-bottom: 2px;

    font-size: 12px;

    color: rgba(84, 84, 84, .5);
    border-radius: 11px;
    background: #fff;

    gap: 6px;
}


header .city .current .icon
{
    display: block;

    width: 6px;
    height: 4px;
    margin-top: 2px;
}


header .city .mini_modal
{
    overflow: hidden;

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

    border-radius: 11px;
    background: var(--white_color);
}


header .city .mini_modal .btn
{
    position: relative;

    width: 100%;
    padding-block: 11px;
    padding-inline: 10px;

    font-size: 12px;

    transition: .2s linear;
    text-align: left;

    color: rgba(84, 84, 84, .5);
}


header .city .mini_modal .btn + .btn:before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: block;

    width: calc(100% - 20px);
    height: 1px;
    margin-inline: auto;

    content: '';
    pointer-events: none;

    background: #eee;
}


header .city .mini_modal .btn:hover,
header .city .mini_modal .btn.active
{
    color: #303030;
    background: rgba(238, 238, 238, .5);
}



header .menu
{
    margin-right: auto;
    margin-left: 36px;

    gap: 25px;
}


header .menu_item > a
{
    display: block;

    font-size: 13px;
    font-weight: 300;

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

    color: rgba(54, 54, 54, .5);
}


header .menu_item:hover > a,
header .menu_item > a.active
{
    color: #363636;
}



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

    margin-left: auto;

    gap: 11px;
}



header .phone
{
    font-size: 20px;
    font-weight: 700;

    color: #2e2e2e;
}


header .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



header .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: flex-start;
}


header .messengers > * + *
{
    margin-right: -7px;
}


header .messengers a
{
    position: relative;

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

    width: 33px;
    height: 33px;

    z-index: 1;
    text-decoration: none;

    color: #b6b6b6;
    border-radius: 50%;
    background: var(--white_color);
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .10);
}


header .messengers .icon
{
    display: block;

    width: 15px;
    height: 15px;
}



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

    height: 33px;
    padding-inline: var(--cont_padding_half) 8px;

    font-size: 15px;
    font-weight: 500;

    color: #50381e;
    border-radius: var(--border_radius);
    background: var(--accent_color);

    gap: 6px;
}


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

    width: 17px;
    height: 17px;

    border-radius: 50%;
    background: var(--white_color);
}


header .contacts_btn .icon svg
{
    display: block;

    width: 10px;
    height: 9px;
}



header .mob_menu_btn
{
    display: none;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 40px;
    height: 40px;
    margin-left: 5px;

    color: #b6b6b6;
    border-radius: 50%;
    background: var(--white_color);
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, .10);
}


header .mob_menu_btn .icon
{
    display: block;

    width: 18px;
    height: 14px;
}



header.light .logo,
header.light .phone
{
    color: var(--white_color);
}


header.light .city .current
{
    color: rgba(255, 255, 255, .5);
    background: rgba(255, 255, 255, .05);
}


header.light .menu_item > a
{
    color: rgba(255, 255, 255, .5);
}


header.light .menu_item > a:hover,
header.light .menu_item > a.active
{
    color: var(--white_color);
}



/*---------------
    Mob. menu
---------------*/
.mob_menu
{
    position: fixed;
    top: 10px;
    right: 10px;

    display: none;
    flex-direction: column;

    width: 267px;
    height: calc(100dvh - 20px);
    padding: 30px 25px 25px;

    z-index: 101;

    border-radius: 25px;
    background: var(--white_color);

    gap: 40px;
}


.mob_menu.show
{
    display: flex;
}


.mob_menu .close_btn
{
    position: absolute;
    top: 25px;
    right: 25px;

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

    width: 40px;
    height: 40px;

    z-index: 5;

    color: #cecece;
    border-radius: 50%;
    background: #f6f6f6;
}


.mob_menu .close_btn .icon
{
    display: block;

    width: 14px;
    height: 14px;
}


.mob_menu .city .current
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    height: 30px;
    padding-inline: 10px;
    padding-bottom: 2px;

    font-size: 12px;

    color: rgba(72, 72, 72, .5);
    border-radius: 11px;
    background: #f5f5f5;

    gap: 6px;
}


.mob_menu .city .current .icon
{
    display: block;

    width: 6px;
    height: 4px;
    margin-top: 2px;
}


.mob_menu .city .mini_modal
{
    overflow: hidden;

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

    border-radius: 11px;
    background: #f5f5f5;
}


.mob_menu .city .mini_modal .btn
{
    position: relative;

    width: 100%;
    padding-block: 11px;
    padding-inline: 10px;

    font-size: 12px;

    transition: .2s linear;
    text-align: left;

    color: rgba(84, 84, 84, .5);
}


.mob_menu .city .mini_modal .btn + .btn:before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: block;

    width: calc(100% - 20px);
    height: 1px;
    margin-inline: auto;

    content: '';
    pointer-events: none;

    background: #eee;
}


.mob_menu .city .mini_modal .btn:hover,
.mob_menu .city .mini_modal .btn.active
{
    color: #303030;
    background: rgba(238, 238, 238, .5);
}



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

    font-size: 18px;

    color: #303030;

    gap: 30px;
}


.mob_menu .menu a
{
    display: block;

    text-decoration: none;

    color: currentColor;
}



.mob_menu .contacts
{
    display: flex;
    flex-direction: column;

    margin-top: auto;

    gap: 20px;
}


.mob_menu .phone
{
    font-size: 20px;
    font-weight: 700;
}


.mob_menu .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: #303030;
}


.mob_menu .messengers
{
    display: flex;
    flex-direction: column;

    gap: 5px;
}


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

    height: 50px;

    font-size: 14px;
    font-weight: 500;

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

    color: #939393;
    border-radius: 15px;
    background: #f6f6f6;

    gap: 8px;
}


.mob_menu .messengers .icon
{
    display: block;

    width: 15px;
    height: 15px;
}


.mob_menu .messengers a:hover
{
    color: var(--text_color);
}


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

    width: 100%;
    height: 50px;
    margin-top: -15px;
    padding-inline: var(--cont_padding_half) 8px;

    font-size: 14px;
    font-weight: 500;

    color: #50381e;
    border-radius: 15px;
    background: var(--accent_color);

    gap: 6px;
}


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

    width: 17px;
    height: 17px;

    border-radius: 50%;
    background: var(--white_color);
}


.mob_menu .contacts_btn .icon svg
{
    display: block;

    width: 10px;
    height: 9px;
}



/*-----------------
    Breadcrumbs
-----------------*/
.breadcrumbs
{
    margin-bottom: var(--block_offset_small);

    font-size: calc(var(--font_size) - 2px);
    font-weight: 500;

    color: rgba(47, 47, 47, .2);
}


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

    color: currentColor;
}


.breadcrumbs a:hover
{
    color: var(--text_color);
}


.breadcrumbs .sep
{
    display: inline-block;

    margin-inline: 6px;

    vertical-align: top;
}



.page_title
{
    display: block;

    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(100% + 6px);
}



/*----------------
    Block head
----------------*/
.block_head
{
    margin-bottom: var(--block_head_offset);
}


.block_head.small_m
{
    margin-bottom: var(--block_head_offset_small);
}


.block_head.with_slider
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 50px;
}


.block_head .title
{
    display: block;

    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(100% + 2px);
}


.block_head .title.small
{
    font-size: var(--font_size_title_small);
    line-height: calc(100% + 12px);
}


.block_head .title.middle
{
    font-size: var(--font_size_title_middle);
    line-height: calc(100% + 10px);
}


.block_head.with_slider .title
{
    width: 574px;
    max-width: 100%;
}


.block_head.with_slider .title.middle
{
    width: 610px;
}


.block_head .title .gradient
{
    display: inline-block;

    vertical-align: top;

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.block_head .title .gradient span
{
    color: var(--accent_color);
    background: none;
    -webkit-background-clip: initial;
            background-clip: initial;

    -webkit-text-fill-color: var(--accent_color);
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: #f6f6f6;
    --form_focus_color: var(--text_color);
    --form_error_color: red;
    --form_border_radius: 15px;
    --form_bg_color: #f6f6f6;
    --form_placeholder_color: rgba(48, 48, 48, .4);
}


.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 .columns
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: -10px;
}


.form .columns > *
{
    width: calc(42% - 10px);
    margin-left: 10px;
}


.form .columns > *.big_w
{
    width: calc(58% - 10px);
}


.form .line
{
    margin-bottom: 15px;
}


.form .label
{
    margin-bottom: 10px;

    font-size: calc(var(--font_size) - 2px);
    line-height: calc(100% + 9px);

    color: rgba(48, 48, 48, .4);
}


.form .field
{
    position: relative;
}


.form .input
{
    display: block;

    width: 100%;
    height: 50px;
    padding: 0 20px;

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

    transition: border-color .2s linear;

    color: var(--text_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_focus_color);
}


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


.form .agree
{
    margin-top: 15px;
    padding-inline: 19px;
}


.form .agree.no_pad
{
    padding-inline: 0;
}


.form .checkbox
{
    position: relative;

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

    min-height: 16px;
    padding-left: 16px;

    font-size: 12px;
    line-height: 16px;

    cursor: pointer;

    color: rgba(48, 48, 48, .3);
}


.form .checkbox input
{
    display: none;
}


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

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

    width: 10px;
    height: 10px;

    border-radius: 4px;
    background: rgba(255, 185, 111, .2);
}


.form .checkbox .check:before
{
    position: absolute;
    inset: 0;

    display: block;

    width: 6px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;

    opacity: 0;
    border-radius: 50%;
    background: var(--accent_color);

    aspect-ratio: 1 / 1;
}


.form .checkbox a
{
    transition: color .2s linear;

    color: currentColor;

    text-decoration-thickness: 1px;
}


.form .checkbox a:hover
{
    color: #303030;
}


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


.form .has_design .field
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: nowrap;
    justify-content: flex-start;

    gap: 8px;
}


.form .has_design label
{
    display: block;

    cursor: pointer;
}


.form .has_design label:last-child
{
    width: 100%;
}


.form .has_design input
{
    display: none;
}


.form .has_design label div
{
    min-width: 67px;
    padding-block: 10px 11px;
    padding-inline: calc(var(--cont_padding) - 3px);

    font-size: calc(var(--font_size) - 2px);
    font-weight: 500;
    line-height: calc(100% + 9px);

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

    color: rgba(48, 48, 48, .4);
    border: 3px solid transparent;
    border-radius: 15px;
    background: #f6f6f6;
}


.form .has_design input:checked + div
{
    font-weight: 500;

    color: #303030;
    border-color: var(--accent_color);
}


.form .selected_service .field
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 8px;
}


.form .selected_service label
{
    display: block;

    width: 100%;

    cursor: pointer;
}


.form .selected_service input
{
    display: none;
}


.form .selected_service label div
{
    padding-block: 10px 11px;
    padding-inline: calc(var(--cont_padding) - 3px);

    font-size: calc(var(--font_size) - 2px);
    font-weight: 500;
    line-height: calc(100% + 9px);

    transition: .2s linear;

    color: rgba(48, 48, 48, .4);
    border: 3px solid transparent;
    border-radius: 15px;
    background: #f6f6f6;
}


.form .selected_service input:checked + div
{
    font-weight: 500;

    color: #303030;
    border-color: var(--accent_color);
}


.form .how_contact .field
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: nowrap;
    justify-content: flex-start;

    gap: 8px;
}


.form .how_contact label
{
    display: block;

    cursor: pointer;
}


.form .how_contact label:last-child
{
    width: 100%;
}


.form .how_contact input
{
    display: none;
}


.form .how_contact label div
{
    min-width: 67px;
    padding-block: 10px 11px;
    padding-inline: 14px;

    font-size: calc(var(--font_size) - 2px);
    font-weight: 500;
    line-height: calc(100% + 9px);

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

    color: rgba(48, 48, 48, .4);
    border: 3px solid transparent;
    border-radius: 15px;
    background: #f6f6f6;
}


.form .how_contact input:checked + div
{
    font-weight: 500;

    color: #303030;
    border-color: var(--accent_color);
}


.form .object_type .field
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: nowrap;
    justify-content: flex-start;

    gap: 8px;
}


.form .object_type label
{
    display: block;

    width: 100%;

    cursor: pointer;
}


.form .object_type input
{
    display: none;
}


.form .object_type label div
{
    min-width: 67px;
    padding-block: 10px 11px;
    padding-inline: calc(var(--cont_padding) - 3px);

    font-size: calc(var(--font_size) - 2px);
    font-weight: 500;
    line-height: calc(100% + 9px);

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

    color: rgba(48, 48, 48, .4);
    border: 3px solid transparent;
    border-radius: 15px;
    background: #f6f6f6;
}


.form .object_type input:checked + div
{
    font-weight: 500;

    color: #303030;
    border-color: var(--accent_color);
}


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


.form .amount .btn
{
    position: relative;

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

    width: 70px;
    height: 50px;

    color: #b7b7b7;
    border-radius: 15px;
    background: #f6f6f6;
}


.form .amount .btn .icon
{
    display: block;

    width: 19px;
    height: 19px;
}


.form .amount .input
{
    width: calc(100% - 160px);

    font-weight: 500;

    text-align: center;

    color: rgba(48, 48, 48, .4);
}


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


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

    width: 100%;
    height: 60px;
    padding-inline: var(--cont_padding_half);

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    text-align: left;

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 7px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.form .submit_btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



/*----------------
    Typography
----------------*/
.text_block
{
    font-size: 20px;
    font-weight: 300;
    line-height: calc(100% + 19px);
}


.text_block > *
{
    margin-bottom: 20px;
}


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

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


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



/*-------------------
    First section
-------------------*/
.first_section
{
    position: relative;

    overflow: hidden;

    margin-bottom: calc(var(--border_radius) * -1);
    padding-block: 116px 226px;

    background: #161616;
}


.first_section .bg
{
    position: absolute;
    top: -20px;
    left: 50%;

    overflow: hidden;

    width: 1526px;
    height: 100%;
    margin-left: -871px;

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

    opacity: .3;

    mix-blend-mode: color-dodge;
    aspect-ratio: 120/67;
}


.first_section .bg img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.first_section .bg2
{
    position: absolute;
    right: 50%;
    bottom: 0;

    overflow: hidden;

    width: 528px;
    max-width: 100%;
    height: 100%;
    margin-right: -720px;

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


.first_section .bg2:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 145px;

    content: '';
    z-index: 3;

    opacity: .4;
    background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .00) 100%);
}


.first_section .bg2 .img
{
    display: block;

    width: 100%;
    height: 100%;
}


.first_section .bg2 .img img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.first_section .bg2 .circle
{
    position: absolute;
    right: -155px;
    bottom: -399px;

    width: 712px;

    z-index: 2;

    opacity: .1;
    border-radius: 50%;
    background: var(--accent_color);

    aspect-ratio: 1 / 1;
    mix-blend-mode: overlay;
    filter: blur(199.5px);
    transform: translate3d(0, 0, 0);
}

.first_section .bg2 .circle1
{
    opacity: .4;
}


.first_section .image
{
    position: absolute;
    right: 50%;
    bottom: -12px;

    display: block;

    width: 523px;
    margin-right: -414px;

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


.first_section .image .img
{
    position: relative;

    display: block;

    width: 100%;

    z-index: 3;
}


.first_section .image .img img
{
    display: block;
    min-height: 200px;
    width: 100%;
    height: auto;
}


.first_section .image .circle
{
    position: absolute;
    top: 87px;
    left: 4px;

    width: 291px;
    height: 557px;

    z-index: 1;
    transform: rotate(15.353deg);

    opacity: .1;
    border-radius: 557px;
    background: var(--accent_color);

    mix-blend-mode: color;
    filter: blur(100px);
    transform: translate3d(0, 0, 0);
}


.first_section .image .circle3
{
    right: 27px;
    bottom: 143px;

    height: 427px;

    transform: rotate(-5.708deg);

    border-radius: 427px;
}


.first_section .image .items
{
    position: absolute;
    top: 55px;
    right: -181px;

    display: flex;
    flex-direction: column;

    width: 307px;

    z-index: 5;

    gap: 10px;
}


.first_section .image .items > *
{
    position: relative;

    padding-block: 13px;
    padding-inline: 19px;

    font-size: 18px;
    font-weight: 300;
    line-height: calc(100% + 5px);

    color: #161618;
    border-radius: 30px;
    background: var(--white_color);
    box-shadow: 0 12px 42px 0 rgba(0, 0, 0, .41);
}


.first_section .image .items > *:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 26px;
    height: 34px;

    content: '';

    background: url(../images/bg_contacts_info_person_text.svg) 0 0 no-repeat;
}


.first_section .image .items b
{
    font-weight: 500;
}


.first_section .image .info
{
    position: absolute;
    top: 332px;
    right: -181px;

    display: flex;
    flex-direction: column;

    width: 309px;
    padding-block: 17px 16px;
    padding-inline: 118px 16px;

    z-index: 2;

    color: var(--white_color);
    border-radius: 30px;
    background: rgba(0, 0, 0, .80);

    gap: 1px;

    /*-webkit-backdrop-filter: blur(11.65px);
            backdrop-filter: blur(11.65px);
    transform: translate3d(0, 0, 0);*/
}


.first_section .image .info .name
{
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 5px);
}


.first_section .image .info .desc
{
    font-size: 13px;
    font-weight: 300;
    line-height: calc(100% + 10px);
}


.first_section .cont
{
    position: relative;

    z-index: 5;
}


.first_section .data
{
    position: relative;
}


.first_section .data > *
{
    position: relative;

    z-index: 3;
}


.first_section .data .quote
{
    position: relative;

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

    width: 307px;
    max-width: 100%;
    margin-bottom: 22px;
    padding-block: 10px 13px;
    padding-inline: 22px 16px;

    font-size: 23px;
    font-weight: 500;
    line-height: calc(100% + 3px);

    color: #161618;
    border-radius: 29px;
    background: var(--white_color);
    box-shadow: 0 12px 42px 0 rgba(255, 255, 255, .10);

    gap: 14px;
}


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

    width: 32px;
    height: 36px;

    color: #dfdfdf;
}


.first_section .data .quote:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 26px;
    height: 34px;

    content: '';

    background: url(../images/bg_contacts_info_person_text.svg) 0 0 no-repeat;
}


.first_section .data .title
{
    width: 627px;
    max-width: 100%;

    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(100% + 8px);

    color: var(--accent_color);
}


.first_section .data .title span
{
    background: linear-gradient(103deg, #dcdbe5 3.2%, #eae8f5 32.28%, #dcdbe5 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.first_section .data .desc
{
    width: 505px;
    max-width: 100%;
    margin-top: 18px;

    font-weight: 300;
    line-height: calc(100% + 10px);

    color: #d1d1d5;
}


.first_section .data .desc span
{
    color: var(--accent_color);
}


.first_section .action
{
    position: relative;

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

    width: fit-content;
    margin-top: 41px;
    margin-left: -30px;
    padding-block: 15px;
    padding-inline: 30px 15px;

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

    gap: 10px;
   /* -webkit-backdrop-filter: blur(50px);
            backdrop-filter: blur(50px);
    transform: translate3d(0, 0, 0);*/
}   


.first_section .action:before
{
    position: absolute;
    top: -8px;
    bottom: 100%;
    left: 65px;

    display: block;

    width: 16px;
    height: 16px;

    content: '';
    transform: rotate(-45deg);
    pointer-events: none;

    border-top-right-radius: 5px;
    background: rgba(255, 255, 255, .10);

    clip-path: polygon(0 0, 100% 100%, 100% 0);
}


.first_section .action > div
{
    width: 243px;
    max-width: 100%;
    margin-right: 2px;
    margin-bottom: 2px;

    font-weight: 500;
    line-height: calc(100% + 7px);

    color: var(--white_color);
}


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

    height: 60px;
    padding-inline: 25px 18px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    text-align: left;

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 7px;
}


.first_section .action .btn.transparent
{
    color: var(--white_color);
    background: rgba(255, 255, 255, .2);
    box-shadow: none;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.first_section .action .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}


.first_section .data .circle
{
    position: absolute;

    z-index: 1;

    border-radius: 646px;
    background: #17161d;

    filter: blur(150px);
    transform: translate3d(0, 0, 0);
}


.first_section .data .circle1
{
    top: 22px;
    left: -105px;

    width: 646px;
    height: 341px;
}


.first_section .data .circle2
{
    top: 95px;
    left: -34px;

    width: 523px;
    height: 268px;

    border-radius: 523px;
}


.first_section .data .circle3
{
    top: 22px;
    left: -34px;

    width: 575px;
    height: 341px;

    border-radius: 575px;
}



/*-----------------
    Why it work
-----------------*/
.why_it_work
{
    position: relative;

    overflow: hidden;

    padding-block: 101px 127px;

    z-index: 3;

    border-radius: var(--border_radius) var(--border_radius) 0 0;
    background: var(--bg);
}


.why_it_work .cont
{
    position: relative;

    z-index: 3;
}


.why_it_work .block_head
{
    width: 501px;
    max-width: 100%;
    margin-bottom: var(--block_head_offset_small);
    padding-bottom: 3px;
}


.why_it_work .block_head .title
{
    position: relative;
}


.why_it_work .block_head .free
{
    position: absolute;
    top: 60px;
    right: -260px;

    width: 371px;

    font-family: var(--font_family3);
    font-size: 43px;
    font-weight: 400;
    line-height: calc(100% + 7px);

    color: var(--accent_color);
}


.why_it_work .block_head .free span
{
    margin-left: var(--block_offset_small);
}


.why_it_work .block_head .desc
{
    width: 451px;
    max-width: 100%;
    margin-top: 23px;

    font-size: calc(var(--font_size) + 1px);
    line-height: calc(100% + 8px);

    color: #303030;
}


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

    width: 516px;
    max-width: 100%;
    margin-top: 23px;
    padding-block: 20px 35px;
    padding-inline: 20px 33px;

    border-radius: 25px;
    background: var(--white_color);

    gap: 20px;
}


.why_it_work .info .item
{
    position: relative;

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

    padding-top: 5px;
}


.why_it_work .info .item + .item
{
    padding-top: 16px;
}


.why_it_work .info .item + .item:before
{
    position: absolute;
    top: 0;
    right: 0;

    display: block;

    width: calc(100% - 41px);
    height: 1px;

    content: '';
    pointer-events: none;

    background: #f0f0f0;
}


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

    width: 30px;
    height: 30px;

    color: #bd7a32;
    border-radius: 10px;
    background: var(--accent_color);
}


.why_it_work .info .icon svg
{
    display: block;

    width: 14px;
    height: 14px;
}


.why_it_work .info .name
{
    width: calc(100% - 41px);
    padding-block: 5px 6px;

    font-size: calc(var(--font_size) - 1px);
    font-weight: 500;
    line-height: calc(100% + 4px);

    color: #303030;
}


.why_it_work .info .desc
{
    width: calc(100% - 41px);
    margin-top: 2px;
    margin-left: auto;

    font-size: calc(var(--font_size) - 2px);
    font-weight: 300;
    line-height: calc(100% + 7px);

    color: rgba(48, 48, 48, .7);
}


.why_it_work .info .desc ul
{
    display: flex;
    flex-direction: column;

    margin-top: 11px;

    gap: 8px;
}


.why_it_work .info .desc ul li
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    list-style-type: none;

    font-size: calc(var(--font_size) - 2px);
    line-height: calc(100% + 7px);

    color: #303030;
}


.why_it_work .info .desc ul li svg
{
    display: block;

    width: 14px;
    height: 14px;
    margin-block: 3px;

    color: var(--accent_color);
}


.why_it_work .info .desc ul li span
{
    align-self: center;

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


.why_it_work .bg
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

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


.why_it_work .bg img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: 50% 100%;
}



/*-----------------------
    We not do repairs
-----------------------*/
.we_not_do_repairs
{
    position: relative;

    padding-bottom: 31px;

    z-index: 5;
}


.we_not_do_repairs .head
{
    position: relative;

    overflow: hidden;

    margin-top: -57px;
    padding-block: 51px 60px;
    padding-inline: 20px;

    border-radius: 35px;
    background: var(--accent_color);
}


.we_not_do_repairs .head .image
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    height: 100%;

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

    mix-blend-mode: luminosity;
}


.we_not_do_repairs .head .image img
{
    display: block;

    height: 100%;
}


.we_not_do_repairs .head .data
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: 759px;
    max-width: 100%;
    margin-left: auto;

    z-index: 3;

    gap: 14px;
}


.we_not_do_repairs .head .title
{
    font-family: var(--font_family2);
    font-size: 25px;
    font-weight: 700;
    line-height: calc(100% + 10px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.we_not_do_repairs .head .desc
{
    font-size: calc(var(--font_size) + 1px);
    font-weight: 300;
    line-height: calc(100% + 10px);

    color: #303030;
}


.we_not_do_repairs .head .desc span
{
    display: inline-block;

    margin-inline: -6px;
    padding-inline: 6px;

    font-weight: 500;

    vertical-align: top;

    border-radius: 8px;
    background: var(--white_color);
}


.we_not_do_repairs .images
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: 770px;
    max-width: 100%;
    margin-inline: auto;
    margin-top: 77px;

    gap: 10px 0;
}


.we_not_do_repairs .images .image
{
    position: relative;
}


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

    width: 100%;
    height: 250px;
}


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

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.we_not_do_repairs .images .image .name
{
    position: absolute;

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

    padding-block: 8px 10px;
    padding-inline: 10px 12px;

    font-size: calc(var(--font_size) + 1px);
    font-weight: 700;
    line-height: calc(100% + 2px);

    z-index: 3;
    white-space: nowrap;

    color: var(--white_color);
    color: #fff;
    border-radius: 15px;
    background: #262626;

    gap: 6px;
}


.we_not_do_repairs .images .image .name .icon
{
    display: block;

    color: #515151;
}


.we_not_do_repairs .images .image .quote
{
    position: absolute;

    font-weight: 500;

    z-index: 2;

    color: #303030;
    background: var(--white_color);
}

.we_not_do_repairs .images .image .quote:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 22px;
    height: 21px;

    content: '';
    z-index: -1;

    background: url(../images/bg_we_not_do_repairs_quote.svg) 0 0/100% 100% no-repeat;
}


.we_not_do_repairs .image1 .img
{
    border-radius: 35px 35px 0 0;
}

.we_not_do_repairs .image1 .quote1
{
    top: 32.4%;
    left: 38.901%;

    width: 112px;
    padding: 4px;

    font-size: 11px;
    line-height: 1;

    transform: rotate(-6.117deg);

    border-radius: 9px;
}

.we_not_do_repairs .image1 .quote2
{
    top: 32.4%;
    left: 81.428%;

    width: 164px;
    padding: 6px;

    font-size: 13px;
    line-height: 1;

    transform: rotate(9.97deg);

    border-radius: 11px;
    box-shadow: 0 7px 9.1px 0 rgba(0, 0, 0, .11);
}

.we_not_do_repairs .image1 .name
{
    top: 30px;
    left: 30px;
}

.we_not_do_repairs .image1 .name .icon
{
    width: 15px;
    height: 15px;
}


.we_not_do_repairs .image2
{
    width: calc(100% - 298px);
}

.we_not_do_repairs .image2 .img
{
    border-radius: 0 0 0 35px;
}

.we_not_do_repairs .image2 .man
{
    position: absolute;
    bottom: 0;
    left: 10.805%;

    display: block;

    width: 162px;

    z-index: 2;
}

.we_not_do_repairs .image2 .man img
{
    display: block;

    width: 100%;
}

.we_not_do_repairs .image2 .quote1
{
    top: 13%;
    left: 37%;

    width: 87px;
    padding: 6px;

    font-size: 14px;
    line-height: 1;

    transform: rotate(-6.117deg);
    text-align: center;

    border-radius: 12px;
}

.we_not_do_repairs .image2 .quote1:before
{
    bottom: 0;
    left: -6px;
}

.we_not_do_repairs .image2 .quote2
{
    top: 35%;
    left: 46%;

    width: 42px;
    padding: 6px;

    font-size: 8px;
    line-height: 1;

    transform: rotate(3.223deg);
    text-align: center;

    border-radius: 7px;
}

.we_not_do_repairs .image2 .quote2:before
{
    right: -6px;
    bottom: 0;
    left: auto !important;

    width: 15px;
    height: 14px;

    transform: scale(-1, 1);
}

.we_not_do_repairs .image2 .name
{
    bottom: 16px;
    left: 30px;
}

.we_not_do_repairs .image2 .name .icon
{
    width: 18px;
    height: 15px;
}


.we_not_do_repairs .image3
{
    width: 348px;
    max-width: 100%;
    margin-left: -50px;
}

.we_not_do_repairs .image3 .img
{
    border-radius: 0 0 35px 0;
}

.we_not_do_repairs .image3 .name
{
    bottom: 16px;
    left: 73px;

    color: #4c361e;
    background: var(--accent_color);
}

.we_not_do_repairs .image3 .name .icon
{
    width: 16px;
    height: 13px;

    color: #cb863d;
}



/*--------------
    For whom
--------------*/
.for_whom
{
    position: relative;

    padding-bottom: 44px;
}


.for_whom .cont
{
    position: relative;

    z-index: 3;
}


.for_whom .block_head
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    padding-left: 87px;
}


.for_whom .block_head .title
{
    width: 501px;
    max-width: 100%;
}


.for_whom .block_head .desc
{
    align-self: flex-end;

    width: 355px;
    max-width: 100%;
    margin-bottom: 4px;
    margin-left: 10px;

    font-size: calc(var(--font_size) + 1px);
    font-weight: 300;
    line-height: calc(100% + 11px);

    color: #303030;
}


.for_whom .block_head .desc b
{
    font-weight: 500;
}


.for_whom .data
{
    position: relative;

    width: 688px;
    max-width: 100%;
    min-height: 422px;
    margin-left: 47px;
    padding-block: 40px;
    padding-inline: 40px 206px;

    border-radius: var(--border_radius);
    background: #252525;
}


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

    color: var(--white_color);

    gap: 30px;
}


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


.for_whom .info .item .thumb
{
    position: relative;

    display: block;

    width: 80px;
    height: 80px;

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


.for_whom .info .item .thumb:before
{
    position: absolute;
    top: -2px;
    right: -2px;

    display: block;

    width: 20px;
    height: 20px;

    content: '';

    border-radius: 50%;
}


.for_whom .info .item .thumb.green:before
{
    background: url(../images/ic_for_whom_check.svg) 50% no-repeat #54af44;
    box-shadow: 0 4px 6.7px 0 rgba(84, 175, 68, .31);
}


.for_whom .info .item .thumb.red:before
{
    background: url(../images/ic_for_whom_cross.svg) 50% no-repeat #ff5d5d;
    box-shadow: 0 4px 6.7px 0 rgba(255, 93, 93, .47);
}


.for_whom .info .item .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.for_whom .info .item .thumb + *
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 101px);

    gap: 10px;
}


.for_whom .info .item .title
{
    font-size: 27px;
    font-weight: 700;
}


.for_whom .info .item .desc
{
    font-size: calc(var(--font_size) - 1px);
    font-weight: 300;
    line-height: calc(100% + 11px);

    color: #dedede;
}


.for_whom .info .item ul
{
    display: flex;
    flex-direction: column;

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

    gap: 10px;
}


.for_whom .info .item ul li
{
    position: relative;

    display: block;

    padding-left: 18px;

    list-style-type: none;
}


.for_whom .info .item ul li:before
{
    position: absolute;
    top: .5lh;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;

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

    border-radius: 50%;
    background: #484848;
}


.for_whom .condition
{
    position: absolute;
    top: 0;
    right: -135px;

    display: flex;
    flex-direction: column;

    width: 294px;
    max-width: 100%;
    height: 100%;
    padding: 32px 36px;

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

    gap: 15px;
}


.for_whom .condition > *
{
    position: relative;

    z-index: 3;
}


.for_whom .condition .title
{
    font-size: 26px;
    font-weight: 700;
    line-height: calc(100% + 6px);

    color: #303030;
}


.for_whom .condition .title span
{
    margin-inline: -8px;
    padding-inline: 8px;

    border-radius: 10px;
    background: var(--white_color);
}


.for_whom .condition .desc
{
    display: flex;
    flex-direction: column;

    font-size: 13px;
    line-height: calc(100% + 6px);

    color: #9d6c38;

    gap: 9px;
}


.for_whom .condition .desc span
{
    font-weight: 500;

    color: #433925;
}


.for_whom .condition .bg
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    width: 210px;

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

    aspect-ratio: 35/46;
}


.for_whom .condition .bg img
{
    display: block;

    width: 100%;
    height: 100%;
}



.for_whom .image
{
    position: absolute;
    right: 50%;
    bottom: -209px;

    display: block;

    width: 645px;
    margin-right: -720px;

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

    aspect-ratio: 43/54;
}


.for_whom .image img
{
    display: block;

    width: 100%;
    height: 100%;
}



/*--------------------
    Always problem
--------------------*/
.always_problem
{
    padding-bottom: 26px;
}


.always_problem .data
{
    position: relative;

    overflow: hidden;

    width: calc(var(--content_width) + 150px);
    max-width: 100%;
    margin-inline: auto;
    padding-block: 89px 83px;
    padding-inline: 60px;

    border-radius: 50px;
    background: #333;
}


.always_problem .data:before
{
    position: absolute;
    top: -253px;
    left: -213px;

    display: block;

    width: 906px;

    content: '';
    z-index: 2;
    pointer-events: none;

    opacity: .7;
    border-radius: 906px;
    border-radius: 50%;
    background: #0f0f0f;

    aspect-ratio: 1 / 1;
    filter: blur(150px);
    transform: translate3d(0, 0, 0);
}


.always_problem .data .cont
{
    position: relative;

    display: flex;
    flex-direction: column;

    z-index: 3;

    gap: var(--cont_padding);
}


.always_problem .data .title
{
    width: 767px;
    max-width: 100%;

    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(100% + 8px);

    color: var(--white_color);
}


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

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

    font-size: calc(var(--font_size) + 1px);
    line-height: calc(100% + 11px);

    color: var(--white_color);
}


.always_problem .data .problem .icon
{
    position: relative;

    display: block;

    width: 55px;
    height: 55px;

    border-radius: var(--border_radius_half);
    background: #fed787;
}


.always_problem .data .problem .icon img
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 65px;
    height: 34px;

    transform: translate(-50%, -50%);
}


.always_problem .data .problem .icon + *
{
    align-self: center;

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


.always_problem .data .problem span
{
    color: var(--accent_color);
}


.always_problem .data .true
{
    display: flex;
    flex-direction: column;

    width: 570px;
    max-width: 100%;
    margin-top: 20px;
    padding-block: 28px 30px;
    padding-inline: 40px 20px;

    color: var(--white_color);
    border-radius: 30px;
    background: rgba(0, 0, 0, .50);

    gap: 10px;
    /*-webkit-backdrop-filter: blur(9.7px);
            backdrop-filter: blur(9.7px);
    
    transform: translate3d(0, 0, 0);*/
}


.always_problem .data .true .label
{
    font-size: calc(var(--font_size) + 1px);
    font-weight: 700;
    line-height: calc(100% + 11px);
}


.always_problem .data .true .text
{
    font-size: calc(var(--font_size) - 1px);
    font-weight: 300;
    line-height: calc(100% + 13px);

    color: rgba(255, 255, 255, .8);
}


.always_problem .data .bg
{
    position: absolute;
    inset: 0;

    display: block;

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


.always_problem .data .bg img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



.always_problem .compare
{
    position: relative;

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

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


.always_problem .compare .item
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: calc(50% + 44px);
    padding-block: 41px 55px;

    gap: 11px;
}


.always_problem .compare .item > *
{
    position: relative;

    z-index: 3;
}


.always_problem .compare .item:before
{
    position: absolute;
    inset: 0;

    display: block;

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

    border-radius: inherit;
}


.always_problem .compare .without_us
{
    padding-inline: 267px 84px;

    color: var(--white_color);
    border-radius: 50px 0 0 50px;
}


.always_problem .compare .without_us:before
{
    background: #262626;

    clip-path: polygon(0 0, 100% 0, calc(100% - 100px) 100%, 0% 100%);
}


.always_problem .compare .with_us
{
    margin-left: -88px;
    padding-inline: 137px 205px;

    color: #573c1f;
    border-radius: 0 50px 50px 0;
}


.always_problem .compare .with_us:before
{
    background: var(--accent_color);

    clip-path: polygon(100px 0, 100% 0, 100% 100%, 0 100%);
}


.always_problem .compare .image
{
    position: absolute;

    display: block;
    display: block;
}


.always_problem .compare .without_us .image
{
    bottom: 0;
    left: 0;

    width: 315px;
}


.always_problem .compare .with_us .image
{
    right: 0;
    bottom: 0;

    height: 100%;
}


.always_problem .compare .image img
{
    display: block;

    min-width: 60px;
    max-width: 100%;
    max-height: 100%;
}


.always_problem .compare .title
{
    font-family: var(--font_family2);
    font-size: 30px;
    font-weight: 700;
}


.always_problem .compare .desc
{
    font-size: calc(var(--font_size) + 1px);
    line-height: calc(100% + 9px);
}


.always_problem .compare .vs
{
    position: absolute;
    inset: 0;

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

    width: 80px;
    height: 80px;
    margin: auto;

    font-family: var(--font_family2);
    font-size: 33px;
    font-weight: 700;
    line-height: calc(100% + 5px);

    z-index: 3;
    text-align: center;
    text-transform: uppercase;

    color: #d1d1d1;
    border-radius: 50%;
    background: var(--white_color);
    box-shadow: 0 12px 30.8px rgba(0, 0, 0, .28);
}



/*----------------
    What we do
----------------*/
.what_we_do
{
    position: relative;

    margin-bottom: 121px;
    padding-top: 70px;

    border-radius: 50px 50px 0 0;
    background: #eae7e6;
}


.what_we_do .cont
{
    position: relative;

    justify-content: space-between;

    z-index: 3;
}


.what_we_do .block_head
{
    position: relative;

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

    padding-top: 23px;

    gap: 28px;
}


.what_we_do .block_head > *
{
    position: relative;

    z-index: 3;
}


.what_we_do .block_head:before
{
    position: absolute;
    top: -24px;
    right: 0;

    display: block;

    width: 544px;
    height: 254px;

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

    opacity: .4;
    border-radius: 112px;
    background: #eae7e6;

    filter: blur(53.1px);
    transform: translate3d(0, 0, 0);
}


.what_we_do .block_head .desc
{
    align-self: flex-end;

    width: 144px;
    max-width: 100%;
    margin-bottom: 2px;

    font-size: calc(var(--font_size) + 1px);
    line-height: calc(100% + 8px);

    color: #333;
}


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

    width: 671px;
    max-width: 100%;
    margin-bottom: -121px;
    margin-left: auto;

    counter-reset: number;

    gap: 10px;
}


.what_we_do .item
{
    position: relative;

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

    padding-block: 31px 25px;
    padding-inline: 38px 202px;

    border-radius: var(--border_radius);
    background: var(--white_color);
    box-shadow: 0 15px 40px 0 rgba(0, 0, 0, .05);

    gap: 12px;
}


.what_we_do .item:nth-child(2n)
{
    padding-inline: 251px var(--cont_padding);
}


.what_we_do .item > *
{
    position: relative;

    z-index: 3;
}


.what_we_do .item .number
{
    font-family: var(--font_family2);
    font-size: 30px;
    font-weight: 700;

    white-space: nowrap;

    color: #f2ad62;
}


.what_we_do .item .number:before
{
    content: counter(number);
    counter-increment: number;
}


.what_we_do .item .number + *
{
    display: flex;
    flex-direction: column;

    width: 100%;

    gap: 9px;
}


.what_we_do .item .name
{
    font-family: var(--font_family2);
    font-size: 30px;
    font-weight: 700;

    color: #313131;
}


.what_we_do .item .desc
{
    font-size: calc(var(--font_size) + 1px);
    line-height: calc(100% + 8px);

    color: #333;
}


.what_we_do .item .link
{
    margin-top: 3px;
}


.what_we_do .item .link a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: fit-content;

    font-size: calc(var(--font_size) + 1px);
    font-weight: 500;
    line-height: calc(100% + 8px);

    text-decoration: none;

    color: #cd9150;

    gap: 6px;
}


.what_we_do .item .link .icon
{
    display: block;

    width: 10px;
    height: 9px;
    margin-top: 2px;
}


.what_we_do .item .image
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

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


.what_we_do .item .image1
{
    right: 15px;

    width: 294px;
}


.what_we_do .item .image2
{
    left: 0;

    width: 278px;
}


.what_we_do .item .image3
{
    right: 46px;

    width: 273px;
}


.what_we_do .item .image4
{
    left: 14px;

    width: 295px;
}


.what_we_do .item .image img
{
    display: block;
    height: auto;
    width: 100%;
}


.what_we_do .bg
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

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

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


.what_we_do .bg:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 206px;
    max-height: 50%;

    content: '';
    z-index: 2;

    background: linear-gradient(180deg, #eae7e6 0%, rgba(234, 231, 230, .00) 100%);
}


.what_we_do .bg img
{
    display: block;

    width: 100%;
    height: auto;
}



/*------------------
    How it works
------------------*/
.how_it_works
{
    position: relative;

    padding-bottom: 286px;
}


.how_it_works .cont
{
    position: relative;

    z-index: 3;
}


.how_it_works .block_head
{
    width: 459px;
    max-width: 100%;
    padding-bottom: 11px;
}


.how_it_works .steps
{
    display: flex;
    flex-direction: column;

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

    counter-reset: number;

    gap: var(--block_offset_small);
}


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


.how_it_works .step .number
{
    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 1px);
    font-weight: 700;

    white-space: nowrap;

    color: #eca458;
}


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


.how_it_works .step .number + *
{
    display: flex;
    align-self: center;
    flex-direction: column;

    width: calc(100% - 45px);

    gap: 10px;
}


.how_it_works .step .name
{
    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 1px);
    font-weight: 700;

    color: #303030;
}


.how_it_works .step .desc
{
    font-size: 14px;
    line-height: calc(100% + 6px);

    color: #333;
}


.how_it_works .step .btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: fit-content;
    height: 33px;
    padding-inline: var(--cont_padding_half) 8px;

    font-size: 15px;
    font-weight: 500;

    color: #50381e;
    border-radius: var(--border_radius);
    background: var(--accent_color);
    box-shadow: 0 9px 18.9px rgba(255, 185, 111, .29);

    gap: 7px;
}


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

    width: 17px;
    height: 17px;

    border-radius: 50%;
    background: var(--white_color);
}


.how_it_works .step .btn .icon svg
{
    display: block;

    width: 10px;
    height: 9px;
}


.how_it_works .scale
{
    position: absolute;
    bottom: 173px;
    left: 50%;

    display: block;

    width: 35px;
    margin-left: -560px;

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


.how_it_works .scale img
{
    display: block;

    width: 100%;
}


.how_it_works .image
{
    position: absolute;
    right: 50%;
    bottom: 0;

    display: block;

    width: 421px;
    margin-right: -483px;

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


.how_it_works .image img
{
    display: block;
    height: auto;
    width: 100%;
}


.how_it_works .bg
{
    position: absolute;
    right: 50%;
    bottom: 0;

    overflow: hidden;

    width: 941px;
    margin-right: -720px;

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


.how_it_works .bg .img
{
    display: block;

    width: 100%;

    opacity: .2;
}


.how_it_works .bg .img img
{
    display: block;

    width: 100%;
    height: auto;
}


.how_it_works .bg .rectangle
{
    position: absolute;
    top: 0;
    left: 0;

    width: 606px;
    max-width: 100%;
    height: 818px;
    max-height: 100%;

    z-index: 2;

    background: linear-gradient(270deg, rgba(255, 255, 255, .00) 0%, #fff 100%);
}


.how_it_works .bg .circle
{
    position: absolute;
    right: -203px;
    bottom: -288px;

    width: 878px;

    z-index: 2;

    opacity: .2;
    border-radius: 50%;
    background: var(--accent_color);

    aspect-ratio: 1 / 1;
    mix-blend-mode: plus-darker;
    filter: blur(150px);
    transform: translate3d(0, 0, 0);
}



/*--------------
    Why free
--------------*/
.why_free
{
    position: relative;

    margin-bottom: 126px;
    padding-top: 112px;

    z-index: 5;

    background: var(--accent_color);
    scroll-margin-top:100px;
}


.why_free:before
{
    position: absolute;
    right: 50%;
    bottom: 100%;

    display: block;

    width: 100vw;
    height: 173px;
    margin-right: 10px;

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

    border-radius: 0 50px 0 0;
    background: var(--accent_color);
}


.why_free:after
{
    position: absolute;
    bottom: 100%;
    left: 50%;

    display: block;

    width: 50px;
    height: 50px;
    margin-left: -10px;

    content: '';
    pointer-events: none;

    background: url(../images/bg_why_free_coner.svg) 0 0 no-repeat;
}


.why_free .cont
{
    position: relative;

    z-index: 3;
}


.why_free .info
{
    width: 490px;
    max-width: 100%;
    margin-top: -206px;
}


.why_free .block_head
{
    margin-bottom: 28px;
}


.why_free .message
{
    position: relative;

    width: 390px;
    max-width: 100%;
    padding-block: 17px 18px;
    padding-inline: 27px 11px;

    font-size: calc(var(--font_size) + 1px);
    line-height: calc(100% + 8px);

    color: #333;
    border-radius: 30px;
    background: var(--white_color);
}


.why_free .message:before
{
    position: absolute;
    top: -4px;
    bottom: 100%;
    left: 48px;

    display: block;

    width: 20px;
    height: 16px;

    content: '';
    transform: rotate(-45deg);
    pointer-events: none;

    border-radius: 6px;
    background: var(--white_color);
}


.why_free .info .desc
{
    width: 470px;
    max-width: 100%;
    margin-top: 27px;

    font-size: calc(var(--font_size) - 1px);
    line-height: calc(100% + 13px);

    color: #333;
}


.why_free .info .we
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: fit-content;
    margin-top: 25px;
    padding-block: 5px 7px;
    padding-inline: 14px;

    font-size: calc(var(--font_size) - 1px);
    font-weight: 700;
    line-height: calc(100% + 13px);

    color: var(--white_color);
    border-radius: var(--border_radius_half);
    background: #2f2f2f;

    gap: 6px;
}


.why_free .info .we .icon
{
    display: block;

    width: 17px;
    height: 14px;

    color: var(--accent_color);
}


.why_free .info .we span
{
    width: calc(100% - 23px);
}



.why_free .data
{
    position: relative;

    width: 602px;
    max-width: 100%;
    margin-bottom: -132px;
    margin-left: auto;
    padding-block: 63px 150px;
    padding-inline: 60px 44px;

    border-radius: 50px;
    background: var(--white_color);
    box-shadow: 0 24px 52.4px 0 rgba(0, 0, 0, .09);
}


.why_free .data:before
{
    position: absolute;
    top: 53px;
    left: 0;

    display: block;

    width: 12px;
    height: 48px;

    content: '';
    pointer-events: none;

    background: url(../images/bg_why_free_data.svg) 0 0 no-repeat;
}


.why_free .data .title
{
    margin-bottom: 37px;

    font-size: 27px;
    font-weight: 700;

    color: #313131;
}


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

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

    color: #333;

    gap: 30px;
}


.why_free .data .items > *
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


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

    width: 60px;
    height: 60px;

    color: #f2ac62;
    border-radius: 18px;
    background: rgba(255, 185, 111, .1);
}


.why_free .data .items .icon svg
{
    display: block;
}


.why_free .data .items .icon1 svg
{
    width: 25px;
    height: 15px;
}

.why_free .data .items .icon2 svg
{
    width: 21px;
    height: 19px;
}

.why_free .data .items .icon3 svg
{
    width: 22px;
    height: 22px;
}

.why_free .data .items .icon4 svg
{
    width: 19px;
    height: 25px;
}

.why_free .data .items .icon5 svg
{
    width: 28px;
    height: 16px;
}

.why_free .data .items .icon6 svg
{
    width: 24px;
    height: 22px;
}

.why_free .data .items .icon7 svg
{
    width: 23px;
    height: 19px;
}


.why_free .data .items .icon + *
{
    align-self: center;

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



.why_free .bg
{
    position: absolute;
    bottom: 0;
    left: 50%;

    display: block;

    width: 714px;
    max-width: 100%;
    margin-left: -709px;

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


.why_free .bg img
{
    display: block;

    width: 100%;
}



/*-----------------
    As a result
-----------------*/
.as_a_result
{
    position: relative;

    z-index: 7;
}


.as_a_result .head
{
    position: relative;

    display: flex;
    flex-direction: column;

    padding-bottom: 105px;

    gap: 15px;
}


.as_a_result .head > *
{
    position: relative;

    z-index: 3;
}


.as_a_result .head .title
{
    width: 490px;
    max-width: 100%;

    font-family: var(--font_family2);
    font-size: 37px;
    font-weight: 700;
    line-height: calc(100% + 17px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.as_a_result .head .title span
{
    margin-left: calc(var(--cont_padding_half) * -1);
    padding-inline: var(--cont_padding_half);

    border-radius: 14px;
    background: rgba(255, 185, 111, .2);

    -webkit-text-fill-color: rgba(48, 48, 48, .7);
}


.as_a_result .head .desc
{
    width: 434px;
    max-width: 100%;

    font-size: calc(var(--font_size) - 1px);
    line-height: calc(100% + 13px);

    color: #333;
}


.as_a_result .head .person
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 437px;
    margin-left: -157px;

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


.as_a_result .head .person .photo,
.as_a_result .head .person .photo img
{
    display: block;

    width: 100%;
}


.as_a_result .head .person .quote
{
    position: absolute;
    top: 5px;
    right: -87px;

    width: 264px;
    padding-block: 13px 14px;
    padding-inline: 26px 14px;

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

    color: #161618;
    border-radius: 36px;
    background: var(--accent_color);
    box-shadow: 0 14px 50px 0 rgba(255, 185, 111, .77);
}


.as_a_result .head .person .quote:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 26px;
    height: 34px;

    content: '';

    background: url(../images/bg_as_a_result_quote.svg) 0 0 no-repeat;
}



.as_a_result .data
{
    position: relative;

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

    width: calc(100% + 120px);
    margin-inline: -60px;
    padding-block: 78px 79px;
    padding-inline: 145px;

    color: var(--white_color);
    border-radius: 70px;
    background: linear-gradient(102deg, #2b2b2b 0%, #353535 46.27%, #2b2b2b 100%);
}


.as_a_result .data > *
{
    position: relative;

    display: flex;
    flex-direction: column;

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

    z-index: 3;
}


.as_a_result .data .title
{
    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(100% + 7px);
}


.as_a_result .data .sub_title
{
    position: relative;

    width: fit-content;
    margin-top: 22px;
    padding-block: var(--cont_padding_half) 15px;
    padding-inline: 14px;

    font-family: var(--font_family2);
    font-size: 28px;
    font-weight: 700;
    line-height: calc(100% + 12px);

    border-radius: var(--border_radius_half);
    background: var(--white_color);
}


.as_a_result .data .sub_title:before
{
    position: absolute;
    top: -6px;
    bottom: 100%;
    left: 40px;

    display: block;

    width: 16px;
    height: 16px;

    content: '';
    transform: rotate(-45deg);
    pointer-events: none;

    border-radius: 6px;
    background: var(--white_color);
}


.as_a_result .data .sub_title span
{
    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.as_a_result .data .desc
{
    margin-top: 28px;

    font-size: calc(var(--font_size) - 1px);
    line-height: calc(100% + 13px);

    color: #b7b7b7;
}


.as_a_result .data .desc b
{
    color: var(--white_color);
}


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

    width: 382px;
    max-width: 100%;
    margin-top: 23px;

    gap: 10px;
}


.as_a_result .data .items > *
{
    padding-block: 8px 9px;
    padding-inline: 13px;

    font-size: calc(var(--font_size) - 2px);
    font-weight: 500;
    line-height: calc(100% + 5px);

    border-radius: 15px;
    background: #3b3b3b;
}


.as_a_result .data .image
{
    position: absolute;
    bottom: 0;
    left: 102px;

    display: block;

    width: 458px;

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


.as_a_result .data .image img
{
    display: block;

    width: 100%;
}



/*------------
    Result
------------*/
.result
{
    padding-bottom: 25px;
}


.result .grid
{
    display: grid;

    grid-template-rows: auto auto;
    grid-template-columns: 370px 1fr;
    gap: 30px;
}


.result .item
{
    position: relative;

    border-radius: var(--border_radius);
    background: #f3f3f3;
}


.result .item1
{
    overflow: hidden;

    min-height: 420px;
    padding-block: 39px;
    padding-inline: var(--cont_padding_double);

    color: #161618;
    background: var(--accent_color);

    grid-row: 1 / span 2;
}

.result .item2
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 195px;
    padding-block: 55px;
    padding-inline: var(--cont_padding_double);
}

.result .item3
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;

    min-height: 195px;
    padding-block: 47px 55px;
    padding-inline: 126px;

    color: var(--white_color);
    background: #353535;
}


.result .item .desc
{
    position: relative;

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

    z-index: 3;
}


.result .item .desc span
{
    padding-block: 2px;
    padding-inline: 8px;

    border-radius: 10px;
    background: rgba(255, 185, 111, .2);
}


.result .item .desc small
{
    display: block;

    width: 238px;
    max-width: 100%;
    margin-top: 8px;

    font-size: calc(var(--font_size) - 1px);
    font-weight: 300;
    line-height: calc(100% + 5px);
}


.result .item .image
{
    position: absolute;
    bottom: 0;

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


.result .item1 .image
{
    left: 0;

    width: 100%;

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

.result .item2 .image
{
    right: 17px;

    width: 470px;
}


.result .item3 .image
{
    left: 20px;

    width: 293px;
}


.result .item3 .image .quote
{
    position: absolute;
    top: 85px;
    right: -20px;

    padding-block: 7px 9px;
    padding-inline: var(--cont_padding_half);

    font-size: calc(var(--font_size) -2px);
    line-height: calc(100% + 4px);

    z-index: 2;

    color: #161618;
    border-radius: 16px;
    background: var(--white_color);
    box-shadow: 0 9px 32px 0 rgba(0, 0, 0, .41);
}


.result .item3 .image .quote:before
{
    position: absolute;
    bottom: 1px;
    left: -4px;

    display: block;

    width: 17px;
    height: 22px;

    content: '';

    background: url(../images/bg_contacts_info_person_text.svg) 0 0/100% 100% no-repeat;
}


.result .item .image img
{
    display: block;

    width: 100%;
}



/*-------------
    Reviews
-------------*/
.reviews_block
{
    padding-block: 74px 102px;
}


.reviews .block_head.with_slider .title.middle
{
    width: 488px;
}


.reviews .block_head .desc
{
    position: relative;

    align-self: flex-end;

    width: 305px;
    max-width: 100%;
    margin-bottom: 4px;
    margin-left: 40px;
    padding-block: 15px 17px;
    padding-inline: 22px 16px;

    font-size: calc(var(--font_size) - 1px);
    line-height: calc(100% + 9px);

    color: #4b4b4b;
    border-radius: 30px;
    background: #eaeaea;
}


.reviews .block_head .desc:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 26px;
    height: 34px;

    content: '';

    background: url(../images/bg_block_head_desc2.svg) 0 0 no-repeat;
}


.reviews .swiper
{
    overflow: visible !important;
}


.reviews .swiper-controls
{
    margin-bottom: calc(var(--block_head_offset) + 16px);
}


.reviews .video_review
{
    display: block;

    text-decoration: none;

    color: currentColor;
    border-radius: 30px;
}


.reviews .video_review .thumb
{
    display: block;

    border-radius: inherit;
    background: var(--default_bg);

    aspect-ratio: 270 / 460;
}


.reviews .video_review .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.reviews .video_review .icon
{
    position: absolute;
    inset: 0;

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

    width: 80px;
    height: 80px;
    margin: auto;
    padding-left: 4px;

    color: var(--white_color);
    border-radius: 50%;
    background: var(--accent_color);
}


.reviews .video_review .icon svg
{
    display: block;

    width: 24px;
    height: 30px;
}



/*------------------------
    Contacts info page
------------------------*/
.contacts_info_page
{
    position: relative;

    flex: 1 0 auto;

    padding-block: 115px 51px;

    background: #f2f2f2;
}


.contacts_info .cont
{
    position: relative;

    z-index: 3;
}


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

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

    gap: 30px;
}


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


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

    gap: 3px;
}


.contacts_info .item .label
{
    font-size: 12px;
    font-weight: 500;
    line-height: calc(100% + 14px);

    letter-spacing: 1.56px;
    text-transform: uppercase;

    color: rgba(47, 47, 47, .2);
}


.contacts_info .item .val
{
    width: 400px;
    max-width: 100%;

    font-size: 25px;
    font-weight: 700;
    line-height: calc(100% + 4px);
}


.contacts_info .item .val a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


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

    gap: 18px;
}


.contacts_info .item .messengers .whatsapp_link
{
    color: #329d26;
}

.contacts_info .item .messengers .tg_link
{
    color: #38a9e1;
}


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

    width: fit-content;
    height: 54px;
    margin-top: 10px;
    padding-inline: 25px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: 14.625px;

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 13px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.contacts_info .contacts_btn .icon svg
{
    display: block;

    width: 12px;
    height: 11px;
}



.contacts_info .person
{
    position: absolute;
    right: 50%;
    bottom: 0;

    width: 524px;
    max-width: 100%;
    margin-right: calc(var(--content_width_small) * -.5 - 20px);

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


.contacts_info .person .image
{
    display: block;

    width: 100%;
}


.contacts_info .person .image img
{
    display: block;

    width: 100%;
}


.contacts_info .person .text
{
    position: absolute;
    top: 101px;
    right: -10px;

    width: 199px;
    padding-block: 16px 13px;
    padding-inline: 23px;

    font-size: 21px;
    font-weight: 300;
    line-height: calc(100% + 7px);

    z-index: 2;

    color: #161618;
    border-radius: 36px;
    background: var(--white_color);
}


.contacts_info .person .text:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 26px;
    height: 34px;

    content: '';

    background: url(../images/bg_contacts_info_person_text.svg) 0 0 no-repeat;
}



.contacts_info .bg
{
    position: absolute;
    bottom: 0;
    left: 50%;

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

    width: calc(50% - 198px);
    height: 100%;
    margin-left: 198px;

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


.contacts_info .bg .image
{
    display: block;

    width: 100%;
    height: 100%;

    opacity: .15;
}


.contacts_info .bg .image img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.contacts_info .bg .circle
{
    position: absolute;
    right: -203px;
    bottom: -399px;

    width: 712px;

    z-index: 2;

    opacity: .3;
    border-radius: 50%;
    background: var(--accent_color);

    aspect-ratio: 1 / 1;
    mix-blend-mode: overlay;
    filter: blur(199.5px);
    transform: translate3d(0, 0, 0);
}

.contacts_info .bg .circle3
{
    opacity: .4;
}



/*--------------------
    Portfolio head
--------------------*/
.portfolio_head
{
    padding-top: 46px;
}


.portfolio_head .block_head
{
    margin-bottom: 31px;
}


.portfolio_head .block_desc
{
    position: relative;

    width: 470px;
    max-width: 100%;
    margin-left: 4px;
    padding-block: 19px 23px;
    padding-inline: 22px 17px;

    font-weight: 300;
    line-height: calc(100% + 8px);

    border-radius: 30px;
    background: #eee;
}


.portfolio_head .block_desc:before
{
    position: absolute;
    top: -6px;
    bottom: 100%;
    left: 65px;

    display: block;

    width: 16px;
    height: 16px;

    content: '';
    transform: rotate(-45deg);
    pointer-events: none;

    border-radius: 5px;
    background: #eee;
}


.portfolio_head .block_desc b
{
    font-weight: 500;
}


.portfolio_head .categories
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-inline: -30px;
    margin-top: 74px;

    gap: 30px;
}


.portfolio_head .categories .btn
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: calc(50% - 15px);
    padding: 32px 40px 40px;

    text-align: left;

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

    gap: var(--cont_padding_half);
}


.portfolio_head .categories .name
{
    width: 365px;
    max-width: 100%;

    font-family: var(--font_family2);
    font-size: 20px;
    font-weight: 700;
    line-height: calc(100% + 7px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.portfolio_head .categories .desc
{
    width: calc(100% - 95px);

    font-size: calc(var(--font_size) - 1px);
    font-weight: 300;
    line-height: calc(100% + 6px);
}


.portfolio_head .categories .icon
{
    position: absolute;
    right: 40px;
    bottom: 40px;

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

    width: 50px;
    height: 50px;

    color: #939393;
    border-radius: 50%;
    background: var(--white_color);
}


.portfolio_head .categories .icon svg
{
    display: block;

    width: 17px;
    height: 16px;
}


.portfolio_head .categories .btn .thumb
{
    position: absolute;
    top: -271px;
    right: 0;
    left: 0;

    display: block;

    width: calc(100% - 87px);
    margin-inline: auto;

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


.portfolio_head .categories .btn .thumb img
{
    display: block;

    width: 100%;
}


.portfolio_head .categories .btn.dark
{
    background: #363636;
}


.portfolio_head .categories .btn.dark .name
{
    background: transparent;

    -webkit-text-fill-color: #fff;
}


.portfolio_head .categories .btn.dark .desc
{
    color: var(--white_color);
}



/*---------------
    Portfolio
---------------*/
.portfolio.bg_block
{
    padding-block: calc(var(--block_offset) - 10px) var(--block_offset);
}


.portfolio .tabs
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: nowrap;
    justify-content: center;

    margin-bottom: 30px;

    border-radius: var(--border_radius_half);
    background: var(--white_color);
}


.portfolio .tabs .btn
{
    width: 100%;
    padding-block: 15px 18px;
    padding-inline: var(--cont_padding);

    font-family: var(--font_family2);
    font-size: 20px;
    font-weight: 700;
    line-height: calc(100% + 7px);

    transition: background .2s linear;

    color: #bcbcbc;
    border-radius: var(--border_radius_half);
}


.portfolio .tabs .btn:hover,
.portfolio .tabs .btn.active
{
    background: var(--accent_color);
}


.portfolio .tabs .btn:hover span,
.portfolio .tabs .btn.active span
{
    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}



/*--------------
    Projects
--------------*/
.projects .swiper
{
    overflow: visible !important;
}


.projects .swiper-slide
{
    width: 470px;
    max-width: calc(100vw - var(--cont_padding_double));
}


.projects .swiper-controls
{
    margin-bottom: calc(var(--block_head_offset) + 16px);
}


.projects .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -30px;
    margin-left: -30px;
}


.projects .row > *
{
    width: calc(50% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.projects .project
{
    display: flex;
    overflow: hidden;
    flex-direction: column;

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


.projects .project.shadow
{
    box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .05);
}


.projects .project .thumb
{
    display: block;

    background: var(--default_bg);

    aspect-ratio: 470 /  245;
}


.projects .project .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.projects .project .info
{
    display: flex;
    flex-direction: column;

    padding: 30px;

    gap: 8px;
    height: 100%;
}


.projects .project .name
{
    /*width: 358px;*/
    max-width: 100%;

    font-family: var(--font_family2);
    font-size: 20px;
    font-weight: 700;
    line-height: calc(100% + 7px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.projects .project .desc
{
    width: 349px;
    max-width: 100%;

    font-size: 13px;
    font-weight: 300;
    line-height: calc(100% + 7px);
}


.projects .project .bottom
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: auto;
    gap:10px;
}


.projects .project .area,
.projects .project .period
{
    padding: 5px 15px;

    font-size: 13px;
    font-weight: 500;
    line-height: calc(100% + 7px);

    text-align: center;

    border-radius: 15px;
    background: #f7f7f7;
}


.projects .project .link
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 54px;
    padding-inline: 27px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 2px);

    text-decoration: none;

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 22px;
    margin-left: auto;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.projects .project .link .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



/*-----------
    Cases
-----------*/
.cases .block_head .desc
{
    position: relative;

    align-self: flex-end;

    width: 305px;
    max-width: 100%;
    margin-bottom: 11px;
    margin-left: 19px;
    padding-block: 15px 17px;
    padding-inline: 22px 16px;

    font-size: calc(var(--font_size) - 1px);
    line-height: calc(100% + 9px);

    color: #4b4b4b;
    border-radius: 30px;
    background: #f6f6f6;
}


.cases .block_head .desc:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 26px;
    height: 34px;

    content: '';

    background: url(../images/bg_block_head_desc.svg) 0 0 no-repeat;
}


.cases .swiper
{
    overflow: visible !important;
}


.cases .swiper-slide
{
    width: 470px;
    max-width: calc(100vw - var(--cont_padding_double));
}


.cases .swiper-controls
{
    margin-bottom: calc(var(--block_head_offset) + 16px);
}


.cases .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -30px;
    margin-left: -30px;
}


.cases .row > *
{
    width: calc(50% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.cases .case
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 30px;

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


.cases .case.shadow
{
    box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .05);
}


.cases .case .thumb
{
    display: block;

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

    border-radius: var(--border_radius_half);
    background: var(--default_bg);
}


.cases .case .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.cases .case .info
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 187px);

    gap: 8px;
}


.cases .case .name
{
    font-family: var(--font_family2);
    font-size: 20px;
    font-weight: 700;
    line-height: calc(100% + 7px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.cases .case .desc
{
    font-size: 13px;
    font-weight: 300;
    line-height: calc(100% + 9px);

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}


.cases .case .link
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 200px;
    max-width: 100%;
    height: 54px;
    margin-top: auto;
    padding-inline: 25px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 2px);

    text-decoration: none;

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 22px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.cases .case .link .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



/*------------------
    Action block
------------------*/
.action_block
{
    padding-top: calc(var(--block_offset) + 6px);
}


.action_block.no_pad
{
    padding-top: 0;
}


.action_block .data
{
    position: relative;

    width: calc(var(--content_width) + 120px);
    max-width: 100%;
    min-height: 469px;
    margin-inline: auto;
    padding-block: 60px;
    padding-inline: calc(60px  - var(--cont_padding));

    border-radius: var(--border_radius_big);
    background: var(--accent_color);
}


.action_block .cont
{
    position: relative;

    display: flex;
    flex-direction: column;

    z-index: 3;

    gap: 20px;
}


.action_block .title
{
    display: block;

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

    font-family: var(--font_family2);
    font-size: calc(var(--font_size_title) - 5px);
    font-weight: 700;
    line-height: calc(100% + 10px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.action_block .desc
{
    width: 426px;
    max-width: 100%;

    font-size: calc(var(--font_size) + 1px);
    line-height: calc(100% + 11px);
}


.action_block .btns
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 6px;

    gap: 20px;
}


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

    padding-block: 17px 17px;
    padding-inline: 30px 17px;

    font-size: calc(var(--font_size) + 1px);
    font-weight: 500;
    line-height: calc(100% + 4px);

    text-align: left;

    color: #333;
    border-radius: 25px;
    background: var(--white_color);

    gap: 17px;
}


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

    width: 36px;
    height: 36px;

    color: #e6a661;
    border-radius: 12px;
    background: rgba(255, 185, 111, .2);
}


.action_block .btns .btn .icon svg
{
    display: block;

    width: 16px;
    height: 13px;
}


.action_block .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 10px;
}


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

    width: 70px;
    height: 70px;

    text-decoration: none;

    color: #d19b62;
    border-radius: 25px;
    background: #ffc88e;
}


.action_block .messengers .icon
{
    display: block;

    width: 27px;
    height: 27px;
}


.action_block .image
{
    position: absolute;
    right: 50%;
    bottom: 0;

    display: block;

    width: 579px;
    max-width: 100%;
    margin-right: calc(var(--content_width_small) * -.5 - 9px);

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


.action_block .image2
{
    position: absolute;
    bottom: 0;
    left: 494px;

    display: block;

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

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


.action_block .image img,
.action_block .image2 img
{
    display: block;

    width: 100%;
}


.action_block .image3
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    height: 100%;

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


.action_block .image3 .quote
{
    position: absolute;
    top: 16.204%;
    left: 52.525%;

    width: 231px;
    padding-block: 13px;
    padding-inline: 19px;

    font-size: calc(var(--font_size) + 2px);
    font-weight: 300;
    line-height: calc(100% + 5px);

    z-index: 2;

    color: #161618;
    border-radius: 30px;
    background: var(--white_color);
    box-shadow: 0 12px 42px 0 rgba(0, 0, 0, .10);
}


.action_block .image3 .quote:before
{
    position: absolute;
    bottom: 3px;
    left: -8px;

    display: block;

    width: 26px;
    height: 34px;

    content: '';

    background: url(../images/bg_contacts_info_person_text.svg) 0 0 no-repeat;
}


.action_block .image3 img
{
    display: block;

    height: 100%;
}


.action_block .bg
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    height: 100%;

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

    opacity: .3;
    border-radius: inherit;

    mix-blend-mode: multiply;
}


.action_block .bg img
{
    display: block;

    height: 100%;

    border-radius: inherit;
}



/*------------------
    Project head
------------------*/
.project_head
{
    margin-bottom: calc(var(--block_offset) - 6px);
    padding-top: 26px;
}


.project_head .data
{
    position: relative;

    padding: 67px 60px 0;

    border-radius: 50px;
    background: var(--default_bg);
}


.project_head .data:before
{
    position: absolute;
    inset: 0;

    display: block;

    content: '';
    z-index: 2;
    pointer-events: none;

    opacity: .4;
    border-radius: inherit;
    background: linear-gradient(0deg, var(--accent_color) 0%, rgba(255, 185, 111, .0) 100%);
}


.project_head .data:after
{
    position: absolute;
    inset: 0;

    display: block;

    content: '';
    z-index: 3;
    pointer-events: none;

    opacity: .4;
    border-radius: inherit;
    background: linear-gradient(0deg, #212121 0%, rgba(33, 33, 33, .00) 100%);
}


.project_head .data > *
{
    position: relative;

    z-index: 5;
}


.project_head .title
{
    display: block;

    width: 501px;
    max-width: 100%;
    margin-inline: auto;

    font-family: var(--font_family2);
    font-size: var(--font_size_title_middle);
    font-weight: 700;
    line-height: calc(100% + 11px);

    text-align: center;

    color: var(--white_color);
}


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

    margin-top: 13px;

    gap: 10px;
}


.project_head .area,
.project_head .period
{
    padding: 5px 20px;

    font-size: 13px;
    font-weight: 500;
    line-height: calc(100% + 7px);

    border-radius: 15px;
    background: var(--accent_color);
}


.project_head .person
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 726px;
    max-width: 100%;
    margin-inline: auto;
    margin-top: calc(var(--cont_padding) * 3);
}


.project_head .person .photo
{
    width: 122px;
    height: 122px;

    border-radius: 50%;
    background: var(--default_bg);
}


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

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.project_head .person .text
{
    position: relative;

    width: calc(100% - 142px);
    margin-bottom: -29px;
    padding-block: 20px;
    padding-inline: 26px 27px;

    font-size: calc(var(--font_size) -2px);
    font-weight: 300;
    line-height: calc(100% + 15px);

    border-radius: 25px;
    background: var(--white_color);
    box-shadow: 0 15px 30px 0 rgba(0, 0, 0, .05);
}


.project_head .person .text:before
{
    position: absolute;
    top: 42px;
    left: -6px;

    display: block;

    width: 16px;
    height: 16px;

    content: '';
    transform: rotate(-45deg);
    pointer-events: none;

    border-radius: 5px;
    background: var(--white_color);
}


.project_head .bg
{
    position: absolute;
    inset: 0;

    display: block;

    z-index: 1;

    border-radius: inherit;
}


.project_head .bg:after{
	position: absolute;
    inset: 0;
    display: block;
    content: '';
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    background: rgba(0, 0, 0, .5);
}


.project_head .bg img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



/*------------------
    Project info
------------------*/
.project_info .rooms
{
    margin-bottom: var(--block_offset_small);
}


.project_info .rooms .swiper
{
    position: relative;

    overflow: visible !important;

    padding-inline: calc((var(--content_width) - var(--content_width_small)) / 2);
}


.project_info .rooms .swiper:before,
.project_info .rooms .swiper:after
{
    position: absolute;
    top: 0;
    right: calc(var(--offset) * -1);

    display: block;

    width: calc(var(--offset) + 100px);
    height: 100%;

    content: '';
    z-index: 2;

    border-radius: 0 15px 15px 0;
    background: linear-gradient(270deg, var(--bg) calc(var(--offset) + 50px), rgba(240, 240, 240, .00) 100%);

    --offset: calc((100vw - var(--content_width_small)) / 2);
}


.project_info .rooms .swiper:before
{
    right: auto;
    left: calc(var(--offset) * -1);

    transform: scale(-1, 1);

    border-radius: 15px 0 0 15px;
}


.project_info .rooms .swiper-slide
{
    visibility: hidden;

    width: auto;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.project_info .rooms .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.project_info .rooms .btn
{
    min-width: 130px;
    height: 50px;
    padding-inline: var(--cont_padding);

    font-size: 14px;
    font-weight: 700;
    line-height: 1;

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

    color: #aeaeae;
    border-radius: 15px;
    background: #e6e6e6;
}


.project_info .rooms .btn:hover,
.project_info .rooms .btn.active
{
    color: #4d351b;
    background: var(--accent_color);
}



.project_info .room_gallery + .room_gallery
{
    margin-top: var(--block_offset_small);
}


.project_info .room_gallery .title
{
    width: 501px;
    max-width: 100%;
    margin-bottom: 16px;

    font-family: var(--font_family2);
    font-size: 25px;
    font-weight: 700;
    line-height: calc(100% + 23px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.project_info .room_gallery .row
{
    margin-bottom: -30px;
    margin-left: -30px;
}


.project_info .room_gallery .row > *
{
    width: calc(50% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.project_info .room_gallery .item
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.project_info .room_gallery .image
{
    display: block;

    border-radius: 30px;
    background: var(--default_bg);

    aspect-ratio: 470 / 270;
}


.project_info .room_gallery .image img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



/*---------------
    Case head
---------------*/
.case_head
{
    padding-top: 26px;
}


.case_head .data
{
    position: relative;

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

    min-height: 364px;
    padding: 50px 60px;

    border-radius: 60px;
    background: var(--accent_color);

    gap: 28px;
}


.case_head .data > *
{
    position: relative;

    z-index: 2;
}


.case_head .title
{
    display: block;

    width: 718px;

    font-family: var(--font_family2);
    font-size: 40px;
    font-weight: 700;
    line-height: calc(100% + 18px);

    color: #48341e;
}


.case_head .title span
{
    display: inline-block;

    margin-inline: -10px;
    padding-inline: 10px;

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

    vertical-align: top;

    border-radius: 15px;
    background: var(--white_color);
}


.case_head .location
{
    font-size: calc(var(--font_size) + 1px);
    font-weight: 500;
    line-height: calc(100% + 5px);

    color: #48341e;
}


.case_head .bg
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    height: 324px;
    max-height: 100%;

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


.case_head .bg img
{
    display: block;

    max-height: 100%;
}



/*---------------
    Case info
---------------*/
.case_info
{
    display: flex;
    flex-direction: column;

    gap: var(--block_offset_small);
}


.case_info .gallery .row
{
    margin-bottom: -30px;
    margin-left: -30px;
}


.case_info .gallery .row > *
{
    width: calc(33.333% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.case_info .gallery .item
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.case_info .gallery .thumb
{
    display: block;

    border-radius: 25px;
    background: var(--default_bg);

    aspect-ratio: 182/243;
}


.case_info .gallery .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.case_info .text_block
{
    width: 768px;
    max-width: 100%;
    margin-inline: auto;
}



/*-----------------
    About head
-----------------*/
.about_head
{
    position: relative;

    padding-block: 115px 78px;
}


.about_head .cont
{
    position: relative;

    z-index: 3;
}


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

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

    gap: 25px;
}


.about_head .title
{
    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 700;
    line-height: calc(100% + 1px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.about_head .sub_title
{
    position: relative;

    width: 396px;
    max-width: 100%;
    padding-block: 19px 21px;
    padding-inline: 27px 21px;

    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 7px);

    border-radius: 35px;
    background: var(--accent_color);
}


.about_head .sub_title:before
{
    position: absolute;
    top: -5px;
    bottom: 100%;
    left: 42px;

    display: block;

    width: 16px;
    height: 16px;

    content: '';
    transform: rotate(-45deg);
    pointer-events: none;

    border-radius: 5px;
    background: var(--accent_color);
}


.about_head .sub_title span
{
    display: block;

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.about_head .desc
{
    width: 423px;
    max-width: 100%;

    font-weight: 300;
    line-height: calc(100% + 10px);
}


.about_head .desc2
{
    width: 329px;
    max-width: 100%;
    margin-top: -7px;

    font-weight: 700;
    line-height: calc(100% + 8px);
}


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

    width: fit-content;
    height: 54px;
    padding-inline: 25px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 6px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.about_head .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



.about_head .bg
{
    position: absolute;
    left: 30%;
    bottom: 0;

    display: block;

    height: 100%;
    /*margin-right: -720px;*/
    /*transform: translateX(720px);*/

    z-index: 1;
    pointer-events: none;
    will-change: transform, left, right;
}


.about_head .bg img
{
    display: block;

    min-width: 600px;
    height: 100%;
    min-height: 200px;
    will-change: width, height, transform;
}



/*---------------
    Service 1
---------------*/
.service1
{
    position: relative;

    padding-block: 83px 122px;
}


.service1 .cont
{
    position: relative;

    z-index: 1;
}


.service1 .head
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: var(--block_head_offset);

    gap: 30px;
}


.service1 .head .number
{
    padding-block: var(--cont_padding_half) calc(var(--cont_padding_half) + 1px);
    padding-inline: 20px;

    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 7px);

    color: #909090;
    border-radius: var(--border_radius_half);
    background: #e6e6e6;
}


.service1 .head .title
{
    width: 340px;
    max-width: 100%;
    margin-top: 3px;

    font-family: var(--font_family2);
    font-size: 35px;
    font-weight: 700;
    line-height: calc(100% + 6px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.service1 .head .desc
{
    align-self: flex-end;

    width: 228px;
    max-width: 100%;
    margin-bottom: 3px;
    margin-left: -10px;

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


.service1 .data
{
    width: 570px;
    max-width: 100%;
}


.service1 .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -30px;
    margin-left: -30px;
}


.service1 .row > *
{
    width: calc(50% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.service1 .row > *.big_w
{
    width: calc(100% - 30px);
}


.service1 .item
{
    position: relative;

    min-height: 385px;
    padding: 25px;

    border-radius: 30px;
    background: var(--white_color);
}


.service1 .item.big_w
{
    min-height: 0;
}


.service1 .item > *
{
    position: relative;

    z-index: 3;
}


.service1 .item .title
{
    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 8px);

    color: #363636;
}


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

    margin-top: var(--cont_padding_half);

    font-size: 13px;
    font-weight: 300;
    line-height: calc(100% + 7px);

    gap: 10px;
}


.service1 .item .items > *
{
    position: relative;

    padding-left: 16px;
}


.service1 .item .items > *:before
{
    position: absolute;
    top: .5lh;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;

    content: '';
    transform: translateY(-50%) rotate(-45deg);

    border-radius: 2px;
    background: var(--accent_color);
}


.service1 .item .desc
{
    width: 399px;
    max-width: 100%;
    margin-top: 7px;

    font-size: 13px;
    line-height: calc(100% + 7px);

    color: #363636;
}


.service1 .item .thumb
{
    position: absolute;
    bottom: 0;
    left: -8px;

    display: block;

    width: calc(100% + 8px);

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


.service1 .item .thumb img
{
    display: block;

    width: 100%;
}


.service1 .item.mark
{
    background: var(--accent_color);
}


.service1 .item.mark .title
{
    color: #5a4126;
}


.service1 .item.mark .items
{
    color: #7c5226;
}


.service1 .item.mark .items > *:before
{
    background: #a7733c;
}


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

    height: 54px;
    margin-top: 28px;
    padding-inline: 25px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 22px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.service1 .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



.service1 .image
{
    position: absolute;
    top: 100px;
    right: 50%;

    display: block;

    width: 1063.5px;
    margin-right: -808px;

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


.service1 .image img
{
    display: block;

    width: 100%;
    min-height: 100px;
}



/*---------------
    Service 2
---------------*/
.service2
{
    position: relative;

    padding-block: 76px 140px;
}


.service2 .cont
{
    position: relative;

    z-index: 3;
}


.service2 .head
{
    display: flex;
    flex-direction: column;

    width: 670px;
    max-width: 100%;
    margin-bottom: 35px;
    margin-left: auto;

    gap: var(--cont_padding_half);
}


.service2 .head .number
{
    width: fit-content;
    margin-bottom: 6px;
    padding-block: var(--cont_padding_half) calc(var(--cont_padding_half) + 1px);
    padding-inline: 20px;

    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 7px);

    color: #909090;
    border-radius: var(--border_radius_half);
    background: var(--white_color);
}


.service2 .head .title
{
    font-family: var(--font_family2);
    font-size: 35px;
    font-weight: 700;
    line-height: calc(100% + 6px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.service2 .head .desc
{
    width: 449px;
    max-width: 100%;

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


.service2 .data
{
    width: 670px;
    max-width: 100%;
    margin-left: auto;
}


.service2 .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -30px;
    margin-left: -30px;
}


.service2 .row > *
{
    width: calc(50% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.service2 .row > *.big_w
{
    width: calc(100% - 30px);
}


.service2 .item
{
    position: relative;

    padding: 25px 25px 32px;

    border-radius: 30px;
    background: var(--white_color);
}


.service2 .item > *
{
    position: relative;

    z-index: 3;
}


.service2 .item .title
{
    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 8px);

    color: #363636;
}


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

    margin-top: var(--cont_padding_half);

    font-size: 13px;
    font-weight: 300;
    line-height: calc(100% + 7px);

    gap: 10px;
}


.service2 .item .items > *
{
    position: relative;

    padding-left: 16px;
}


.service2 .item .items > *:before
{
    position: absolute;
    top: .5lh;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;

    content: '';
    transform: translateY(-50%) rotate(-45deg);

    border-radius: 2px;
    background: var(--accent_color);
}


.service2 .item .items b
{
    font-weight: 700;
}


.service2 .item .desc
{
    display: flex;
    flex-direction: column;

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

    font-size: 13px;
    line-height: calc(100% + 7px);

    color: #363636;

    gap: 10px;
}


.service2 .item .thumb
{
    position: absolute;
    right: 0;
    bottom: 0;

    display: block;

    height: 100%;

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


.service2 .item .thumb img
{
    display: block;

    min-width: 60px;
    height: 100%;
    min-height: 100px;
}


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

    padding: 30px;

    background: var(--accent_color);

    gap: 30px;
}


.service2 .item.mark .title
{
    color: #5a4126;
}


.service2 .item.mark .desc
{
    margin-top: 4px;

    color: #7c5226;
}


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

    height: 54px;
    margin-top: 25px;
    padding-inline: 25px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 22px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.service2 .data .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



.service2 .bg
{
    position: absolute;
    inset: 0;

    display: block;

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


.service2 .bg img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



.service2 .bg2
{
    position: absolute;
    bottom: 0;
    left: 50%;

    display: block;

    width: 531px;
    margin-left: -997px;

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


.service2 .bg2 img
{
    display: block;

    width: 100%;
}



/*---------------
    Service 3
---------------*/
.service3
{
    position: relative;

    padding-block: 76px 102px;
}


.service3 .cont
{
    position: relative;

    z-index: 1;
}


.service3 .head
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: var(--block_head_offset);

    gap: 30px;
}


.service3 .head .number
{
    padding-block: 12px 13px;
    padding-inline: 20px;

    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 7px);

    color: #909090;
    border-radius: var(--border_radius_half);
    background: #e6e6e6;
}


.service3 .head .title
{
    width: 340px;
    max-width: 100%;
    margin-top: 3px;

    font-family: var(--font_family2);
    font-size: 35px;
    font-weight: 700;
    line-height: calc(100% + 6px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.service3 .head .desc
{
    align-self: flex-end;

    width: 228px;
    max-width: 100%;
    margin-bottom: 3px;
    margin-left: -10px;

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


.service3 .data
{
    width: 570px;
    max-width: 100%;
}


.service3 .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -30px;
    margin-left: -30px;
}


.service3 .row > *
{
    width: calc(50% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.service3 .item
{
    position: relative;

    padding: 25px 23px 32px 25px;

    border-radius: 30px;
    background: var(--white_color);
}


.service3 .item > *
{
    position: relative;

    z-index: 3;
}


.service3 .item .title
{
    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 8px);

    color: #363636;
}


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

    margin-top: 12px;

    font-size: 13px;
    font-weight: 300;
    line-height: calc(100% + 7px);

    gap: 10px;
}


.service3 .item .items > *
{
    position: relative;

    padding-left: 16px;
}


.service3 .item .items > *:before
{
    position: absolute;
    top: .5lh;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;

    content: '';
    transform: translateY(-50%) rotate(-45deg);

    border-radius: 2px;
    background: var(--accent_color);
}


.service3 .item.mark
{
    background: var(--accent_color);
}


.service3 .item.mark .title
{
    color: #5a4126;
}


.service3 .item.mark .items
{
    color: #7c5226;
}


.service3 .item.mark .items > *:before
{
    background: #a7733c;
}


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

    height: 54px;
    padding-inline: 25px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 22px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.service3 .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



.service3 .image
{
    position: absolute;
    top: 131px;
    right: 50%;

    display: block;

    width: 559px;
    margin-right: -592px;

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


.service3 .image img
{
    display: block;

    width: 100%;
    min-height: 100px;
}



/*---------------
    Service 4
---------------*/
.service4
{
    position: relative;

    padding-block: 73px 64px;
}


.service4 .cont
{
    position: relative;

    z-index: 3;
}


.service4 .head
{
    display: flex;
    flex-direction: column;

    width: 670px;
    max-width: 100%;
    margin-bottom: var(--block_head_offset);
    margin-left: auto;

    gap: 14px;
}


.service4 .head .number
{
    width: fit-content;
    margin-bottom: 4px;
    padding-block: 12px 13px;
    padding-inline: 20px;

    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 7px);

    color: #909090;
    border-radius: var(--border_radius_half);
    background: var(--white_color);
}


.service4 .head .title
{
    width: 499px;
    max-width: 100%;

    font-family: var(--font_family2);
    font-size: 35px;
    font-weight: 700;
    line-height: calc(100% + 6px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.service4 .head .desc
{
    width: 449px;
    max-width: 100%;

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


.service4 .data
{
    width: 670px;
    max-width: 100%;
    margin-left: auto;
}


.service4 .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -30px;
    margin-left: -30px;
}


.service4 .row > *
{
    width: calc(50% - 30px);
    margin-bottom: 30px;
    margin-left: 30px;
}


.service4 .row > *.big_w
{
    width: calc(100% - 30px);
}


.service4 .item
{
    position: relative;

    padding: 25px 25px 32px;

    border-radius: 30px;
    background: var(--white_color);
}


.service4 .item > *
{
    position: relative;

    z-index: 3;
}


.service4 .item .title
{
    font-family: var(--font_family2);
    font-size: calc(var(--font_size) + 2px);
    font-weight: 700;
    line-height: calc(100% + 8px);

    color: #363636;
}


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

    margin-top: 12px;

    font-size: 13px;
    font-weight: 300;
    line-height: calc(100% + 7px);

    gap: 10px;
}


.service4 .item .items > *
{
    position: relative;

    padding-left: 16px;
}


.service4 .item .items > *:before
{
    position: absolute;
    top: .5lh;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;

    content: '';
    transform: translateY(-50%) rotate(-45deg);

    border-radius: 2px;
    background: var(--accent_color);
}


.service4 .item .items b
{
    font-weight: 700;
}


.service4 .item .desc
{
    display: flex;
    flex-direction: column;

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

    font-size: 13px;
    line-height: calc(100% + 7px);

    color: #363636;

    gap: 10px;
}


.service4 .item .thumb
{
    position: absolute;
    right: 22px;
    bottom: 0;

    display: block;

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

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

    mix-blend-mode: overlay;
}


.service4 .item .thumb img
{
    display: block;

    width: 100%;
    min-height: 100px;
}


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

    padding: 30px;

    background: var(--accent_color);

    gap: 30px;
}


.service4 .item.mark .title
{
    color: #5a4126;
}


.service4 .item.mark .desc
{
    margin-top: 4px;

    color: #7c5226;
}


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

    height: 54px;
    margin-top: 30px;
    padding-inline: 25px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 22px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.service4 .data .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



.service4 .bg
{
    position: absolute;
    top: 0;
    left: 50%;

    display: block;

    width: 859px;
    max-width: 100%;
    margin-left: -750px;

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

    mix-blend-mode: darken;
}


.service4 .bg img
{
    display: block;

    width: 100%;
}



/*----------------------
    Finished project
----------------------*/
.finished_project
{
    position: relative;

    padding-block: 60px;

    background: var(--white_color);
}


.finished_project .cont
{
    position: relative;

    z-index: 3;

    gap: 30px;
}


.finished_project .title
{
    width: 400px;
    max-width: 100%;

    font-family: var(--font_family2);
    font-size: 35px;
    font-weight: 700;
    line-height: calc(100% + 14px);

    color: #e39e55;
}


.finished_project .title span
{
    display: block;

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.finished_project .info
{
    display: flex;
    align-self: center;
    flex-direction: column;

    width: 342px;
    max-width: 100%;
    margin-bottom: 1px;

    gap: 15px;
}


.finished_project .desc
{
    font-size: 13px;
    line-height: calc(100% + 9px);
}


.finished_project .desc b
{
    font-weight: 700;
}


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

    width: fit-content;
    height: 54px;
    padding-inline: 25px 15px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 7px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


.finished_project .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



.finished_project .image
{
    position: absolute;
    right: 50%;
    bottom: 0;

    display: block;

    width: 593px;
    max-width: 100%;
    margin-right: -700px;

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


.finished_project .image img
{
    display: block;

    width: 100%;
}



/*------------
    Footer
------------*/
footer .data
{
    padding-block: 40px;

    font-size: 13px;

    color: rgba(51, 51, 51, .3);
}


footer .cont
{
    align-content: center;
    align-items: center;
    justify-content: space-between;
}



footer .author
{
    line-height: 23px;
}



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

    width: 190px;
    max-width: 100%;
    margin-left: 42px;

    line-height: 19px;
}


footer .links a
{
    display: inline-block;

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

    color: currentColor;

    text-decoration-thickness: 1px;
}


footer .links a:hover,
footer .links a.active
{
    color: #333;
}


footer .menu
{
    margin-right: auto;
    margin-left: 21px;

    gap: 25px;
}


footer .menu a
{
    display: block;

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

    color: rgba(125, 125, 125, .5);
}


footer .menu a:hover,
footer .menu a.active
{
    color: #7d7d7d;
}



footer .contacts
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: auto;

    gap: 10px;
}



footer .phone
{
    font-weight: 500;
    line-height: 23px;
}


footer .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: rgba(51, 51, 51, .5);
}



footer .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 5px;
}


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

    width: 30px;
    height: 30px;

    font-size: 14px;
    font-weight: 500;

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

    color: #9e9e9e;
    border-radius: 10px;
    background: rgba(240, 240, 240, .5);

    gap: 5px;
}


footer .messengers span
{
    display: none;
}


footer .messengers .icon
{
    display: block;

    width: 12px;
    height: 12px;
}


footer .messengers a:hover
{
    color: var(--text_color);
}



footer .creator
{
    padding-block: 8px 9px;

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

    text-align: center;

    color: rgba(51, 51, 51, .3);
    background: var(--white_color);
}


.bg_white footer .creator
{
    background: #fbfbfb;
}


footer .creator a
{
    transition: color .2s linear;

    color: currentColor;

    text-decoration-thickness: 1px;
}


footer .creator a:hover
{
    color: #333;
}



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

    width: 726px;
    max-width: 100%;
    padding: 0;

    color: var(--text_color);
    border-radius: var(--border_radius);
    background: var(--white_color);
}


.modal_inner
{
    position: relative;

    align-content: stretch;
    align-items: stretch;
    justify-content: space-between;

    padding: 10px;
}


.modal_image
{
    display: block;

    width: 341px;
    max-width: 100%;
    min-height: 517px;

    border-radius: 30px;
    background: var(--accent_color);
}


.modal_image img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


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

    width: calc(100% - 351px);
    padding-inline: 30px 18px;
}


.modal_title
{
    width: 100%;

    font-family: var(--font_family2);
    font-size: 30px;
    font-weight: 700;
    line-height: calc(100% + 9px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


.modal_title.small
{
    font-size: 24px;
    line-height: calc(100% + 8px);
}


.modal_title.middle
{
    font-size: 28px;
    line-height: calc(100% + 6px);
}


.modal_desc
{
    width: 100%;
    margin-top: 15px;

    font-size: calc(var(--font_size) - 2px);
    line-height: calc(100% + 9px);

    color: #303030;
}


.modal .form
{
    width: 100%;
    padding-right: var(--cont_padding_half);
}


.modal * + .form
{
    margin-top: 20px;
}



/*-----------------
    About modal
-----------------*/
#about_modal
{
    width: 830px;
}


#about_modal .modal_inner
{
    padding: 37px 37px 56px;
}


#about_modal .data
{
    position: relative;

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

    z-index: 3;
}


#about_modal .title
{
    font-family: var(--font_family2);
    font-size: 30px;
    font-weight: 700;

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


#about_modal .desc
{
    width: 373px;
    max-width: 100%;
    margin-top: 17px;

    font-size: calc(var(--font_size) - 2px);
    line-height: calc(100% + 9px);
}


#about_modal .desc > *
{
    margin-bottom: 20px;
}


#about_modal .desc > :last-child
{
    margin-bottom: 0 !important;
}


#about_modal .desc b,
#about_modal .desc strong
{
    font-weight: 700;
}


#about_modal .desc ul
{
    display: flex;
    flex-direction: column;

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

    gap: 10px;
}


#about_modal .desc ul li
{
    position: relative;

    display: block;

    padding-left: 14px;

    list-style-type: none;

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


#about_modal .desc ul li:before
{
    position: absolute;
    top: .5lh;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;

    content: '';
    transform: translateY(-50%) rotate(-45deg);

    border-radius: 2px;
    background: var(--accent_color);
}


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

    width: 350px;
    max-width: 100%;
    margin-top: 27px;

    gap: 10px;
}


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

    padding-block: 13px 15px;
    padding-inline: 15px 13px;

    font-size: calc(var(--font_size) - 2px);
    line-height: calc(100% + 7px);

    color: #303030;
    border-radius: var(--border_radius_half);
    background: #f7f7f7;
}


#about_modal .items .icon
{
    display: block;

    color: var(--accent_color);
}


#about_modal .items .icon1
{
    width: 16px;
    height: 18px;
}

#about_modal .items .icon2
{
    width: 16px;
    height: 16px;
}

#about_modal .items .icon3
{
    width: 18px;
    height: 17px;
}


#about_modal .items span
{
    width: calc(100% - 27px);
}


#about_modal .bottom
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 31px;
}


#about_modal .bottom p
{
    width: calc(100% - 184px);

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

    color: #303030;
}


#about_modal .btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 164px;
    max-width: 100%;
    height: 60px;
    padding-inline: 25px 18px;

    font-size: 13px;
    font-weight: 700;
    line-height: calc(100% + 1px);

    text-align: left;

    color: #4d351b;
    border-radius: var(--border_radius_half);
    background: var(--accent_color);
    box-shadow: 0 6px 18.9px 0 rgba(255, 185, 111, .34);

    gap: 7px;
}


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

    width: 24px;
    height: 24px;

    color: #bcbcbc;
    border-radius: 50%;
    background: var(--white_color);
}


#about_modal .btn .icon svg
{
    display: block;

    width: 14px;
    height: 11px;
}



#about_modal .bg
{
    position: absolute;
    right: 0;
    bottom: 0;

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

    width: 330px;
    max-width: 100%;
    height: 100%;

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

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


#about_modal .bg .img
{
    position: relative;

    display: block;

    width: 100%;
    height: 100%;

    z-index: 2;
}


#about_modal .bg .img img
{
    display: block;

    width: 100%;
    height: 100%;

    opacity: .15;

    object-fit: cover;
}


#about_modal .bg .circle
{
    position: absolute;
    right: -203px;
    bottom: -182px;

    width: 712px;

    z-index: 1;

    opacity: .1;
    border-radius: 50%;
    background: var(--accent_color);

    aspect-ratio: 1 / 1;
    mix-blend-mode: overlay;
    filter: blur(199.5px);
    transform: translate3d(0, 0, 0);
}

#about_modal .bg .circle1
{
    opacity: .2;
}



#about_modal .image
{
    position: absolute;
    right: 21px;
    bottom: 0;

    display: block;

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

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


#about_modal .image img
{
    display: block;

    width: 100%;
}



/*-----------------
    Order modal
-----------------*/
#order_modal .modal_image
{
    position: relative;

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

    min-height: 418px;
}


#order_modal .modal_image .info
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    flex-direction: column;

    width: 100%;
    padding-block: 27px;
    padding-inline: 25px;

    z-index: 2;

    gap: 7px;
}


#order_modal .modal_image .title
{
    font-family: var(--font_family2);
    font-size: 30px;
    font-weight: 700;
    line-height: calc(100% + 4px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


#order_modal .modal_image .sub_title
{
    font-family: var(--font_family2);
    font-size: 20px;
    font-weight: 700;
    line-height: calc(100% + 6px);

    background: linear-gradient(103deg, #303030 3.2%, #5c5c5c 32.28%, #303030 59.48%);
    -webkit-background-clip: text;
            background-clip: text;

    -webkit-text-fill-color: transparent;
}


#order_modal .modal_image .desc
{
    margin-top: 3px;

    font-size: calc(var(--font_size) - 2px);
    line-height: calc(100% + 9px);

    color: #303030;
}


#order_modal .modal_image img
{
    height: auto;
    max-height: 100%;
}


#main-menu-fixed {
	position: fixed !important;
	top: -100px; /* Начальная позиция - скрыто */
	left: 0;
	right: 0;
	z-index: 8;
	opacity: 0;
	transition: top 0.3s ease, opacity 0.3s ease;
	background: #FFFFFF;
	box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
	border-radius: 20px;
	padding-block: 7px;
	margin: 0 20px;
	width: calc(100% - 40px);

}
#main-menu-fixed .cont{
	padding-inline: 15px;
}

#main-menu-fixed.visible {
	top: 10px;
	opacity: 1;
}

#main-menu-fixed .logo{
	color: #444;
}