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

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



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

    scroll-margin-top: 24px;
}

*: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: #f3efed;
    --sidebar_width: 266px;
    --scroll_width: 17px;
    --text_color: #3a3636;
    --font_size: 18px;
    --font_size_title: 50px;
    --font_size_title_small: 44px;
    --font_size_title_big: 66px;
    --font_family: 'Jost', 'Arial', sans-serif;
}


::selection
{
    color: #fff;
    background: var(--text_color);
}

::-moz-selection
{
    color: #fff;
    background: var(--text_color);
}



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


html.custom_scroll ::-webkit-scrollbar
{
    width: 10px;
    height: 10px;

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


html.custom_scroll ::-webkit-scrollbar-thumb
{
    background-color: var(--text_color);
}


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

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

    color: var(--text_color);
}


body.lock
{
    overflow: hidden;
}


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

    display: inline-block;

    cursor: pointer;
    vertical-align: top;

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


.wrap
{
    position: relative;
    z-index: 9;

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

    min-height: 100%;

    background: var(--bg);
}


.wrap > .main
{
    position: relative;

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


.cont
{
    width: 100%;
    max-width: 1158px;
    margin: 0 auto;
    padding: 0 24px;
}


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



.content_flex.row,
.content_flex > .cont.row
{
    align-content: stretch;
    align-items: stretch;
    justify-content: space-between;
}


.content_flex .content
{
    position: relative;

    width: calc(100% - var(--sidebar_width) - 15px);
}


.content_flex .content > *:first-child
{
    margin-top: 0;
}

.content_flex .content > *:last-child
{
    margin-bottom: 0;
}



.block
{
    margin-bottom: 60px;
}

.block.big_m
{
    margin-bottom: 76px;
}



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



.overlay
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    background: rgba(87, 78, 74, .30);
}



/*--------------
    Fancybox
--------------*/
.fancybox__backdrop
{
    background: rgba(87, 78, 74, .30);
}


.fancybox__slide
{
    padding: 40px;
}


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

    opacity: 1;

    --f-button-width: 30px;
    --f-button-height: 30px;
    --f-button-border-radius: 0;
    --f-button-color: #382312;
    --f-button-hover-color: #382312;
    --f-button-svg-width: 30px;
    --f-button-svg-height: 30px;
    --f-button-bg: transparent;
    --f-button-hover-bg: transparent;
    --f-button-active-bg: transparent;
}


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



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

    margin-top: 30px;

    gap: 10px;
}


.pagination a
{
    font-size: 14px;

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

    width: 30px;
    height: 30px;

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

    color: #382312;
    border: 1px solid transparent;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.pagination a:hover,
.pagination a.active
{
    border-color: #d1cbc8;
    background: none;
}



/*---------------
    Accordion
---------------*/
.accordion
{
    display: flex;
    flex-direction: column;

    gap: 10px;
}


.accordion_item
{
    transition: border-color .2s linear;

    border: 1px solid transparent;
    border-radius: 5px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


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

    padding: 19px;

    cursor: pointer;
}


.accordion_item .head .title
{
    font-size: 16px;
    font-weight: 300;
    line-height: 120%;

    width: 617px;
    max-width: calc(100% - 32px);

    color: #000;
}


.accordion_item .head .icon
{
    display: block;

    width: 8px;
    height: 12px;

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


.accordion_item .data
{
    display: none;

    padding: 0 25px 20px;
}


.accordion_item:hover,
.accordion_item.active
{
    border-color: #665c57;
}

.accordion_item.active .icon
{
    transform: rotate(-90deg);
}



/*--------------
    All link
--------------*/
.all_link
{
    display: flex;

    margin-top: 30px;
}


.all_link a
{
    font-size: 12px;
    line-height: 120%;

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

    height: 60px;
    padding: 0 49px;

    transition: background .2s linear;
    text-decoration: none;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    border: 1px solid #f3efed;
    border-radius: 45px;
    background: #665c57;

    gap: 10px;
}


.all_link .icon
{
    display: block;

    width: 8px;
    height: 12px;
}


.all_link a:hover
{
    background: #453e3b;
}



/*-------------
    Animate
-------------*/
.animate
{
    transition: .3s linear;
    transition-property: opacity, transform;

    opacity: 0;
}


.animate.fadeUp
{
    transform: translateY(50%);
}

.animate.fadeLeft
{
    transform: translateX(-50%);
}

.animate.fadeRight
{
    transform: translateX(50%);
}


.animate.delay
{
    transition-delay: .2s;
}

.animate.delay2
{
    transition-delay: .4s;
}

.animate.delay3
{
    transition-delay: .6s;
}


.animate.animated
{
    transform: none;

    opacity: 1;
}



/*-------------------
    Notifications
-------------------*/
.notifications
{
    position: fixed;
    z-index: 90;
    bottom: 0;
    left: 100%;

    display: flex;
    flex-direction: column;

    width: 391px;
    max-width: 100%;
    padding: 12px 30px;

    transition: .2s linear;

    gap: 12px;
}


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


.notifications .notification
{
    line-height: 120%;

    position: relative;

    padding: 30px;

    color: #fff;
    border-radius: 0 15px;
    background: rgba(42, 33, 31, .80);
}


.notifications .notification .close_btn
{
    position: absolute;
    top: 5px;
    right: 3px;

    display: block;

    width: 20px;
    height: 20px;
}


.notifications .notification .close_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}



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

    width: 100%;
    padding: 42px 0;

    transition: .2s linear;
    transition-property: padding, background;
}


header .cont
{
    position: relative;
    z-index: 3;

    align-content: center;
    align-items: center;
    justify-content: space-between;
}



header .menu_btn
{
    font-size: 10px;

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

    height: 50px;
    padding: 0 19px;

    transition: .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    border: 1px solid var(--text_color);
    border-radius: 10px 0;

    gap: 10px;
}


header .menu_btn .icon
{
    display: block;

    width: 16px;
    height: 11px;
}


header .menu_btn:hover
{
    color: #fff;
    background: var(--text_color);
}



header .location
{
    margin-left: 40px;
}


header .location .current
{
    font-size: 10px;
    line-height: 120%;

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

    transition: color .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    gap: 8px;
}


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

    width: 16px;
    height: 18px;
}


header .location .current:hover
{
    color: #151414;
}



header .favorite
{
    margin-left: 20px;
}


header .favorite .btn
{
    font-size: 10px;
    line-height: 120%;

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

    transition: color .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    gap: 8px;
}


header .favorite .btn .icon
{
    display: block;

    width: 18px;
    height: 16px;
}


header .favorite .btn:hover
{
    color: #151414;
}



header .logo
{
    font-size: 30px;
    line-height: 120%;

    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    transform: translate(-50%, -50%);
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: 3.6px;
    text-transform: uppercase;

    color: currentColor;
}



header .phone
{
    font-size: 14px;
    font-weight: 500;
    line-height: 120%;

    margin-left: auto;

    white-space: nowrap;
    text-transform: uppercase;
}


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

    color: currentColor;
}


header .phone a:hover
{
    color: #151414;
}



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

    margin-left: 16px;

    gap: 6px;
}


header .messengers a
{
    display: block;

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

    color: currentColor;
    border-radius: 50%;
}


header .messengers .icon
{
    display: block;

    width: 24px;
    height: 24px;

    border-radius: inherit;
}


header .messengers a:hover
{
    color: #151414;
}



header .duscuss_btn
{
    font-size: 10px;

    height: 50px;
    margin-left: 40px;
    padding: 0 19px;

    transition: .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    border: 1px solid var(--text_color);
    border-radius: 0 10px;
}


header .duscuss_btn:hover
{
    color: #fff;
    background: var(--text_color);
}



header.absolute
{
    position: absolute;

    color: #fff;
}


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

    display: block;

    width: 100%;
    height: 169px;

    content: '';
    pointer-events: none;

    background: linear-gradient(180deg, #161011 -5.33%, rgba(22, 16, 17, .00) 100%);
}


header.absolute .menu_btn
{
    border-color: #fff;
}


header.absolute .menu_btn:hover
{
    color: var(--text_color);
    border-color: #fff;
    background: #fff;
}


header.absolute .location .current:hover,
header.absolute .favorite .btn:hover,
header.absolute .phone a:hover,
header.absolute .messengers a:hover
{
    color: #d0cac7;
}


header.absolute .duscuss_btn
{
    border-color: #fff;
}


header.absolute .duscuss_btn:hover
{
    color: var(--text_color);
    border-color: #fff;
    background: #fff;
}



header.fixed
{
    position: fixed;

    padding: 14px 0;

    color: var(--text_color);
    background: #fff;
}


.with-fancybox header.fixed
{
    width: calc(100% - var(--scroll_width));
}


