:root {
    background: #ededed;
    --lightColor: #fff;
    --darkColor: #1b1b1c;
    --currentColor: #1b1b1c;
    --contrastColor: #fff;
    --focusRing: rgba(0, 149, 255, .25);
    --safeAreaTop: env(safe-area-inset-top);
    --safeAreaRight: env(safe-area-inset-right);
    --safeAreaBottom: env(safe-area-inset-bottom);
    --safeAreaLeft: env(safe-area-inset-left);
    --containerWidth: 1150px;
    --containerMaxWidth: 100%;
    --100vw: 100vw;
    --100vh: 100vh;
    --fixedOffset: calc((100vw - var(--100vw, 100vw) - var(--scrollbarWidth)) / 2)
}

body.adaptive-mobile {
    --containerWidth: 360px;
    --containerMaxWidth: calc(var(--100vw) - 20px * 2)
}

* {
    box-sizing: border-box;
    font-smooth: always;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: auto
}

*,
:focus {
    outline: none;
    -webkit-focus-ring-color: transparent;
    -webkit-tap-highlight-color: transparent
}

.is-android * {
    max-height: 1000000em
}

body,
html {
    width: 100%;
    margin: 0;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    -webkit-locale: "en"
}

html {
    min-height: 100%;
    text-size-adjust: none;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

body {
    position: relative;
    min-width: 1200px;
    color: #1b1b1c;
    background-color: #fff;
    zoom: var(--zoomLevel);
    max-width: var(--100vw);
    margin: 0 auto
}

a:focus-visible,
button:focus-visible,
input[type=submit]:focus-visible {
    box-shadow: 0 0 0 4px var(--focusRing)
}

embed,
iframe,
img,
input[type=image],
marquee,
object,
table,
video {
    aspect-ratio: attr(width)/attr(height)
}

h1,
h2,
h3,
h4,
h5,
ol,
p,
ul {
    margin: 0
}

ol,
ul {
    padding-left: 1.75em
}

button,
input,
select,
textarea {
    margin: 0;
    font-size: 100%;
    vertical-align: middle
}

button,
input {
    overflow: visible;
    line-height: normal
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    padding: 0;
    border: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

img {
    width: auto\9;
    height: auto;
    vertical-align: middle;
    border: 0;
    -ms-interpolation-mode: bicubic
}

img,
svg {
    max-width: 100%
}

svg {
    max-height: 100%;
    fill: currentColor;
    fill-rule: evenodd;
    stroke: currentColor;
    stroke-width: 0
}

[color-type=gradient] {
    display: inline-block;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

[color-type=gradient] s,
[color-type=gradient] u {
    -webkit-text-decoration-color: var(--currentColor);
    text-decoration-color: var(--currentColor)
}

[color-type=gradient] a {
    opacity: 1 !important
}

[color-type=color] s,
[color-type=color] u {
    -webkit-text-decoration-color: initial;
    text-decoration-color: initial
}

[data-hidden=all],
body.adaptive-desktop [data-hidden=desktop],
body.adaptive-mobile [data-hidden=mobile] {
    display: none !important
}

[data-contrast] {
    color: var(--currentColor)
}

[data-contrast=dark] {
    --currentColor: #1b1b1c;
    --contrastColor: #fff
}

[data-contrast=light] {
    --currentColor: #fff;
    --contrastColor: #1b1b1c
}

@font-face {
    font-family: Roboto-Ruble;
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/roboto-ruble-300.woff2") format("woff2");
    font-display: swap
}

@font-face {
    font-family: Roboto-Ruble;
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/roboto-ruble-400.woff2") format("woff2");
    font-display: swap
}

@font-face {
    font-family: Roboto-Ruble;
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/roboto-ruble-500.woff2") format("woff2");
    font-display: swap
}

@font-face {
    font-family: Roboto-Ruble;
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/roboto-ruble-700.woff2") format("woff2");
    font-display: swap
}

body {
    word-break: break-word;
    word-wrap: break-word;
    overflow-wrap: break-word;
    --linkOpacity: 1;
    --linkColor: inherit;
    --linkDecoration: underline;
    --linkHoverColor: inherit;
    --linkHoverOpacity: 0.75;
    --linkHoverDecoration: none
}

a {
    text-decoration: none;
    -webkit-hyphens: manual;
    -ms-hyphens: manual;
    hyphens: manual;
    pointer-events: all
}

a,
a:active,
a:visited {
    color: inherit;
    outline: none
}

.style-link,
.text-block a,
p a {
    color: var(--linkColor);
    -webkit-text-decoration: var(--linkDecoration);
    text-decoration: var(--linkDecoration);
    opacity: var(--linkOpacity);
    transition: all .3s cubic-bezier(.21, .67, .58, 1);
    cursor: pointer
}

.style-link:active,
.style-link:visited,
.text-block a:active,
.text-block a:visited,
p a:active,
p a:visited {
    color: var(--linkColor)
}

.is-pointer .style-link:hover,
.is-pointer .text-block a:hover,
.is-pointer p a:hover {
    color: var(--linkHoverColor);
    -webkit-text-decoration: var(--linkHoverDecoration);
    text-decoration: var(--linkHoverDecoration);
    opacity: var(--linkHoverOpacity)
}

ol img,
p img,
ul img {
    height: auto !important
}

.close-times {
    font-size: 18px;
    width: 2em;
    height: 2em;
    margin-top: -.5em;
    margin-right: -.5em;
    z-index: 99;
    background-repeat: no-repeat;
    background-position: 50%;
    cursor: pointer;
    color: currentColor;
    opacity: 1;
    transition: opacity .18s cubic-bezier(.21, .67, .58, 1);
    transform: translateZ(0);
    pointer-events: all;
    will-change: transform, opacity;
    outline: none
}

.is-pointer .close-times:hover {
    text-decoration: none;
    opacity: .65
}

.close-times:after,
.close-times:before {
    display: block;
    content: "";
    width: 2px;
    height: 1.3em;
    background: currentColor;
    position: absolute;
    left: -1px;
    right: 0;
    top: 0;
    margin-top: .35em;
    margin-left: 1em
}

.close-times:before {
    transform: rotate(45deg)
}

.close-times:after {
    transform: rotate(-45deg)
}

.font-size-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5
}

.font-size-note {
    font-size: 14px
}

.font-size-note,
.font-size-tiny {
    font-weight: 400;
    line-height: 1.37
}

.font-size-tiny {
    font-size: 12px
}

.font-size-quote {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.37
}

.font-size-h1 {
    font-size: 48px;
    line-height: 1.2
}

.font-size-h2 {
    font-size: 40px;
    line-height: 1.2
}

.font-size-h3 {
    font-size: 30px;
    line-height: 1.2
}

.font-size-h4 {
    font-size: 26px;
    line-height: 1.37
}

.font-size-h5 {
    font-size: 22px;
    line-height: 1.37
}

.font-size-h6 {
    font-size: 18px;
    line-height: 1.37
}

.will-change {
    will-change: transform;
    transform: translateZ(0)
}

.unselectable {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.overflow {
    overflow: hidden
}

.fixed {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: fixed
}

.hidden-all {
    display: none
}

body.adaptive-desktop .hidden-desktop {
    display: none !important
}

.img-popup {
    cursor: pointer
}

.noanimate,
.noanimate * {
    transition: none !important;
    animation: none !important
}

.disable-pointer-events,
.disable-pointer-events * {
    pointer-events: none !important
}

.scrollable {
    pointer-events: all;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

.text-nowrap,
.text-truncate {
    white-space: nowrap
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis
}

.text-justify {
    text-align: justify
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-center {
    text-align: center
}

.text-lowercase {
    text-transform: lowercase
}

.text-uppercase {
    text-transform: uppercase
}

.text-capitalize {
    text-transform: capitalize
}

.text-keep-wrap {
    word-break: keep-all;
    word-wrap: normal;
    overflow-wrap: normal
}

.font-weight-light {
    font-weight: 300
}

.font-weight-normal {
    font-weight: 400
}

.font-weight-medium {
    font-weight: 500
}

.font-weight-bold {
    font-weight: 700
}

.font-italic {
    font-style: italic
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.flex-row {
    flex-direction: row
}

.flex-column {
    flex-direction: column
}

.flex-row-reverse {
    flex-direction: row-reverse
}

.flex-column-reverse {
    flex-direction: column-reverse
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-nowrap {
    flex-wrap: nowrap
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse
}

.justify-content-start {
    justify-content: flex-start
}

.justify-content-end {
    justify-content: flex-end
}

.justify-content-center {
    justify-content: center
}

.justify-content-between {
    justify-content: space-between
}

.justify-content-around {
    justify-content: space-around
}

.align-items-start {
    align-items: flex-start
}

.align-items-end {
    align-items: flex-end
}

.align-items-center {
    align-items: center
}

.align-items-baseline {
    align-items: baseline
}

.align-items-stretch {
    align-items: stretch
}

.align-content-start {
    align-content: flex-start
}

.align-content-end {
    align-content: flex-end
}

.align-content-center {
    align-content: center
}

.align-content-between {
    align-content: space-between
}

.align-content-around {
    align-content: space-around
}

.align-content-stretch {
    align-content: stretch
}

.align-self-auto {
    align-self: auto
}

.align-self-start {
    align-self: flex-start
}

.align-self-end {
    align-self: flex-end
}

.align-self-center {
    align-self: center
}

.align-self-baseline {
    align-self: baseline
}

.align-self-stretch {
    align-self: stretch
}

html {
    overflow-x: hidden;
    overflow-y: auto
}

body {
    overflow: hidden
}

body.hide-below-the-fold-blocks .b_block.below-the-fold {
    min-height: 500px
}

body.hide-below-the-fold-blocks .b_block.below-the-fold .free-area,
body.hide-below-the-fold-blocks .b_block.below-the-fold .main-area {
    display: none
}

.container-list {
    overflow: hidden
}

.is-cart-open .container-list,
.is-modal-open .container-list {
    z-index: 1
}

.container {
    position: relative;
    width: var(--containerWidth);
    max-width: var(--containerMaxWidth);
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap
}

.full-width {
    --containerWidth: 100%;
    --containerMaxWidth: 100%
}

.full-width .flexbe-cards-list {
    max-width: 100%;
    margin-right: 0;
    margin-left: 0
}

.cover {
    min-height: 540px;
    min-height: var(--coverHeight, 100vh);
    height: auto;
    align-items: center;
    align-content: center
}

.col-1,
[data-cols="1"] {
    flex-basis: 4.16666667%;
    max-width: 4.16666667%
}

.col-2,
[data-cols="2"] {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%
}

.col-3,
[data-cols="3"] {
    flex-basis: 12.5%;
    max-width: 12.5%
}

.col-4,
[data-cols="4"] {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%
}

.col-5,
[data-cols="5"] {
    flex-basis: 20.83333333%;
    max-width: 20.83333333%
}

.col-6,
[data-cols="6"] {
    flex-basis: 25%;
    max-width: 25%
}

.col-7,
[data-cols="7"] {
    flex-basis: 29.16666667%;
    max-width: 29.16666667%
}

.col-8,
[data-cols="8"] {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%
}

.col-9,
[data-cols="9"] {
    flex-basis: 37.5%;
    max-width: 37.5%
}

.col-10,
[data-cols="10"] {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%
}

.col-11,
[data-cols="11"] {
    flex-basis: 45.83333333%;
    max-width: 45.83333333%
}

.col-12,
[data-cols="12"] {
    flex-basis: 50%;
    max-width: 50%
}

.col-13,
[data-cols="13"] {
    flex-basis: 54.16666667%;
    max-width: 54.16666667%
}

.col-14,
[data-cols="14"] {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%
}

.col-15,
[data-cols="15"] {
    flex-basis: 62.5%;
    max-width: 62.5%
}

.col-16,
[data-cols="16"] {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%
}

.col-17,
[data-cols="17"] {
    flex-basis: 70.83333333%;
    max-width: 70.83333333%
}

.col-18,
[data-cols="18"] {
    flex-basis: 75%;
    max-width: 75%
}

.col-19,
[data-cols="19"] {
    flex-basis: 79.16666667%;
    max-width: 79.16666667%
}

.col-20,
[data-cols="20"] {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%
}

.col-21,
[data-cols="21"] {
    flex-basis: 87.5%;
    max-width: 87.5%
}

.col-22,
[data-cols="22"] {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%
}

.col-23,
[data-cols="23"] {
    flex-basis: 95.83333333%;
    max-width: 95.83333333%
}

.col-24,
[data-cols="24"] {
    flex-basis: 100%;
    max-width: 100%
}

.col-0,
[data-cols="0"] {
    padding: 0 !important;
    margin: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    opacity: 0;
    visibility: hidden
}

.layout-type-header {
    z-index: 1000
}

.layout-type-header.fixed-header {
    z-index: 2500
}

.layout-type-section-title {
    margin-bottom: 50px
}

.layout-type-section-footer {
    margin-top: 50px
}

.layout-type-card,
.layout-type-column,
.layout-type-product,
.layout-type-section-footer,
.layout-type-section-title,
.layout-type-tabs {
    z-index: 1000
}

.gap-container {
    margin: calc(var(--gapSize) * -1);
    max-width: calc(100% + var(--gapSize) * 2)
}

.gap-item {
    padding: var(--gapSize)
}

.gap-zero {
    --gapSize: 0px
}

.gap-small {
    --gapSize: 13px
}

.gap-normal {
    --gapSize: 25px
}

.b_block {
    position: relative;
    z-index: auto
}

.b_block.hidden {
    display: none
}

.container-fluid {
    position: relative
}

.elements-list--static {
    pointer-events: auto
}

.element-item {
    --zIndexBase: 1000;
    --zIndex: 0;
    --zIndexValue: calc(var(--zIndexBase, 1000) + var(--zIndex, 0));
    position: relative;
    display: flex;
    flex-shrink: 0;
    flex-grow: 0
}

.element-item--static {
    --zIndexBase: 10
}

.element-item--free {
    --elementJustify: flex-start;
    --zIndexBase: 1000;
    justify-content: var(--elementAlignX, inherit) !important;
    align-items: var(--elementAlignY, inherit) !important
}

.element-item--descent {
    --zIndexBase: 10
}

.element-item--vertical {
    width: 100%;
    width: -moz-available;
    width: -webkit-fill-available
}

.element-item--vertical.fill-space {
    --elementAlign: stretch;
    flex-grow: 1
}

.element-item--vertical.no-gutter {
    margin-left: calc(var(--paddingLeft, 0px) * -1);
    margin-right: calc(var(--paddingRight, 0px) * -1)
}

.element-item--vertical.no-gutter .element-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.element-item--vertical.no-gutter.is-first-child {
    margin-top: calc(var(--paddingTop) * -1) !important
}

.element-item--vertical.no-gutter.is-last-child {
    margin-bottom: calc(var(--paddingBottom) * -1) !important
}

.element-content--vertical {
    padding: 5px 0
}

.element-content {
    display: flex;
    flex-flow: row wrap;
    justify-content: var(--elementJustify, inherit);
    align-items: var(--elementAlign, inherit);
    text-align: var(--elementTextAlign, inherit);
    position: relative;
    width: 100%;
    z-index: var(--zIndexValue)
}

.is-view .element-content--pointerless,
.is-view .element-content--pointerless * {
    pointer-events: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important
}

[data-element-justify=start] {
    --elementJustify: flex-start;
    --elementTextAlign: left
}

[data-element-justify=center] {
    --elementJustify: center;
    --elementTextAlign: center
}

[data-element-justify=end] {
    --elementJustify: flex-end;
    --elementTextAlign: right
}

[data-element-align=start] {
    --elementAlign: flex-start
}

[data-element-align=center] {
    --elementAlign: center
}

[data-element-align=end] {
    --elementAlign: flex-end
}

[data-mr] {
    padding-right: var(--sideMarginRight)
}

[data-ml] {
    padding-left: var(--sideMarginLeft)
}

[data-mr="0"] {
    --sideMarginRight: 0%
}

[data-ml="0"] {
    --sideMarginLeft: 0%
}

[data-mr="1"] {
    --sideMarginRight: 5%
}

[data-ml="1"] {
    --sideMarginLeft: 5%
}

[data-mr="2"] {
    --sideMarginRight: 10%
}

[data-ml="2"] {
    --sideMarginLeft: 10%
}

[data-mr="3"] {
    --sideMarginRight: 15%
}

[data-ml="3"] {
    --sideMarginLeft: 15%
}

[data-mr="4"] {
    --sideMarginRight: 20%
}

[data-ml="4"] {
    --sideMarginLeft: 20%
}

[data-mr="5"] {
    --sideMarginRight: 25%
}

[data-ml="5"] {
    --sideMarginLeft: 25%
}

[data-mr="6"] {
    --sideMarginRight: 30%
}

[data-ml="6"] {
    --sideMarginLeft: 30%
}

[data-mr="7"] {
    --sideMarginRight: 35%
}

[data-ml="7"] {
    --sideMarginLeft: 35%
}

[data-mr="8"] {
    --sideMarginRight: 40%
}

[data-ml="8"] {
    --sideMarginLeft: 40%
}

[data-mr="9"] {
    --sideMarginRight: 45%
}

[data-ml="9"] {
    --sideMarginLeft: 45%
}

[data-mr="10"] {
    --sideMarginRight: 50%
}

[data-ml="10"] {
    --sideMarginLeft: 50%
}

[data-mr="11"] {
    --sideMarginRight: 55%
}

[data-ml="11"] {
    --sideMarginLeft: 55%
}

[data-mr="12"] {
    --sideMarginRight: 60%
}

[data-ml="12"] {
    --sideMarginLeft: 60%
}

[data-mr="13"] {
    --sideMarginRight: 65%
}

[data-ml="13"] {
    --sideMarginLeft: 65%
}

[data-mr="14"] {
    --sideMarginRight: 70%
}

[data-ml="14"] {
    --sideMarginLeft: 70%
}

[data-mr="15"] {
    --sideMarginRight: 75%
}

[data-ml="15"] {
    --sideMarginLeft: 75%
}

[data-mr="16"] {
    --sideMarginRight: 80%
}

[data-ml="16"] {
    --sideMarginLeft: 80%
}

[data-mr="17"] {
    --sideMarginRight: 85%
}

[data-ml="17"] {
    --sideMarginLeft: 85%
}

[data-mr="18"] {
    --sideMarginRight: 90%
}

[data-ml="18"] {
    --sideMarginLeft: 90%
}

[data-mr="19"] {
    --sideMarginRight: 95%
}

[data-ml="19"] {
    --sideMarginLeft: 95%
}

[data-mr="20"] {
    --sideMarginRight: 100%
}

[data-ml="20"] {
    --sideMarginLeft: 100%
}

.px-0 {
    --paddingLeft: 0px;
    --paddingRight: 0px
}

.py-0 {
    --paddingBottom: 0px
}

.pt-0,
.py-0 {
    --paddingTop: 0px
}

.pb-0 {
    --paddingBottom: 0px
}

.pl-0 {
    --paddingLeft: 0px
}

.pr-0 {
    --paddingRight: 0px
}

.px-5 {
    --paddingLeft: 5px;
    --paddingRight: 5px
}

.py-5 {
    --paddingBottom: 5px
}

.pt-5,
.py-5 {
    --paddingTop: 5px
}

.pb-5 {
    --paddingBottom: 5px
}

.pl-5 {
    --paddingLeft: 5px
}

.pr-5 {
    --paddingRight: 5px
}

.px-10 {
    --paddingLeft: 10px;
    --paddingRight: 10px
}

.py-10 {
    --paddingBottom: 10px
}

.pt-10,
.py-10 {
    --paddingTop: 10px
}

.pb-10 {
    --paddingBottom: 10px
}

.pl-10 {
    --paddingLeft: 10px
}

.pr-10 {
    --paddingRight: 10px
}

.px-15 {
    --paddingLeft: 15px;
    --paddingRight: 15px
}

.py-15 {
    --paddingBottom: 15px
}

.pt-15,
.py-15 {
    --paddingTop: 15px
}

.pb-15 {
    --paddingBottom: 15px
}

.pl-15 {
    --paddingLeft: 15px
}

.pr-15 {
    --paddingRight: 15px
}

.px-20 {
    --paddingLeft: 20px;
    --paddingRight: 20px
}

.py-20 {
    --paddingBottom: 20px
}

.pt-20,
.py-20 {
    --paddingTop: 20px
}

.pb-20 {
    --paddingBottom: 20px
}

.pl-20 {
    --paddingLeft: 20px
}

.pr-20 {
    --paddingRight: 20px
}

.px-25 {
    --paddingLeft: 25px;
    --paddingRight: 25px
}

.py-25 {
    --paddingBottom: 25px
}

.pt-25,
.py-25 {
    --paddingTop: 25px
}

.pb-25 {
    --paddingBottom: 25px
}

.pl-25 {
    --paddingLeft: 25px
}

.pr-25 {
    --paddingRight: 25px
}

.px-30 {
    --paddingLeft: 30px;
    --paddingRight: 30px
}

.py-30 {
    --paddingBottom: 30px
}

.pt-30,
.py-30 {
    --paddingTop: 30px
}

.pb-30 {
    --paddingBottom: 30px
}

.pl-30 {
    --paddingLeft: 30px
}

.pr-30 {
    --paddingRight: 30px
}

.px-35 {
    --paddingLeft: 35px;
    --paddingRight: 35px
}

.py-35 {
    --paddingBottom: 35px
}

.pt-35,
.py-35 {
    --paddingTop: 35px
}

.pb-35 {
    --paddingBottom: 35px
}

.pl-35 {
    --paddingLeft: 35px
}

.pr-35 {
    --paddingRight: 35px
}

.px-40 {
    --paddingLeft: 40px;
    --paddingRight: 40px
}

.py-40 {
    --paddingBottom: 40px
}

.pt-40,
.py-40 {
    --paddingTop: 40px
}

.pb-40 {
    --paddingBottom: 40px
}

.pl-40 {
    --paddingLeft: 40px
}

.pr-40 {
    --paddingRight: 40px
}

.px-45 {
    --paddingLeft: 45px;
    --paddingRight: 45px
}

.py-45 {
    --paddingBottom: 45px
}

.pt-45,
.py-45 {
    --paddingTop: 45px
}

.pb-45 {
    --paddingBottom: 45px
}

.pl-45 {
    --paddingLeft: 45px
}

.pr-45 {
    --paddingRight: 45px
}

.px-50 {
    --paddingLeft: 50px;
    --paddingRight: 50px
}

.py-50 {
    --paddingBottom: 50px
}

.pt-50,
.py-50 {
    --paddingTop: 50px
}

.pb-50 {
    --paddingBottom: 50px
}

.pl-50 {
    --paddingLeft: 50px
}

.pr-50 {
    --paddingRight: 50px
}

.element-item--free,
.free-area {
    position: absolute !important;
    pointer-events: none !important;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0
}

.element-item--free {
    contain: style size;
    margin-right: auto;
    margin-left: auto
}

.element-item--free[data-containment=layout] {
    width: var(--containerWidth) !important;
    max-width: var(--containerMaxWidth) !important
}

.element-item--free[data-overflow] {
    overflow: hidden
}

.element-content--free {
    position: relative;
    flex-shrink: 0;
    pointer-events: auto !important;
    top: var(--elementY, 0) !important;
    left: var(--elementX, 0) !important;
    width: var(--elementWidth, auto) !important;
    height: var(--elementHeight, auto) !important;
    transform: rotate(var(--elementRotate, 0)) !important;
    opacity: var(--elementOpacity) !important;
    max-width: var(--elementMaxWidth, none) !important;
    min-width: 1px;
    min-height: 1px;
    contain: style layout
}

.flexbe-row {
    width: 100%;
    width: stretch;
    width: -moz-available;
    width: -webkit-fill-available;
    max-width: 100%;
    max-width: stretch;
    max-width: -moz-available;
    max-width: -webkit-fill-available;
    flex-flow: row nowrap;
    margin: 0 calc(var(--gapSize, 0px) * -1);
    pointer-events: none
}

.flexbe-column,
.flexbe-row {
    display: flex;
    flex-grow: 1;
    flex-shrink: 0
}

body.adaptive-desktop .flexbe-row.first-row .flexbe-column,
body.adaptive-desktop .flexbe-row.only-row .flexbe-column {
    padding-top: 0
}

body.adaptive-desktop .flexbe-row.last-row .flexbe-column,
body.adaptive-desktop .flexbe-row.only-row .flexbe-column {
    padding-bottom: 0
}

.modal-list {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    clip: rect(auto, auto, auto, auto);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3000
}

.modal-list.rise {
    z-index: 100000
}

.modal-list.show {
    display: flex
}

.m_modal {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content-visibility: hidden
}

.m_modal.show {
    content-visibility: visible;
    display: block;
    z-index: 1
}

.m_modal .modal-data {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

.m_modal .modal-data>.close-times {
    position: fixed;
    top: 40px;
    right: 40px
}

.m_modal .scroller {
    padding: 70px 0;
    max-height: var(--100vh, 100vh);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    pointer-events: all;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch
}

.m_modal .modal-content {
    position: relative;
    margin: auto;
    animation: slideUp .35s ease 1 both
}

.m_modal .component-bg {
    animation: fadeIn .18s linear 1 both
}

.cart-button {
    width: 60px;
    height: 60px;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    pointer-events: all;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: opacity .18s cubic-bezier(.21, .67, .58, 1), visibility .18s cubic-bezier(.21, .67, .58, 1)
}

.cart-button,
.cart-button .editor-simple-handle {
    border-radius: 50%
}

.cart-button:hover:before {
    transform: scale(1.05)
}

.cart-button.blink {
    animation: scale-up-down .3s cubic-bezier(.21, .67, .58, 1) 0s 1
}

.cart-button.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none !important
}

.cart-button svg {
    flex-shrink: 0;
    display: block;
    fill-rule: evenodd;
    fill: currentColor;
    transition: transform .3s cubic-bezier(.21, .67, .58, 1);
    z-index: 1
}

.cart-button:before {
    content: "";
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    color: #fff;
    z-index: 0
}

.cart-button-count,
.cart-button:before {
    display: block;
    position: absolute;
    border-radius: 50%;
    transition: transform .3s cubic-bezier(.21, .67, .58, 1)
}

.cart-button-count {
    z-index: 5;
    margin: 0;
    right: -5px;
    top: -5px;
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    text-align: center;
    font-size: 12px;
    line-height: 24px;
    font-weight: 500;
    white-space: nowrap
}

@keyframes swiperHelper {
    0% {
           transform: translateX(0);
           opacity: 1
    }

    39% {
           opacity: 1
    }

    56% {
           opacity: .5
    }

    77% {
           transform: translateX(-150%);
           opacity: 0
    }
}

.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-mobile-helper {
    position: absolute;
    width: 60px;
    height: 60px;
    background: url(../img/swipe_circle.png);
    background-size: contain;
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity;
    animation: none
}

.swiper-mobile-helper.show {
    animation: swiperHelper 1.3s ease 2 both
}

.swiper-mobile-helper.fade {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease, visibility .5s ease
}

.flexbe-cards-slider .swiper-mobile-helper {
    top: 7%;
    right: -28px
}

.container-tabs .swiper-mobile-helper {
    top: -40px;
    right: -8px
}

body.is-pointer .swiper-mobile-helper {
    display: none
}

.swiper-wrapper {
    position: relative;
    flex-wrap: nowrap !important;
    justify-content: flex-start;
    transition: all .65s cubic-bezier(.64, .13, .43, .99)
}

.swiper-effect-fade .swiper-slide {
    position: relative;
    pointer-events: none;
    padding: 0 !important;
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition-timing-function: cubic-bezier(.7, 0, .3, 1);
    z-index: 0
}

.swiper-effect-fade .swiper-slide>.component-image,
.swiper-effect-fade .swiper-slide>.component-video {
    transform: scale(1.15);
    transition: transform .85s cubic-bezier(.7, 0, .3, 1)
}

.swiper-effect-fade .swiper-slide-active {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    z-index: 1
}

.swiper-effect-fade .swiper-slide-active>.component-image,
.swiper-effect-fade .swiper-slide-active>.component-video,
.swiper-effect-fade .swiper-slide-duplicate-active>.component-image,
.swiper-effect-fade .swiper-slide-duplicate-active>.component-video {
    transform: scale(1)
}

.widget-list {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

@keyframes shake {

    10%,
    90% {
           transform: translate3d(-1px, 0, 0)
    }

    20%,
    80% {
           transform: translate3d(2px, 0, 0)
    }

    30%,
    60% {
           transform: translate3d(-3px, 0, 0)
    }

    45% {
           transform: translate3d(3px, 0, 0)
    }
}

@keyframes slideDown {
    0% {
           transform: translateY(-10px);
           opacity: 0
    }

    to {
           transform: translateY(0);
           opacity: 1
    }
}

@keyframes slideUp {
    0% {
           transform: translateY(10px);
           opacity: 0
    }

    to {
           transform: translateY(0);
           opacity: 1
    }
}

@keyframes fadeIn {
    0% {
           opacity: 0
    }

    to {
           opacity: 1
    }
}

@keyframes fadeOut {
    0% {
           opacity: 1
    }

    to {
           opacity: 0
    }
}

@keyframes scale-up-down {
    50% {
           transform: scale(1.3)
    }
}

@keyframes circular-loader {
    0% {
           stroke-dasharray: 1, 200;
           stroke-dashoffset: 0
    }

    50% {
           stroke-dasharray: 89, 200;
           stroke-dashoffset: -35
    }

    to {
           stroke-dasharray: 89, 200;
           stroke-dashoffset: -124
    }
}

@keyframes checkAppearance {
    0% {
           width: 0
    }

    to {
           width: 100%
    }
}

[data-b-id=FREE] .container-fluid {
    height: var(--sectionHeight)
}

.component-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: -1px;
    overflow: hidden;
    clip: rect(auto, auto, auto, auto);
    pointer-events: none;
    z-index: 0
}

.component-bg .overlay {
    z-index: 2;
    transition: all .18s
}

.component-bg .image-holder,
.component-bg .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

.component-bg .image-holder {
    opacity: 1;
    visibility: visible;
    z-index: 1;
    transition: opacity .4s cubic-bezier(.21, .67, .58, 1), visibility .4s cubic-bezier(.21, .67, .58, 1)
}

.component-bg .image-holder__preview {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    transition: opacity .4s ease, visibility .4s ease;
    visibility: visible
}

.component-bg .image-holder__preview.effect--blur {
    background-size: cover;
    background-repeat: no-repeat
}

.component-bg .image-holder__preview.effect--backdrop {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px)
}

.b_block .component-bg[data-type=color] .overlay {
    opacity: 1 !important
}