/* For old browsers */
@supports (not(--css: variables))
{
    .supports_error
    {
        display: flex !important;
    }
}

/* For IE */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)
{
    .supports_error
    {
        display: flex !important;
    }
}



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

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

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

body
{
    margin: 0;

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

: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: #fff;
    --sidebar_width: 240px;
    --scroll_width: 17px;
    --text_color: #000;
    --font_size: 14px;
    --font_size_title: 35px;
    --font_family: 'Roboto', 'Arial', sans-serif;
}


::selection
{
    color: #fff;

    background: #ce0000;
}

::-moz-selection
{
    color: #fff;

    background: #ce0000;
}


.clear
{
    clear: both;
}

.left
{
    float: left;
}

.right
{
    float: right;
}



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: #ccc;
}

html.custom_scroll ::-webkit-scrollbar-thumb
{
    background-color: #ce0000;
}

html.custom_scroll
{
    scrollbar-color: #ce0000 #ccc;
    scrollbar-width: thin;
}


body
{
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

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


button
{
    color: var(--text_color);
    font: var(--font_size) var(--font_family);

    cursor: pointer;

    border: none;
    background: none;
}


.wrap
{
    position: relative;

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

    min-width: 360px;
    min-height: 100%;

    background: var(--bg);
}


.main
{
    flex: 1 0 auto;
}


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


.compensate-for-scrollbar
{
    margin-right: var(--scroll_width) !important;
}


.lozad
{
    transition: opacity .5s linear;

    opacity: 0;
}

.lozad.loaded
{
    opacity: 1;
}


.row
{
    display: flex;

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



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

.content_flex .content
{
    position: relative;

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

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

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


.content > * + *
{
    margin-top: 50px;
}

.content > *.border_top
{
    padding-top: 44px;

    border-top: 1px solid #ededed;
}



.block
{
    margin-bottom: 60px;
}

.block.no_margin
{
    margin-bottom: 0 !important;
}

.block.border_top
{
    padding-top: 59px;

    border-top: 1px solid #ededed;
}



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

    display: none;

    width: 100%;
    height: 100%;

    opacity: .65;
    background: #000;
}



.supports_error
{
    font-family: 'Arial', sans-serif;
    font-size: 18px;
    line-height: 28px;

    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    text-align: center;

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

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

.supports_error .box
{
    position: relative;

    width: 650px;
    max-width: 100%;
    padding: 52px 72px;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.supports_error .close_btn
{
    position: absolute;
    top: 8px;
    right: 8px;

    display: block;

    width: 44px;
    height: 44px;
}

.supports_error .close_btn:before,
.supports_error .close_btn:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 50%;
    height: 2px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: #000;
}

.supports_error .close_btn:after
{
    transform: rotate(-45deg);
}

.supports_error .box div + div
{
    margin-top: 20px;
}

.supports_error .box a
{
    color: currentColor;
    font-size: 16px;

    display: inline-block;

    vertical-align: top;
}

.supports_error .box a:hover
{
    text-decoration: none;
}



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


.mini_modal_btn
{
    display: inline-block;

    vertical-align: top;
}


.mini_modal
{
    position: absolute;
    z-index: 100;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;

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

    opacity: 0;
}

.mini_modal.active,
.modal_cont.always_visible .mini_modal
{
    top: 100%;

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}



/*--------------
    ButtonUp
--------------*/
.buttonUp
{
    position: fixed;
    z-index: 90;
    right: 50px;
    bottom: 50px;

    display: none;
}

.buttonUp button
{
    position: relative;

    display: block;

    width: 50px;
    height: 50px;

    cursor: pointer;
    transition: box-shadow .2s linear;

    border-radius: 3px;
    background: #fff;
    box-shadow: inset 0 0 0 0 #ce0000, 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.buttonUp button:after
{
    position: absolute;
    top: 6px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';
    transform: rotate(-45deg);

    border-top: 2px solid #ce0000;
    border-right: 2px solid #ce0000;
}

.buttonUp button:hover
{
    box-shadow: inset 0 0 0 1px #ce0000, 0 0 0 0 rgba(51, 51, 51, .07);
}



/*---------------
    Load more
---------------*/
.load_more
{
    display: flex;
    overflow: hidden;

    margin-top: 40px;

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

.load_more .btn
{
    color: #ce0000;
    font-size: 11px;
    font-weight: 500;
    line-height: 18px;

    position: relative;
    z-index: 3;

    display: inline-block;

    padding: 6px 12px 4px;

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

    border: 1px solid #ce0000;
    border-radius: 3px;
}

.load_more .btn span + span,
.load_more .btn.active span
{
    display: none;
}

.load_more .btn.active span + span
{
    display: block;
}


.load_more .btn:before,
.load_more .btn:after
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: calc(100% + 13px);
    bottom: 0;

    display: block;

    width: 100vw;
    height: 1px;
    margin: auto;

    content: '';
    pointer-events: none;

    background: #ededed;
}

.load_more .btn:after
{
    right: auto;
    left: calc(100% + 13px);
}


.load_more .btn:hover
{
    color: #fff;

    background: #ce0000;
}


.load_more .btn.no_border
{
    color: #3c86ca;
    font-size: 15px;
    font-weight: 400;

    border: none;
    border-radius: 0;
}

.load_more .btn.no_border:hover
{
    color: #ce0000;

    background: none;
}

.ui-autocomplete .ui-front .ui-menu .ui-widget .ui-widget-content .ui-corner-all {
         z-index: 10000 !important;
}

/*----------------
    Pagination
----------------*/
.pagination
{
    display: flex;

    margin-top: 40px;

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

.load_more + .pagination
{
    margin-top: 20px;
}

.pagination.center
{
    justify-content: center;
}

.pagination.alignright
{
    justify-content: flex-end;
}


.pagination a,
.pagination .sep
{
    color: #717171;
    font-size: 20px;
    font-weight: 300;
    line-height: 23px;

    display: flex;

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

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

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

.pagination a span
{
    transition: border-color .2s linear;

    border-bottom: 1px solid transparent;
}

.pagination a:hover,
.pagination a.active
{
    color: #ce0000;
}

.pagination a.active span
{
    border-color: #ce0000;
}


.pagination .prev,
.pagination .next
{
    color: #7b7b7b;

    position: relative;

    transition: .2s linear;

    border: 1px solid transparent;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

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

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

.pagination .prev:after,
.pagination .next:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 5px;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);

    border-top: 1px solid;
    border-left: 1px solid;
}

.pagination .next:after
{
    left: -5px;

    transform: rotate(-225deg);
}


.pagination .prev:hover,
.pagination .next:hover
{
    border-color: #ce0000;
    box-shadow: none;
}

.pagination .prev:hover:after,
.pagination .next:hover:after
{
    border-color: #ce0000;
}



/*----------
    Tabs
----------*/
.tabs
{
    height: 24px;
    margin-bottom: 40px;
}

.tabs .btn
{
    color: #717171;
    font-size: 16px;
    line-height: 23px;

    display: block;

    transition: .2s linear;

    border-bottom: 1px solid transparent;
}

.tabs .btn:hover,
.tabs .btn.active
{
    color: #ce0000;
    font-weight: 500;

    border-color: #ce0000;
}


.tab_content
{
    position: relative;

    visibility: hidden;
    overflow: hidden;

    height: 0;

    pointer-events: none;

    opacity: 0;
}

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

    height: auto;

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

    opacity: 1;
}



/*---------------------
    Responsive menu
---------------------*/
.responsive_menu
{
    display: flex;

    width: 100%;

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

.responsive_menu > * + *
{
    margin-left: 48px;
}


.responsive_menu .hidden_box
{
    position: relative;

    margin-left: 20px;
}


.responsive_menu .more_btn
{
    color: #ce0000;

    display: flex;

    width: 25px;
    height: 19px;

    transition: .2s linear;

    border: 1px solid #d8d8d8;
    border-radius: 3px;

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

.responsive_menu .more_btn .icon
{
    display: block;

    width: 15px;
    height: 3px;

    pointer-events: none;
}


.responsive_menu .more_btn:hover,
.responsive_menu .more_btn.active
{
    color: #fff;

    border-color: #ce0000;
    background: #ce0000;
}


.responsive_menu .dropdown
{
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    right: 0;

    display: none;

    min-width: 300px;
    padding: 12px 0;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.responsive_menu .dropdown.show
{
    top: calc(100% + 10px);
}

.responsive_menu .dropdown .btn
{
    color: var(--text_color);
    font-size: 13px;
    line-height: 30px;

    padding: 0 24px;

    white-space: nowrap;

    border: none;
}

.responsive_menu .dropdown .btn:hover,
.responsive_menu .dropdown .btn.active
{
    color: #ce0000;
    font-weight: 400;
}



/*--------------
    Fancybox
--------------*/
.fancybox-caption__body .title
{
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;

    margin-bottom: 8px;
}

.fancybox-caption__body .desc
{
    font-size: var(--font_size);
    line-height: 21px;
}


.fancybox-navigation .fancybox-button--arrow_left
{
    padding: 24px 12px 24px 8px;
}

.fancybox-navigation .fancybox-button--arrow_right
{
    padding: 24px 8px 24px 12px;
}



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

    width: 100%;
}

header.margin_bottom
{
    margin-bottom: 30px;
}


header > .close
{
    position: absolute;
    top: 0;
    left: 100%;

    display: none;

    width: 50px;
    height: 50px;

    cursor: pointer;

    border: none;
    background: none;
}

header > .close:before,
header > .close:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 50%;
    height: 2px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: #fff;
}

header > .close:after
{
    transform: rotate(-45deg);
}

header.show > .close
{
    display: block;
}



header .top
{
    background: #ededed;
}

header .top .cont
{
    align-items: center;
    align-content: center;
}


header .info
{
    padding: 15px 0;
}

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


header .bottom
{
    background: #000;
}

header .bottom .cont
{
    align-items: center;
    align-content: center;
}



header .city
{
    width: 240px;
    max-width: 100%;
}

header .city .current
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    position: relative;

    padding-left: 23px;

    transition: color .2s linear;
}

header .city .current .icon
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 14px;
    height: 19px;
    margin: auto;
}

header .city .current:hover
{
    color: #ce0000;
}



header .top .links
{
    display: flex;

    margin-left: 30px;

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

header .top .links > * + *
{
    margin-left: 94px;
}

header .top .links a
{
    color: #717171;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    min-height: 40px;

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

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

header .top .links a:hover,
header .top .links a.active
{
    color: #ce0000;
}



header .logo
{
    width: 240px;
    max-width: 100%;
}

header .logo img
{
    display: block;
}



header .contacts
{
    margin-right: auto;
    margin-left: 30px;
}


header .contacts .row
{
    align-items: center;
    align-content: center;
}

header .contacts .row + .row
{
    margin-top: 8px;
}


header .contacts .phone
{
    font-size: 23px;
    font-weight: 300;
    line-height: 32px;
}

header .contacts .phone a
{
    color: currentColor;

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


header .contacts .callback_btn
{
    color: #ce0000;
    font-size: 11px;
    font-weight: 500;
    line-height: 18px;

    margin-left: 12px;
    padding: 6px 13px 4px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid #ce0000;
    border-radius: 4px;
}

header .contacts .callback_btn:hover
{
    color: #fff;

    background: #ce0000;
}


header .contacts .email
{
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;

    display: flex;

    padding-left: 4px;

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

header .contacts .email .icon
{
    color: #d11212;

    display: block;

    width: 20px;
    height: 15px;
    margin-right: 6px;
    margin-bottom: 1px;
}

header .contacts .email a
{
    color: currentColor;

    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;
}

header .contacts .email a:hover
{
    color: #ce0000;
}


header .contacts .messengers
{
    display: flex;

    margin-left: 25px;

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

header .contacts .messengers a
{
    display: block;
}

header .contacts .messengers a + a
{
    margin-left: 20px;
}

header .contacts .messengers a > *
{
    display: block;

    width: 17px;
    height: 17px;
}

header .contacts .messengers a.whatsapp_link > *
{
    color: #44d37e;
}

header .contacts .messengers a.telegram_link > *
{
    color: #08c;
}



header .time
{
    display: flex;

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

header .time .icon
{
    color: #d11212;

    display: block;

    width: 20px;
    height: 20px;
    margin-right: 15px;
}

header .time .sep
{
    width: 7px;
    height: 49px;
    margin-right: 14px;

    border: 1px solid #d8d8d8;
    border-right: none;
    border-radius: 3px 0 0 3px;
}

header .time .items > *
{
    font-size: 13px;
    line-height: 20px;

    display: flex;

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

header .time .items .name
{
    color: #717171;

    width: 83px;
    padding-right: 8px;
}



header .ya_rating
{
    margin-left: 30px;
}

header .ya_rating img
{
    display: block;
}



header .info .links
{
    display: flex;

    width: 220px;
    max-width: 100%;
    margin-left: auto;
    padding: 12px 22px;

    border-radius: 25px;
    background: #ededed;

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

header .info .links a
{
    color: currentColor;

    display: flex;

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

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

header .info .links a .icon
{
    display: block;

    fill: currentColor;
}

header .info .links a.favorite_link .icon
{
    width: 22px;
    height: 20px;
}

header .info .links a.compare_link .icon
{
    width: 27px;
    height: 22px;
}

header .info .links a.cart_link .icon
{
    width: 24px;
    height: 22px;
}

header .info .links .count
{
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    line-height: 15px;

    min-width: 15px;
    height: 14px;
    margin-left: 5px;
    padding: 0 3px;

    text-align: center;

    border-radius: 2px;
    background: #ce0000;
}


header .info .links a:hover,
header .info .links a.active
{
    color: #ce0000;
}



header .catalog
{
    width: 240px;
    max-width: 100%;
}


header .catalog .btn
{
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 24px;

    display: flex;

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

    letter-spacing: .05em;
    text-transform: uppercase;

    background: #ce0000;

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

header .catalog .btn .icon
{
    display: flex;

    width: 20px;
    height: 16px;
    margin-right: 13px;

    cursor: pointer;

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

header .catalog .btn .icon span
{
    position: relative;

    display: block;

    width: 100%;
    height: 2px;

    background: currentColor;
}

header .catalog .btn .icon span:before,
header .catalog .btn .icon span:after
{
    position: absolute;
    top: -7px;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background: currentColor;
}

header .catalog .btn .icon span:after
{
    top: 7px;
}


header .catalog .mini_modal
{
    width: 100%;

    border-radius: 0 0 4px 4px;
    background: #ce0000;
}


header .catalog .categories > *:last-child > a
{
    border-radius: 0 0 4px 4px;
}

header .catalog .categories > * > a
{
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;

    display: block;

    padding: 14px 20px;

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

    border-top: 1px solid #e02b2b;
}

header .catalog .categories > * > a.sub_link
{
    position: relative;

    padding-right: 40px;
}

header .catalog .categories > * > a.sub_link:after
{
    position: absolute;
    top: 0;
    right: 18px;
    bottom: 0;

    display: block;

    width: 6px;
    height: 6px;
    margin: auto;

    content: '';
    transform: rotate(-45deg);

    border-right: 1px solid;
    border-bottom: 1px solid;
}

header .catalog .categories > *:hover > a
{
    background: #e02b2b;
}


header .catalog .sub_categosries
{
    position: absolute;
    top: 0;
    left: calc(100% + 30px);

    visibility: hidden;

    width: calc(1280px - 240px);
    max-width: calc(100vw - 256px);
    min-height: 100%;
    padding: 25px 30px;

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

    opacity: 0;
    border-radius: 0 0 4px 4px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

header .catalog .categories > *:hover .sub_categosries
{
    left: 100%;

    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


header .catalog .sub_categosries .row
{
    display: flex;

    margin-bottom: -40px;
    margin-left: -40px;

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

header .catalog .sub_categosries .row > *
{
    width: calc(50% - 40px);
    margin-bottom: 40px;
    margin-left: 40px;
}


header .catalog .sub_categosries .title
{
    font-size: 15px;
    font-weight: 700;
    line-height: 22px;

    margin-bottom: 12px;
}


header .catalog .sub_categosries .items.columns
{
    column-gap: 24px;
    column-count: 3;
}

header .catalog .sub_categosries .items.columns > *
{
    transform: translateZ(0);

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

header .catalog .sub_categosries .items > * + *
{
    margin-top: 12px;
}


header .catalog .sub_categosries .items a
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 17px;

    display: inline-block;

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

header .catalog .sub_categosries .items a:hover,
header .catalog .sub_categosries .items a.active
{
    color: #ce0000;
}



header .stocks_link
{
    margin-left: 30px;
}

header .stocks_link a
{
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 50px;

    position: relative;

    display: block;

    padding-left: 30px;

    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;
    letter-spacing: .05em;
    text-transform: uppercase;
}

header .stocks_link .icon
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    width: 20px;
    height: 32px;
    padding-bottom: 2px;

    background: url(../images/bg_stock_percent.png) 0 0 no-repeat;

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

header .stocks_link .icon > *
{
    color: #fff;

    display: block;

    width: 14px;
    height: 14px;
}

header .stocks_link a:hover
{
    color: #ce0000;
}



header .search
{
    width: 616px;
    max-width: calc(100% - 440px);
    margin-left: auto;
    padding: 5px 0;
}

header .search form
{
    display: flex;

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

header .search ::-webkit-input-placeholder
{
    color: #717171;
}

header .search :-moz-placeholder
{
    color: #717171;
}

header .search :-ms-input-placeholder
{
    color: #717171;
}

header .search .input
{
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: 16px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 87px 0 15px;

    border: none;
    border-radius: 3px;
    background: #fff;
    box-shadow: inset 0 2px 3px 0 rgba(71, 71, 71, .29);
}

header .search .submit_btn,
header .search .clear_btn
{
    color: #767676;

    position: relative;

    display: flex;

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

    transition: color .2s linear;

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

header .search .clear_btn
{
    width: 32px;
    margin-left: -77px;
}

header .search .submit_btn .icon
{
    display: block;

    width: 21px;
    height: 21px;
}

header .search .clear_btn .icon
{
    display: block;

    width: 15px;
    height: 15px;
}

header .search .clear_btn
{
    display: none;
}

header .search .input.active ~ .clear_btn
{
    display: flex;
}

header .search .submit_btn:hover,
header .search .clear_btn:hover
{
    color: #ce0000;
}



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

    display: none;

    width: 100%;
    padding: 16px 0;

    border-bottom: 1px solid #ededed;
}

.mob_header.margin_bottom
{
    margin-bottom: 24px;
}


.mob_header .cont
{
    display: flex;

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



.mob_header .logo
{
    margin-right: auto;
}

.mob_header .logo .img,
.mob_header .logo img
{
    display: block;

    width: 132px;
}


.mob_header .messengers
{
    display: none;

    margin-top: 8px;

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

.mob_header .messengers a
{
    display: block;
}

.mob_header .messengers a + a
{
    margin-left: 20px;
}

.mob_header .messengers a > *
{
    display: block;

    width: 17px;
    height: 17px;
}

.mob_header .messengers a.whatsapp_link > *
{
    color: #44d37e;
}

.mob_header .messengers a.telegram_link > *
{
    color: #08c;
}


.mob_header .contacts
{
    display: flex;

    margin-right: 20px;

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

.mob_header .contacts .phone
{
    font-size: 18px;
    font-weight: 300;
    line-height: 26px;
}

.mob_header .contacts .phone a
{
    color: currentColor;

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


.mob_header .contacts .callback_btn
{
    color: #ce0000;
    font-size: 11px;
    font-weight: 500;
    line-height: 18px;

    margin-left: 12px;
    padding: 4px 10px 3px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid #ce0000;
    border-radius: 4px;
}

.mob_header .contacts .callback_btn:hover
{
    color: #fff;

    background: #ce0000;
}



.mob_header .links
{
    display: flex;

    padding: 8px 20px;

    border-radius: 25px;
    background: #ededed;

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

.mob_header .links > * + *
{
    margin-left: 16px;
}

.mob_header .links a
{
    color: currentColor;

    display: flex;

    min-width: 28px;
    height: 28px;

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

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

.mob_header .links a .icon
{
    display: block;

    fill: currentColor;
}

.mob_header .links a.favorite_link .icon
{
    width: 20px;
    height: 18px;
}

.mob_header .links a.compare_link .icon
{
    width: 24px;
    height: 20px;
}

.mob_header .links a.cart_link .icon
{
    width: 22px;
    height: 20px;
}

.mob_header .links .search_btn
{
    color: currentColor;

    display: flex;

    min-width: 28px;
    height: 28px;

    transition: color .2s linear;

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

.mob_header .links .search_btn .icon
{
    display: block;

    width: 20px;
    height: 20px;

    fill: currentColor;
}

.mob_header .links .count
{
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    line-height: 15px;

    min-width: 15px;
    height: 14px;
    margin-left: 4px;
    padding: 0 3px;

    text-align: center;

    border-radius: 2px;
    background: #ce0000;
}

.mob_header .links a:hover
{
    color: #ce0000;
}


.mob_header .mob_menu_btn
{
    display: flex;

    width: 28px;
    height: 15px;
    padding: 0 2px;

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

.mob_header .mob_menu_btn span
{
    position: relative;

    display: block;

    width: 100%;
    height: 1px;

    background: #000;
}

.mob_header .mob_menu_btn span:before,
.mob_header .mob_menu_btn span:after
{
    position: absolute;
    top: -7px;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background: #000;
}

.mob_header .mob_menu_btn span:after
{
    top: 7px;
}


.mob_header .search
{
    display: none;

    width: 100%;
    margin-top: 8px;
    margin-bottom: -17px;
    padding: 8px 24px;

    background: #ddd;
}

.mob_header .search form
{
    display: flex;

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

.mob_header .search ::-webkit-input-placeholder
{
    color: #717171;
}

.mob_header .search :-moz-placeholder
{
    color: #717171;
}

.mob_header .search :-ms-input-placeholder
{
    color: #717171;
}

.mob_header .search .input
{
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: 15px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 87px 0 15px;

    border: none;
    border-radius: 3px;
    background: #fff;
    box-shadow: inset 0 2px 3px 0 rgba(71, 71, 71, .29);
}

.mob_header .search .submit_btn,
.mob_header .search .clear_btn
{
    color: #767676;

    position: relative;

    display: flex;

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

    transition: color .2s linear;

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

.mob_header .search .clear_btn
{
    width: 32px;
    margin-left: -77px;
}

.mob_header .search .submit_btn .icon
{
    display: block;

    width: 21px;
    height: 21px;
}

.mob_header .search .clear_btn .icon
{
    display: block;

    width: 15px;
    height: 15px;
}

.mob_header .search .clear_btn
{
    display: none;
}

.mob_header .search .input.active ~ .clear_btn
{
    display: flex;
}

.mob_header .search .submit_btn:hover,
.mob_header .search .clear_btn:hover
{
    color: #ce0000;
}



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

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

aside.pad_top
{
    padding-top: 200px;
}

aside > * + *
{
    margin-top: 30px;
}



aside .our_location
{
    padding: 18px 20px;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
}

aside .our_location .title
{
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;

    display: flex;

    margin-bottom: 12px;

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

aside .our_location .title .icon
{
    color: #ce0000;

    display: block;

    width: 16px;
    height: 22px;
    margin-left: 9px;
}

aside .our_location .val
{
    font-size: 13px;
    line-height: 20px;
}

aside .our_location .val a
{
	color: #000000;
    text-decoration: none;
}
aside .our_location .val a:hover
{
	color: #ce0000;
}



aside .special_offer .title
{
    font-size: 22px;
    font-weight: 500;
    line-height: 28px;

    position: relative;

    margin-bottom: 30px;
    padding-bottom: 16px;

    text-align: center;
}

aside .special_offer .title:after
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 150px;
    height: 2px;
    margin: auto;

    content: '';

    background: #ce0000;
}

aside .special_offer.products .product
{
    padding: 0 0 30px;

    border-bottom: 1px solid #ededed;
    border-radius: 0;
}

aside .special_offer.products .product .thumb
{
    margin-bottom: 16px;
    padding-bottom: 104.17%;
}

aside .special_offer.products .product:hover
{
    box-shadow: none;
}



aside .mob_filter_btn
{
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;

    display: none;

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

    text-align: center;
    text-transform: uppercase;

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgb(206 0 0 / 20%);
}


aside .filter .title
{
    font-size: 22px;
    font-weight: 500;
    line-height: 29px;

    margin-bottom: 20px;
}

aside .filter .title.center
{
    text-align: center;
}


aside .filter form
{
    border-radius: 3px;
    background: #ededed;
}


aside .filter .item
{
    padding: 4px 0;
}

aside .filter .item + .item
{
    border-top: 1px solid #d8d8d8;
}


aside .filter .name
{
    font-size: 14px;
    font-weight: 700;
    line-height: 26px;

    position: relative;

    padding: 8px 32px 8px 20px;

    cursor: pointer;
    transition: color .2s linear;
}

aside .filter .name .icon
{
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;

    width: 18px;
    height: 18px;
    margin: auto;

    transition: .2s linear;

    border-radius: 50%;
}

aside .filter .name .icon:after
{
    position: absolute;
    top: -2px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 6px;
    height: 6px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid #818181;
    border-left: 1px solid #818181;
}


aside .filter .name:hover
{
    color: #717171;
}

aside .filter .name:hover .icon
{
    background: #d8d8d8;
}

aside .filter .name.active .icon:after
{
    top: 2px;

    transform: rotate(-225deg);
}


aside .filter .data
{
    display: none;

    padding: 0 20px 16px;
}


aside .filter .search
{
    display: flex;

    margin-bottom: 20px;

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

aside .filter .search ::-webkit-input-placeholder
{
    color: #717171;
}

aside .filter .search :-moz-placeholder
{
    color: #717171;
}

aside .filter .search :-ms-input-placeholder
{
    color: #717171;
}

aside .filter .search .input
{
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 41px 0 12px;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

aside .filter .search .send_btn,
aside .filter .search .clear_btn
{
    color: #767676;

    position: relative;

    display: flex;

    width: 41px;
    height: 40px;
    margin-left: -42px;

    transition: color .2s linear;

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

aside .filter .search .clear_btn,
aside .filter .search .input.active ~ .send_btn
{
    display: none;
}

aside .filter .search .input.active ~ .clear_btn
{
    display: flex;
}

aside .filter .search .send_btn .icon
{
    display: block;

    width: 17px;
    height: 17px;
}

aside .filter .search .clear_btn .icon
{
    display: block;

    width: 13px;
    height: 13px;
}

aside .filter .search .send_btn:hover,
aside .filter .search .clear_btn:hover
{
    color: #ce0000;
}


aside .filter .scroll
{
    overflow: auto;

    max-height: 228px;
    padding-right: 8px;

    scrollbar-color: #989898 #d8d8d8;
    scrollbar-width: thin;
}

aside .filter .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    border-radius: 3px;
    background-color: #d8d8d8;
}

aside .filter .scroll::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background-color: #989898;
}


aside .filter .field + .field,
aside .filter .field + .hide
{
    margin-top: 12px;
}


aside .filter input[type=checkbox],
aside .filter input[type=radio]
{
    display: none;
}

aside .filter input[type=checkbox] + label,
aside .filter input[type=radio] + label
{
    color: #474747;
    font-size: 13px;
    line-height: 18px;

    position: relative;

    display: flex;

    min-height: 18px;
    padding-left: 27px;

    cursor: pointer;

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

aside .filter input[type=checkbox] + label .stars,
aside .filter input[type=radio] + label .stars
{
    margin-left: 8px;
}

aside .filter input[type=checkbox] + label:before,
aside .filter input[type=radio] + label:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;

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

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

aside .filter input[type=checkbox] + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 9px;
    height: 5px;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}

aside .filter input[type=radio] + label:before
{
    border-radius: 50%;
}

aside .filter input[type=radio] + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 8px;
    height: 8px;

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

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

aside .filter input[type=checkbox]:checked + label:after,
aside .filter input[type=radio]:checked + label:after
{
    opacity: 1;
}


aside .filter .stars
{
    display: flex;

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

aside .filter .stars > * + *
{
    margin-left: 7px;
}

aside .filter .stars > *
{
    color: #a5a5a5;

    display: block;

    width: 14px;
    height: 14px;
}

aside .filter .stars > *.active
{
    color: #ce0000;
}


aside .filter .range .row
{
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
}

aside .filter .range .sep
{
    width: 10px;
    height: 1px;

    background: #717171;
}

aside .filter .range .input
{
    color: #474747;
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: calc(50% - 10px);
    height: 40px;
    padding: 0 11px;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}


aside .filter .spoler_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 18px;

    display: inline-block;

    margin-top: 12px;

    transition: color .2s linear;
    vertical-align: top;
}

aside .filter .spoler_btn:hover
{
    color: #ce0000;
}


aside .filter .submit
{
    display: flex;

    padding: 20px;

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

aside .filter .submit_btn
{
    color: #fff;
    font-size: 14px;
    line-height: 20px;

    display: inline-block;

    padding: 10px 19px;

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

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

aside .filter .submit_btn:hover
{
    background: #9f0404;
}

aside .filter .reset_btn
{
    color: #3c86ca;
    font-size: 14px;
    line-height: 20px;

    display: inline-block;

    margin-left: auto;

    vertical-align: top;
}



/*---------------
    Page head
---------------*/
.page_head
{
    margin-bottom: 30px;
}


.breadcrumbs
{
    font-size: 11px;
    line-height: 18px;

    padding: 20px 0;

    text-transform: uppercase;

    border-bottom: 1px solid #ededed;
}


.breadcrumbs a
{
    color: #717171;

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

.breadcrumbs a:hover
{
    color: #ce0000;
}


.breadcrumbs .sep
{
    color: #717171;

    display: inline-block;

    margin: 0 6px;

    vertical-align: top;
}



.page_title
{
    padding: 20px 0;

    border-bottom: 1px solid #ededed;
}

.page_title h1
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: calc(var(--font_size_title) + 10px);

    display: block;
}



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

    width: 100%;
    margin-bottom: 32px;

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


.block_head .title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: calc(var(--font_size_title) + 10px);

    display: block;
}


.block_head.center
{
    text-align: center;

    justify-content: center;
}

.block_head.center .title
{
    width: 100%;
}



/*-----------------
    Block title
-----------------*/
.block_title
{
    color: var(--text_color);
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;

    margin-bottom: 24px;
}

.block_title.center
{
    text-align: center;
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: #d8d8d8;
    --form_focus_color: #717171;
    --form_error_color: #ce0000;
    --form_border_radius: 3px;
    --form_bg_color: transparent;
    --form_placeholder_color: #717171;
}


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

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

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


.form .cols
{
    margin-left: -40px;
}

.form .cols .col
{
    width: calc(50% - 40px);
    margin-left: 40px;
}


.form .columns
{
    margin-left: calc(var(--form_columns_offset) * -1);

    --form_columns_offset: 28px;
}

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


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


.form .label
{
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;

    margin-bottom: 8px;
}


.form .field
{
    position: relative;
}

.form .field + .field
{
    margin-top: 12px;
}


.form .input
{
    color: var(--text_color);
    font: 13px var(--font_family);

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 11px;

    transition: border-color .2s linear;

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

.form textarea
{
    color: var(--text_color);
    font: 13px var(--font_family);

    display: block;

    width: 100%;
    height: 80px;
    padding: 11px;

    resize: none;
    transition: border-color .2s linear;

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


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


.form .input:focus,
.form textarea:focus
{
    border-color: var(--form_focus_color);
}

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


.form .error_text
{
    color: var(--form_error_color);
    font-size: 11px;
    line-height: 15px;

    margin-top: 5px;
}


.form select
{
    display: none;
}

.form .nice-select
{
    position: relative;

    display: block;

    text-align: left;
}

.form .nice-select .current
{
    color: #474747;
    font-size: 13px;
    line-height: 38px;

    position: relative;

    display: block;
    overflow: hidden;

    height: 40px;
    padding: 0 36px 0 11px;

    cursor: pointer;
    white-space: nowrap;
    text-overflow: ellipsis;

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

.form .nice-select .current.selected
{
    color: var(--text_color);
}

.form .nice-select .current:after
{
    position: absolute;
    top: -4px;
    right: 14px;
    bottom: 0;

    display: block;

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

    content: '';
    transform: rotate(-45deg);

    border-bottom: 1px solid #828282;
    border-left: 1px solid #828282;
}

.form .nice-select .list
{
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    left: 0;

    visibility: hidden;
    overflow: hidden;

    min-width: 100%;

    transition: .2s linear;

    opacity: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.form .nice-select.open .list
{
    top: 100%;

    visibility: visible;

    opacity: 1;
}

.form .nice-select .list .scrollbar
{
    overflow: auto;

    max-height: 240px;
}

.form .nice-select .list .list_item
{
    color: #474747;
    font-size: 13px;
    line-height: 17px;

    padding: 10px 12px;

    cursor: pointer;
    transition: background .2s linear;
}

.form .nice-select .list .list_item:empty
{
    display: none;
}

.form .nice-select .list .list_item:hover,
.form .nice-select .list .list_item.selected
{
    background: #ededed;
}


.form input[type=checkbox],
.form input[type=radio]
{
    display: none;
}

.form input[type=checkbox] + label,
.form input[type=radio] + label
{
    color: #717171;
    font-size: 12px;
    line-height: 18px;

    position: relative;

    display: table-cell;

    height: 18px;
    padding-left: 27px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.form input[type=checkbox] + label a,
.form input[type=radio] + label a
{
    color: #3c86ca;

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

.form input[type=checkbox] + label a:hover,
.form input[type=radio] + label a:hover
{
    color: #ce0000;
}

.form input[type=checkbox] + label:before,
.form input[type=radio] + label:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;

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

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
}

.form input[type=checkbox] + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 9px;
    height: 5px;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}

.form input[type=radio] + label:before
{
    border-radius: 50%;
}

.form input[type=radio] + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 8px;
    height: 8px;

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

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

.form input[type=checkbox]:checked + label:after,
.form input[type=radio]:checked + label:after
{
    opacity: 1;
}


.form .submit
{
    display: flex;

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

.form .submit_btn
{
    color: #fff;
    font-size: 14px;
    line-height: 20px;

    display: inline-block;

    padding: 10px 19px;

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

    border-radius: var(--form_border_radius);
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

.form .submit_btn:hover
{
    background: #9f0404;
}



/*----------------
    Typography
----------------*/
.text_block
{
    color: #474747;
    line-height: 21px;
}

.text_block.border_bottom
{
    padding-bottom: 25px;

    border-bottom: 1px solid #ededed;
}


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

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


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

.text_block .clear
{
    margin-bottom: 0 !important;
}


.text_block h1
{
    color: var(--text_color);
    font-size: 35px;
    font-weight: 400;
    line-height: 45px;
}

.text_block h1 span
{
    color: #ce0000;
}

.text_block h2
{
    color: var(--text_color);
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;

    margin-bottom: 16px;
}

.text_block h3
{
    color: var(--text_color);
    font-size: 25px;
    font-weight: 400;
    line-height: 35px;

    margin-bottom: 16px;
}

.text_block h4
{
    color: var(--text_color);
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;

    margin-bottom: 16px;
}


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

.text_block h1 + *,
.text_block h2 + *,
.text_block h3 + *,
.text_block h4 + *,
.text_block img.left + h2,
.text_block img.left + h3,
.text_block img.left + h4,
.text_block img.right + h2,
.text_block img.right + h3,
.text_block img.right + h4
{
    margin-top: 0 !important;
}


.text_block .accordion,
.text_block blockquote,
.text_block q
{
    margin-top: 40px;
    margin-bottom: 40px;
}


.text_block .img_box
{
    margin-top: 44px;
    margin-bottom: 44px;
}


.text_block img
{
    display: block;

    max-width: 100%;

    border-radius: 3px;
}

.text_block img.left
{
    max-width: calc(50% - 40px);
    margin-right: 80px;
}

.text_block img.right
{
    max-width: calc(50% - 40px);
    margin-left: 80px;
}

.text_block img.loaded
{
    height: auto !important;
}


.text_block .table_wrap
{
    overflow: auto;

    max-width: 100%;
}

.text_block .table_wrap::-webkit-scrollbar
{
    width: 5px;
    height: 5px;
}


.text_block table
{
    width: 100%;

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


.text_block table th
{
    font-size: 13px;
    font-weight: 800;
    line-height: 20px;

    padding-bottom: 12px;

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

    border-bottom: 1px solid #717171;
}


.text_block table td
{
    padding: 8px 20px;

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

    border-bottom: 1px solid #ededed;
}

.text_block table tr.title td
{
    font-weight: 700;

    padding: 20px 0 12px;

    border: none;
}

.text_block table tr.bg td
{
    border-color: #f4f4f4;
    background: #f4f4f4;
}


.text_block blockquote,
.text_block q
{
    color: var(--text_color);
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;

    display: block;

    width: 100%;
    padding: 23px 28px;

    border: 2px solid #ce0000;
    border-radius: 3px;
}


.text_block ul li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 26px;

    list-style-type: none;
}

.text_block ul li + li
{
    margin-top: 20px;
}

.text_block ul li:before
{
    position: absolute;
    top: 4px;
    left: 2px;

    display: block;

    width: 12px;
    height: 12px;

    content: '';

    border: 4px solid #fff;
    border-radius: 50%;
    background: #ce0000;
    box-shadow: 0 0 3.35px 1.65px rgba(51, 51, 51, .1);
}


.text_block ol
{
    counter-reset: li;
}

.text_block ol li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 26px;

    list-style-type: none;
}

.text_block ol li + li
{
    margin-top: 20px;
}

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

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

    content: counters(li, '') '';
    counter-increment: li;
}


.text_block .accordion .item + .item
{
    margin-top: 20px;
}

.text_block .accordion .head
{
    cursor: pointer;
}

.text_block .accordion .head .title
{
    color: var(--text_color);
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    transition: color .2s linear;
}

.text_block .accordion .head .arrow
{
    position: relative;
    top: -1px;

    display: inline-block;

    width: 8px;
    height: 15px;
    margin-left: 9px;

    vertical-align: middle;
}

.text_block .accordion .head .arrow:after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: -4px;

    display: block;

    width: 9px;
    height: 9px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-right: 1px solid #727272;
    border-bottom: 1px solid #727272;
}

.text_block .accordion .data
{
    display: none;

    padding-top: 12px;
}

.text_block .accordion .active .title,
.text_block .accordion .head:hover .title
{
    color: #ce0000;
}

.text_block .accordion .head:hover .arrow:after
{
    border-color: #ce0000;
}

.text_block .accordion .active .arrow:after
{
    top: -4px;
    left: -1px;

    transform: rotate(45deg);

    border-color: #ce0000;
}


.text_block b,
.text_block strong
{
    color: var(--text_color);
}


.text_block a,
.text_block .btn
{
    color: #3c86ca;

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

.text_block a:hover,
.text_block .btn:hover
{
    color: #ce0000;
}



/*-----------------
    Main slider
-----------------*/
.main_slider
{
    overflow: hidden;

    border-radius: 3px;
}


.main_slider .swiper-container
{
    padding-bottom: 28px;
}

.main_slider .slide
{
    overflow: hidden;

    border-radius: 3px;
}


.main_slider .slide .img
{
    position: relative;

    overflow: hidden;

    padding-bottom: 44.55%;

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

.main_slider .slide img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: 3px;

    object-fit: cover;
}



/*----------------
    Advantages
----------------*/
.advantages .row
{
    margin-bottom: -32px;
    margin-left: -20px;
    padding-top: 8px;

    justify-content: center;
}

.advantages .row > *
{
    width: calc(20% - 20px);
    margin-bottom: 32px;
    margin-left: 20px;
}


.advantages .item
{
    text-align: center;
}

.advantages .item .icon
{
    display: flex;

    width: 90px;
    height: 90px;
    margin: 0 auto 20px;
    padding: 16px;

    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);

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

.advantages .item .icon img
{
    display: block;

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

.advantages .item .name
{
    font-size: 15px;
    font-weight: 500;
    line-height: 22px;
}

.advantages .item .desc
{
    color: #717171;
    font-size: 12px;
    line-height: 19px;

    margin-top: 8px;
}

.advantages .item .desc a
{
    color: #3c86ca;
    font-weight: 500;

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

.advantages .item .desc a:hover
{
    color: #ce0000;
}



/*---------------
    Cart info
---------------*/
.cart_info .titles
{
    font-size: 13px;
    font-weight: 900;
    line-height: 19px;

    display: flex;

    margin-bottom: -1px;
    padding: 12px 50px 12px 30px;

    text-transform: uppercase;

    border: 1px solid #ededed;
    border-radius: 3px 3px 0 0;

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

.cart_info .titles > * + *
{
    margin-left: 30px;
}


.cart_info .product
{
    position: relative;

    display: flex;

    padding: 20px 50px 20px 30px;

    border: 1px solid #ededed;

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

.cart_info .product + .product
{
    margin-top: -1px;
}

.cart_info .product:last-child
{
    border-radius: 0 0 3px 3px;
}

.cart_info .product > * + *
{
    margin-left: 30px;
}

.cart_info .product > * ~ *
{
    padding-top: 27px;
}


.cart_info .product .thumb,
.cart_info .product .thumb img
{
    display: block;

    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}


.cart_info .product .product_name
{
    font-size: 16px;
    line-height: 23px;
    margin-right: 20px;
}

.cart_info .product .product_name a
{
    color: currentColor;

    display: inline-block;

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

.cart_info .product .product_name a:hover
{
    color: #ce0000;
}


.cart_info .product .features
{
    margin-top: 8px;
}


.cart_info .product .features .spoler_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    position: relative;

    display: inline-block;

    padding-right: 16px;

    transition: color .2s linear;
    text-align: left;
    vertical-align: top;
}

.cart_info .product .features .spoler_btn:after
{
    position: absolute;
    top: -2px;
    right: 1px;
    bottom: 0;

    display: block;

    width: 6px;
    height: 6px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.cart_info .product .features .spoler_btn:hover,
.cart_info .product .features .spoler_btn.active
{
    color: #ce0000;
}

.cart_info .product .features .spoler_btn.active:after
{
    top: 4px;

    transform: rotate(-225deg);
}

.cart_info .product .features .spoler_btn.active:hover
{
    color: #717171;
}


.cart_info .product .features .items
{
    font-size: 13px;
    line-height: 20px;

    display: none;

    padding-top: 12px;
}

.cart_info .product .features .item
{
    display: flex;

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

.cart_info .product .features .item + .item
{
    margin-top: 4px;
}

.cart_info .product .features .item .name
{
    color: #474747;

    width: 172px;
    max-width: 100%;
    padding-right: 12px;
}

.cart_info .product .features .item .val
{
    width: calc(100% - 172px);
}


.cart_info .product .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 40px;

    white-space: nowrap;

    justify-content: flex-start;
}

.cart_info .product .price span
{
    font-size: 20px;
}

.cart_info .product .price .old
{
    font-size: 14px;
    line-height: 18px;

    text-decoration: line-through;
}

.cart_info .product .price .new
{
    color: #ce0000;
    line-height: 26px;

    margin: 0;
}


.cart_info .product .amount
{
    position: relative;

    width: 90px;
}

.cart_info .product .amount button
{
    color: #828282;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 32px;
    height: 100%;

    transition: color .2s linear;
}

.cart_info .product .amount button:before
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.cart_info .product .amount button.plus
{
    right: 0;
    left: auto;
}

.cart_info .product .amount button.plus:before
{
    top: 3px;

    transform: rotate(-225deg);
}

.cart_info .product .amount button:hover:before
{
    border-color: #ce0000;
}

.cart_info .product .amount .input
{
    color: #474747;
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 30px;

    text-align: center;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: none;
}



.cart_info .col_thumb
{
    width: 100px;
    min-width: 100px;
    max-width: 100%;
}

.cart_info .col_info
{
    width: 100%;
}

.cart_info .col_price,
.cart_info .col_amount
{
    width: 120px;
    min-width: 120px;
    max-width: 100%;
}



.cart_info .delivery_install
{
    margin-top: 30px;
}


.cart_info .delivery_install .item
{
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.cart_info .delivery_install .item + .item
{
    margin-top: 20px;
}


.cart_info .delivery_install .head
{
    position: relative;

    padding: 12px 68px 12px 28px;

    cursor: pointer;
}

.cart_info .delivery_install .head .title
{
    color: var(--text_color);
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    transition: color .2s linear;
}

.cart_info .delivery_install .head:after
{
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;

    display: block;

    width: 9px;
    height: 9px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-right: 1px solid #727272;
    border-bottom: 1px solid #727272;
}


.cart_info .delivery_install .data
{
    display: none;

    padding: 24px 20px 30px 28px;

    border-top: 1px solid #ededed;
}


.cart_info .delivery_install .item.active,
.cart_info .delivery_install .item:hover
{
    border-color: #ce0000;
}

.cart_info .delivery_install .item.active .head .title,
.cart_info .delivery_install .head:hover .title
{
    color: #ce0000;
}

.cart_info .delivery_install .head:hover:after
{
    border-color: #ce0000;
}

.cart_info .delivery_install .item.active .head:after
{
    top: -4px;

    transform: rotate(45deg);

    border-color: #ce0000;
}



.cart_info .cart_total
{
    font-size: 14px;
    line-height: 20px;

    margin-top: 30px;
}

.cart_info .cart_total .item
{
    display: flex;

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

.cart_info .cart_total .item + .item
{
    margin-top: 16px;
}

.cart_info .cart_total .item .name
{
    color: #474747;

    width: 212px;
    max-width: 100%;
    padding-right: 12px;
}

.cart_info .cart_total .item .price
{
    font-weight: 700;

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

.cart_info .cart_total .item .total_price
{
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;

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

.cart_info .cart_total .item .total_price span
{
    font-size: 30px;
}



/*----------------------
    Delivery install
----------------------*/
.delivery_install .scroll
{
    overflow: auto;

    max-height: 562px;
    padding-right: 20px;

    scrollbar-color: #989898 #d8d8d8;
    scrollbar-width: thin;
}

.delivery_install .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    border-radius: 3px;
    background-color: #d8d8d8;
}

.delivery_install .scroll::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background-color: #989898;
}


.delivery_install .section + .section
{
    margin-top: 20px;
}

.delivery_install .section .title
{
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    margin-bottom: 12px;
}


.delivery_install input[type=checkbox],
.delivery_install input[type=radio]
{
    display: none;
}

.delivery_install .point
{
    position: relative;

    display: flex;

    padding: 10px 42px 10px 15px;

    cursor: pointer;
    transition: background .2s linear;

    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;

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

.delivery_install .point ~ .point
{
    margin-top: -1px;
}


.delivery_install .point .name
{
    color: #474747;
    font-size: 13px;
    line-height: 19px;

    position: relative;

    width: 300px;
    max-width: 100%;
    margin-right: auto;
    padding-left: 27px;
}

.delivery_install .point .name:before,
.delivery_install .point .name:before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

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

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

.delivery_install input[type=checkbox] + .point .name:after
{
    position: absolute;
    top: -2px;
    bottom: 0;
    left: 5px;

    display: block;

    width: 9px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}

.delivery_install input[type=radio] + .point .name:before
{
    border-radius: 50%;
}

.delivery_install input[type=radio] + .point .name:after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;

    display: block;

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

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

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


.delivery_install .point .amount
{
    position: relative;

    width: 90px;
    min-width: 90px;
    max-width: 100%;
    margin-left: 30px;
}

.delivery_install .point .amount button
{
    color: #828282;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 32px;
    height: 100%;

    transition: color .2s linear;
}

.delivery_install .point .amount button:before
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.delivery_install .point .amount button.plus
{
    right: 0;
    left: auto;
}

.delivery_install .point .amount button.plus:before
{
    top: 3px;

    transform: rotate(-225deg);
}

.delivery_install .point .amount button:hover:before
{
    border-color: #ce0000;
}

.delivery_install .point .amount .input
{
    color: #474747;
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 30px;

    text-align: center;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}


.delivery_install .point .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    width: 83px;
    min-width: 83px;
    max-width: 100%;
    margin-left: 60px;

    white-space: nowrap;
}

.delivery_install .point .price span
{
    font-size: 20px;
}


.delivery_install input:checked + .point
{
    background: #f4f4f4;
}

.delivery_install input:checked + .point .name:after
{
    opacity: 1;
}



.delivery_install.row
{
    align-items: stretch;
    align-content: stretch;
}

.delivery_install.row .scroll
{
    width: calc(50% - 30px);
    padding-right: 16px;
}

.delivery_install.row .point
{
    padding-right: 15px;
}

.delivery_install.row  .point .amount,
.delivery_install.row  .point .price
{
    margin-left: 20px;
}



.delivery_install .product
{
    display: flex;

    width: calc(50% + 10px);
    margin-left: auto;
    padding: 30px;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);

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


.delivery_install .product .product_name
{
    font-size: 20px;
    line-height: 30px;

    display: block;

    width: 100%;
    margin-bottom: 24px;
}


.delivery_install .product .image
{
    display: flex;

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

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

.delivery_install .product .image img
{
    display: block;

    max-width: calc(50% - 8px);
}

.delivery_install .product .image img + img
{
    margin-left: 16px;
}


.delivery_install .product .info
{
    width: calc(100% - 278px);
    margin-left: auto;
}


.delivery_install .product .prices .item
{
    line-height: 21px;

    display: flex;

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

.delivery_install .product .prices .item + .item
{
    margin-top: 20px;
}

.delivery_install .product .prices .item .name
{
    color: #474747;

    width: 140px;
    max-width: 100%;
    padding-right: 12px;
}

.delivery_install .product .prices .item .val
{
    width: calc(100% - 200px);
}


.delivery_install .product .prices .total .name
{
    margin-bottom: 4px;

    align-self: flex-end;
}

.delivery_install .product .prices .total .price
{
    font-size: 18px;
    line-height: 24px;
}

.delivery_install .product .prices .price span
{
    font-size: 30px;
}

.delivery_install .product .prices .price .old
{
    font-size: 16px;
    line-height: 24px;

    text-decoration: line-through;
}

.delivery_install .product .prices .price .new
{
    color: #ce0000;
    font-weight: 700;
    line-height: 30px;
}


.delivery_install .product .btns
{
    margin-top: 20px;
    padding-left: 140px;
}

.delivery_install .product .btns > * + *
{
    margin-top: 20px;
}


.delivery_install .product .buy_btn
{
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;

    display: block;

    padding: 14px 20px;

    transition: background .2s linear;
    text-transform: uppercase;

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

.delivery_install .product .buy_btn:hover
{
    background: #9f0404;
}


.delivery_install .product .get_measurer_btn
{
    color: #3c86ca;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;

    display: block;

    transition: color .2s linear;
    text-align: left;
    text-transform: uppercase;
}

.delivery_install .product .get_measurer_btn br
{
    display: none;
}

.delivery_install .product .get_measurer_btn:hover
{
    color: #ce0000;
}



/*-------------------
    Checkout info
-------------------*/
.checkout_info .form .cols
{
    margin-left: -70px;
}

.checkout_info .form .cols .col
{
    width: calc(33.333% - 70px);
    margin-left: 70px;
}


.checkout_info .form .title
{
    font-weight: 700;

    min-height: 17px;
    margin-bottom: 16px;
}

.checkout_info .form .delivery_methods .field + .field
{
    margin-top: 20px;
}

.checkout_info .form textarea
{
    height: 120px;
}

.checkout_info .form .submit_btn
{
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;

    margin-right: auto;
    padding: 14px 20px;
}



/*-------------
    Gallery
-------------*/
.product_tabs .gallery
{
    padding-bottom: 25px;

    border-bottom: 1px solid #ededed;
}


.gallery .row
{
    margin-bottom: -44px;
    margin-left: -16px;
}

.gallery .row > *
{
    width: calc(16.666% - 16px);
    margin-bottom: 44px;
    margin-left: 16px;
}


.gallery .row > *.big
{
    color: currentColor;

    display: block;

    width: calc(50% - 16px);

    text-decoration: none;
}

.gallery .row > *.big.pad_right
{
    padding-right: 32px;
}

.gallery .row > *.big.pad_left
{
    padding-left: 32px;
}


.gallery .hide
{
    display: none;
}


.gallery .big .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 75%;

    background: #ddd;
}

.gallery .big .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.gallery .big .name
{
    font-size: 18px;
    font-weight: 500;
    line-height: 25px;

    margin-top: 20px;

    text-align: center;
}

.gallery .big:hover .thumb .play_icon
{
    background: #9f0404;
}

.gallery .big:hover .thumb .play_icon > *
{
    color: #fff;
}


.gallery .item
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

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

.gallery .item .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 170%;

    background: #ddd;
}

.gallery .item .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.gallery .thumb .play_icon
{
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: flex;

    width: 70px;
    height: 70px;
    margin: auto;

    transition: background .2s linear;

    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);

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

.gallery .thumb .play_icon > *
{
    color: #ce0000;

    display: block;

    width: 19px;
    height: 21px;
    margin-left: 4px;

    transition: color .2s linear;
}

.gallery .item .name
{
    margin-top: 10px;
}

.gallery .item .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.gallery .item .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}


.gallery .item:hover .hover
{
    opacity: 1;
}


.gallery .more_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: inline-block;

    margin-top: 20px;

    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;
}

.gallery .more_btn span + span,
.gallery .more_btn.active span
{
    display: none;
}

.gallery .more_btn.active span + span
{
    display: block;
}

.gallery .more_btn:hover
{
    color: #ce0000;
}



/*--------------
    Articles
--------------*/
.articles .list > * + *
{
    margin-top: 50px;
}


.articles .list .article
{
    display: flex;

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


.articles .list .article .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

    width: 250px;
    max-width: 100%;
    padding-bottom: 188px;

    background: #ddd;
}

.articles .list .article .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.articles .list .article .thumb + .info
{
    width: calc(100% - 286px);
}


.articles .list .article .name
{
    color: #3c86ca;
    font-size: 25px;
    line-height: 35px;
}

.articles .list .article .name a
{
    color: currentColor;

    display: inline-block;

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

.articles .list .article .thumb:hover + .info .name a,
.articles .list .article .name a:hover
{
    color: #ce0000;
}


.articles .list .article .desc
{
    margin-top: 16px;
}



/*---------
    Faq
---------*/
.faq .item
{
    transition: border-color .2s linear;

    border: 1px solid #ededed;
    border-radius: 3px;
}

.faq .item + .item
{
    margin-top: 10px;
}


.faq .item .head
{
    position: relative;

    padding: 13px 67px 13px 27px;

    cursor: pointer;
}

.faq .item .head .title
{
    color: var(--text_color);
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;

    transition: color .2s linear;
}

.faq .item .head:after
{
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;

    display: block;

    width: 9px;
    height: 9px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-right: 1px solid #727272;
    border-bottom: 1px solid #727272;
}


.faq .item .data
{
    display: none;

    padding: 0 67px 16px 27px;
}


.faq .item.active,
.faq .item:hover
{
    border-color: #ce0000;
}

.faq .item.active .title,
.faq .item .head:hover .title
{
    color: #ce0000;
}

.faq .item .head:hover:after
{
    border-color: #ce0000;
}

.faq .item.active .head:after
{
    top: -4px;

    transform: rotate(45deg);

    border-color: #ce0000;
}



/*------------
    Stocks
------------*/
.stocks .row
{
    margin-bottom: -80px;
    margin-left: -80px;

    align-items: stretch;
    align-content: stretch;
}

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

.stocks .row > *.full_w
{
    width: calc(100% - 80px);
}


.stocks .stock
{
    color: #fff;

    position: relative;

    display: block;

    text-decoration: none;
}


.stocks .stock .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 75%;

    background: #ddd;
}

.stocks .stock .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.stocks .stock .info
{
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

    width: 100%;
    padding: 28px 100px 28px 28px;

    transition: background .2s linear;

    background: rgba(0,0,0,.8);
}

.stocks .stock.full_w .info
{
    width: calc(50% - 40px);
}

.stocks .stock .name
{
    font-size: 20px;
    font-weight: 700;
    line-height: 27px;
}

.stocks .stock .desc
{
    font-size: 14px;
    line-height: 21px;

    margin-top: 8px;
}

.stocks .stock .date
{
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    position: absolute;
    top: 0;
    right: 0;

    padding: 10px 14px;

    transition: background .2s linear;

    background: #ce0000;
}

.stocks .stock .date .year
{
    font-size: 11px;
    font-weight: 400;
    line-height: 15px;

    display: block;
}


.stocks .stock.full_w .thumb
{
    padding-bottom: 250px;
}


.stocks .stock:hover .info
{
    background: rgba(206,0,0,.8);
}

.stocks .stock:hover .date
{
    background: #9f0404;
}



/*-----------------
    Action form
-----------------*/
.action_form .data
{
    padding: 30px;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}


.action_form .data .title
{
    font-size: 25px;
    font-weight: 800;
    line-height: 30px;

    margin-bottom: 24px;

    text-align: center;
}


.action_form .data .form
{
    width: 700px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}



/*----------------
    Brand info
----------------*/
.brand_info
{
    position: relative;
    z-index: 2;

    padding: 25px 0;

    background: #252525;
}


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

    width: 100%;
    height: 100%;

    background-repeat: no-repeat;
    background-position: 50%;
    background-size: cover;
}


.brand_info .cont
{
    justify-content: space-between;
}


.brand_info .desc
{
    color: #d8d8d8;
    font-size: 16px;
    line-height: 23px;

    width: 852px;
    max-width: calc(100% - 333px);

    align-self: center;
}

.brand_info .desc.dark
{
    color: var(--text_color);
}


.brand_info .logo
{
    width: 293px;
    max-width: 100%;
    margin-left: auto;

    order: 2;
}

.brand_info .logo img
{
    display: block;

    max-width: 100%;
}



/*-----------------
    Fast filter
-----------------*/
.fast_filter
{
    margin-bottom: -40px;
}


.fast_filter .row
{
    margin-bottom: -10px;
    margin-left: -10px;

    align-items: stretch;
    align-content: stretch;
}

.fast_filter .row > *
{
    max-width: calc(100% - 10px);
    margin-bottom: 10px;
    margin-left: 10px;
}


.fast_filter input[type=checkbox]
{
    display: none;
}


.fast_filter label
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 18px;

    position: relative;

    display: inline-block;

    padding: 5px 10px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: top;

    border: 1px solid #ebf3fa;
    border-radius: 3px;
    background: #ebf3fa;
}

.fast_filter label .icon
{
    position: absolute;
    top: 0;
    right: 7px;
    bottom: 0;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;

    transition: opacity .2s linear;

    opacity: 0;
}

.fast_filter label .icon:before,
.fast_filter label .icon:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 11px;
    height: 1px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: #949494;
}

.fast_filter label .icon:after
{
    transform: rotate(-45deg);
}


.fast_filter .hide
{
    display: none;
}


.fast_filter label:hover
{
    color: #717171;

    border-color: #ededed;
    background: #ededed;
}


.fast_filter input:checked + label
{
    color: #717171;

    padding-right: 26px;

    border-color: #ededed;
    background: #fff;
}

.fast_filter input:checked + label .icon
{
    opacity: 1;
}


.fast_filter .spoler_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 18px;

    display: inline-block;

    padding: 6px 4px;

    transition: color .2s linear;
    vertical-align: top;
}

.fast_filter .spoler_btn span + span,
.fast_filter .spoler_btn.active span
{
    display: none;
}

.fast_filter .spoler_btn.active span + span
{
    display: block;
}

.fast_filter .spoler_btn:hover
{
    color: #ce0000;
}



/*-------------------
    Products head
-------------------*/
.products_head
{
    color: #474747;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    margin-bottom: -30px;

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


.products_head .sort
{
    display: flex;

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


.products_head .name
{
    margin-right: 10px;

    white-space: nowrap;
}


.products_head select
{
    display: none;
}

.products_head .nice-select
{
    position: relative;

    display: block;
}

.products_head .nice-select .current
{
    color: #3c86ca;

    position: relative;

    display: block;
    overflow: hidden;

    padding-right: 17px;

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

.products_head .nice-select .current:after
{
    position: absolute;
    top: -3px;
    right: 1px;
    bottom: 0;

    display: block;

    width: 6px;
    height: 6px;
    margin: auto;

    content: '';
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.products_head .nice-select .list
{
    position: absolute;
    z-index: 9;
    top: calc(100% + 30px);
    left: -12px;

    visibility: hidden;
    overflow: hidden;

    min-width: calc(100% + 24px);

    transition: .2s linear;

    opacity: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.products_head .nice-select.open .list
{
    top: calc(100% + 10px);

    visibility: visible;

    opacity: 1;
}

.products_head .nice-select .list .scrollbar
{
    overflow: auto;

    max-height: 240px;
}

.products_head .nice-select .list .list_item
{
    color: #474747;

    padding: 10px 12px;

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

.products_head .nice-select .list .list_item:empty
{
    display: none;
}

.products_head .nice-select .list .list_item:hover,
.products_head .nice-select .list .list_item.selected
{
    background: #ededed;
}



.products_head .filter_selected
{
    width: 100%;
    margin-top: 12px;
}

.products_head .filter_selected .row
{
    margin-bottom: -10px;
    margin-left: -10px;

    align-items: stretch;
    align-content: stretch;
}

.products_head .filter_selected .row > *
{
    max-width: calc(100% - 10px);
    margin-bottom: 10px;
    margin-left: 10px;
}


.products_head .filter_selected .btn
{
    color: #717171;
    font-size: 12px;
    line-height: 18px;

    position: relative;

    display: inline-block;

    padding: 3px 26px 3px 8px;

    vertical-align: top;

    border: 1px solid #ededed;
    border-radius: 3px;
}

.products_head .filter_selected .btn .icon
{
    position: absolute;
    top: 0;
    right: 7px;
    bottom: 0;

    display: block;

    width: 10px;
    height: 10px;
    margin: auto;
}

.products_head .filter_selected .btn .icon:before,
.products_head .filter_selected .btn .icon:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 11px;
    height: 1px;
    margin: auto;

    content: '';
    transition: background .2s linear;
    transform: rotate(45deg);

    background: #949494;
}

.products_head .filter_selected .btn .icon:after
{
    transform: rotate(-45deg);
}

.products_head .filter_selected .btn:hover .icon:before,
.products_head .filter_selected .btn:hover .icon:after
{
    background: #ce0000;
}



/*--------------
    Products
--------------*/
.products .swiper-container
{
    overflow: visible !important;

    margin: -20px 0;
}

.products .swiper-container .slide
{
    visibility: hidden;

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

    opacity: 0;
}

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

    pointer-events: auto;

    opacity: 1;
}


.products .row
{
    --products_count: 3;
    align-items: stretch;
    align-content: stretch;
}

.products .row > *
{
    width: 33.333%;
}


.products .product
{
    position: relative;
    z-index: 3;

    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
    padding: 30px;

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

    border-radius: 3px;
}


.products .product .btns
{
    position: absolute;
    z-index: 3;
    top: 4px;
    right: 0;

    display: flex;
    flex-direction: column;

    transition: opacity .2s linear;

    opacity: 0;
}

.products .product .btns button
{
    color: #7c7c7c;

    display: flex;

    width: 47px;
    height: 37px;

    transition: color .2s linear;

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

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

    width: 23px;
    height: 21px;

    fill: currentColor;
}

.products .product .btns .compare_btn .icon
{
    display: block;

    width: 23px;
    height: 21px;

    fill: currentColor;
}

.products .product .btns button:hover,
.products .product .btns button.active
{
    color: #ce0000;
}


.products .product .sticker
{
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 32px;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 5px;

    padding: 0 6px;

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

    border-radius: 0 0 3px 3px;
}

.products .product .sticker.new
{
    background: url(../images/sh_sticker_new.png) 50% 0 repeat-x #6aa84e;
}

.products .product .sticker.stock
{
    display: flex;

    width: 20px;
    height: 32px;
    padding: 0;

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

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

.products .product .sticker.stock > *
{
    display: block;

    width: 14px;
    height: 14px;
    margin-bottom: 3px;
}


.products .product .thumb
{
    position: relative;

    overflow: hidden;

    margin-bottom: 20px;
    padding-bottom: 84.18%;
}

.products .product .thumb a
{
    color: currentColor;

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

    display: flex;

    width: 240px;
    max-width: 100%;
    height: 100%;
    margin: auto;

    text-decoration: none;

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

.products .product .thumb img
{
    display: block;

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


.products .product .rating
{
    font-size: 12px;
    line-height: 18px;

    margin-top: 16px;
}

.products .product .rating > * + *
{
    margin-top: 8px;
}

.products .product .rating .stars
{
    display: flex;

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

.products .product .rating .stars > * + *
{
    margin-left: 7px;
}

.products .product .rating .stars > *
{
    color: #d8d8d8;

    display: block;

    width: 14px;
    height: 14px;
}

.products .product .rating .stars > *.active
{
    color: #ce0000;
}

.products .product .rating .stars > *.middle
{
    color: #ce0000;

    --svg_color2: #d8d8d8;
}


.products .product .name
{
    color: #3c86ca;
    font-size: 15px;
    font-weight: 500;
    line-height: 22px;

    margin-top: 16px;
}

.products .product .name a
{
    color: currentColor;

    display: inline-block;

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

.products .product .name a:hover
{
    color: #ce0000;
}


.products .product .options
{
    display: none;

    margin-top: 20px;
    padding: 0 13px;
}

.products .product .options .line
{
    margin-bottom: 20px;
}


.products .product .options .link
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: block;

    width: calc(100% + 86px);
    margin-right: -43px;
    margin-left: -43px;
    padding: 5px 30px;

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

    background: #ebf3fa;
}


.products .product .price
{
    font-size: 14px;
    font-weight: 700;
    line-height: 29px;

    margin-top: 16px;

    white-space: nowrap;
}

.products .product .price span
{
    font-size: 22px;
}

.products .product .price .old,
.products .product .price .old span
{
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;

    text-decoration: line-through;
}

.products .product .price .new
{
    color: #ce0000;
}


.products .product .buy_btn
{
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;

    display: inline-block;

    margin-top: 16px;
    padding: 10px 19px;

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

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

.products .product .buy_btn:hover
{
    background: #9f0404;
}


.products .product .get_measurer_btn
{
    color: #3c86ca;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;

    display: none;

    margin-top: 24px;

    transition: .2s linear;
    text-align: left;
    vertical-align: top;
    text-transform: uppercase;
}

.products .product .get_measurer_btn:hover
{
    color: #ce0000;
}



.products .product:hover
{
    z-index: 5;

    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.products .product:hover .btns
{
    opacity: 1;
}

.products .product:hover .options
{
    display: block;
}

.products .product:hover .get_measurer_btn
{
    display: inline-block;
}



/*-------------------------
    Related collections
-------------------------*/
.related_collections .block_title
{
    font-size: 25px;
    line-height: 35px;

    margin-bottom: 20px;
}


.related_collections .row
{
    margin-bottom: -10px;
    margin-left: -10px;

    align-items: stretch;
    align-content: stretch;
}

.related_collections .row > *
{
    max-width: calc(100% - 10px);
    margin-bottom: 10px;
    margin-left: 10px;
}


.related_collections a
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 18px;

    display: inline-block;

    padding: 6px 11px;

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

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

.related_collections a:hover,
.related_collections a.active
{
    color: #717171;

    background: #ededed;
}



/*-----------------
    Bottom text
-----------------*/
.bottom_text
{
    padding: 60px 0;

    background: #f5f5f5;
}



/*------------------
    Compare info
------------------*/
.compare_info
{
    --sidebar_width: 254px;
}


.compare_info aside
{
    align-self: flex-end;
}

.compare_info .content_flex .content
{
    position: relative;

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



.compare_info .compare_features .differences
{
    margin-bottom: 32px;
}

.compare_info .compare_features .differences input[type=checkbox],
.compare_info .compare_features .differences input[type=radio]
{
    display: none;
}

.compare_info .compare_features .differences input[type=checkbox] + label,
.compare_info .compare_features .differences input[type=radio] + label
{
    color: #717171;
    font-size: 12px;
    line-height: 18px;

    position: relative;

    display: table-cell;

    height: 18px;
    padding-left: 27px;

    cursor: pointer;
    text-align: left;
    vertical-align: middle;
}

.compare_info .compare_features .differences input[type=checkbox] + label:before,
.compare_info .compare_features .differences input[type=radio] + label:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;

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

    border: 1px solid #d9d9d9;
    border-radius: 50%;
    background: #fff;
}

.compare_info .compare_features .differences input[type=checkbox] + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 9px;
    height: 5px;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}

.compare_info .compare_features .differences input[type=radio] + label:before
{
    border-radius: 50%;
}

.compare_info .compare_features .differences input[type=radio] + label:after
{
    position: absolute;
    top: 5px;
    left: 5px;

    display: block;

    width: 8px;
    height: 8px;

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

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

.compare_info .compare_features .differences input[type=checkbox]:checked + label:after,
.compare_info .compare_features .differences input[type=radio]:checked + label:after
{
    opacity: 1;
}


.compare_info .compare_features .title
{
    font-size: 25px;
    line-height: 35px;

    margin-bottom: 24px;
}


.compare_info .compare_features .list > *
{
    color: #474747;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    padding: 9px 19px;

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

.compare_info .compare_features .list > *:nth-child(2n+1)
{
    background: #f4f4f4;
}

.compare_info .compare_features .list span
{
    position: relative;

    display: block;
}

.compare_info .compare_features .list span.mark:before
{
    position: absolute;
    top: 4px;
    left: -19px;

    display: block;

    width: 4px;
    height: calc(100% - 9px);

    content: '';

    background: #ce0000;
}


.compare_info .products
{
    position: relative;
}

.compare_info .products .swiper-container
{
    overflow: hidden !important;

    margin: 0;
}

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

    pointer-events: auto;

    opacity: 1;
}

.compare_info .products .swiper-button-next
{
    right: -20px;

    margin-top: -20px;
}

.compare_info .products .swiper-button-prev
{
    left: -20px;

    margin-top: -20px;
}

.compare_info .products .product
{
    margin-bottom: 24px;
    padding: 0;

    border-radius: 0;
}

.compare_info .products .product .thumb a
{
    padding-right: 16px;
    padding-left: 16px;
}

.compare_info .products .product .name
{
    padding-right: 24px;
    padding-left: 24px;
}

.compare_info .products .product:hover
{
    box-shadow: none;
}


.compare_info .product_features .list > *
{
    color: #474747;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    padding: 9px 30px;

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

.compare_info .product_features .list > *:nth-child(2n+1)
{
    background: #f4f4f4;
}

.compare_info .product_features a
{
    color: #3c86ca;

    display: inline-block;

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

.compare_info .product_features a:hover
{
    color: #ce0000;
}



/*------------------
    Product info
------------------*/
.product_info .head
{
    display: flex;

    margin-bottom: 24px;

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


.product_info .head .product_name
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: calc(var(--font_size_title) + 10px);

    display: block;

    width: 100%;
}


.product_info .head .rating
{
    font-size: 13px;
    line-height: 18px;

    display: flex;

    margin-top: 16px;

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

.product_info .head .rating a
{
	color: #3c86ca;
	text-decoration: none;
}

.product_info .head .rating > * + *
{
    margin-left: 12px;
}

.product_info .head .rating .stars
{
    display: flex;

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

.product_info .head .rating .stars > * + *
{
    margin-left: 7px;
}

.product_info .head .rating .stars > *
{
    color: #d8d8d8;

    display: block;

    width: 14px;
    height: 14px;
}

.product_info .head .rating .stars > *.active
{
    color: #ce0000;
}
.product_info .head .rating .stars > *.middle
{
    color: #ce0000;

    --svg_color2: #d8d8d8;
}


.product_info .head .sep
{
    width: 1px;
    height: 13px;
    margin: 0 13px;
    margin-top: 16px;

    background: #d8d8d8;
}


.product_info .head .add_review_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: inline-block;

    margin-top: 16px;

    transition: color .2s linear;
    vertical-align: top;
}

.product_info .head .add_review_btn:hover
{
    color: #ce0000;
}



.product_info .data
{
    display: flex;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);

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


.product_info .image
{
    position: relative;

    display: flex;
    overflow: hidden;

    width: 50%;
    padding: 50px 70px 30px;

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


.product_info .image .img
{
    position: relative;

    display: flex;

    width: calc(100% + 25px);
    margin-left: -25px;

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

.product_info .image .img figure
{
    max-width: calc(50% - 25px);
    margin-left: 25px;
}

.product_info .image .img figure a
{
    display: block;

    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

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

    max-width: 100%;
}

.product_info .image .img figure figcaption
{
    color: #717171;
    font-size: 13px;
    line-height: 18px;

    margin-top: 12px;
}

.product_info .image .img figure figcaption span
{
    color: var(--text_color);
}


.product_info .image .swiper-container
{
    overflow: visible !important;

    width: calc(100% + 64px);
    margin: 0 -32px 20px;
    padding: 0 32px;
}

.product_info .image .swiper-container .slide
{
    visibility: hidden;

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

    opacity: 0;
}

.product_info .image .swiper-container .slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

.product_info .image .swiper-container .swiper-button-next,
.product_info .image .swiper-container .swiper-button-prev
{
    top: 0;
    bottom: auto;

    margin: -20px 0 0;
}

.product_info .image .swiper-container .swiper-button-next
{
    right: -12px;
}

.product_info .image .swiper-container .swiper-button-prev
{
    left: -12px;
}

.product_info .image .swiper-container .img > *
{
    display: flex;

    height: 530px;

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


.product_info .stickers
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 15px;

    display: flex;

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

.product_info .stickers > * + *
{
    margin-left: 10px;
}

.product_info .sticker
{
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 32px;

    padding: 0 6px;

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

    border-radius: 0 0 3px 3px;
}

.product_info .sticker.new
{
    background: url(../images/sh_sticker_new.png) 50% 0 repeat-x #6aa84e;
}

.product_info .sticker.stock
{
    display: flex;

    height: 32px;
    padding: 0;

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

.product_info .sticker.stock .icon
{
    display: flex;

    width: 20px;
    height: 32px;

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

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

.product_info .sticker.stock .icon > *
{
    display: block;

    width: 14px;
    height: 14px;
    margin-bottom: 3px;
}

.product_info .sticker.stock .percents
{
    color: var(--text_color);
    font-size: 13px;
    font-weight: 700;
    line-height: 32px;

    padding: 0 5px;

    white-space: nowrap;

    border-radius: 0 0 3px 0;
    background: #f6dddd url(../images/sh_sticker_stock.png) 50% 0 repeat-x;
}


.product_info .image .sides
{
    width: 500px;
    max-width: 100%;
    margin-top: 24px;
    margin-right: auto;
    margin-left: auto;
}

.product_info .image .sides .row
{
    margin-bottom: -25px;
    margin-left: -25px;
}

.product_info .image .sides .row > *
{
    width: calc(50% - 25px);
    margin-bottom: 25px;
    margin-left: 25px;
}

.product_info .image .sides .item > * + *
{
    margin-top: 10px;
}

.product_info .image .sides .name
{
    font-size: 15px;
    font-weight: 700;
    line-height: 22px;
}

.product_info .image .sides .img_thumb
{
    display: block;

    width: 100%;
    height: 45px;
}

.product_info .image .sides .img_thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.product_info .image .sides .val
{
    color: #717171;
    font-size: 13px;
    line-height: 20px;

    display: flex;

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

.product_info .image .sides .val a
{
    color: #3c86ca;

    display: block;

    margin-left: 4px;

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

.product_info .image .sides .val .btn
{
    display: block;
}

.product_info .image .sides .val .btn .icon
{
    color: #747474;

    display: block;

    width: 16px;
    height: 16px;
    margin-left: 9px;

    transition: color .2s linear;
}

.product_info .image .sides .val a:hover,
.product_info .image .sides .val .btn:hover .icon
{
    color: #ce0000;
}


.product_info .info
{
    position: relative;

    width: 50%;
    margin-left: auto;

    border-left: 1px solid #ededed;
}

.product_info .info .section
{
    padding: 20px 40px;
}

.product_info .info .section.overflow
{
    overflow: hidden;
}

.product_info .info .section + .section
{
    border-top: 1px solid #ededed;
}


.product_info .info .articul
{
    color: #717171;
    line-height: 21px;

    margin-right: auto;

    white-space: nowrap;
}

.product_info .info .articul span
{
    color: var(--text_color);
}


.product_info .info .favorite_btn
{
    color: #3c86ca;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;

    display: flex;

    margin-left: auto;

    transition: color .2s linear;
    text-transform: uppercase;

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

.product_info .info .favorite_btn .icon
{
    color: #7c7c7c;

    display: block;

    width: 23px;
    height: 21px;
    margin-right: 9px;
}

.product_info .info .favorite_btn span + span,
.product_info .info .favorite_btn.active span
{
    display: none;
}

.product_info .info .favorite_btn.active span + span
{
    display: block;
}

.product_info .info .favorite_btn:hover,
.product_info .info .favorite_btn.active .icon
{
    color: #ce0000;
}


.product_info .info .compare_btn
{
    color: #3c86ca;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;

    display: flex;

    margin-left: 40px;

    transition: color .2s linear;
    text-transform: uppercase;

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

.product_info .info .compare_btn .icon
{
    color: #717171;

    display: block;

    width: 23px;
    height: 21px;
    margin-right: 9px;

    fill: currentColor;
}

.product_info .info .compare_btn span + span,
.product_info .info .compare_btn.active span
{
    display: none;
}

.product_info .info .compare_btn.active span + span
{
    display: block;
}

.product_info .info .compare_btn:hover,
.product_info .info .compare_btn.active .icon
{
    color: #ce0000;
}


.product_info .info .features .item
{
    font-size: 13px;
    line-height: 20px;

    position: relative;
    z-index: 3;

    display: flex;

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

.product_info .info .features .item + .item
{
    margin-top: 8px;
}

.product_info .info .features .item:before
{
    position: absolute;
    z-index: -1;
    top: 13px;
    left: 0;

    display: block;

    width: 100%;
    height: 1px;

    content: '';

    border-bottom: 1px dotted;
}

.product_info .info .features .item .name
{
    color: #474747;

    position: relative;

    padding-right: 2px;

    background: #fff;
}

.product_info .info .features .item .val
{
    position: relative;

    max-width: calc(100% - 136px);
    padding-left: 2px;

    text-align: right;

    background: #fff;
}

.product_info .info .features .item a
{
    color: #3c86ca;

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

.product_info .info .features .item a:hover
{
    color: #ce0000;
}


.product_info .info .features .all_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: inline-block;

    margin-top: 6px;

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

.product_info .info .features .all_btn:hover
{
    color: #ce0000;
}


.product_info .info .options
{
    display: flex;

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

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

.product_info .info .options > *
{
    width: calc(50% - 30px);
    margin-bottom: 20px;
    margin-left: 30px;
}


.product_info .info .options > *.full_w
{
    width: calc(100% - 30px);
}

.product_info .info .options > *.full_w
{
    display: flex;

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

.product_info .info .options > *.full_w .label
{
    width: 100%;
    margin-bottom: 5px;
}

.product_info .info .options > *.full_w .field
{
    width: calc(50% - 15px);
}

.product_info .info .options > *.full_w .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 28px;

    display: none;

    width: calc(50% - 15px);
    margin-left: 30px;

    white-space: nowrap;
}

.product_info .info .options > *.full_w .price span
{
    font-size: 20px;
}


.product_info .info .discount
{
    font-weight: 500;
    line-height: 20px;

    position: relative;

    width: calc(100% + 80px);
    margin: 30px -40px;
    padding: 10px 40px 10px 72px;

    background: #f6dddd;
}

.product_info .info .discount .icon
{
    color: #fff;

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

    display: flex;

    width: 20px;
    height: 32px;

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

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

.product_info .info .discount .icon > *
{
    display: block;

    width: 14px;
    height: 14px;
    margin-bottom: 3px;
}


.product_info .info .buy
{
    display: flex;

    padding: 8px 0 10px;

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

.product_info .info .buy.margin_top
{
    padding-top: 30px;
}


.product_info .info .buy .price span
{
    font-size: 30px;
    line-height: 30px;
}

.product_info .info .buy .price .old
{
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;

    text-decoration: line-through;
}

.product_info .info .buy .price .new
{
    color: #ce0000;
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
}

.product_info .info .buy .price .default
{
    font-weight: 700;

    display: flex;

    min-height: 50px;

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


.product_info .info .buy .status
{
    color: #717171;
    line-height: 21px;

    position: relative;

    margin-top: 12px;
    padding-left: 18px;
}

.product_info .info .buy .status:before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';

    border-radius: 50%;
}

.product_info .info .buy .status.green:before
{
    background: #6aa84e;
}

.product_info .info .buy .status.red:before
{
    background: #ce0000;
}

.product_info .info .buy .status.orange:before
{
    background: #ff7900;
}


.product_info .info .buy .btns
{
    display: flex;

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

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

.product_info .info .buy .btns > * + *
{
    margin-left: 30px;
}


.product_info .info .buy .buy_btn
{
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;

    display: block;

    padding: 14px 20px;

    transition: background .2s linear;
    text-transform: uppercase;

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

.product_info .info .buy .buy_btn:hover
{
    background: #9f0404;
}


.product_info .info .buy .get_measurer_btn
{
    color: #3c86ca;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;

    display: block;

    transition: color .2s linear;
    text-align: left;
    text-transform: uppercase;
}

.product_info .info .buy .get_measurer_btn br
{
    display: none;
}

.product_info .info .buy .get_measurer_btn:hover
{
    color: #ce0000;
}


.product_info .info .buy .castome_made
{
    color: #474747;
    font-size: 13px;
    line-height: 21px;

    width: 100%;
    margin-top: 16px;
    margin-left: 0 !important;
}

.product_info .info .buy .castome_made .btn
{
    color: #3c86ca;

    transition: .2s linear;
}

.product_info .info .buy .castome_made .btn:hover
{
    color: #ce0000;
}


.product_info .info .other_images .swiper-container
{
    overflow: visible !important;

    padding: 0 20px;
}

.product_info .info .other_images .slide
{
    visibility: hidden;

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

    opacity: 0;
}

.product_info .info .other_images .slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

.product_info .info .other_images .swiper-button-next,
.product_info .info .other_images .swiper-button-prev
{
    margin-top: -20px;
}

.product_info .info .other_images .swiper-button-prev
{
    left: -12px;
}

.product_info .info .other_images .swiper-button-next
{
    right: -12px;
}

.product_info .info .other_images .item
{
    color: currentColor;

    display: block;

    text-decoration: none;
}

.product_info .info .other_images .item .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 100%;
}

.product_info .info .other_images .item .thumb div
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

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

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

.product_info .info .other_images .item .thumb img
{
    display: block;

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

.product_info .info .other_images .item .caption
{
    display: none;
}
.product_info .img .caption
{
    display: none;
}


.product_info .info .thumbs
{
    overflow: visible !important;

    padding: 12px 20px;
}

.product_info .info .thumbs .slide
{
    visibility: hidden;

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

    opacity: 0;
}

.product_info .info .thumbs .slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

.product_info .info .thumbs .swiper-button-next,
.product_info .info .thumbs .swiper-button-prev
{
    top: 0;
    bottom: 0;

    margin: auto;
}

.product_info .info .thumbs .swiper-button-prev
{
    left: -12px;
}

.product_info .info .thumbs .swiper-button-next
{
    right: -12px;
}

.product_info .info .thumbs .slide button
{
    display: block;

    width: 100%;

    transition: border-color .2s linear;

    border-bottom: 2px solid transparent;
}

.product_info .info .thumbs .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 100%;
}

.product_info .info .thumbs .thumb div
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

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

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

.product_info .info .thumbs .thumb img
{
    display: block;

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

.product_info .info .thumbs .swiper-slide-thumb-active button
{
    border-color: #ce0000;
}


.product_info .info .colors_available
{
    margin: -21px -40px -20px -41px;
    padding: 22px 38px 24px;

    border: 2px solid #ce0000;
}

.product_info .info .colors_available .title
{
    color: #474747;
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;

    margin-bottom: 16px;
}

.product_info .info .colors_available ul li
{
    color: #474747;
    font-size: 14px;
    line-height: 20px;

    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 26px;

    list-style-type: none;
}

.product_info .info .colors_available ul li + li
{
    margin-top: 16px;
}

.product_info .info .colors_available ul li:before
{
    position: absolute;
    top: 3px;
    left: 2px;

    display: block;

    width: 12px;
    height: 12px;

    content: '';

    border: 4px solid #fff;
    border-radius: 50%;
    background: #ce0000;
    box-shadow: 0 0 3.35px 1.65px rgba(51, 51, 51, .1);
}


.product_info .info .view_options
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;
    padding: 40px 0;
}


.product_info .info .view_options .title
{
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;

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

    text-align: center;
}


.product_info .info .view_options .section
{
    padding-top: 0;
    padding-bottom: 0;
}

.product_info .info .view_options .section + .section
{
    margin-top: 30px;
    padding-top: 30px;
}


.product_info .info .view_options .scroll
{
    overflow: auto;

    margin-right: 16px;

    scrollbar-color: #989898 #d8d8d8;
    scrollbar-width: thin;
}

.product_info .info .view_options .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    border-radius: 3px;
    background-color: #d8d8d8;
}

.product_info .info .view_options .scroll::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background-color: #989898;
}


.product_info .info .view_options .section_title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 16px;

    text-align: center;
}


.product_info .info .view_options .swiper-container
{
    overflow: visible !important;
}

.product_info .info .view_options .swiper-container .slide
{
    visibility: hidden;

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

    opacity: 0;
}

.product_info .info .view_options .swiper-container .slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}

.product_info .info .view_options .swiper-button-next,
.product_info .info .view_options .swiper-button-prev
{
    top: 0;
    bottom: 0;

    margin: auto;
}

.product_info .info .view_options .swiper-button-prev
{
    left: -32px;
}

.product_info .info .view_options .swiper-button-next
{
    right: -32px;
}

.product_info .info .view_options .swiper-container .slide .item
{
    width: 100%;
}


.product_info .info .view_options .row
{
    margin-left: -12px;
}

.product_info .info .view_options .row > *
{
    width: calc(25% - 12px);
    margin-top: 32px;
    margin-left: 12px;
}

.product_info .info .view_options .row > *:nth-child(1),
.product_info .info .view_options .row > *:nth-child(2),
.product_info .info .view_options .row > *:nth-child(3),
.product_info .info .view_options .row > *:nth-child(4)
{
    margin-top: 0;
}


.product_info .info .view_options .item
{
    position: relative;

    display: block;

    text-align: center;
}

.product_info .info .view_options .item .name
{
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
}

.product_info .info .view_options .item .thickness
{
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;

    margin-top: 2px;
}

.product_info .info .view_options .item .color
{
    color: #717171;
    font-size: 13px;
    line-height: 19px;

    overflow: hidden;

    margin-top: 2px;

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

.product_info .info .view_options .item .color a
{
    color: #3c86ca;

    text-decoration: none;
}

.product_info .info .view_options .item .color a:hover
{
    text-decoration: underline;
}

.product_info .info .view_options .item .thumb
{
    position: relative;

    margin-top: 12px;
}

.product_info .info .view_options .item .thumb > div
{
    display: flex;

    width: 100%;
    height: 100%;

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

.product_info .info .view_options .item .thumb > div > div
{
    position: relative;

    display: inline-block;

    vertical-align: top;
}

.product_info .info .view_options .item .thumb img
{
    display: block;

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

.product_info .info .view_options .item .thumb .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.product_info .info .view_options .item .thumb .hover .btn
{
    color: #ce0000;
    font-size: 11px;
    font-weight: 500;
    line-height: 18px;

    padding: 5px 13px;

    text-transform: uppercase;

    border: 1px solid #ce0000;
    border-radius: 3px;
}

.product_info .info .view_options .item .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 16px;
}

.product_info .info .view_options .item .price span
{
    font-size: 20px;
}

.product_info .info .view_options .item:hover .thumb .hover
{
    opacity: 1;
}



.product_sides_info
{
    position: absolute;
    z-index: 90;
    top: 0;
    right: 0;

    display: none;

    width: 100%;
    height: 100%;

    border-radius: 0 3px 3px 0;
    background: #fff;
}


.product_sides_info .close_btn
{
    position: absolute;
    z-index: 9;
    top: 8px;
    right: 8px;

    display: flex;

    width: 40px;
    height: 40px;

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

.product_sides_info .close_btn .icon
{
    color: #717171;

    display: block;

    width: 16px;
    height: 16px;

    transition: .2s linear;
}

.product_sides_info .close_btn:hover .icon
{
    color: #ce0000;
}


.product_sides_info .arrow
{
    position: absolute;
    z-index: 9;
    top: 92px;
    left: -372px;

    width: 410px;
    height: 1px;

    pointer-events: none;

    background: #ce0000;
}

.product_sides_info .arrow.mini
{
    left: -112px;

    width: 150px;
}

.product_sides_info .arrow:before
{
    position: absolute;
    top: -4px;
    right: 100%;

    display: block;

    width: 9px;
    height: 9px;

    content: '';

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

.product_sides_info .arrow:after
{
    position: absolute;
    top: -3px;
    left: 100%;

    display: block;

    width: 7px;
    height: 7px;

    content: '';

    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 7px solid #ce0000;
}



/*--------------------
    Product colors
--------------------*/
.product_colors .block_title
{
    font-size: 30px;
    line-height: 40px;

    margin-bottom: 20px;
}


.product_colors .row
{
    margin-bottom: -40px;
    margin-left: -50px;
}

.product_colors .row > *
{
    width: calc(12.5% - 50px);
    margin-bottom: 40px;
    margin-left: 50px;
}


.product_colors .item
{
    color: currentColor;
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;

    display: block;

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

.product_colors .item.hide
{
    display: none;
}


.product_colors .item .thumb
{
    position: relative;

    overflow: hidden;

    margin-bottom: 12px;
    padding-bottom: 100%;

    background: #ddd;
}

.product_colors .item .thumb img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.product_colors .item .caption
{
    display: none;
}


.product_colors .load_more
{
    margin-top: 12px;
}



/*-----------------------
    Product equipment
-----------------------*/
.product_equipment .block_title
{
    font-size: 30px;
    line-height: 40px;

    margin-bottom: 20px;
}


.product_equipment .row
{
    margin-bottom: -40px;
    margin-left: -40px;
}

.product_equipment .row > *
{
    width: calc(16.666% - 40px);
    margin-bottom: 40px;
    margin-left: 40px;
}


.product_equipment .item
{
    color: currentColor;

    display: block;

    text-align: left;
}

.product_equipment .item .thumb
{
    position: relative;

    overflow: hidden;

    margin-bottom: 16px;
    padding-bottom: 100%;

    border: 1px solid #ededed;
    border-radius: 3px;
}

.product_equipment .item .thumb div
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

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

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

.product_equipment .item .thumb img
{
    display: block;

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


.product_equipment .item .type
{
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
}


.product_equipment .item .name
{
    color: #3c86ca;
    font-size: 15px;
    line-height: 22px;

    display: flex;

    margin-top: 2px;

    transition: color .2s linear;

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

.product_equipment .item .name .icon
{
    color: #737373;

    display: block;

    width: 16px;
    height: 16px;
    margin-left: 9px;

    transition: color .2s linear;

    order: 2;
}

.product_equipment .item .name .icon + span
{
    max-width: calc(100% - 25px);
}


.product_equipment .item:hover .name,
.product_equipment .item:hover .name .icon
{
    color: #ce0000;
}



/*------------------------
    Additional options
------------------------*/
.additional_options .item
{
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}

.additional_options .item + .item
{
    margin-top: 20px;
}


.additional_options .head
{
    position: relative;

    display: flex;

    padding: 12px 68px 12px 28px;

    cursor: pointer;

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

.additional_options .head .title
{
    color: var(--text_color);
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    transition: color .2s linear;
}

.additional_options .head .selected_count
{
    color: #474747;
    font-size: 14px;
    line-height: 20px;

    margin-top: 2px;
    margin-left: 44px;

    white-space: nowrap;
}

.additional_options .head:after
{
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;

    display: block;

    width: 9px;
    height: 9px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-right: 1px solid #727272;
    border-bottom: 1px solid #727272;
}


.additional_options .data
{
    display: none;

    padding: 24px 20px 30px 28px;

    border-top: 1px solid #ededed;
}


.additional_options .item.active,
.additional_options .item:hover
{
    border-color: #ce0000;
}

.additional_options .item.active .head .title,
.additional_options .head:hover .title
{
    color: #ce0000;
}

.additional_options .head:hover:after
{
    border-color: #ce0000;
}

.additional_options .item.active .head:after
{
    top: -4px;

    transform: rotate(45deg);

    border-color: #ce0000;
}


.additional_options .items
{
    margin-bottom: -36px;
    margin-left: -28px;

    --additional_options_count: 6;
}

.additional_options .items > *
{
    width: calc(16.666% - 28px);
    margin-bottom: 36px;
    margin-left: 28px;
}


.additional_options .option input
{
    display: none;
}

.additional_options .option label
{
    position: relative;

    display: block;

    cursor: pointer;
    text-align: center;
}


.additional_options .option label .thumb
{
    width: 182px;
    max-width: 100%;
    margin-right: auto;
    margin-bottom: 16px;
    margin-left: auto;
    padding: 9px;

    transition: border-color .2s linear;

    border: 1px solid #ededed;
}

.additional_options .option label .thumb > *
{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    text-decoration: none;

    background: #ddd;
}

.additional_options .option label .thumb > * img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.additional_options .option label .thumb .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.additional_options .option label .thumb .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}


.additional_options .option label .name
{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.additional_options .option label .name .btn
{
    color: #747474;

    position: relative;
    top: -1px;

    display: inline-block;

    margin-left: 4px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: middle;
}

.additional_options .option label .name .btn > *
{
    display: block;

    width: 16px;
    height: 16px;
}

.additional_options .option label .name .btn:hover
{
    color: #ce0000;
}


.additional_options .option label .desc
{
    color: #474747;
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;

    margin-top: 4px;
}

.additional_options .option label .point
{
    position: relative;

    display: block;

    width: 18px;
    height: 18px;
    margin: 16px auto 0;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

.additional_options .option label .point:after
{
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 0;

    display: block;

    width: 9px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}


.additional_options .option label .amount
{
    position: relative;

    width: 90px;
    margin: 16px auto 0;
}

.additional_options .option label .amount button
{
    color: #828282;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 32px;
    height: 100%;

    transition: color .2s linear;
}

.additional_options .option label .amount button:before
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.additional_options .option label .amount button.plus
{
    right: 0;
    left: auto;
}

.additional_options .option label .amount button.plus:before
{
    top: 3px;

    transform: rotate(-225deg);
}

.additional_options .option label .amount button:hover:before
{
    border-color: #ce0000;
}

.additional_options .option label .amount .input
{
    color: #474747;
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 30px;

    text-align: center;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: none;
}


.additional_options .option label .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 12px;

    white-space: nowrap;
}

.additional_options .option label .price span
{
    font-size: 20px;
}


.additional_options .option label:hover .point:after
{
    opacity: .4;
}

.additional_options .option label:hover .hover
{
    opacity: 1;
}


.additional_options .option input:checked + label .thumb
{
    border-color: #ce0000;
}

.additional_options .option input:checked + label .point:after
{
    opacity: 1;
}



/*------------------
    Product calc
------------------*/
.product_calc .data_wrap
{
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}


.product_calc .data_wrap > .item .head
{
    position: relative;

    display: flex;

    padding: 12px 68px 12px 28px;

    cursor: pointer;

    border-bottom: 1px solid #ededed;

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

.product_calc .data_wrap > .item .head .title
{
    color: var(--text_color);
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    width: 200px;

    transition: color .2s linear;
}

.product_calc .data_wrap > .item .head .selected_count
{
    color: #474747;
    font-size: 14px;
    line-height: 20px;

    margin-top: 2px;
    margin-left: 20px;

    white-space: nowrap;
}

.product_calc .data_wrap > .item .head .selected_price
{
    color: #474747;
    font-size: 14px;
    line-height: 20px;

    margin-top: 2px;
    margin-left: 20px;

    white-space: nowrap;
}

.product_calc .data_wrap > .item .head:after
{
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;

    display: block;

    width: 9px;
    height: 9px;
    margin: auto;

    content: '';
    transition: .2s linear;
    transform: rotate(-45deg);

    border-right: 1px solid #727272;
    border-bottom: 1px solid #727272;
}


.product_calc .data_wrap > .item .data
{
    display: none;

    padding: 24px 28px 30px;

    border-bottom: 1px solid #ededed;
}


.product_calc .data_wrap > .item.active,
.product_calc .data_wrap > .item:hover
{
    border-color: #ce0000;
}

.product_calc .data_wrap > .item.active .head .title,
.product_calc .data_wrap > .item .head:hover .title
{
    color: #ce0000;
}

.product_calc .data_wrap > .item .head:hover:after
{
    border-color: #ce0000;
}

.product_calc .data_wrap > .item.active .head:after
{
    top: -4px;

    transform: rotate(45deg);

    border-color: #ce0000;
}


.product_calc .scroll
{
    overflow: auto;

    width: calc(100% + 28px);
    max-height: 735px;
    margin-left: -28px;

    scrollbar-color: #989898 #d8d8d8;
    scrollbar-width: thin;
}

.product_calc .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    border-radius: 3px;
    background-color: #d8d8d8;
}

.product_calc .scroll::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background-color: #989898;
}


.product_calc .model
{
    position: relative;

    padding: 0 28px;
}

.product_calc .model + .model
{
    margin-top: 28px;
    padding-top: 28px;

    border-top: 1px solid #ededed;
}


.product_calc .model .del_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 21px;

    position: absolute;
    top: 78px;
    right: 28px;

    display: none;

    transition: color .2s linear;

    justify-content: flex-start;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    z-index: 100;
}

.product_calc .model + .model .del_btn
{
    display: flex;
}

.product_calc .model .del_btn .icon
{
    color: #717171;

    display: block;

    width: 18px;
    height: 19px;
    margin-right: 9px;

    transition: color .2s linear;
}

.product_calc .model .del_btn:hover,
.product_calc .model .del_btn:hover .icon
{
    color: #ce0000;
}


.product_calc .model > .row
{
    display: flex;

    margin-left: -40px;

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


.product_calc .model .status
{
    color: #717171;
    line-height: 21px;

    position: relative;

    width: calc(100% + 40px);
    margin-bottom: 15px;
    margin-left: 40px;
    padding-left: 18px;
}

.product_calc .model .status:before
{
    position: absolute;
    top: -1px;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';

    border-radius: 50%;
}

.product_calc .model .status.green:before
{
    background: #6aa84e;
}

.product_calc .model .status.red:before
{
    background: #ce0000;
}


.product_calc .model .item
{
    width: 182px;
    max-width: calc(33.333% - 40px);
    margin-left: 40px;
}


.product_calc .model .item .thumb
{
    width: 100%;
    margin-bottom: 16px;
    padding: 9px;

    transition: border-color .2s linear;

    border: 1px solid #ededed;
}

.product_calc .model .item .thumb a
{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    text-decoration: none;

    background: #ddd;
}

.product_calc .model .item .thumb a img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.product_calc .model .item .thumb .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.product_calc .model .item .thumb .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}


.product_calc .model .item .type
{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;

    margin-bottom: 4px;
}


.product_calc .model .item .name
{
    color: #3c86ca;
    font-size: 15px;
    line-height: 22px;
}

.product_calc .model .item .name a
{
    color: currentColor;

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

.product_calc .model .item .name a:hover
{
    color: #ce0000;
}

.product_calc .model .item .name .btn
{
    color: #737373;

    position: relative;
    top: -1px;

    display: inline-block;

    margin-left: 5px;

    transition: color .2s linear;
    vertical-align: middle;
}

.product_calc .model .item .name .btn > *
{
    display: block;

    width: 16px;
    height: 16px;
}

.product_calc .model .item .name .btn:hover
{
    color: #ce0000;
}


.product_calc .model .item .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 24px;

    margin-top: 12px;

    white-space: nowrap;
}

.product_calc .model .item .price span
{
    font-size: 20px;
}


.product_calc .model .item:hover .thumb .hover
{
    opacity: 1;
}


.product_calc .model .options
{
    width: calc(100% - 706px);
    max-width: calc(100% - 40px);
    margin-left: auto;
}

.product_calc .model .options .form .line
{
    margin-bottom: 16px;
}

.product_calc .model .options .form .label
{
    width: 100%;
    margin-bottom: 6px;
}

.product_calc .model .options .form .field
{
    width: 250px;
    max-width: 100%;
}


.product_calc .model .options .form .line.with_price
{
    display: flex;

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

.product_calc .model .options .form .line.with_price .field
{
    width: 250px;
    max-width: calc(100% - 100px);
}

.product_calc .model .options .form .line.with_price .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 28px;

    display: none;

    width: 80px;
    max-width: 100%;
    margin-left: 20px;

    white-space: nowrap;
}

.product_calc .model .options .form .line.with_price .price span
{
    font-size: 20px;
}


.product_calc .model .options .form .columns
{
    width: 250px;
    max-width: 100%;
}


.product_calc .model .options .amount .field
{
    position: relative;

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

.product_calc .model .options .amount button
{
    color: #828282;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 32px;
    height: 100%;

    transition: color .2s linear;
}

.product_calc .model .options .amount button:before
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.product_calc .model .options .amount button.plus
{
    right: 0;
    left: auto;
}

.product_calc .model .options .amount button.plus:before
{
    top: 3px;

    transform: rotate(-225deg);
}

.product_calc .model .options .amount button:hover:before
{
    border-color: #ce0000;
}

.product_calc .model .options .amount .input
{
    padding: 0 30px;

    text-align: center;
}

.product_calc .model .options .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 40px;

    white-space: nowrap;
}

.product_calc .model .options .price span
{
    font-size: 20px;
}


.product_calc .add_model_btn
{
    color: #ce0000;
    font-size: 11px;
    font-weight: 500;
    line-height: 17px;

    display: inline-block;

    margin-top: 24px;
    padding: 6px 13px 5px;

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

    border: 1px solid #ce0000;
    border-radius: 3px;
}

.product_calc .add_model_btn:hover
{
    color: #fff;

    background: #ce0000;
}


.product_calc .molding
{
    padding: 0 28px;
}

.product_calc .molding .row
{
    margin-bottom: -40px;
    margin-left: -40px;
}

.product_calc .molding .row > *
{
    width: 182px;
    max-width: calc(20% - 40px);
    margin-bottom: 40px;
    margin-left: 40px;
}

.product_calc .molding .row > *.middle
{
    width: 252px;
    max-width: calc(33.333% - 40px);
}

.product_calc .molding .row > *.big
{
    width: 404px;
    max-width: calc(40% - 40px);
}


.product_calc .molding .color .img_thumb
{
    display: block;

    width: 100%;
    height: 40px;
    margin-bottom: 6px;
}

.product_calc .molding .color .img_thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.product_calc .molding .color .val
{
    color: #717171;
    font-size: 13px;
    line-height: 20px;

    display: flex;

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

.product_calc .molding .color .val a
{
    color: #3c86ca;

    display: block;

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

.product_calc .molding .color .val .btn
{
    display: block;
}

.product_calc .molding .color .val .btn .icon
{
    color: #747474;

    display: block;

    width: 16px;
    height: 16px;
    margin-left: 9px;

    transition: color .2s linear;
}

.product_calc .molding .color .val a:hover,
.product_calc .molding .color .val .btn:hover .icon
{
    color: #ce0000;
}



.product_calc .decor
{
    margin-top: 28px;
    padding: 0 28px;
}

.product_calc .decor .items
{
    margin-left: -40px;

    --decor_count: 5;
}

.product_calc .decor .items > *
{
    width: 182px;
    max-width: calc(20% - 40px);
    margin-top: 40px;
    margin-left: 40px;
}

.product_calc .decor .items > *:nth-child(1),
.product_calc .decor .items > *:nth-child(2),
.product_calc .decor .items > *:nth-child(3),
.product_calc .decor .items > *:nth-child(4),
.product_calc .decor .items > *:nth-child(5)
{
    margin-top: 0;
}


.product_calc .decor .item input
{
    display: none;
}

.product_calc .decor .item label
{
    position: relative;

    display: block;

    cursor: pointer;
    text-align: center;
}

.product_calc .decor .item label .thumb
{
    width: 182px;
    max-width: 100%;
    margin-right: auto;
    margin-bottom: 12px;
    margin-left: auto;
    padding: 9px;

    transition: border-color .2s linear;

    border: 1px solid #ededed;
}

.product_calc .decor .item label .thumb > *
{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    text-decoration: none;

    background: #ddd;
}

.product_calc .decor .item label .thumb > * img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.product_calc .decor .item label .thumb .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.product_calc .decor .item label .thumb .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}

.product_calc .decor .item label .name
{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.product_calc .decor .item label .name .btn
{
    color: #747474;

    position: relative;
    top: -1px;

    display: inline-block;

    margin-left: 4px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: middle;
}

.product_calc .decor .item label .name .btn > *
{
    display: block;

    width: 16px;
    height: 16px;
}

.product_calc .decor .item label .name .btn:hover
{
    color: #ce0000;
}

.product_calc .decor .item label .desc
{
    color: #474747;
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;

    margin-top: 4px;
}

.product_calc .decor .item label .point
{
    position: relative;

    display: block;

    width: 18px;
    height: 18px;
    margin: 16px auto 0;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

.product_calc .decor .item label .point:after
{
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 0;

    display: block;

    width: 9px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}

.product_calc .decor .item label .amount
{
    position: relative;

    width: 90px;
    margin: 16px auto 0;
}

.product_calc .decor .item label .amount button
{
    color: #828282;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 32px;
    height: 100%;

    transition: color .2s linear;
}

.product_calc .decor .item label .amount button:before
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.product_calc .decor .item label .amount button.plus
{
    right: 0;
    left: auto;
}

.product_calc .decor .item label .amount button.plus:before
{
    top: 3px;

    transform: rotate(-225deg);
}

.product_calc .decor .item label .amount button:hover:before
{
    border-color: #ce0000;
}

.product_calc .decor .item label .amount .input
{
    color: #474747;
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 30px;

    text-align: center;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: none;
}

.product_calc .decor .item label .amount .unit
{
    color: #474747;
    font-size: 11px;
    line-height: 15px;

    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;

    height: 15px;
    margin: auto;
    margin-left: 10px;

    white-space: nowrap;
}


.product_calc .decor .item label .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 12px;

    white-space: nowrap;
}

.product_calc .decor .item label .price span
{
    font-size: 20px;
}


.product_calc .decor .item label:hover .point:after
{
    opacity: .4;
}

.product_calc .decor .item label:hover .hover
{
    opacity: 1;
}


.product_calc .decor .item input:checked + label .thumb
{
    border-color: #ce0000;
}

.product_calc .decor .item input:checked + label .point:after
{
    opacity: 1;
}



.product_calc .fittings .color
{
    padding: 0 28px 28px;
}

.product_calc .fittings .color .row
{
    margin-bottom: -40px;
    margin-left: -40px;
}

.product_calc .fittings .color .row > *
{
    width: 182px;
    max-width: calc(20% - 40px);
    margin-bottom: 40px;
    margin-left: 40px;
}

.product_calc .fittings .color .row > *.middle
{
    width: 252px;
    max-width: calc(33.333% - 40px);
}

.product_calc .fittings .color .row > *.big
{
    width: 404px;
    max-width: calc(40% - 40px);
}



.product_calc .fittings .items
{
    margin-left: -40px;
    padding-right: 28px;
    padding-left: 28px;

    --fittings_count: 5;
}

.product_calc .fittings .items > *
{
    width: 182px;
    max-width: calc(20% - 40px);
    margin-top: 40px;
    margin-left: 40px;
}

.product_calc .fittings .items > *:nth-child(1),
.product_calc .fittings .items > *:nth-child(2),
.product_calc .fittings .items > *:nth-child(3),
.product_calc .fittings .items > *:nth-child(4),
.product_calc .fittings .items > *:nth-child(5)
{
    margin-top: 40px;
}


.product_calc .fittings .item input
{
    display: none;
}

.product_calc .fittings .item label
{
    position: relative;

    display: block;

    cursor: pointer;
    text-align: center;
}

.product_calc .fittings .item label .thumb
{
    width: 182px;
    max-width: 100%;
    margin-right: auto;
    margin-bottom: 12px;
    margin-left: auto;
    padding: 9px;

    transition: border-color .2s linear;

    border: 1px solid #ededed;
}

.product_calc .fittings .item label .thumb > *
{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    text-decoration: none;

    background: #ddd;
}

.product_calc .fittings .item label .thumb > * img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.product_calc .fittings .item label .thumb .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.product_calc .fittings .item label .thumb .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}

.product_calc .fittings .item label .name
{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.product_calc .fittings .item label .name .btn
{
    color: #747474;

    position: relative;
    top: -1px;

    display: inline-block;

    margin-left: 4px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: middle;
}

.product_calc .fittings .item label .name .btn > *
{
    display: block;

    width: 16px;
    height: 16px;
}

.product_calc .fittings .item label .name .btn:hover
{
    color: #ce0000;
}

.product_calc .fittings .item label .desc
{
    color: #474747;
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;

    margin-top: 4px;
}

.product_calc .fittings .item label .desc.flex
{
    display: flex;

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

.product_calc .fittings .item label .desc.flex a
{
    color: #3c86ca;

    display: block;

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

.product_calc .fittings .item label .desc.flex .btn
{
    display: block;
}

.product_calc .fittings .item label .desc.flex .btn .icon
{
    color: #747474;

    display: block;

    width: 16px;
    height: 16px;
    margin-left: 9px;

    transition: color .2s linear;
}

.product_calc .fittings .item label .desc.flex a:hover,
.product_calc .fittings .item label .desc.flex .btn:hover .icon
{
    color: #ce0000;
}

.product_calc .fittings .item label .point
{
    position: relative;

    display: block;

    width: 18px;
    height: 18px;
    margin: 16px auto 0;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

.product_calc .fittings .item label .point:after
{
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 0;

    display: block;

    width: 9px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}

.product_calc .fittings .item label .amount
{
    position: relative;

    width: 90px;
    margin: 16px auto 0;
}

.product_calc .fittings .item label .amount button
{
    color: #828282;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 32px;
    height: 100%;

    transition: color .2s linear;
}

.product_calc .fittings .item label .amount button:before
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.product_calc .fittings .item label .amount button.plus
{
    right: 0;
    left: auto;
}

.product_calc .fittings .item label .amount button.plus:before
{
    top: 3px;

    transform: rotate(-225deg);
}

.product_calc .fittings .item label .amount button:hover:before
{
    border-color: #ce0000;
}

.product_calc .fittings .item label .amount .input
{
    color: #474747;
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 30px;

    text-align: center;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: none;
}

.product_calc .fittings .item label .amount .unit
{
    color: #474747;
    font-size: 11px;
    line-height: 15px;

    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;

    height: 15px;
    margin: auto;
    margin-left: 10px;

    white-space: nowrap;
}


.product_calc .fittings .item label .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 12px;

    white-space: nowrap;
}

.product_calc .fittings .item label .price span
{
    font-size: 20px;
}


.product_calc .fittings .item label:hover .point:after
{
    opacity: .4;
}

.product_calc .fittings .item label:hover .hover
{
    opacity: 1;
}


.product_calc .fittings .item input:checked + label .thumb
{
    border-color: #ce0000;
}

.product_calc .fittings .item input:checked + label .point:after
{
    opacity: 1;
}



.product_calc .delivery_install
{
    padding: 0 28px;
}



.product_calc .total_info
{
    display: flex;

    padding: 28px 68px 28px 28px;

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


.product_calc .total_info .download
{
    margin-right: auto;
}

.product_calc .total_info .download a
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: flex;

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

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

.product_calc .total_info .download a .icon
{
    color: #717171;

    display: block;

    width: 20px;
    height: 17px;
    margin-right: 8px;
}

.product_calc .total_info .download a:hover,
.product_calc .total_info .download a:hover .icon
{
    color: #ce0000;
}


.product_calc .total_info .total_price
{
    color: #474747;
    font-size: 14px;
    line-height: 20px;

    margin-right: 60px;
}

.product_calc .total_info .total_price .price
{
    color: var(--text_color);
    font-size: 18px;
    font-weight: 800;
    line-height: 30px;

    white-space: nowrap;
}

.product_calc .total_info .total_price .price span
{
    font-size: 30px;
}


.product_calc .total_info .btns
{
    display: flex;

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

.product_calc .total_info .btns > * + *
{
    margin-left: 30px;
}


.product_calc .total_info .buy_btn
{
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;

    display: block;

    padding: 14px 20px;

    transition: background .2s linear;
    text-transform: uppercase;

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

.product_calc .total_info .buy_btn:hover
{
    background: #9f0404;
}


.product_calc .total_info .get_measurer_btn
{
    color: #3c86ca;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;

    display: block;

    transition: color .2s linear;
    text-align: left;
    text-transform: uppercase;
}

.product_calc .total_info .get_measurer_btn br
{
    display: none;
}

.product_calc .total_info .get_measurer_btn:hover
{
    color: #ce0000;
}



/*------------------
    Product tabs
------------------*/
.product_tabs .tabs
{
    display: flex;

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

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

.product_tabs .tabs .btn
{
    max-width: calc(100% - 48px);
    margin-bottom: 12px;
    margin-left: 48px;
}



/*--------------------
    Prod. features
--------------------*/
.prod_features .section + .section
{
    margin-top: 20px;
}

.prod_features .section .title
{
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    margin-bottom: 12px;
}


.prod_features .item
{
    font-size: 13px;
    line-height: 18px;

    display: flex;

    padding: 9px 18px;

    border-bottom: 1px solid #f4f4f4;

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

.prod_features .item:nth-child(2n+1)
{
    background: #f4f4f4;
}

.prod_features .item .name
{
    color: #474747;

    width: 170px;
    max-width: 100%;
    padding-right: 18px;
}

.prod_features .item .val
{
    width: calc(100% - 170px);
}

.prod_features .item .val span
{
    color: #ce0000;
}

.prod_features .item .val .link
{
    color: #3c86ca;
    font-size: inherit;

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

.prod_features .item .val .link:hover
{
    color: #ce0000;
}



/*------------------
    prod_reviews
------------------*/
.prod_reviews .head
{
    margin-bottom: 20px;
    padding-bottom: 20px;

    border-bottom: 1px solid #ededed;
}


.prod_reviews .head .rating
{
    color: #474747;
    line-height: 22px;

    display: flex;

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

.prod_reviews .head .rating > * + *
{
    margin-left: 20px;
}


.prod_reviews .head .rating .name
{
    color: var(--text_color);
    font-weight: 700;
}


.prod_reviews .head .rating .stars
{
    display: flex;

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

.prod_reviews .head .rating .stars > * + *
{
    margin-left: 16px;
}

.prod_reviews .head .rating .stars > *
{
    color: #d8d8d8;

    display: block;

    width: 20px;
    height: 20px;
}

.prod_reviews .head .rating .stars > *.active
{
    color: #ce0000;
}

.prod_reviews .head .rating .stars > *.middle
{
    color: #ce0000;

    --svg_color2: #d8d8d8;
}


.prod_reviews .head .add_review_btn
{
    color: #ce0000;
    font-size: 11px;
    font-weight: 500;
    line-height: 18px;

    display: inline-block;

    margin-top: 16px;
    padding: 5px 12px 4px;

    transition: .2s linear;
    vertical-align: top;

    border: 1px solid #ce0000;
    border-radius: 3px;
}

.prod_reviews .head .add_review_btn:hover
{
    color: #fff;

    background: #ce0000;
}


.prod_reviews .review
{
    display: flex;

    padding-bottom: 20px;

    border-bottom: 1px solid #ededed;

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

.prod_reviews .review a
{
	color: #3c86ca;
	text-decoration: none;
}

.prod_reviews .review + .review
{
    padding-top: 20px;
}


.prod_reviews .list > .hide
{
    display: none;

    padding-top: 20px;
}


.prod_reviews .children
{
    width: 100%;
    margin-top: 20px;
    padding-left: 28px;
}

.prod_reviews .children .review
{
    position: relative;

    padding-bottom: 0;
    padding-left: 28px;

    border-bottom: none;
}

.prod_reviews .children .review + .review
{
    margin-top: 0;
}

.prod_reviews .children .review .icon
{
    color: #d8d8d8;

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

    display: block;

    width: 19px;
    height: 10px;
}


.prod_reviews .review .name
{
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
}

.prod_reviews .review .date
{
    color: #717171;
    font-size: 13px;
    line-height: 20px;

    margin-left: 4px;
}


.prod_reviews .review .rating
{
    margin-left: 16px;
    padding: 2px 0;
}

.prod_reviews .review .rating .stars
{
    display: flex;

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

.prod_reviews .review .rating .stars > * + *
{
    margin-left: 7px;
}

.prod_reviews .review .rating .stars > *
{
    color: #d8d8d8;

    display: block;

    width: 14px;
    height: 14px;
}

.prod_reviews .review .rating .stars > *.active
{
    color: #ce0000;
}

.prod_reviews .review .rating .stars > *.middle
{
    color: #ce0000;

    --svg_color2: #d8d8d8;
}


.prod_reviews .review .text
{
    color: #474747;
    line-height: 21px;

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


.prod_reviews .review .text .hide
{
    display: none;
}


.prod_reviews .review .text .spoler_btn
{
    color: #3c86ca;
    font-size: inherit;
    line-height: inherit;

    transition: color .2s linear;
}

.prod_reviews .review .text .spoler_btn span + span,
.prod_reviews .review .text .spoler_btn.active span
{
    display: none;
}

.prod_reviews .review .text .spoler_btn.active span + span
{
    display: inline;
}

.prod_reviews .review .text .spoler_btn:hover
{
    color: #ce0000;
}


.prod_reviews .review .reaply_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: inline-block;

    margin-top: 8px;

    transition: color .2s linear;
    vertical-align: top;
}

.prod_reviews .review .reaply_btn:hover
{
    color: #ce0000;
}


.prod_reviews .more_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: inline-block;

    margin-top: 16px;

    transition: .2s linear;
    vertical-align: top;
    text-transform: uppercase;
}

.prod_reviews .more_btn span + span,
.prod_reviews .more_btn.active span
{
    display: none;
}

.prod_reviews .more_btn.active span + span
{
    display: block;
}

.prod_reviews .more_btn:hover
{
    color: #ce0000;
}



/*------------------------
    Product final calc
------------------------*/
.product_final_calc .data
{
    display: flex;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);

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


.product_final_calc .image
{
    display: flex;

    width: 50%;
    padding: 70px;

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

.product_final_calc .image img
{
    display: block;

    max-width: calc(50% - 12px);
}

.product_final_calc .image img + img
{
    margin-left: 24px;
}


.product_final_calc .info
{
    width: 50%;
    margin-left: auto;

    border-left: 1px solid #ededed;
}

.product_final_calc .info .section
{
    padding: 32px 40px;
}

.product_final_calc .info .section + .section
{
    border-top: 1px solid #ededed;
}


.product_final_calc .block_title
{
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;

    margin-bottom: 16px;
}

.product_final_calc .product_name
{
    font-size: 30px;
    line-height: 35px;

    display: block;
}


.product_final_calc .status
{
    color: #717171;
    line-height: 21px;

    position: relative;

    margin-top: 24px;
    margin-bottom: -12px;
    padding-left: 18px;
}

.product_final_calc .status:before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: block;

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

    content: '';

    border-radius: 50%;
}

.product_final_calc .status.green:before
{
    background: #6aa84e;
}

.product_final_calc .status.red:before
{
    background: #ce0000;
}


.product_final_calc .prices .item
{
    line-height: 21px;

    display: flex;

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

.product_final_calc .prices .item + .item
{
    margin-top: 20px;
}

.product_final_calc .prices .item .name
{
    color: #474747;

    width: 200px;
    max-width: 100%;
    padding-right: 12px;
}

.product_final_calc .prices .item .price
{
    width: calc(100% - 200px);
}


.product_final_calc .prices .total .name
{
    margin-bottom: 4px;

    align-self: flex-end;
}

.product_final_calc .prices .total .price
{
    font-size: 18px;
    line-height: 24px;
}

.product_final_calc .prices .price span
{
    font-size: 30px;
}

.product_final_calc .prices .price .old
{
    font-size: 16px;
    line-height: 24px;

    text-decoration: line-through;
}

.product_final_calc .prices .price .new
{
    color: #ce0000;
    font-weight: 700;
    line-height: 30px;
}


.product_final_calc .btns
{
    position: relative;

    display: flex;

    margin-top: 24px;
    padding-left: 200px;

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

.product_final_calc .btns > * + *
{
    margin-left: 30px;
}


.product_final_calc .buy_btn
{
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 22px;

    display: block;

    padding: 14px 20px;

    transition: background .2s linear;
    text-transform: uppercase;

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

.product_final_calc .buy_btn:hover
{
    background: #9f0404;
}


.product_final_calc .get_measurer_btn
{
    color: #3c86ca;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;

    display: block;

    transition: color .2s linear;
    text-align: left;
    text-transform: uppercase;
}

.product_final_calc .get_measurer_btn br
{
    display: none;
}

.product_final_calc .get_measurer_btn:hover
{
    color: #ce0000;
}


.product_final_calc .btns .download
{
    position: absolute;
    top: 0;
    left: 0;

    width: 188px;
    margin: 0;
}

.product_final_calc .btns .download a
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    height: 50px;

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

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

.product_final_calc .btns .download a .icon
{
    color: #717171;

    display: block;

    width: 20px;
    height: 17px;
    margin-right: 8px;
}

.product_final_calc .btns .download a:hover,
.product_final_calc .btns .download a:hover .icon
{
    color: #ce0000;
}



/*------------
    Footer
------------*/
footer
{
    position: relative;
    z-index: 3;

    padding: 56px 0 52px;

    background: #353535;
}

footer:after
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;

    display: block;

    width: calc(50% + 40px);
    height: 100%;

    content: '';

    background: #2c2c2c;
}


footer .info .cont
{
    justify-content: space-between;
}


footer .bottom
{
    margin-top: 60px;
}

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



footer .col_left
{
    position: relative;

    display: flex;

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

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

footer .col_left > * + *
{
    margin-left: 84px;
}


footer .col_right
{
    position: relative;

    width: calc(50% - 40px);
    margin-left: auto;
}



footer .menu
{
    font-size: 16px;
    line-height: 32px;
}

footer .menu > * + *
{
    margin-top: 12px;
}

footer .menu a
{
    color: #fff;

    display: flex;

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

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

footer .menu a .stock
{
    display: flex;

    width: 20px;
    height: 32px;
    margin-left: 9px;

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

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

footer .menu a .stock > *
{
    color: #fff;

    display: block;

    width: 14px;
    height: 14px;
    margin-bottom: 3px;
}

footer .menu a:hover
{
    color: #ce0000;
}



footer .location
{
    color: #d8d8d8;
    font-size: 13px;
    line-height: 20px;

    display: flex;

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

footer .location .icon
{
    color: #ce0000;

    display: flex;

    width: 20px;

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

footer .location .icon > *
{
    display: block;

    width: 18px;
    height: 24px;
}

footer .location .sep
{
    display: block;

    width: 10px;
    height: 1px;
    margin: 0 15px;

    background: #575757;
}

footer .location .val
{
    width: 416px;
    max-width: calc(100% - 60px);
}
footer .location .val a
{
	color: #d8d8d8;
    text-decoration: none;
}
footer .location .val a:hover
{
	color: #ce0000;
}



footer .time
{
    color: #fff;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    margin-top: 24px;

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

footer .time .icon
{
    color: #ce0000;

    display: flex;

    width: 20px;

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

footer .time .icon > *
{
    display: block;

    width: 20px;
    height: 20px;
}

footer .time .sep
{
    width: 7px;
    height: 49px;
    margin-right: 16px;
    margin-left: 17px;

    border: 1px solid #575757;
    border-right: none;
    border-radius: 3px 0 0 3px;
}

footer .time .val > *
{
    font-size: 13px;
    line-height: 20px;

    display: flex;

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

footer .time .val .name
{
    color: #d8d8d8;

    width: 83px;
    padding-right: 8px;
}



footer .phone
{
    color: #d8d8d8;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    margin-top: 24px;

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

footer .phone .icon
{
    color: #ce0000;

    display: flex;

    width: 20px;

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

footer .phone .icon > *
{
    display: block;

    width: 14px;
    height: 21px;
}

footer .phone .sep
{
    display: block;

    width: 10px;
    height: 1px;
    margin: 0 15px;

    background: #575757;
}

footer .phone .val
{
    display: flex;

    width: calc(100% - 60px);

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

footer .phone .val a
{
    color: currentColor;

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

footer .phone .messengers
{
    display: flex;

    margin-left: 10px;

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

footer .phone .messengers a
{
    display: block;
}

footer .phone .messengers a + a
{
    margin-left: 10px;
}

footer .phone .messengers a > *
{
    display: block;

    width: 17px;
    height: 17px;
}

footer .phone .messengers a.whatsapp_link > *
{
    color: #44d37e;
}

footer .phone .messengers a.telegram_link > *
{
    color: #08c;
}



footer .email
{
    color: #d8d8d8;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    margin-top: 24px;

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

footer .email .icon
{
    color: #ce0000;

    display: flex;

    width: 20px;

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

footer .email .icon > *
{
    display: block;

    width: 20px;
    height: 15px;
}

footer .email .sep
{
    display: block;

    width: 10px;
    height: 1px;
    margin: 0 15px;

    background: #575757;
}

footer .email .val
{
    width: calc(100% - 60px);
}

footer .email .val a
{
    color: currentColor;

    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;
}

footer .email .val a:hover
{
    color: #ce0000;
}



footer .ya_rating
{
    position: absolute;
    right: 0;
    bottom: 0;
}

footer .ya_rating img
{
    display: block;
}



footer .logo
{
    width: 195px;
    max-width: 100%;
}

footer .logo img
{
    display: block;

    max-width: 100%;
}



footer .privacy_policy_link
{
    color: #d8d8d8;
    font-size: 13px;
    line-height: 20px;

    align-self: center;
}

footer .privacy_policy_link a
{
    color: currentColor;

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

footer .privacy_policy_link a:hover
{
    color: #ce0000;
}



footer .creator
{
    color: #d8d8d8;
    font-size: 13px;
    line-height: 20px;
}

footer .creator a
{
    color: currentColor;

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

footer .creator span
{
    color: #fff;

    transition: color .2s linear;
}

footer .creator a:hover span
{
    color: #ce0000;
}



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

    width: 500px;
    max-width: 100%;
    padding: 40px 72px;

    border-radius: 3px;
    background: #fff;
    box-shadow: 0 0 10.05px 4.95px rgba(51, 51, 51, .07);
}


.modal_title
{
    font-size: 25px;
    font-weight: 800;
    line-height: 30px;

    margin-bottom: 24px;

    text-align: center;
}



#city_modal
{
    width: 900px;
    padding-right: 40px;
    padding-left: 40px;
}

#city_modal .cities
{
    padding-top: 8px;

    column-gap: 24px;
    column-count: 4;
}

#city_modal .cities > *
{
    transform: translateZ(0);

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

#city_modal .cities > * + *
{
    margin-top: 12px;
}

#city_modal .cities a
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 17px;

    position: relative;

    display: inline-block;

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

#city_modal .cities a:before
{
    position: absolute;
    top: 6px;
    left: -15px;

    display: block;

    width: 5px;
    height: 5px;

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

    opacity: 0;
    border-radius: 50%;
    background: #ce0000;
}

#city_modal .cities a:hover,
#city_modal .cities a.active
{
    color: #ce0000;
    font-weight: 500;

    text-decoration: underline;
}

#city_modal .cities a.active:before
{
    opacity: 1;
}



#success_modal .text_block
{
    text-align: center;
}



#get_measurer_modal .estimated_order .head
{
    display: flex;

    margin-bottom: 20px;

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


#get_measurer_modal .estimated_order .title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
}


#get_measurer_modal .estimated_order .del_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    margin-left: auto;

    transition: color .2s linear;

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

#get_measurer_modal .estimated_order .del_btn .icon
{
    color: #717171;

    display: block;

    width: 18px;
    height: 19px;
    margin-right: 9px;

    transition: color .2s linear;
}

#get_measurer_modal .estimated_order .del_btn:hover,
#get_measurer_modal .estimated_order .del_btn:hover .icon
{
    color: #ce0000;
}


#get_measurer_modal .estimated_order .scroll
{
    overflow: auto;

    max-height: 148px;
    padding-right: 8px;

    scrollbar-color: #989898 #d8d8d8;
    scrollbar-width: thin;
}

#get_measurer_modal .estimated_order .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    border-radius: 3px;
    background-color: #d8d8d8;
}

#get_measurer_modal .estimated_order .scroll::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background-color: #989898;
}


#get_measurer_modal .estimated_order .features
{
    font-size: 13px;
    line-height: 20px;
}

#get_measurer_modal .estimated_order .features > *
{
    display: flex;

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

#get_measurer_modal .estimated_order .features > * + *
{
    margin-top: 12px;
}

#get_measurer_modal .estimated_order .features .name
{
    color: #474747;

    width: 162px;
    max-width: 100%;
    padding-right: 12px;
}

#get_measurer_modal .estimated_order .features .val
{
    width: calc(100% - 162px);
}


#get_measurer_modal .estimated_order .total_price
{
    font-size: 13px;
    line-height: 20px;

    display: flex;

    width: calc(100% + 144px);
    margin-top: 20px;
    margin-right: -72px;
    margin-left: -72px;
    padding: 12px 72px 8px;

    background: #f4f4f4;

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

#get_measurer_modal .estimated_order .total_price .name
{
    color: #474747;

    width: 162px;
    max-width: 100%;
    padding-right: 12px;
}

#get_measurer_modal .estimated_order .total_price .price
{
    display: flex;

    width: calc(100% - 162px);

    white-space: nowrap;

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

#get_measurer_modal .estimated_order .total_price .price .old
{
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;

    text-decoration: line-through;
}

#get_measurer_modal .estimated_order .total_price .price .discount
{
    color: #ce0000;
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;

    margin-left: 9px;
}

#get_measurer_modal .estimated_order .total_price .price .default
{
    font-size: 12px;
    font-weight: 700;
    line-height: 28px;

    width: 100%;
}

#get_measurer_modal .estimated_order .total_price .price .default span
{
    font-size: 22px;
}



#add_review_modal .notice,
#reaply_review_modal .notice
{
    color: #717171;
    font-size: 12px;
    line-height: 19px;

    position: relative;

    width: calc(100% + 144px);
    margin: 24px -72px;
    padding: 16px 72px 16px 102px;

    background: #f4f4f4;
}

#add_review_modal .notice .icon,
#reaply_review_modal .notice .icon
{
    color: #ce0000;

    position: absolute;
    top: 16px;
    left: 72px;

    display: block;

    width: 16px;
    height: 15px;
}


#add_review_modal .form textarea,
#reaply_review_modal .form textarea
{
    height: 160px;
}


#add_review_modal .form .rating
{
    margin: 20px 0;
}

#add_review_modal .form .rating .name
{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;

    margin-bottom: 8px;

    text-align: center;
}

#add_review_modal .form .stars
{
    display: flex;
    overflow: hidden;
    flex-direction: row-reverse;

    height: 20px;

    justify-content: center;
}

#add_review_modal .form .stars .rating-0
{
    filter: grayscale(100%);
}

#add_review_modal .form .stars > input
{
    display: none;
}

#add_review_modal .form .stars > label
{
    color: #d8d8d8;

    display: block;

    width: 20px;
    height: 20px;
    margin-top: auto;
    padding: 0;

    cursor: pointer;
    transition: color .2s linear;
}

#add_review_modal .form .stars > label:before,
#add_review_modal .form .stars > label:after
{
    display: none;
}

#add_review_modal .form .stars > label .icon
{
    display: block;

    width: 20px;
    height: 20px;
}

#add_review_modal .form .stars > label ~ label
{
    margin-right: 20px;
}

#add_review_modal .form .stars > input:checked ~ label,
#add_review_modal .form .stars > input:checked ~ label ~ label,
#add_review_modal .form .stars > input:not(:checked) ~ label:hover,
#add_review_modal .form .stars > input:not(:checked) ~ label:hover ~ label
{
    color: #ce0000;
}



.modal.product_sides
{
    overflow: hidden;

    width: 900px;
    padding-right: 36px;
    padding-left: 36px;
}


.modal.product_sides .section + .section
{
    margin-top: 30px;
    margin-bottom: 15px;
}

.modal.product_sides .section.border_top
{
    width: calc(100% + 72px);
    margin-right: -36px;
    margin-left: -36px;
    padding: 30px 36px 0;

    border-top: 1px solid #ededed;
}

.modal.product_sides .section .title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 20px;

    text-align: center;
}


.modal.product_sides .swiper-container
{
    overflow: visible !important;
}

.modal.product_sides .swiper-container .slide
{
    visibility: hidden;

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

    opacity: 0;
}

.modal.product_sides .swiper-container .slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.modal.product_sides input[type=checkbox],
.modal.product_sides input[type=radio]
{
    display: none;
}

.modal.product_sides .ckeck
{
    position: relative;

    display: flex;

    padding: 10px 16px;

    cursor: pointer;
    transition: background .2s linear;

    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;

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

.modal.product_sides .ckeck ~ .ckeck
{
    margin-top: -1px;
}


.modal.product_sides .ckeck .name
{
    color: #474747;
    font-size: 13px;
    line-height: 20px;

    position: relative;

    width: 100%;
    padding-left: 27px;
}

.modal.product_sides .ckeck .name:before,
.modal.product_sides .ckeck .name:before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

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

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

.modal.product_sides input[type=checkbox] + .ckeck .name:after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;

    display: block;

    width: 9px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}

.modal.product_sides input[type=radio] + .ckeck .name:before
{
    border-radius: 50%;
}

.modal.product_sides input[type=radio] + .ckeck .name:after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;

    display: block;

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

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

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


.modal.product_sides .ckeck .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    width: 100px;
    min-width: 100px;
    max-width: 100%;
    margin-left: 24px;

    white-space: nowrap;
}

.modal.product_sides .ckeck .price span
{
    font-size: 20px;
}


.modal.product_sides input:checked + .ckeck
{
    background: #f4f4f4;
}

.modal.product_sides input:checked + .ckeck .name:after
{
    opacity: 1;
}


.modal.product_sides .colors .swiper-button-next,
.modal.product_sides .colors .swiper-button-prev
{
    top: auto;
    bottom: 0;

    margin: 0 0 4px;
}

.modal.product_sides .colors .swiper-button-next
{
    right: -20px;
}

.modal.product_sides .colors .swiper-button-prev
{
    left: -20px;
}


.modal.product_sides .colors .items
{
    margin-bottom: -30px;
    margin-left: -12px;
}

.modal.product_sides .colors .items > *
{
    width: calc(20% - 12px);
    margin-bottom: 30px;
    margin-left: 12px;
}


.modal.product_sides .colors .items input
{
    display: none;
}

.modal.product_sides .colors .item label
{
    font-size: 13px;
    font-weight: 700;
    line-height: 19px;

    position: relative;

    display: block;

    padding-bottom: 25px;

    cursor: pointer;
    text-align: center;
}

.modal.product_sides .colors .item label .name
{
    overflow: hidden;

    margin-bottom: 8px;

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

.modal.product_sides .colors .item label .thumb
{
    width: 123px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 3px;

    transition: border-color .2s linear;

    border: 1px solid transparent;
    border-radius: 3px;
}

.modal.product_sides .colors .item label .thumb a
{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    text-decoration: none;

    background: #ddd;
}

.modal.product_sides .colors .item label .thumb a img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.modal.product_sides .colors .item label .thumb a .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.modal.product_sides .colors .item label .thumb a .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}

.modal.product_sides .colors .item label:before
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

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

    border: 1px solid #d8d8d8;
    border-radius: 50%;
    background: #fff;
}

.modal.product_sides .colors .item label:after
{
    position: absolute;
    right: 0;
    bottom: 5px;
    left: 0;

    display: block;

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

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

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


.modal.product_sides .colors .item label:hover:after
{
    opacity: .4;
}

.modal.product_sides .colors .item label:hover .thumb a .hover
{
    opacity: 1;
}


.modal.product_sides .colors .items input:checked + label .thumb
{
    border-color: #ce0000;
}

.modal.product_sides .colors .items input:checked + label:after
{
    opacity: 1;
}
.modal.product_sides input[type=radio]:checked + label:after
{
    opacity: 1;
}


.modal.product_sides .picture .swiper-button-next,
.modal.product_sides .picture .swiper-button-prev
{
    top: auto;
    bottom: 0;

    margin: 0 0 52px;
}

.modal.product_sides .picture .swiper-button-next
{
    right: -20px;
}

.modal.product_sides .picture .swiper-button-prev
{
    left: -20px;
}


.modal.product_sides .picture .items
{
    margin-bottom: -30px;
    margin-left: -12px;
}

.modal.product_sides .picture .items > *
{
    width: calc(20% - 12px);
    margin-bottom: 30px;
    margin-left: 12px;
}


.modal.product_sides .picture .items input
{
    display: none;
}

.modal.product_sides .picture .item label
{
    font-size: 13px;
    font-weight: 700;
    line-height: 19px;

    position: relative;

    display: block;

    cursor: pointer;
    text-align: center;
}

.modal.product_sides .picture .item label .name
{
    overflow: hidden;

    margin-bottom: 8px;

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

.modal.product_sides .picture .item label .thumb
{
    width: 123px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 3px;

    transition: border-color .2s linear;

    border: 1px solid transparent;
}

.modal.product_sides .picture .item label .thumb > *
{
    position: relative;

    overflow: hidden;

    padding-bottom: 217.39%;

    background: #ddd;
}

.modal.product_sides .picture .item label .thumb > * img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.modal.product_sides .picture .item label:before
{
    position: absolute;
    right: 0;
    bottom: 38px;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

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

    border: 1px solid #d8d8d8;
    border-radius: 50%;
    background: #fff;
}

.modal.product_sides .picture .item label:after
{
    position: absolute;
    right: 0;
    bottom: 43px;
    left: 0;

    display: block;

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

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

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


.modal.product_sides .picture .item label .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 40px;

    white-space: nowrap;
}

.modal.product_sides .picture .item label .price span
{
    font-size: 20px;
}


.modal.product_sides .picture .item label:hover:after
{
    opacity: .4;
}


.modal.product_sides .picture .item input:checked + label .thumb
{
    border-color: #ce0000;
}

.modal.product_sides .picture .item input:checked + label:after
{
    opacity: 1;
}



.modal.equipment_info
{
    width: 896px;
}

.modal.equipment_info .row
{
    justify-content: center;
}


.modal.equipment_info .thumb
{
    width: 276px;
    max-width: 100%;
}

.modal.equipment_info .thumb.full_w
{
    width: 100%;
    margin-bottom: 20px;
}

.modal.equipment_info .thumb img
{
    display: block;

    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}


.modal.equipment_info .info
{
    width: calc(100% - 348px);
    margin-left: auto;
}

.modal.equipment_info .info.full_w
{
    width: 100%;
}


.modal.equipment_info .info .title
{
    color: var(--text_color);
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;

    margin-bottom: 12px;
}


.modal.equipment_info .info .text_block
{
    font-size: 13px;
    line-height: 20px;
}


.modal.equipment_info .features .section + .section
{
    margin-top: 20px;
}

.modal.equipment_info .features .item
{
    font-size: 13px;
    line-height: 18px;

    display: flex;

    padding: 8px 16px;

    border-bottom: 1px solid #f4f4f4;

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

.modal.equipment_info .features .item:nth-child(2n+1)
{
    background: #f4f4f4;
}

.modal.equipment_info .features .item .name
{
    color: #474747;

    width: calc(100% - 200px);
    padding-right: 16px;
}

.modal.equipment_info .features .item .val
{
    width: 200px;
    max-width: 100%;
}

.modal.equipment_info .features .item .val span
{
    color: #ce0000;
}

.modal.equipment_info .features .item .val a
{
    color: #3c86ca;

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

.modal.equipment_info .features .item .val a:hover
{
    color: #ce0000;
}


.modal.equipment_info .change_btn
{
    width: 100%;
    margin-top: 20px;
}

.modal.equipment_info .change_btn .btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 20px;

    display: flex;

    margin-right: auto;
    margin-left: auto;

    transition: color .2s linear;

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

.modal.equipment_info .info .change_btn .btn
{
    margin: 0;
}

.modal.equipment_info .change_btn .btn .icon
{
    color: #747474;

    display: block;

    width: 16px;
    height: 16px;
    margin-right: 9px;

    transition: color .2s linear;
}

.modal.equipment_info .change_btn .btn:hover,
.modal.equipment_info .change_btn .btn:hover .icon
{
    color: #ce0000;
}


.modal.equipment_info .choose_btn
{
    width: 100%;
    margin-top: 20px;
}

.modal.equipment_info .choose_btn .btn
{
    color: #ce0000;
    font-size: 11px;
    line-height: 17px;

    display: flex;

    margin-right: auto;
    margin-left: auto;
    padding: 6px 13px 5px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid #ce0000;
    border-radius: 3px;

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

.modal.equipment_info .info .choose_btn .btn
{
    margin: 0;
}

.modal.equipment_info .choose_btn .btn:hover
{
    color: #fff;

    background: #ce0000;
}



#buy_success_modal .image,
#buy_success_modal_complex .image
{
    display: flex;

    width: 250px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;

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

#buy_success_modal .image img,
#buy_success_modal_complex .image img
{
    display: block;

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

#buy_success_modal .image img + img,
#buy_success_modal_complex .image img + img
{
    margin-left: 12px;
}


#buy_success_modal .text,
#buy_success_modal_complex .text
{
    color: #474747;
    font-size: 16px;
    line-height: 22px;

    display: flex;

    margin-top: 30px;

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

#buy_success_modal .text .icon,
#buy_success_modal_complex .text .icon
{
    color: var(--text_color);

    position: relative;

    margin-right: 8px;
}

#buy_success_modal .text .icon svg,
#buy_success_modal_complex .text .icon svg
{
    display: block;

    width: 30px;
    height: 24px;
}

#buy_success_modal .text span,
#buy_success_modal_complex .text span
{
    max-width: calc(100% - 38px);
}


#buy_success_modal .ckeckout_link,
#buy_success_modal_complex .ckeckout_link
{
    margin-top: 35px;

    text-align: center;
}

#buy_success_modal .ckeckout_link a,
#buy_success_modal_complex .ckeckout_link a
{
    color: #fff;
    font-size: 14px;
    line-height: 20px;

    display: inline-block;

    padding: 10px 19px;

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

    border-radius: 3px;
    background: #ce0000;
    box-shadow: 0 1px 2.68px 1.32px rgba(206, 0, 0, .2);
}

#buy_success_modal .ckeckout_link a:hover,
#buy_success_modal_complex .ckeckout_link a:hover
{
    background: #9f0404;
}



#all_colors_modal
{
    width: 900px;
    padding-right: 36px;
    padding-left: 36px;
}


#all_colors_modal .search
{
    width: 468px;
    max-width: 100%;
    margin-right: auto;
    margin-bottom: 30px;
    margin-left: auto;
}

#all_colors_modal .search form
{
    display: flex;

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

#all_colors_modal .search form ::-webkit-input-placeholder
{
    color: #717171;
}

#all_colors_modal .search form :-moz-placeholder
{
    color: #717171;
}

#all_colors_modal .search form :-ms-input-placeholder
{
    color: #717171;
}

#all_colors_modal .search form .input
{
    color: var(--text_color);
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 84px 0 12px;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

#all_colors_modal .search form .send_btn,
#all_colors_modal .search form .clear_btn
{
    color: #767676;

    position: relative;

    display: flex;

    width: 41px;
    height: 40px;
    margin-left: -42px;

    transition: color .2s linear;

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

#all_colors_modal .search form .clear_btn
{
    display: none;

    width: 32px;
    margin-left: -74px;
}

#all_colors_modal .search form .input.active ~ .clear_btn
{
    display: flex;
}

#all_colors_modal .search form .send_btn .icon
{
    display: block;

    width: 17px;
    height: 17px;
}

#all_colors_modal .search form .clear_btn .icon
{
    display: block;

    width: 13px;
    height: 13px;
}

#all_colors_modal .search form .send_btn:hover,
#all_colors_modal .search form .clear_btn:hover
{
    color: #ce0000;
}


#all_colors_modal .scroll
{
    overflow: auto;

    max-height: 585px;
    padding-right: 8px;

    scrollbar-color: #989898 #d8d8d8;
    scrollbar-width: thin;
}

#all_colors_modal .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    border-radius: 3px;
    background-color: #d8d8d8;
}

#all_colors_modal .scroll::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background-color: #989898;
}


#all_colors_modal .items
{
    margin-bottom: -30px;
    margin-left: -12px;
}

#all_colors_modal .items > *
{
    width: calc(20% - 12px);
    margin-bottom: 30px;
    margin-left: 12px;
}


#all_colors_modal .items input
{
    display: none;
}

#all_colors_modal .items label
{
    font-size: 13px;
    font-weight: 700;
    line-height: 19px;

    position: relative;

    display: block;

    padding-bottom: 25px;

    cursor: pointer;
    text-align: center;
}

#all_colors_modal .items label .name
{
    overflow: hidden;

    margin-bottom: 8px;

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

#all_colors_modal .items label .thumb
{
    width: 123px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 3px;

    transition: border-color .2s linear;

    border: 1px solid transparent;
    border-radius: 3px;
}

#all_colors_modal .items label .thumb a
{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    text-decoration: none;

    background: #ddd;
}

#all_colors_modal .items label .thumb a img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

#all_colors_modal .items label .thumb a .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

#all_colors_modal .items label .thumb a .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}

#all_colors_modal .items label:before
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

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

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: #fff;
}

#all_colors_modal .items label:after
{
    position: absolute;
    right: 0;
    bottom: 7px;
    left: 0;

    display: block;

    width: 9px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 2px solid #000;
    border-left: 2px solid #000;
}


#all_colors_modal .items input[type=radio] + label:before
{
    border-radius: 50%;
}

#all_colors_modal .items input[type=radio] + label:after
{
    bottom: 5px;

    width: 8px;
    height: 8px;

    transform: none;

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


#all_colors_modal .items label:hover:after
{
    opacity: .4;
}

#all_colors_modal .items label:hover .thumb a .hover
{
    opacity: 1;
}


#all_colors_modal .items input:checked + label .thumb
{
    border-color: #ce0000;
}

#all_colors_modal .items input:checked + label:after
{
    opacity: 1;
}


#all_colors_modal .choose_btn
{
    margin-top: 30px;
}

#all_colors_modal .choose_btn .btn
{
    color: #ce0000;
    font-size: 11px;
    line-height: 17px;

    display: flex;

    margin-right: auto;
    margin-left: auto;
    padding: 6px 13px 5px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid #ce0000;
    border-radius: 3px;

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

#all_colors_modal .choose_btn .btn:hover
{
    color: #fff;

    background: #ce0000;
}



.modal.change_design
{
    width: 900px;
    padding-right: 40px;
    padding-left: 40px;
}


.modal.change_design .items
{
    margin-bottom: -36px;
    margin-left: -32px;
}

.modal.change_design .items > *
{
    width: calc(25% - 32px);
    margin-bottom: 36px;
    margin-left: 32px;
}


.modal.change_design .item input
{
    display: none;
}

.modal.change_design .item label
{
    position: relative;

    display: block;

    cursor: pointer;
    text-align: center;
}

.modal.change_design .item label .thumb
{
    width: 182px;
    max-width: 100%;
    margin-right: auto;
    margin-bottom: 12px;
    margin-left: auto;
    padding: 9px;

    transition: border-color .2s linear;

    border: 1px solid #ededed;
}

.modal.change_design .item label .thumb > *
{
    color: currentColor;

    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 100%;

    text-decoration: none;

    background: #ddd;
}

.modal.change_design .item label .thumb > * img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.modal.change_design .item label .thumb .hover
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    height: 100%;

    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(0,0,0,.7);

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

.modal.change_design .item label .thumb .hover > *
{
    color: #ce0000;

    display: block;

    width: 30px;
    height: 30px;
}


.modal.change_design .item label .name
{
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.modal.change_design .item label .name .btn
{
    color: #747474;

    position: relative;
    top: -1px;

    display: inline-block;

    margin-left: 4px;

    cursor: pointer;
    transition: .2s linear;
    vertical-align: middle;
}

.modal.change_design .item label .name .btn > *
{
    display: block;

    width: 16px;
    height: 16px;
}

.modal.change_design .item label .name .btn:hover
{
    color: #ce0000;
}


.modal.change_design .item label .desc
{
    color: #474747;
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;

    margin-top: 4px;
}

.modal.change_design .item label .point
{
    position: relative;

    display: block;

    width: 18px;
    height: 18px;
    margin: 16px auto 0;

    border: 1px solid #d8d8d8;
    border-radius: 50%;
    background: #fff;
}

.modal.change_design .item label .point:after
{
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;

    display: block;

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

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

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


.modal.change_design .item label .amount
{
    position: relative;

    width: 90px;
    margin: 16px auto 0;
}

.modal.change_design .item label .amount button
{
    color: #828282;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 32px;
    height: 100%;

    transition: color .2s linear;
}

.modal.change_design .item label .amount button:before
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: border-color .2s linear;
    transform: rotate(-45deg);

    border-bottom: 1px solid;
    border-left: 1px solid;
}

.modal.change_design .item label .amount button.plus
{
    right: 0;
    left: auto;
}

.modal.change_design .item label .amount button.plus:before
{
    top: 3px;

    transform: rotate(-225deg);
}

.modal.change_design .item label .amount button:hover:before
{
    border-color: #ce0000;
}

.modal.change_design .item label .amount .input
{
    color: #474747;
    font-family: var(--font_family);
    font-size: 13px;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 30px;

    text-align: center;

    border: 1px solid #d8d8d8;
    border-radius: 3px;
    background: none;
}


.modal.change_design .item label .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 12px;

    white-space: nowrap;
}

.modal.change_design .item label .price span
{
    font-size: 20px;
}


.modal.change_design .item label:hover .point:after
{
    opacity: .4;
}

.modal.change_design .item label:hover .hover
{
    opacity: 1;
}


.modal.change_design .item input:checked + label .thumb
{
    border-color: #ce0000;
}

.modal.change_design .item input:checked + label .point:after
{
    opacity: 1;
}



#choose_model_modal
{
    overflow: hidden;

    width: 900px;
    padding-right: 36px;
    padding-left: 36px;
}


#choose_model_modal .scroll
{
    overflow: auto;

    max-height: 648px;
    padding-right: 8px;

    scrollbar-color: #989898 #d8d8d8;
    scrollbar-width: thin;
}

#choose_model_modal .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    border-radius: 3px;
    background-color: #d8d8d8;
}

#choose_model_modal .scroll::-webkit-scrollbar-thumb
{
    border-radius: 3px;
    background-color: #989898;
}


#choose_model_modal .row
{
    margin-left: -36px;
}

#choose_model_modal .row > *
{
    width: calc(33.333% - 36px);
    margin-top: 36px;
    margin-left: 36px;
}

#choose_model_modal .row > *:nth-child(1),
#choose_model_modal .row > *:nth-child(2),
#choose_model_modal .row > *:nth-child(3)
{
    margin-top: 0;
}


#choose_model_modal .item input
{
    display: none;
}

#choose_model_modal .item label
{
    font-size: 13px;
    font-weight: 700;
    line-height: 19px;

    position: relative;

    display: block;

    cursor: pointer;
    text-align: center;
}

#choose_model_modal .item label .name
{
    overflow: hidden;

    margin-bottom: 8px;

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

#choose_model_modal .item label .thumb
{
    width: 210px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 4px;

    transition: border-color .2s linear;

    border: 1px solid #ededed;
    border-radius: 3px;
}

#choose_model_modal .item label .thumb > *
{
    position: relative;

    overflow: hidden;

    padding-bottom: 100%;

    background: #ddd;
}

#choose_model_modal .item label .thumb > * img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

#choose_model_modal .item label:before
{
    position: absolute;
    right: 0;
    bottom: 38px;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

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

    border: 1px solid #d8d8d8;
    border-radius: 50%;
    background: #fff;
}

#choose_model_modal .item label:after
{
    position: absolute;
    right: 0;
    bottom: 43px;
    left: 0;

    display: block;

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

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

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


#choose_model_modal .item label .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 40px;

    white-space: nowrap;
}

#choose_model_modal .item label .price span
{
    font-size: 20px;
}


#choose_model_modal .item label:hover:after
{
    opacity: .4;
}


#choose_model_modal .item input:checked + label .thumb
{
    border-color: #ce0000;
}

#choose_model_modal .item input:checked + label:after
{
    opacity: 1;
}



#choose_glazing_modal
{
    overflow: hidden;

    width: 900px;
    padding-right: 36px;
    padding-left: 36px;
}


#choose_glazing_modal .section
{
    width: calc(100% + 72px);
    margin-right: -36px;
    margin-left: -36px;
    padding: 0 36px;
}

#choose_glazing_modal .section + .section
{
    margin-top: 30px;
    padding-top: 30px;

    border-top: 1px solid #ededed;
}

#choose_glazing_modal .section .title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;

    margin-bottom: 20px;

    text-align: center;
}


#choose_glazing_modal .swiper-container
{
    overflow: visible !important;
}

#choose_glazing_modal .swiper-container .slide
{
    visibility: hidden;

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

    opacity: 0;
}

#choose_glazing_modal .swiper-container .slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


#choose_glazing_modal .swiper-button-next,
#choose_glazing_modal .swiper-button-prev
{
    top: auto;
    bottom: 0;

    margin: 0 0 44px;
}

#choose_glazing_modal .swiper-button-next
{
    right: -20px;
}

#choose_glazing_modal .swiper-button-prev
{
    left: -20px;
}


#choose_glazing_modal .item input
{
    display: none;
}

#choose_glazing_modal .item label
{
    font-size: 13px;
    font-weight: 700;
    line-height: 19px;

    position: relative;

    display: block;

    cursor: pointer;
    text-align: center;
}

#choose_glazing_modal .item label .name
{
    overflow: hidden;

    margin-bottom: 8px;

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

#choose_glazing_modal .item label .thumb
{
    width: 180px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 4px;

    transition: border-color .2s linear;

    border: 1px solid #ededed;
    border-radius: 3px;
}

#choose_glazing_modal .item label .thumb > *
{
    position: relative;

    overflow: hidden;

    padding-bottom: 100%;

    background: #ddd;
}

#choose_glazing_modal .item label .thumb > * img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

#choose_glazing_modal .item label:before
{
    position: absolute;
    right: 0;
    bottom: 38px;
    left: 0;

    display: block;

    width: 18px;
    height: 18px;
    margin: auto;

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

    border: 1px solid #d8d8d8;
    border-radius: 50%;
    background: #fff;
}

#choose_glazing_modal .item label:after
{
    position: absolute;
    right: 0;
    bottom: 43px;
    left: 0;

    display: block;

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

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

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


#choose_glazing_modal .item label .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 26px;

    margin-top: 40px;

    white-space: nowrap;
}

#choose_glazing_modal .item label .price span
{
    font-size: 20px;
}


#choose_glazing_modal .item label:hover:after
{
    opacity: .4;
}


#choose_glazing_modal .item input:checked + label .thumb
{
    border-color: #ce0000;
}

#choose_glazing_modal .item input:checked + label:after
{
    opacity: 1;
}

.cart_info .product .del_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 21px;

    position: absolute;
    top: 20px;
    right: 4px;

    display: none;

    transition: color .2s linear;

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

.cart_info .product .del_btn
{
    display: flex;
}

.cart_info .product .del_btn .icon
{
    color: #717171;

    display: block;

    width: 18px;
    height: 19px;
    margin-right: 9px;

    transition: color .2s linear;
}

.d7compare .product .del_btn:hover,
.d7compare .product .del_btn:hover .icon
{
    color: #ce0000;
}

.d7compare .product .del_btn
{
    color: #3c86ca;
    font-size: 13px;
    line-height: 21px;

    position: absolute;
    top: 0px;
    right: 0px;

    display: none;

    transition: color .2s linear;

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

.d7compare .product .del_btn
{
    display: flex;
}

.d7compare .product .del_btn .icon
{
    color: #717171;

    display: block;

    width: 18px;
    height: 19px;
    margin-right: 3px;

    transition: color .2s linear;
}

.d7compare .product .del_btn:hover,
.d7compare .product .del_btn:hover .icon
{
    color: #ce0000;
}

#model_listview .row {
display: grid;
grid-template-rows: auto;
grid-template-columns: auto auto auto auto;
}

#model_listview .row .item {
position: relative;
display: flex;
flex-direction: column;
text-align: center;
align-items: center;
width: 125.75px;
height: 100%;
}

#model_listview .row .item .name {
font-size: 13px;
font-weight: 700;
line-height: 20px;
margin-top: auto;
margin-bottom: 0
}

#inpanel_listview .row {
display: grid;
grid-template-rows: auto;
grid-template-columns: auto auto auto auto;
}

#inpanel_listview .row .item {
position: relative;
display: flex;
flex-direction: column;
text-align: center;
align-items: center;
width: 125.75px;
height: 100%;
}

#inpanel_listview .row .item .name {
font-size: 13px;
font-weight: 700;
line-height: 20px;
margin-top: auto;
margin-bottom: 0
}

#inpanel_listview .row .item .color {
width: 100%;
}