header.fixed:before
{
    display: none;
}


header.fixed .menu_btn
{
    border-color: var(--text_color);
}


header.fixed .menu_btn:hover
{
    color: #fff;
    border-color: var(--text_color);
    background: var(--text_color);
}


header.fixed .location .current:hover,
header.fixed .favorite .btn:hover,
header.fixed .phone a:hover,
header.fixed .messengers a:hover
{
    color: #151414;
}


header.fixed .duscuss_btn
{
    border-color: var(--text_color);
}


header.fixed .duscuss_btn:hover
{
    color: #fff;
    border-color: var(--text_color);
    background: var(--text_color);
}



/*-----------------
    Mob. header
-----------------*/
.mob_header
{
    position: relative;
    z-index: 90;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    padding: 18px 0;
}


.mob_header.absolute
{
    position: absolute;

    color: #fff;
}


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

    display: block;

    width: 100%;
    height: 169px;

    content: '';
    pointer-events: none;

    background: linear-gradient(180deg, #161011 -5.33%, rgba(22, 16, 17, .00) 100%);
}



.mob_header .cont
{
    position: relative;
    z-index: 3;

    align-content: center;
    align-items: center;
    justify-content: space-between;
}



.mob_header .menu_btn
{
    font-size: 10px;

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

    height: 50px;
    padding: 0 15px;

    transition: .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    border: 1px solid;
    border-radius: 10px 0;

    gap: 10px;
}


.mob_header .menu_btn .icon
{
    display: block;

    width: 16px;
    height: 11px;
}


.mob_header .menu_btn:hover
{
    color: #fff;
    background: var(--text_color);
}



.mob_header .logo
{
    font-size: 24px;
    line-height: 120%;

    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    transform: translate(-50%, -50%);
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: 2.4px;
    text-transform: uppercase;

    color: currentColor;
}



.mob_header .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: auto;

    gap: 6px;
}


.mob_header .messengers a
{
    display: block;

    text-decoration: none;

    color: currentColor;
    border-radius: 50%;
}


.mob_header .messengers .icon
{
    display: block;

    width: 24px;
    height: 24px;

    border-radius: inherit;
}



/*-------------
    Sidebar
-------------*/
aside
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: var(--sidebar_width);
    max-width: 100%;

    gap: 15px;
}



/*---------------
    Page head
---------------*/
.page_head
{
    padding-top: 34px;
}


.page_head .cont
{
    display: flex;
    flex-direction: column;

    gap: 20px;
}



.breadcrumbs
{
    font-size: 10px;

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

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

    color: #a89b9c;

    gap: 8px;
}


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

    color: #665c57;
}


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


.breadcrumbs .sep
{
    display: block;

    width: 6px;
    height: 9px;
}



.page_title
{
    font-size: var(--font_size_title);
    font-weight: 300;
    line-height: 120%;

    display: block;

    letter-spacing: 3px;
    text-transform: uppercase;
}



.page_desc
{
    font-weight: 300;

    /*margin-top: -20px;*/

    color: #382312;
}



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

    gap: 10px;
}


.page_links a
{
    font-size: 12px;
    font-weight: 300;

    display: block;

    padding: 10px 19px;

    transition: .2s linear;
    text-decoration: none;
    letter-spacing: 1.44px;
    text-transform: uppercase;

    color: #382312;
    border: 1px solid transparent;
    border-radius: 5px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.page_links a:hover
{
    border-color: #665c57;
}


.page_links a.active
{
    border-color: #d1cbc8;
    background: none;
    box-shadow: none;
}



/*----------------
    Block head
----------------*/
.block_head
{
    position: relative;

    margin-bottom: 40px;
}


.block_head.pad_l
{
    padding-left: 63px;
}


.block_head.pad_r
{
    padding-right: 104px;
}


.block_head .vertical_title
{
    font-size: 12px;
    line-height: 120%;

    position: absolute;
    top: 8px;
    left: 0;

    padding-top: 36px;

    transform: rotate(180deg);
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #665c57;

    writing-mode: vertical-lr;
}


.block_head .vertical_title:after
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: block;

    width: 1px;
    height: 23px;
    margin: 0 auto;

    content: '';

    background: currentColor;
}


.block_head .title
{
    font-size: var(--font_size_title_small);
    font-weight: 300;
    line-height: 120%;

    display: block;

    letter-spacing: 2.64px;
    text-transform: uppercase;
}


.block_head .desc
{
    font-weight: 300;

    margin-top: 10px;

    color: #382312;
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: #eadfda;
    --form_focus_color: #eadfda;
    --form_error_color: red;
    --form_bg_color: #fff;
    --form_placeholder_color: #382312;
}


.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: calc(var(--form_columns_offset) * -1);

    --form_columns_offset: 10px;
}

.form .columns > *
{
    width: calc(50% - var(--form_columns_offset));
    margin-left: var(--form_columns_offset);
}


.form .columns > *.width1of3
{
    width: calc(33.333% - var(--form_columns_offset));
}

.form .columns > *.width2of3
{
    width: calc(66.666% - var(--form_columns_offset));
}


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


.form .field
{
    position: relative;
}


.form .input
{
    font-family: var(--font_family);
    font-size: 12px;

    display: block;

    width: 100%;
    height: 52px;

    transition: border-color .2s linear;
    letter-spacing: .84px;
    text-transform: uppercase;

    color: #382312;
    color: var(--text_color);
    border: none;
    border-bottom: 1px solid var(--form_border_color);
    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 .contacts_method
{
    display: flex;
    align-content: center;
    align-items: center;
    align-self: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 10px;
}


.form .contacts_method .label
{
    font-size: 12px;
    line-height: 100%;

    letter-spacing: .84px;
    text-transform: uppercase;

    color: #382312;
}


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

    gap: 10px;
}


.form .contacts_method label
{
    display: block;

    cursor: pointer;
}


.form .contacts_method label input
{
    display: none;
}


.form .contacts_method label div
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 34px;
    height: 34px;

    transition: .2s linear;

    color: #382312;
    border-radius: 50%;
    background: #f3efed;
}


.form .contacts_method label .icon
{
    display: block;

    width: 16px;
    height: 16px;
}


.form .contacts_method label input:checked + div
{
    color: #382312;
    background: #c8bfba;
}


.form .file input
{
    display: none;
}


.form .file label
{
    font-size: 12px;
    line-height: 100%;

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

    height: 52px;

    cursor: pointer;
    letter-spacing: .84px;
    text-transform: uppercase;

    color: #382312;
    border-bottom: 1px solid #eadfda;
    background: #fff;
}


.form .file label span
{
    display: block;
    overflow: hidden;

    width: calc(100% - 24px);

    white-space: nowrap;
    text-overflow: ellipsis;
}


.form .file label .icon
{
    display: block;

    width: 16px;
    height: 16px;
}


.form .agree
{
    font-size: 12px;
    font-weight: 300;

    color: #382312;
}


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

    padding-top: 20px;

    gap: 35px;
}


.form .agree
{
    width: 245px;
    max-width: 100%;
}


.form .submit_btn
{
    font-size: 12px;
    line-height: 120%;

    display: block;

    width: 280px;
    max-width: 100%;
    height: 60px;
    padding: 0 50px;

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    border-radius: 45px;
    background: #665c57;
}


.form .submit_btn:hover
{
    background: #453e3b;
}


.form .reset_btn
{
    font-size: 10px;

    display: block;

    width: 100%;

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

    color: #3a3636;

    text-decoration-line: underline;
}



/*----------------
    Typography
----------------*/
.text_block
{
    font-weight: 300;
    line-height: 140%;

    color: #000;
}


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


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


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

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


.text_block h2
{
    font-size: var(--font_size_title_small);
    font-weight: 300;
    line-height: 120%;

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

    color: var(--text_color);
}

.text_block h3
{
    font-size: 36px;
    font-weight: 300;
    line-height: 120%;

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

    color: #3a3636;
}


.text_block * + h2,
.text_block * + h3
{
    margin-top: 40px;
}

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


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


.text_block .gallery
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 60px;
    margin-bottom: 20px;
    margin-left: -20px;
}


.text_block .gallery > *
{
    display: block;

    width: calc(50% - 20px);
    margin: 0 0 40px 20px;

    text-decoration: none;

    color: currentColor;
}

.text_block .gallery > *.small_w
{
    width: calc(33.333% - 20px);
}


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

    margin-top: 60px;
    margin-bottom: 60px;

    gap: 10px;
}


.text_block figure img
{
    width: 100%;
}


.text_block figure figcaption
{
    font-size: 12px;
    font-weight: 300;
    line-height: 120%;

    text-align: center;
    letter-spacing: .72px;
    text-transform: uppercase;
}


.text_block img
{
    display: block;

    max-width: 100%;

    border-radius: 15px 0;
}


.text_block table
{
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}


.text_block table th
{
    font-size: 16px;
    font-weight: 400;
    line-height: 130%;

    padding: 16px 20px;

    text-align: left;
    vertical-align: middle;

    color: #000;
    border: 1px solid #dbd5d2;
    background: #e1dcd9;
}


.text_block table td
{
    font-size: 14px;
    font-weight: 400;
    line-height: 130%;

    padding: 16px 20px;

    text-align: left;
    vertical-align: middle;

    color: #000;
    border: 1px solid #dbd5d2;
    background: #fff;
}

.text_block table tbody tr:nth-child(2n) td
{
    background: #f8f5f4;
}


.text_block blockquote,
.text_block q
{
    display: block;

    width: 100%;
    padding: 15px 20px;

    background: #ccc;
}


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

    padding-left: 30px;

    gap: 10px;
}


.text_block ul li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 18px;

    list-style-type: none;
}


.text_block ul li:before
{
    position: absolute;
    top: 8px;
    left: 0;

    display: block;

    width: 8px;
    height: 8px;

    content: '';

    border-radius: 50%;
    background: #665c57;
}


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

    counter-reset: li;

    gap: 10px;
}


.text_block ol li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 20px;

    list-style-type: none;
}


.text_block ol li:before
{
    font-weight: 700;

    position: absolute;
    top: 0;
    left: 0;

    content: counter(li) '.';
    counter-increment: li;

    /* content: counter(li, decimal-leading-zero); */
}


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

    text-decoration-thickness: 1px;
}



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

    background: #ddd;
}


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

    width: 100%;
    height: 100%;

    pointer-events: none;
}


.first_section .bg:before
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    pointer-events: none;

    background: rgba(22, 16, 17, .50);
}


.first_section .bg:after
{
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';
    pointer-events: none;

    background: linear-gradient(180deg, rgba(22, 16, 17, .00) 0%, #161011 103.7%);
}


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

    width: 100%;
    height: 100%;

    pointer-events: none;
}


.first_section .swiper-slide
{
    display: flex;
    overflow: hidden;
    flex-direction: column;
}


.first_section .image,
.first_section .image img
{
    display: block;
    flex-grow: 1;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.first_section .image img
{
    transition: transform 5s linear;
    transform: scale(1.3);
}


.first_section .swiper-slide.active .image img
{
    transform: scale(1);
}


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

    width: 100%;
    height: 100%;

    pointer-events: none;

    object-fit: cover;
}


.first_section .cont
{
    position: relative;
    z-index: 3;

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

    min-height: 698px;
    padding-top: 134px;
    padding-bottom: 113px;
}


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

    text-align: center;

    color: #fff;
}


.first_section .title
{
    font-size: var(--font_size_title_big);
    font-weight: 300;
    line-height: 120%;

    letter-spacing: 3.96px;
    text-transform: uppercase;
}


.first_section .desc
{
    font-weight: 300;
    line-height: 120%;

    margin-top: 9px;

    color: #f3efed;
}



.first_section .video_link
{
    position: absolute;
    z-index: 10;
    right: 50%;
    bottom: 42px;

    display: block;

    margin-right: -560px;

    text-decoration: none;

    color: currentColor;
}


.first_section .video_link .thumb
{
    display: block;

    width: 154px;
    height: 154px;

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


.first_section .video_link .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: .6;
    border-radius: inherit;

    object-fit: cover;
}


.first_section .video_link .icon
{
    position: absolute;
    z-index: 3;

    display: block;

    width: 15px;
    height: 19px;
    margin: auto;

    color: #fff;

    inset: 0;
}


.first_section .video_link:hover .thumb img
{
    opacity: .9;
}



/*----------
    Quiz
----------*/
.quiz .data
{
    overflow: hidden;

    padding: 54px 66px;

    border-radius: 0 15px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.quiz .step
{
    display: none;
}


.quiz .step .title
{
    font-size: 36px;
    font-weight: 300;
    line-height: 120%;

    color: #382312;
}


.quiz .step .desc
{
    font-size: 16px;
    font-weight: 300;
    line-height: 120%;

    margin-top: 10px;

    color: #382312;
}


.quiz .step .options
{
    margin-top: 40px;
}


.quiz .step .service
{
    position: relative;

    display: block;

    cursor: pointer;
}


.quiz .step .service input
{
    display: none;
}


.quiz .step .service .thumb
{
    position: relative;

    display: block;

    padding-bottom: 63.584%;

    border-radius: 0 10px;
    background: #ddd;
}

.quiz .step .service .thumb:before
{
    position: absolute;
    z-index: 2;
    bottom: 0;

    display: block;

    width: 100%;
    height: 55px;

    content: '';
    pointer-events: none;

    border-radius: inherit;
    background: linear-gradient(357deg, #382312 -49.2%, rgba(56, 35, 18, .00) 98.26%);
}


.quiz .step .service .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.quiz .step .service .check
{
    position: absolute;
    z-index: 3;
    bottom: 13px;
    left: 13px;

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

    width: 20px;
    height: 20px;

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


.quiz .step .service .check .icon
{
    display: block;

    width: 9px;
    height: 9px;

    transition: opacity .2s linear;

    opacity: 0;
}


.quiz .step .service input:checked ~ .check .icon
{
    opacity: 1;
}


.quiz .step .service .name
{
    font-size: 10px;
    line-height: 120%;

    position: absolute;
    z-index: 3;
    right: 13px;
    bottom: 13px;

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

    width: 100%;
    width: calc(100% - 55px);
    min-height: 20px;

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

    color: #eee;
}


.quiz .step .row
{
    align-content: stretch;
    align-items: stretch;

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


.quiz .step .row > *
{
    width: calc(33.333% - 15px);
    margin-bottom: 15px;
    margin-left: 15px;
}


.quiz .step .option
{
    position: relative;

    cursor: pointer;
}


.quiz .step .option input
{
    display: none;
}


.quiz .step .option .check
{
    position: absolute;
    z-index: 3;
    top: 13px;
    left: 13px;

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

    width: 20px;
    height: 20px;

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


.quiz .step .option .check .icon
{
    display: block;

    width: 9px;
    height: 9px;

    transition: opacity .2s linear;

    opacity: 0;
}


.quiz .step .option .check + div
{
    font-size: 10px;
    line-height: 120%;

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

    min-height: 46px;
    padding: 13px 13px 13px 42px;

    transition: background .2s linear;
    letter-spacing: 1px;
    text-transform: uppercase;

    color: #000;
    border-radius: 0 10px;
    background: #f3efed;
}


.quiz .step .option input:checked ~ .check .icon
{
    opacity: 1;
}


.quiz .step .option input:checked ~ .check + div
{
    background: #d5cbc6;
}



.quiz .step1 .swiper
{
    overflow: visible !important;
}


.quiz .step1 .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.quiz .step1 .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.quiz .step1 .swiper-button-next,
.quiz .step1 .swiper-button-prev
{
    position: absolute;
    top: 0;
    bottom: 0;

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

    width: 40px;
    height: 40px;
    margin: auto 0;

    border-radius: 50%;
    border-radius: 100px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.quiz .step1 .swiper-button-prev
{
    left: -24px;
}


.quiz .step1 .swiper-button-next
{
    right: -24px;
    left: auto;
}


.quiz .step1 .swiper-button-next .icon,
.quiz .step1 .swiper-button-prev .icon
{
    display: block;

    width: 10px;
    height: 20px;

    transform: none;
}


.quiz .step1 .swiper-button-prev .icon
{
    transform: rotate(180deg);
}


.quiz .step1 .swiper-button-next.swiper-button-disabled,
.quiz .step1 .swiper-button-prev.swiper-button-disabled
{
    display: none;
}



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


.quiz .step3 .form .line
{
    width: calc(100% - 167px);
    margin-bottom: 0;
}


.quiz .step3 .form .line.file
{
    width: 152px;
    max-width: 100%;
}



.quiz .step4 .form .line
{
    margin-bottom: 0;
}



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


.quiz .step5 .form .line
{
    width: calc((100% - 260px) / 2);
}


.quiz .step5 .form .line.contacts_method
{
    width: 240px;
    max-width: 100%;
}


.quiz .step5 .form .submit
{
    justify-content: flex-start;

    width: 100%;
    padding: 0;
}



.quiz .bottom
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 40px;

    gap: 8px;
}


.quiz .bottom .prev_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 60px;
    height: 60px;

    transition: .2s linear;

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


.quiz .bottom .prev_btn .icon
{
    display: block;

    width: 8px;
    height: 12px;

    transform: rotate(180deg);
}


.quiz .bottom .prev_btn:hover
{
    background: #453e3b;
}


.quiz .bottom .prev_btn.disabled
{
    pointer-events: none;

    color: #382312;
    background: #eadfda;
}


.quiz .bottom .next_btn
{
    font-size: 12px;
    line-height: 120%;

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

    width: 262px;
    max-width: 100%;
    height: 60px;

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    border: 1px solid #f3efed;
    border-radius: 45px;
    background: #665c57;

    gap: 10px;
}


.quiz .bottom .next_btn .icon
{
    display: block;

    width: 8px;
    height: 12px;
}


.quiz .bottom .next_btn:hover
{
    background: #453e3b;
}


.quiz .bottom .next_btn.disabled
{
    pointer-events: none;

    color: #382312;
    background: #eadfda;
}


.quiz .bottom .progress
{
    font-size: 10px;

    width: calc(100% - 353px);
    margin-left: auto;

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

    color: #382312;
}


.quiz .bottom .progress .line
{
    height: 5px;
    margin-top: 7px;

    border-radius: 3px;
    background: #f3efed;
}


.quiz .bottom .progress .line div
{
    height: 5px;

    transition: width .2s linear;

    border-radius: 3px;
    background: #eadfda;
}



/*--------------
    Articles
--------------*/
.articles .swiper
{
    overflow: visible !important;
}


.articles .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.articles .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.articles .swiper .controls
{
    right: 0;
    bottom: 100%;

    margin-bottom: 48px;
    padding: 0;

    border-radius: 0;
    background: none;
}


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

    margin-bottom: -14px;
    margin-left: -15px;
}


.articles .row > *
{
    width: calc(33.333% - 15px);
    margin-bottom: 14px;
    margin-left: 15px;
}


.articles .article
{
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 19px;

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

    color: currentColor;
    border: 1px solid transparent;
    border-radius: 10px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.articles .article .thumb
{
    position: relative;

    display: block;

    margin-bottom: 20px;
    padding-bottom: 63.437%;

    border: 1px solid #f3efed;
    background: #ddd;
}


.articles .article .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.articles .article .name
{
    font-size: 16px;

    color: #382312;
}


.articles .article .desc
{
    font-size: 14px;
    font-weight: 300;
    line-height: 120%;

    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;

    margin-top: 16px;

    color: #9e9394;

    -webkit-line-clamp: 5;
}


.articles .article:hover
{
    border-color: #665c57;
}



/*------------------
    Article info
------------------*/
.article_info .head
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-bottom: 60px;

    gap: 15px;
}


.article_info .head .thumb
{
    position: relative;

    display: block;

    width: 100%;
    padding-bottom: 33.655%;

    border-radius: 15px 0;
    background: #ddd;
}


.article_info .head .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



.article_info .author
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: 20px;
}


.article_info .author .photo
{
    display: block;

    width: 60px;
    height: 60px;

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


.article_info .author .photo img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.article_info .author .photo + *
{
    font-size: 14px;
    line-height: 120%;

    display: flex;
    align-self: center;
    flex-direction: column;

    max-width: calc(100% - 80px);

    color: #000;

    gap: 10px;
}


.article_info .author .name
{
    font-weight: 500;

    letter-spacing: .84px;
    text-transform: uppercase;
}


.article_info .author .post
{
    font-weight: 300;
}



.article_info .share .btn
{
    font-size: 12px;
    font-weight: 300;

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

    height: 44px;
    padding: 0 19px;

    transition: border-color .2s linear;
    text-decoration: none;
    letter-spacing: 1.44px;
    text-transform: uppercase;

    color: #382312;
    border: 1px solid transparent;
    border-radius: 5px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 12px;
}


.article_info .share .icon
{
    display: block;

    width: 14px;
    height: 14px;

    color: #503f32;
}


.article_info .share .btn:hover
{
    border-color: #665c57;
}



/*---------------
    TG widget
---------------*/
.tg_widget
{
    display: flex;
    flex-direction: column;

    padding: 30px;

    text-align: center;

    border-radius: 10px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 29px;
}


.tg_widget .title
{
    color: #382312;
}


.tg_widget .desc
{
    font-size: 14px;
    font-weight: 300;

    color: #382312;
}


.tg_widget .link a
{
    font-size: 10px;
    line-height: 120%;

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

    height: 50px;
    padding: 0 20px;

    transition: background .2s linear;
    text-decoration: none;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #fff;
    border: 1px solid #f3efed;
    border-radius: 45px;
    background: #38b0e3;

    gap: 10px;
}


.tg_widget .link .icon
{
    display: block;

    width: 16px;
    height: 14px;
}


.tg_widget .link a:hover
{
    background: #1c8dbc;
}



/*----------------------
    Related articles
----------------------*/
.related_articles .block_head
{
    display: none;
}


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


.related_articles .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.related_articles .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.related_articles .swiper .controls
{
    right: 0;
    bottom: 100%;

    display: none;

    margin-bottom: 44px;
    padding: 0;

    border-radius: 0;
    background: none;
}


.products .swiper-slide .project .info
{
    padding: 16px 15px;
}


.products .swiper-slide .project .name
{
    width: 100%;
}


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

    gap: 15px;
}


.related_articles .article
{
    display: flex;
    flex-direction: column;

    padding: 19px;

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

    color: #382312;
    border: 1px solid transparent;
    border-radius: 0 10px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 20px;
}


.related_articles .article .thumb
{
    position: relative;

    display: block;

    padding-bottom: 71.748%;

    border: 1px solid #f3efed;
    background: #ddd;
}


.related_articles .article .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.related_articles .article .name
{
    font-size: 16px;
}


.related_articles .article:hover
{
    border-color: #665c57;
}



/*-------------------
    Contacts info
-------------------*/
.contacts_info .row
{
    gap: 40px 50px;
}


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

    gap: 6px;
}


.contacts_info .item .label
{
    font-size: 16px;
    font-weight: 300;
    line-height: 120%;

    color: #382312;
}


.contacts_info .item .val
{
    font-size: 28px;

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

    color: #382312;

    gap: 20px;
}


.contacts_info .item .val a
{
    transition: currentColor .2s linear;
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


.contacts_info .item .val a:hover
{
    color: #151414;
}


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

    gap: 6px;
}


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

    width: 35px;
    height: 35px;

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

    color: #382312;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.contacts_info .item .messengers .icon
{
    display: block;

    width: 16px;
    height: 16px;
}


.contacts_info .item .messengers a:hover
{
    background: #f3efed;
}



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

    margin-top: 60px;

    gap: 40px 20px;
}



.contacts_info .map
{
    position: relative;

    overflow: hidden;

    width: calc(100% - 380px);
    height: 404px;

    border-radius: 15px 0;
    background: #ddd;
}



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

    width: calc(100% - 380px);

    gap: 12px;
}


.contacts_info .requisite .label
{
    font-size: 16px;
    font-weight: 300;
    line-height: 120%;

    color: #382312;
}


.contacts_info .requisite .val
{
    font-size: 24px;

    color: #382312;
}



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

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

    gap: 20px;
}


.contacts_info .files .file
{
    display: block;
    display: flex;
    flex-direction: column;

    padding: 19px;

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

    border: 1px solid transparent;
    border-radius: 0 10px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 30px;
}


.contacts_info .files .file .name
{
    font-size: 20px;

    color: #382312;
}


.contacts_info .files .file .type
{
    font-size: 14px;

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

    color: #382312;

    gap: 10px;
}


.contacts_info .files .file .type .icon
{
    display: block;

    width: 18px;
    height: 18px;

    color: #503f32;
}


.contacts_info .files .file:hover
{
    border-color: #665c57;
}



/*--------------
    Feedback
--------------*/
.feedback .data
{
    padding: 80px 128px;

    border-radius: 15px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.feedback .title
{
    font-size: 36px;
    font-weight: 300;
    line-height: 100%;

    margin-bottom: 40px;

    text-align: center;
    letter-spacing: 2.16px;
    text-transform: uppercase;

    color: #382312;
}



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


.projects .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.projects .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.projects .swiper .controls
{
    right: 0;
    bottom: 100%;

    margin-bottom: 44px;
    padding: 0;

    border-radius: 0;
    background: none;
}


.projects .swiper:not(.big) .project .info
{
    padding: 16px 15px;
}


.projects .swiper:not(.big) .project .name
{
    width: 100%;
}


.projects .row
{
    margin-bottom: -15px;
    margin-left: -15px;
}


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


.projects .project
{
    position: relative;

    display: block;

    text-decoration: none;

    color: currentColor;
}


.projects .project .thumb
{
    position: relative;

    display: block;

    padding-bottom: 66.362%;

    border-radius: 15px;
    background: #ddd;
}


.projects .project:nth-child(1) .thumb
{
    border-top-left-radius: 0;
}

.projects .project:nth-child(2) .thumb
{
    border-top-right-radius: 0;
}

.projects .project:nth-last-child(1) .thumb
{
    border-bottom-right-radius: 0;
}

.projects .project:nth-last-child(2) .thumb
{
    border-bottom-left-radius: 0;
}


.projects .project .thumb:after
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 93px;
    max-height: 100%;

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

    border-radius: 0 0 15px 15px;
    background: linear-gradient(359deg, #2c2122 -13.6%, rgba(44, 33, 34, .00) 99.29%);
}


.projects .project .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.projects .project .info
{
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

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

    width: 100%;
    padding: 20px 25px;

    color: #fff;
}


.projects .project .name
{
    font-size: 16px;
    font-weight: 300;
    line-height: 120%;

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


.projects .project .arrow
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 30px;
    height: 30px;
    padding-left: 2px;

    transition: background .2s linear;

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


.projects .project .arrow .icon
{
    display: block;

    width: 8px;
    height: 12px;
}


.projects .project:hover .thumb:after
{
    height: 207px;
}


.projects .project:hover .arrow
{
    background: rgba(255, 255, 255, .76);
}



/*------------------
    Project info
------------------*/
.project_info .cont
{
    display: flex;
    flex-direction: column;

    gap: 76px;
}


.project_info .head_slider
{
    position: relative;
}


.project_info .head_slider .swiper
{
    border-radius: 15px 0;
}


.project_info .head_slider .zoom
{
    position: absolute;
    z-index: 9;
    bottom: 20px;
    left: 20px;

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

    width: 60px;
    height: 60px;

    transition: background .2s linear;
    pointer-events: none;

    color: #503f32;
    border-radius: 50%;
    background: rgba(243, 239, 237, .8);
}


.project_info .head_slider .zoom .icon
{
    display: block;

    width: 28px;
    height: 28px;
}


.project_info .head_slider:hover .zoom
{
    background: #f3efed;
}


.project_info .head_slider .swiper-slide a
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.project_info .head_slider .image
{
    position: relative;

    display: block;

    min-height: 219px;
    padding-bottom: 45.045%;

    background: #ddd;
}


.project_info .head_slider .image:after
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 93px;

    content: '';

    background: linear-gradient(359deg, #2c2122 -13.6%, rgba(44, 33, 34, .00) 99.29%);
}


.project_info .head_slider .image img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



.project_info .slogan
{
    font-size: 22px;
    font-weight: 300;
    line-height: 140%;

    padding: 40px 0;

    text-align: center;

    color: #000;
}


.project_info .slogan > div
{
    width: 528px;
    max-width: 100%;
    margin: 0 auto;
}



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


.project_info .data .section + .section
{
    margin-top: 60px;
}


.project_info .data .info
{
    display: flex;
    align-self: center;
    flex-direction: column;

    width: calc(50% - 22px);

    color: #000;

    gap: 40px;
}


.project_info .data .info > *
{
    display: flex;
    flex-direction: column;

    gap: 20px;
}


.project_info .data .info .title
{
    font-size: 32px;
    font-weight: 300;
    line-height: 120%;
}


.project_info .data .info .desc
{
    font-size: 16px;
    font-weight: 300;
    line-height: 140%;
}


.project_info .data .images
{
    position: relative;

    width: calc(50% - 7px);
}


.project_info .data .swiper
{
    border-radius: 15px 0;
}


.project_info .data .zoom
{
    position: absolute;
    z-index: 9;
    bottom: 20px;
    left: 20px;

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

    width: 60px;
    height: 60px;

    transition: background .2s linear;
    pointer-events: none;

    color: #503f32;
    border-radius: 50%;
    background: rgba(243, 239, 237, .8);
}


.project_info .data .zoom .icon
{
    display: block;

    width: 28px;
    height: 28px;
}


.project_info .data .images:hover .zoom
{
    background: #f3efed;
}


.project_info .data .swiper-slide a
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.project_info .data .image
{
    position: relative;

    display: block;

    min-height: 220px;
    padding-bottom: 56.124%;

    background: #ddd;
}


.project_info .data .image:after
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 93px;

    content: '';

    background: linear-gradient(359deg, #2c2122 -13.6%, rgba(44, 33, 34, .00) 99.29%);
}


.project_info .data .image img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



/*--------------
    Services
--------------*/
.services .swiper
{
    overflow: visible !important;
}


.services .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.services .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.services .swiper .controls
{
    right: 0;
    bottom: 100%;

    margin-bottom: 48px;
    padding: 0;

    border-radius: 0;
    background: none;
}


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

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


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


.services .service
{
    display: flex;
    flex-direction: column;

    padding: 29px 32px;

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

    color: currentColor;
    border: 1px solid transparent;
    border-radius: 0 10px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 30px;
}


.services .service:nth-child(2n+1)
{
    border-radius: 10px 0;
}


.services .service .name
{
    font-size: 32px;
    font-weight: 300;
    line-height: 120%;

    color: #000;
}


.services .service .desc
{
    font-size: 16px;
    font-weight: 300;
    line-height: 140%;

    color: #9e9394;
}


.services .service .arrow
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 50px;
    height: 50px;
    margin-top: auto;
    margin-left: auto;

    color: #382312;
    border-radius: 50%;
    background: #f3efed;
}


.services .service .arrow .icon
{
    display: block;

    width: 8px;
    height: 12px;
}


.services .service.small
{
    text-align: center;
}


.services .service.small .name
{
    font-size: 16px;
    font-weight: 400;
    line-height: normal;

    color: #382312;
}


.services .service:hover
{
    border-color: #665c57;
}



/*----------------
    About info
----------------*/
.about_info .video
{
    position: relative;
}


.about_info .video .thumb
{
    position: relative;

    display: block;

    padding-bottom: 39.459%;

    border-radius: 15px 0;
    background: #ddd;
}


.about_info .video .thumb:after
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 303px;
    max-height: 100%;

    content: '';

    border-radius: inherit;
    background: linear-gradient(359deg, #2c2122 -13.6%, rgba(44, 33, 34, .00) 99.29%);
}


.about_info .video .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.about_info .video .btn
{
    font-size: 12px;
    line-height: 140%;

    position: absolute;
    z-index: 3;
    bottom: 20px;
    left: 20px;

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

    text-align: left;
    letter-spacing: .84px;
    text-transform: uppercase;

    color: #fffbf9;

    gap: 20px;
}


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

    width: 60px;
    height: 60px;
    padding: 10px;

    transition: background .2s linear;

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


.about_info .video .btn .icon svg
{
    display: block;

    width: 11px;
    height: 13px;
}


.about_info .video .btn:hover .icon
{
    background: #eae4e3;
}



/*-------------
    Persons
-------------*/
.persons .row
{
    align-content: stretch;
    align-items: stretch;

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


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


.persons .person
{
    display: flex;
    flex-direction: column;

    padding: 20px 20px 0;

    border-radius: 0 15px 0 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.persons .person .photo
{
    position: relative;

    display: block;

    padding-bottom: 108.125%;

    background: #ddd;
}


.persons .person .photo img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.persons .person .info
{
    display: flex;
    flex-direction: column;

    margin-right: -5px;
    margin-left: -5px;
    padding: 18px 0;

    gap: 10px;
}


.persons .person .name
{
    font-weight: 400;
    line-height: 120%;

    color: #382312;
}


.persons .person .post
{
    font-size: 14px;
    font-weight: 300;
    line-height: 120%;

    color: #9e9394;
}



/*-------------------
    Photo gallery
-------------------*/
.photo_gallery .row
{
    margin-bottom: -15px;
    margin-left: -15px;
}


.photo_gallery .row > *
{
    width: calc(25% - 15px);
    margin-bottom: 15px;
    margin-left: 15px;
}


.photo_gallery .item
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.photo_gallery .image
{
    position: relative;

    display: block;

    padding-bottom: 100%;

    background: #ddd;
}


.photo_gallery .image:before
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

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

    opacity: 0;
    background: #403434;
}


.photo_gallery .item:nth-child(1) .image
{
    border-top-left-radius: 15px;
}

.photo_gallery .item:nth-child(4) .image
{
    border-top-right-radius: 15px;
}

.photo_gallery .item:nth-last-child(1) .image
{
    border-bottom-right-radius: 15px;
}

.photo_gallery .item:nth-last-child(4) .image
{
    border-bottom-left-radius: 15px;
}


.photo_gallery .image img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.photo_gallery .image .icon
{
    position: absolute;
    z-index: 9;

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

    width: 60px;
    height: 60px;
    margin: auto;

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

    opacity: 0;
    color: #503f32;
    border-radius: 50%;
    background: rgba(243, 239, 237, .8);

    inset: 0;
}


.photo_gallery .image .icon svg
{
    display: block;

    width: 28px;
    height: 28px;
}


.photo_gallery .item:hover .image:before
{
    opacity: .4;
}


.photo_gallery .item:hover .image .icon
{
    opacity: 1;
}



/*------------------
    Service info
------------------*/
.service_info .cont
{
    display: flex;
    flex-direction: column;

    gap: 76px;
}


.service_info .main_image
{
    position: relative;

    display: block;

    padding-bottom: 39.459%;

    border-radius: 15px 0;
    background: #ddd;
}


.service_info .main_image img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



/*---------
    FAQ
---------*/
.FAQ .add_btn
{
    font-size: 12px;
    line-height: 120%;

    height: 60px;
    margin-top: 40px;
    padding: 0 49px;

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    border: 1px solid #f3efed;
    border-radius: 45px;
    background: #665c57;
}


.FAQ .add_btn:hover
{
    background: #453e3b;
}



/*-------------
    Catalog
-------------*/
.catalog .swiper
{
    overflow: visible !important;
}


.catalog .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.catalog .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.catalog .swiper .controls
{
    right: 0;
    bottom: 100%;

    margin-bottom: 48px;
    padding: 0;

    border-radius: 0;
    background: none;
}


.catalog .row
{
    justify-content: center;

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


.catalog .row + .row
{
    margin-top: 40px;
}


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

.catalog .row.big > *
{
    width: calc(50% - 15px);
}


.catalog .category
{
    position: relative;

    display: block;

    text-decoration: none;

    color: currentColor;
}


.catalog .category .thumb
{
    position: relative;

    display: block;

    padding-bottom: 100%;

    border-radius: 15px;
    background: #ddd;
}


.catalog .category:nth-child(1) .thumb
{
    border-top-left-radius: 0;
}

.catalog .category:nth-child(3) .thumb
{
    border-top-right-radius: 0;
}

.catalog .category:nth-last-child(1) .thumb
{
    border-bottom-right-radius: 0;
}

.catalog .category:nth-last-child(3) .thumb
{
    border-bottom-left-radius: 0;
}


.catalog .category .thumb:after
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 93px;
    max-height: 100%;

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

    border-radius: 0 0 15px 15px;
    background: linear-gradient(360deg, #2c2122 -49.2%, rgba(44, 33, 34, .00) 98.26%);
}


.catalog .category .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.catalog .category .info
{
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

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

    width: 100%;
    padding: 20px 25px;

    color: #fff;
}


.catalog .category .name
{
    font-size: 16px;
    font-weight: 300;
    line-height: 120%;

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


.catalog .category .arrow
{
    display: flex;
    align-content: center;
    align-items: center;
    align-self: flex-end;
    flex-wrap: wrap;
    justify-content: center;

    width: 30px;
    height: 30px;
    padding-left: 2px;

    transition: background .2s linear;

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


.catalog .category .arrow .icon
{
    display: block;

    width: 8px;
    height: 12px;
}


.catalog .big .category .thumb
{
    padding-bottom: 360px;
}


.catalog .big .category .thumb:after
{
    height: 106px;
}


.catalog .big .category .name
{
    font-size: 24px;
    line-height: 120%;
}


.catalog .category:hover .thumb:after
{
    height: 100%;
}


.catalog .category:hover .arrow
{
    background: rgba(255, 255, 255, .76);
}



/*--------------
    Products
--------------*/
.products .head
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: 20px;

    gap: 20px;
}


.products .head .filter_btn
{
    font-size: 12px;
    font-weight: 300;

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

    height: 40px;
    padding: 0 19px;

    transition: border-color .2s linear;
    letter-spacing: 1.44px;
    text-transform: uppercase;

    color: #382312;
    border: 1px solid transparent;
    border-radius: 5px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 6px;
}


.products .head .filter_btn .icon
{
    display: block;

    width: 12px;
    height: 8px;
}


.products .head .filter_btn:hover
{
    border-color: #665c57;
}


.products .head .sort
{
    position: relative;
}


.products .head select
{
    display: none;
}


.products .head .nice-select
{
    position: relative;

    cursor: pointer;
}


.products .head .nice-select .current
{
    font-size: 12px;
    font-weight: 300;

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

    padding-right: 19px;

    cursor: pointer;
    white-space: nowrap;
    letter-spacing: 1.44px;
    text-transform: uppercase;
    text-overflow: ellipsis;

    color: #382312;
}


.products .head .nice-select-dropdown
{
    position: absolute;
    z-index: 9;
    top: 100%;
    left: -20px;

    visibility: hidden;
    overflow: hidden;

    min-width: calc(100% + 40px);
    margin-top: 10px;
    padding: 20px;

    transition: .2s linear;
    transform: none;

    opacity: 0;
    border-radius: 5px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.products .head .nice-select .list
{
    display: flex;
    overflow: auto;
    flex-direction: column;

    gap: 10px;
    overscroll-behavior-y: contain;
}


.products .head .nice-select .list .option
{
    font-size: 12px;
    font-weight: 300;

    display: block;

    list-style-type: none;

    cursor: pointer;
    white-space: nowrap;
    letter-spacing: 1.44px;
    text-transform: uppercase;

    color: #382312;
}


.products .head .nice-select .list .option:empty
{
    display: none;
}


.products .head select ~ .arr
{
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;

    display: block;

    width: 8px;
    height: 12px;
    margin: auto 0;

    transform: rotate(90deg);
    pointer-events: none;

    color: #382312;
}


.products .head .nice-select.open .nice-select-dropdown
{
    visibility: visible;

    transform: none;

    opacity: 1;
}


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


.products .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.products .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.products .swiper .controls
{
    right: 0;
    bottom: 100%;

    margin-bottom: 44px;
    padding: 0;

    border-radius: 0;
    background: none;
}


.products .swiper-slide .project .info
{
    padding: 16px 15px;
}


.products .swiper-slide .project .name
{
    width: 100%;
}


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

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


.products .row > *
{
    width: calc(25% - 15px);
    margin-bottom: 15px;
    margin-left: 15px;
}

.products .row.row_three > *
{
    width: calc(33.3% - 15px);
    margin-bottom: 15px;
    margin-left: 15px;
}


.products .product
{
    position: relative;

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

    border-radius: 15px 15px 0 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.products .row .product:nth-child(1)
{
    border-top-left-radius: 0;
}

.products .row .product:nth-child(4)
{
    border-top-right-radius: 0;
}

.products .row .product:nth-last-child(1)
{
    border-bottom-right-radius: 0;
}

.products .row .product:nth-last-child(4)
{
    border-bottom-left-radius: 0;
}


.products .product .favorite_btn
{
    position: absolute;
    z-index: 3;
    top: 7px;
    right: 9px;

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

    width: 30px;
    height: 30px;

    transition: background .2s linear;

    border-radius: 50%;
    background: rgba(243, 239, 237, .8);
}


.products .product .favorite_btn .icon
{
    display: block;

    width: 16px;
    height: 14px;
}


.products .product .favorite_btn:hover
{
    background: rgba(255, 255, 255, .8);
}


.products .product .favorite_btn .icon + .icon,
.products .product .favorite_btn.active .icon
{
    display: none;
}


.products .product .favorite_btn.active .icon + .icon
{
    display: block;
}


.products .product .thumb
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.products .product .thumb .image
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    background: #ddd;
}

.products .row_three .product .thumb .image{
    padding-bottom: 55.5%;
}


.products .product .thumb .image:before
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

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

    opacity: 0;
    background: #403434;
}


.products .product .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.products .product .thumb img.hover{
    opacity: 0;
    transition: 0.2s;
    width: 50%;
    right: 0;
    left: inherit;
}

.products .product .thumb:hover img.hover{
    opacity: 1;
}


.products .product .info
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;

    padding: 18px 15px;
}


.products .product .name
{
    line-height: 120%;

    color: #382312;
}


.products .product .name a
{
    display: inline-block;

    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}


.products .product .features
{
    font-size: 14px;
    font-weight: 300;
    line-height: 120%;

    margin-top: 10px;

    color: #9e9394;
}


.products .product .buy
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 16px;
}


.products .product .price
{
    line-height: 120%;

    color: #382312;
}


.products .product .price span
{
    color: #9e9394;
}


.products .product .buy_btn
{
    font-size: 10px;
    line-height: 120%;

    padding: 12px 15px;

    transition: background .2s linear;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #fff;
    border-radius: 45px;
    background: #a0938d;
}


.products .product .buy_btn:hover
{
    background: #453e3b;
}


.products .product:hover .thumb:before
{
    opacity: .4;
}



/*------------------
    Product info
------------------*/
.product_info .cont
{
    align-content: stretch;
    align-items: stretch;
    justify-content: space-between;
}


.product_info .images
{
    position: relative;

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


.product_info .images .btns
{
    position: absolute;
    z-index: 9;
    top: 13px;
    right: 13px;

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

    gap: 6px;
}


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

    width: 40px;
    height: 40px;

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

    color: #503f32;
    border-radius: 50%;
    background: rgba(243, 239, 237, .8);
}


.product_info .images .btns .icon
{
    display: block;

    width: 18px;
    height: 18px;
}


.product_info .images .btns .btn:hover
{
    background: rgba(255, 255, 255, .8);
}


.product_info .images .btns .favorite_btn .icon + .icon,
.product_info .images .btns .favorite_btn.active .icon
{
    display: none;
}


.product_info .images .btns .favorite_btn.active .icon + .icon
{
    display: block;
}


.product_info .images .swiper
{
    position: absolute;

    border-radius: 15px 0 15px 15px;
    box-shadow: 0 0 8px 0 #f0e8e0;

    inset: 0;
}


.product_info .images .swiper .controls
{
    right: auto;
    bottom: 30px;
    left: 105px;
}


.product_info .images .swiper-slide
{
    display: flex;
    flex-direction: column;
}


.product_info .images .link
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;

    text-decoration: none;

    color: currentColor;
}


.product_info .images .image
{
    position: relative;

    display: block;
    flex-grow: 1;

    background: #ddd;
}


.product_info .images .image img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.product_info .images .zoom
{
    position: absolute;
    z-index: 9;
    bottom: 20px;
    left: 20px;

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

    width: 60px;
    height: 60px;

    transition: background .2s linear;
    pointer-events: none;

    color: #503f32;
    border-radius: 50%;
    background: rgba(243, 239, 237, .8);
}


.product_info .images .zoom .icon
{
    display: block;

    width: 28px;
    height: 28px;
}


.product_info .images:hover .zoom
{
    background: #f3efed;
}


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

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


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

    margin-bottom: 14px;
}


.product_info .prev_next .link
{
    font-size: 12px;
    font-weight: 300;

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

    width: calc(50% - 7px);
    height: 40px;
    padding: 0 19px;

    transition: border-color .2s linear;
    text-decoration: none;
    letter-spacing: 1.44px;
    text-transform: uppercase;

    color: #382312;
    border: 1px solid transparent;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 10px;
}


.product_info .prev_next .link .icon
{
    display: block;

    width: 12px;
    height: 10px;
}


.product_info .prev_next .link.next .icon
{
    transform: rotate(180deg);
}


.product_info .prev_next .link:hover
{
    border-color: #665c57;
}


.product_info .section
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;

    padding: 20px;

    border-radius: 0 15px 15px 15px;
    background: #fff;

    gap: 16px;
}


.product_info .individual
{
    font-size: 14px;
    font-weight: 300;
    line-height: 120%;

    text-align: center;

    color: #382312;
}


.product_info .features > *
{
    font-size: 16px;
    font-weight: 300;
    line-height: 120%;

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

    padding: 11px 19px;

    color: #382312;
    border: 1px solid #f3efed;

    gap: 20px;
}


.product_info .features > *:nth-child(2n)
{
    background: #f3efed;
}


.product_info .features .label
{
    font-weight: 400;
}


.product_info .schema
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 14px;
}


.product_info .schema .link
{
    position: relative;

    display: block;

    width: 194px;
    max-width: calc(50% - 7px);
    padding-bottom: 194px;

    text-decoration: none;

    color: currentColor;
}


.product_info .schema .image
{
    position: absolute;

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

    width: 100%;
    height: 100%;
    padding: 9px;

    border: 1px solid #f3efed;
}


.product_info .schema .image img
{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


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

    margin-top: auto;
    padding: 17px;

    border: 1px solid #f3efed;
}


.product_info .buy_by_phone .label
{
    font-size: 12px;
    line-height: 120%;

    margin-right: 10px;

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

    color: #432914;
}


.product_info .buy_by_phone .phone
{
    font-size: 14px;
    font-weight: 500;
    line-height: 120%;

    white-space: nowrap;
    text-transform: uppercase;
}


.product_info .buy_by_phone .phone a
{
    transition: color .2s linear;
    text-decoration: none;

    color: currentColor;
}


.product_info .buy_by_phone .phone a:hover
{
    color: #151414;
}


.product_info .buy_by_phone .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 16px;

    gap: 6px;
}


.product_info .buy_by_phone .messengers a
{
    display: block;

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

    color: currentColor;
    border-radius: 50%;
}


.product_info .buy_by_phone .messengers .icon
{
    display: block;

    width: 24px;
    height: 24px;

    border-radius: inherit;
}


.product_info .buy_by_phone .messengers a:hover
{
    color: #151414;
}


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

    margin-top: 4px;
}


.product_info .price
{
    font-size: 30px;
    line-height: 120%;

    color: #382312;
}


.product_info .price span
{
    color: #9e9394;
}


.product_info .buy_btn
{
    font-size: 12px;
    line-height: 120%;

    height: 60px;
    padding: 0 49px;

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    border: 1px solid #f3efed;
    border-radius: 45px;
    background: #665c57;
}


.product_info .buy_btn:hover
{
    background: #453e3b;
}



/*-------------------------
    Product description
-------------------------*/
.product_description .block_head
{
    margin-bottom: 0;
}


.product_description .cont
{
    display: flex;
    flex-direction: column;

    gap: 40px;
}


.product_description .video iframe
{
    display: block;

    width: 100%;
    height: 480px;
}


.product_description .video .thumb
{
    position: relative;

    display: block;

    padding-bottom: 43.243%;

    background: #ddd;
}


.product_description .video .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



/*----------------
    Big banner
----------------*/
.big_banner .data
{
    position: relative;

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

    height: 500px;
    padding: 60px;

    text-align: center;

    color: #fff;
    border-radius: 15px 0;
    background: #ddd;
}


.big_banner .data > *
{
    position: relative;
    z-index: 3;
}


.big_banner .bg,
.big_banner .bg img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    pointer-events: none;
}


.big_banner .bg:before
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background: rgba(44, 33, 34, .60);
}


.big_banner .bg:after
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 308px;
    max-height: 100%;

    content: '';

    background: linear-gradient(180deg, #2c2122 -5.33%, rgba(44, 33, 34, .00) 100%);
}


.big_banner .title
{
    font-size: 36px;
    font-weight: 300;
    line-height: 120%;

    width: 100%;

    letter-spacing: 2.16px;
    text-transform: uppercase;
}


.big_banner .desc
{
    font-weight: 300;
    line-height: 120%;

    width: 100%;
    margin-top: 20px;
}


.big_banner .link
{
    width: 100%;
    margin-top: 60px;
}


.big_banner .link a
{
    font-size: 12px;
    line-height: 120%;

    display: inline-block;

    padding: 19px 49px;

    transition: background .2s linear;
    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    color: #010000;
    border: 1px solid #f3efed;
    border-radius: 45px;
    background: #fff;
}


.big_banner .link a:hover
{
    background: rgba(255, 255, 255, .80);
}



/*------------
    Filter
------------*/
#filter
{
    position: fixed;
    z-index: 101;
    top: 0;
    right: 100%;

    display: flex;
    overflow-y: auto;
    flex-direction: column;

    width: 305px;
    max-width: 100%;
    height: 100%;
    padding-bottom: 10px;

    transition: .2s linear;

    background: #fff;

    overscroll-behavior-y: contain;
}


#filter.show
{
    transform: translateX(100%);
}


#filter .close_btn
{
    position: absolute;
    z-index: 10;
    top: 30px;
    right: 30px;

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

    width: 30px;
    height: 30px;

    color: #382312;
}


#filter .close_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}


#filter .title
{
    font-size: 24px;
    line-height: 120%;

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

    margin-bottom: 40px;
    padding: 30px 30px 0;

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

    color: #000;
}


#filter .form
{
    display: flex;
    flex-direction: column;
    flex-grow: 1;

    gap: 20px;
}


#filter .form .item
{
    display: flex;
    flex-direction: column;

    padding: 20px 30px;

    gap: 20px;
}


#filter .form .item + .item
{
    border-top: 1px solid #f3efed;
}


#filter .form .name
{
    font-weight: 300;

    color: #382312;
}


#filter .form .range
{
    display: flex;
    flex-direction: column;

    gap: 20px;
}


#filter .form .range .fields
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}


#filter .form .range .field
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    width: calc(50% - 25px);
}


#filter .form .range .label
{
    font-size: 12px;
    line-height: 100%;

    letter-spacing: .84px;
    text-transform: uppercase;

    color: #382312;
}


#filter .form .range .input
{
    font-size: 12px;

    width: calc(100% - 26px);
    height: 36px;

    text-align: center;
    letter-spacing: .84px;
    text-transform: uppercase;

    color: #382312;
}


#filter .form .submit
{
    margin-top: auto;
}



/*------------
    Menu
------------*/
#menu
{
    position: fixed;
    z-index: 101;
    top: 0;
    right: 100%;

    display: flex;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;

    width: 495px;
    max-width: 100%;
    height: 100%;
    padding: 40px 85px;

    transition: .2s linear;

    background: #fff;

    gap: 40px;
    overscroll-behavior-y: contain;
}


#menu.show
{
    transform: translateX(100%);
}


#menu .close_btn
{
    position: absolute;
    z-index: 10;
    top: 30px;
    right: 30px;

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

    width: 30px;
    height: 30px;

    color: #382312;
}


#menu .close_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}


#menu .menu
{
    font-size: 20px;

    display: flex;
    flex-direction: column;

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

    gap: 30px;
}


#menu .menu a
{
    display: inline-block;

    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}



#menu .catalog_menu
{
    position: absolute;
    z-index: 5;
    top: 0;
    left: 100%;

    display: flex;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;

    width: 100%;
    height: 100%;
    padding: 40px 85px;

    transition: transform .3s linear;

    background: #fff;

    overscroll-behavior-y: contain;
    gap: 40px;
}


#menu .catalog_menu.show
{
    transform: translateX(-100%);
}


#menu .catalog_menu .back .btn
{
    font-size: 20px;

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

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

    gap: 30px;
}


#menu .catalog_menu .back .btn .icon
{
    display: block;

    width: 8px;
    height: 12px;

    transform: rotate(180deg);
}


#menu .catalog_menu .items
{
    font-size: 16px;

    display: flex;
    flex-direction: column;

    gap: 20px;
}


#menu .catalog_menu .items a
{
    display: inline-block;

    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}



#menu .contacts
{
    font-size: 14px;
    font-weight: 300;

    display: flex;
    flex-direction: column;

    margin-top: auto;

    color: #3a3636;

    gap: 20px;
}


#menu .contacts a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



/*---------------
    Favorites
---------------*/
#favorites
{
    position: fixed;
    z-index: 101;
    top: 0;
    right: 100%;

    display: flex;
    overflow-y: auto;
    flex-direction: column;

    width: 495px;
    max-width: 100%;
    height: 100%;
    padding: 41px 85px;

    transition: .2s linear;

    background: #fff;

    overscroll-behavior-y: contain;
}


#favorites.show
{
    transform: translateX(100%);
}


#favorites .close_btn
{
    position: absolute;
    z-index: 10;
    top: 32px;
    right: 33px;

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

    width: 30px;
    height: 30px;

    color: #382312;
}


#favorites .close_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}


#favorites .title
{
    font-size: 20px;
    line-height: 14px;

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

    margin-bottom: 30px;

    letter-spacing: 1.2px;
    text-transform: uppercase;
}


#favorites .list
{
    display: flex;
    overflow-x: visible;
    overflow-y: auto;
    flex-direction: column;
    flex-grow: 1;

    overscroll-behavior-y: contain;
    gap: 10px;
}


#favorites .product
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: space-between;

    padding-right: 20px;

    border: 1px solid #f3efed;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


#favorites .product .thumb
{
    position: relative;

    display: block;

    width: 85px;
    max-width: 100%;
    min-height: 85px;

    text-decoration: none;

    color: currentColor;
    background: #ddd;
}


#favorites .product .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


#favorites .product .thumb + *
{
    display: flex;
    flex-direction: column;

    width: calc(100% - 160px);
    padding: 12px 14px;

    gap: 12px;
}


#favorites .product .name
{
    line-height: 13px;
}


#favorites .product .name a
{
    display: inline-block;

    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}


#favorites .product .size
{
    font-size: 14px;
    font-weight: 300;
    line-height: 10px;

    color: #9e9394;
}


#favorites .product .price
{
    font-size: 14px;
    line-height: 10px;
}


#favorites .product .price span
{
    color: #9e9394;
}


#favorites .product .remove_btn
{
    display: block;
    align-self: center;

    width: 20px;
    height: 20px;
    margin-left: auto;
}


#favorites .product .remove_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}



/*------------
    Footer
------------*/
footer
{
    display: flex;
    flex-direction: column;

    padding: 60px 0;

    background: #504641;

    gap: 60px;
}


footer .cont
{
    justify-content: space-between;
}



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

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

    gap: 20px;
}



footer .logo
{
    font-size: 30px;
    line-height: 120%;

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

    color: #fff;
}



footer .text
{
    font-size: 14px;
    font-weight: 300;

    color: #d8cdc7;
}



footer .menu
{
    font-size: 12px;

    display: flex;
    flex-direction: column;

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

    color: #fff;

    gap: 16px;
}


footer .menu a
{
    display: inline-block;

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

    color: currentColor;
}


footer .menu a:hover,
footer .menu a.active
{
    color: #d0cac7;
}



footer .contacts
{
    font-size: 14px;
    font-weight: 300;

    display: flex;
    flex-direction: column;

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

    color: #d8cdc7;

    gap: 20px;
}


footer .contacts a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



footer .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

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

    gap: 6px;
}


footer .messengers a
{
    display: block;

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

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


footer .messengers .icon
{
    display: block;

    width: 24px;
    height: 24px;

    border-radius: inherit;
}


footer .messengers a:hover
{
    color: #d0cac7;
}



footer .privacy_policy_link
{
    font-size: 12px;

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

    color: #fff;
}


footer .privacy_policy_link a
{
    display: inline-block;

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

    color: currentColor;
}


footer .privacy_policy_link a:hover,
footer .privacy_policy_link a.active
{
    color: #d0cac7;
}



footer .creator
{
    font-size: 12px;
    font-weight: 300;

    display: flex;

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

    color: #d8cdc7;
}


footer .creator a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    text-decoration: none;

    color: currentColor;

    gap: 11px;
}


footer .creator .img
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 156px;
    max-width: 100%;
    height: 30px;

    transition: background .2s linear;

    border-radius: 5px 0;
    background: #fff;
}


footer .creator img
{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


footer .creator a:hover .img
{
    background: #eae4e3;
}



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

    width: 560px;
    max-width: 100%;
    padding: 40px;

    color: var(--text_color);
    border-radius: 15px 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.modal_title
{
    font-size: 36px;
    font-weight: 300;
    line-height: 100%;

    text-align: center;
    letter-spacing: 2.16px;
    text-transform: uppercase;

    color: #382312;
}


.modal .title
{
    font-size: 22px;
    line-height: 120%;

    text-align: center;

    color: #000;
}


.modal_desc
{
    font-size: 16px;
    font-weight: 350;
    line-height: 120%;

    margin-top: 15px;

    text-align: center;

    color: #000;
}


.modal .form
{
    margin-top: 40px;
}



/*---------------------
    PopUp - Success
---------------------*/
.modal.success
{
    width: 758px;
    padding: 60px;
}


.modal.success .icon
{
    display: block;

    width: 163px;
    height: 163px;
    margin: 40px auto 0;

    color: #665c57;
}


.modal.success .close_btn
{
    font-size: 12px;
    line-height: 120%;

    display: block;

    width: 280px;
    max-width: 100%;
    height: 60px;
    margin: 40px auto 0;
    padding: 0 50px;

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    border-radius: 45px;
    background: #665c57;
}


.modal.success .close_btn:hover
{
    background: #453e3b;
}



/*-------------------------
    PopUp - Order modal
-------------------------*/
#order_modal
{
    width: 1110px;
    padding: 80px 128px;
}



/*------------------------
    PopUp - City modal
------------------------*/
#city_modal
{
    width: 650px;
}


#city_modal .btns
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 30px;

    gap: 10px;
}


#city_modal .btn
{
    font-size: 12px;
    line-height: 120%;

    width: calc(50% - 5px);
    height: 60px;
    padding: 0 20px;

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #665c57;
    border-radius: 45px;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}

#city_modal .btn:hover
{
    background: rgba(255, 255, 255, .80);
}


#city_modal .btn.yes_btn
{
    color: #fff;
    background: #665c57;
    box-shadow: none;
}

#city_modal .btn.yes_btn:hover
{
    background: #453e3b;
}



/*-------------------------------
    PopUp - Select city modal
-------------------------------*/
#select_city_modal .form
{
    margin-top: 30px;
}


#select_city_modal .form .input
{
    padding-right: 60px;

    background-image: url(../images/ic_search.png);
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: 18px 18px;
}


#select_city_modal .examples
{
    font-size: 14px;
    line-height: 120%;

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

    color: #3e3e3e;

    gap: 12px;
}


#select_city_modal .examples .items
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: calc(100% - 80px);

    gap: 12px;
}


#select_city_modal .examples .btn
{
    border-bottom: 1px solid #ef5739;
}
