:where(*) {
    margin: 0;
    padding: 0;
    position: relative;
}

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

img,
picture,
svg,
video,
canvas {
    max-width: 100%;
    height: auto;
    display: block;
}

html:focus-within {
    scroll-behavior: smooth;
}

ol,
ul {
    list-style: none;
}

input,
button,
textarea,
select {
    font: inherit;
}

ymaps {
    position: static;
}

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

:root {
    --spacing_em: 1em;
    --spacing_rem: 1rem;
    --spacing: 1rem;
    --spacing_xxs: .25rem;
    --spacing_xs: .5rem;
    --spacing_s: .75rem;
    --spacing_m: 1rem;
    --spacing_l: 1.5rem;
    --spacing_xl: 2rem;
    --spacing_xxl: 3rem;
    --spacing_content_x: 4rem;
    --spacing_content_y: 4rem;
    --spacing_content: var(--spacing_content_y) var(--spacing_content_x);
    --offset_xxs: -0.25rem;
    --offset_xs: -0.5rem;
    --offset_s: -0.75rem;
    --offset_m: -1rem;
    --offset_l: -1.5rem;
    --offset_xl: -2rem;
    --offset_xxl: -3rem;
    --offset_content_x: -4rem;
    --offset_content_y: -4rem;
    --offset_content: var(--offset_content_x) var(--offset_content_y);
}

@media (min-width: 576px) and (max-width: 1199px) {
    :root {
        --spacing_content_y: 3rem;
        --spacing_content_x: 4vw;
    }
}

@media (max-width: 575px) {
    :root {
        --spacing_content_y: 2rem;
        --spacing_content_x: 4vw;
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
    :root {
        --offset_content_y: -3rem;
        --offset_content_x: -4vw;
    }
}

@media (max-width: 575px) {
    :root {
        --offset_content_y: -2rem;
        --offset_content_x: -4vw;
    }
}

:root {
    --flex-padding_xs: calc(0.25rem);
    --flex-offset_xs: calc(-0.25rem);
    --flex-padding_s: calc(0.375rem);
    --flex-offset_s: calc(-0.375rem);
    --flex-padding_m: calc(0.5rem);
    --flex-offset_m: calc(-0.5rem);
    --flex-padding_l: calc(0.75rem);
    --flex-offset_l: calc(-0.75rem);
    --flex-padding_xl: calc(1rem);
    --flex-offset_xl: calc(-1rem);
    --flex-padding_xxl: calc(1.5rem);
    --flex-offset_xxl: calc(-1.5rem);
    --flex-padding_x2: calc(2rem);
    --flex-offset_x2: calc(-2rem);
    --flex-padding_x3: calc(3rem);
    --flex-offset_x3: calc(-3rem);
    --flex-padding_x4: calc(4rem);
    --flex-offset_x4: calc(-4rem);
}

:root {
    --grid-width: 8.33333333%;
    --grid-gap_xxs: 0.25rem;
    --grid-gap_xs: 0.5rem;
    --grid-gap_s: 0.75rem;
    --grid-gap_m: 1rem;
    --grid-gap_l: 1.5rem;
    --grid-gap_xl: 2rem;
    --grid-gap_xxl: 3rem;
    --grid-padding_xs: calc(0.25rem);
    --grid-offset_xs: calc(-0.25rem);
    --grid-padding_s: calc(0.375rem);
    --grid-offset_s: calc(-0.375rem);
    --grid-padding_m: calc(0.5rem);
    --grid-offset_m: calc(-0.5rem);
    --grid-padding_l: calc(0.75rem);
    --grid-offset_l: calc(-0.75rem);
    --grid-padding_xl: calc(1rem);
    --grid-offset_xl: calc(-1rem);
    --grid-padding_xxl: calc(1.5rem);
    --grid-offset_xxl: calc(-1.5rem);
    --grid-padding_x2: calc(2rem);
    --grid-offset_x2: calc(-2rem);
    --grid-padding_x3: calc(3rem);
    --grid-offset_x3: calc(-3rem);
    --grid-padding_x4: calc(4rem);
    --grid-offset_x4: calc(-4rem);
}

:root {
    --fs: 20px;
    --fs_xxs: 0.625em;
    --fs_xs: 0.75em;
    --fs_s: 0.875em;
    --fs_l: 1.125em;
    --fs_xl: 1.25em;
    --fs_xxl: 1.5em;
    --fs_h1: 1.75em;
    --fs_h2: 1.52em;
    --fs_h3: 1.32em;
    --fs_h4: 1.15em;
    --fs_h5: 1em;
    --fs_h6: 0.87em;
    --fw: 400;
    --ff-primary: -apple-system, "Roboto", "Helvetica Neue", sans-serif;
    --ff-secondary: var(--ff-primary);
    --ff-serif: var(--ff-primary);
    --ff-sans: var(--ff-primary);
    --ls: 0.06em;
    --p-lh: 1.5;
    --p-o: calc(var(--p-lh) * -.125em);
    --h-ff: var(--ff-primary);
    --h-fw: 500;
    --h-lh: 1.25;
    --h-o: calc(var(--h-lh) * -.125em);
    --h-c: var(--c-title);
}

@media (min-width: 1440px) and (max-width: 1599px) {
    :root {
        --fs: 18px;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    :root {
        --fs: 16px;
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
    :root {
        --fs: 18px;
    }
}

@media (max-width: 575px) {
    :root {
        --fs: 16px;
        --fs_h1: 1.46em;
        --fs_h2: 1.33em;
        --fs_h3: 1.21em;
        --fs_h4: 1.1em;
        --fs_h5: 1em;
        --fs_h6: 0.90909091em;
    }
}

:root {
    --c-1: #000e24;
    --c-2: #0055ff;
    --c-3: #000529;
    --c-4: #0f57ff;
    --c-5: #000424;
    --c-photo-bg: #d7d8dd;
    --c-accent: #ffc800;
    --c-link: #0c7be4;
    --c-link_hover: #0065e9;
    --c-link_active: #007cff;
    --c-link_visited: #0050b1;
    --tri-luminance: 0.14;
    --tri-hue: 222;
    --left-bar-bg: #0c7be4;
    --c-primary: #fed867;
    --c-secondary: #000;
    --c-black: #000;
    --c-white: #fff;
    --c-title: #000;
    --c-text: var(--c-gray_d);
    --c-hl: #ffe380;
    --c-outline: var(--c-link);
    --c-border: rgba(0, 0, 0, 0.25);
    --c-gray: #808080;
    --c-gray_l: #999999;
    --c-gray_d: #666666;
    --c-bg: #ebebeb;
    --c-bg_l: #f5f5f5;
    --c-bg_d: #e0e0e0;
    --c-info: #cbddf1;
    --c-success: #a7d86e;
    --c-warning: #ffc066;
    --c-fail: #e79283;
}

._invert {
    --c-black: #fff;
    --c-white: #000;
    --c-text: #b5b5b5;
    --c-link: #fff;
    --c-title: #fff;
    --c-border: rgba(255, 255, 255, 0.25);
}

:root {
    --icon_size: 24px;
    --icon_xxs: calc(var(--icon_size) * 0.5);
    --icon_xs: calc(var(--icon_size) * 0.6666666666666667);
    --icon_s: calc(var(--icon_size) * 0.8333333333333333);
    --icon_m: calc(var(--icon_size));
    --icon_l: calc(var(--icon_size) * 1.166666666666667);
    --icon_xl: calc(var(--icon_size) * 1.333333333333333);
    --icon_xxl: calc(var(--icon_size) * 1.5);
}

:root {
    --duration_xs: 0.075s;
    --duration_s: 0.125s;
    --duration_m: 0.25s;
    --duration_l: 0.375s;
    --duration_xl: 0.5s;
    --duration: var(--duration_m);
    --delay_xs: var(--duration_xs);
    --delay_s: var(--duration_s);
    --delay_m: var(--duration_m);
    --delay_l: var(--duration_l);
    --delay_xl: var(--duration_xl);
    --delay: var(--delay_m);
    --easing: var(--easing_ease);
    --easing_ease: ease;
}

:root {
    --border-width: 1px;
    --border-radius: 3px;
    --border-color: rgba(0, 0, 0, 0.125);
    --border-color_l: rgba(0, 0, 0, 0.05);
    --border-color_d: rgba(0, 0, 0, 0.25);
}

._invert {
    --border-color: rgba(255, 255, 255, 0.35);
    --border-color_l: rgba(255, 255, 255, 0.45);
    --border-color_d: rgba(255, 255, 255, 0.25);
}

:root {
    --width_page: 64rem;
    --width_content: 36rem;
    --width_form: 24rem;
    --width_factor: 192px;
    --page-width: 64rem;
}

.btn {
    --btn-height: 3em;
    --btn-padding: 0 1.5em;
    --btn-ff: var(--ff-primary);
    --btn-color: var(--c-title);
    --btn-bg: none;
    --btn-fs: 1em;
    --btn-fw: 400;
    --btn-br: 3px;
    --btn-border-width: 1px;
    --btn-border: none;
    --btn-primary-height: var(--btn-height);
    --btn-primary-padding: var(--btn-padding);
    --btn-primary-br: var(--btn-br);
    --btn-primary-ff: var(--btn-ff);
    --btn-primary-fs: var(--btn-fs);
    --btn-primary-fw: 500;
    --btn-primary-ls: .035em;
    --btn-primary-tt: uppercase;
    --btn-primary-color: var(--btn-color);
    --btn-primary-color_hover: var(--btn-primary-color);
    --btn-primary-color_focus: var(--btn-primary-color);
    --btn-primary-color_active: var(--btn-primary-color);
    --btn-primary-bg: var(--c-primary);
    --btn-primary-bg_hover: var(--btn-primary-bg);
    --btn-primary-bg_focus: var(--btn-primary-bg);
    --btn-primary-bg_active: var(--btn-primary-bg);
    --btn-primary-bw: 1px;
    --btn-primary-bc: var(--c-border);
    --btn-primary-bc_hover: var(--btn-primary-bc);
    --btn-primary-bc_focus: var(--btn-primary-bc);
    --btn-primary-bc_active: var(--btn-primary-bc);
    --btn-default-height: var(--btn-height);
    --btn-default-padding: var(--btn-padding);
    --btn-default-br: var(--btn-br);
    --btn-default-ff: var(--btn-ff);
    --btn-default-fs: var(--btn-fs);
    --btn-default-fw: 400;
    --btn-default-ls: .035em;
    --btn-default-tt: uppercase;
    --btn-default-color: var(--btn-color);
    --btn-default-color_hover: var(--btn-default-color);
    --btn-default-color_focus: var(--btn-default-color);
    --btn-default-color_active: var(--btn-default-color);
    --btn-default-bg: transparent;
    --btn-default-bg_hover: transparent;
    --btn-default-bg_focus: transparent;
    --btn-default-bg_active: transparent;
    --btn-default-bw: 2px;
    --btn-default-bc: var(--c-border);
    --btn-default-bc_hover: var(--c-link_hover);
    --btn-default-bc_focus: var(--c-link_active);
    --btn-default-bc_active: var(--c-link_active);
}

.left-bar__logo {
    padding: 0 10%;
}

@keyframes spin {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fade-out {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes move-from-top {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes move-to-top {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-100%);
    }
}

@keyframes move-from-right {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes move-to-right {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(100%);
    }
}

@keyframes move-from-bottom {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes move-to-bottom {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(100%);
    }
}

@keyframes move-from-left {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes move-to-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

.beforeafter {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
}

.webkitfix {
    -webkit-transform: translateZ(0);
}

.clearfix:before,
.clearfix:after {
    display: table;
    content: '';
    line-height: 0;
    height: 0;
}

.clearfix:after {
    clear: both;
}

.oh {
    overflow: hidden !important;
}

.ov {
    overflow: visible !important;
}

.flex_x_xs {
    margin-left: var(--flex-offset_xs);
    margin-right: var(--flex-offset_xs);
}

.flex_x_xs > * {
    padding-left: var(--flex-padding_xs);
    padding-right: var(--flex-padding_xs);
}

.grid {
    display: grid;
    min-width: 0;
}

.loading {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    width: 3rem;
    height: 3rem;
    margin-left: -1.5rem;
    margin-top: -1.5rem;
    border: 4px solid transparent;
    border-top-color: var(--c-link);
    border-bottom-color: var(--c-link);
    border-radius: 50%;
    animation: spin 1s infinite linear;
}

.m_0 {
    margin: 0 !important;
}

.m_auto {
    margin: auto;
}

.m_xxs {
    margin: var(--spacing_xxs);
}

.m_xs {
    margin: var(--spacing_xs);
}

.m_s {
    margin: var(--spacing_s);
}

.m_m {
    margin: var(--spacing_m);
}

.m_l {
    margin: var(--spacing_l);
}

.m_xl {
    margin: var(--spacing_xl);
}

.m_xxl {
    margin: var(--spacing_xxl);
}

.mh_0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.mh_auto {
    margin-left: auto;
    margin-right: auto;
}

.mh_xxs {
    margin-left: var(--spacing_xxs);
    margin-right: var(--spacing_xxs);
}

.mh_xs {
    margin-left: var(--spacing_xs);
    margin-right: var(--spacing_xs);
}

.mh_s {
    margin-left: var(--spacing_s);
    margin-right: var(--spacing_s);
}

.mh_m {
    margin-left: var(--spacing_m);
    margin-right: var(--spacing_m);
}

.mh_l {
    margin-left: var(--spacing_l);
    margin-right: var(--spacing_l);
}

.mh_xl {
    margin-left: var(--spacing_xl);
    margin-right: var(--spacing_xl);
}

.mh_xxl {
    margin-left: var(--spacing_xxl);
    margin-right: var(--spacing_xxl);
}

.mv_0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.mv_auto {
    margin-top: auto;
    margin-bottom: auto;
}

.mv_xxs {
    margin-top: var(--spacing_xxs);
    margin-bottom: var(--spacing_xxs);
}

.mv_xs {
    margin-top: var(--spacing_xs);
    margin-bottom: var(--spacing_xs);
}

.mv_s {
    margin-top: var(--spacing_s);
    margin-bottom: var(--spacing_s);
}

.mv_m {
    margin-top: var(--spacing_m);
    margin-bottom: var(--spacing_m);
}

.mv_l {
    margin-top: var(--spacing_l);
    margin-bottom: var(--spacing_l);
}

.mv_xl {
    margin-top: var(--spacing_xl);
    margin-bottom: var(--spacing_xl);
}

.mv_xxl {
    margin-top: var(--spacing_xxl);
    margin-bottom: var(--spacing_xxl);
}

.mt_0 {
    margin-top: 0 !important;
}

.mt_auto {
    margin-top: auto;
}

.mt_xxs {
    margin-top: var(--spacing_xxs);
}

.mt_xs {
    margin-top: var(--spacing_xs);
}

.mt_s {
    margin-top: var(--spacing_s);
}

.mt_m {
    margin-top: var(--spacing_m);
}

.mt_l {
    margin-top: var(--spacing_l);
}

.mt_xl {
    margin-top: var(--spacing_xl);
}

.mt_xxl {
    margin-top: var(--spacing_xxl);
}

.mr_xxs {
    margin-right: var(--spacing_xxs);
}

.mr_0 {
    margin-right: 0 !important;
}

.mr_auto {
    margin-right: auto;
}

.mr_xs {
    margin-right: var(--spacing_xs);
}

.mr_s {
    margin-right: var(--spacing_s);
}

.mr_m {
    margin-right: var(--spacing_m);
}

.mr_l {
    margin-right: var(--spacing_l);
}

.mr_xl {
    margin-right: var(--spacing_xl);
}

.mr_xxl {
    margin-right: var(--spacing_xxl);
}

.mb_0 {
    margin-bottom: 0 !important;
}

.mb_auto {
    margin-bottom: auto;
}

.mb_xxs {
    margin-bottom: var(--spacing_xxs);
}

.mb_xs {
    margin-bottom: var(--spacing_xs);
}

.mb_s {
    margin-bottom: var(--spacing_s);
}

.mb_m {
    margin-bottom: var(--spacing_m);
}

.mb_l {
    margin-bottom: var(--spacing_l);
}

.mb_xl {
    margin-bottom: var(--spacing_xl);
}

.mb_xxl {
    margin-bottom: var(--spacing_xxl);
}

.ml_0 {
    margin-left: 0 !important;
}

.ml_auto {
    margin-left: auto;
}

.ml_xxs {
    margin-left: var(--spacing_xxs);
}

.ml_xs {
    margin-left: var(--spacing_xs);
}

.ml_s {
    margin-left: var(--spacing_s);
}

.ml_m {
    margin-left: var(--spacing_m);
}

.ml_l {
    margin-left: var(--spacing_l);
}

.ml_xl {
    margin-left: var(--spacing_xl);
}

.ml_xxl {
    margin-left: var(--spacing_xxl);
}

.o_xxs {
    margin: var(--offset_xxs);
}

.o_xs {
    margin: var(--offset_xs);
}

.o_s {
    margin: var(--offset_s);
}

.o_m {
    margin: var(--offset_m);
}

.o_l {
    margin: var(--offset_l);
}

.o_xl {
    margin: var(--offset_xl);
}

.o_xxl {
    margin: var(--offset_xxl);
}

.oh_xxs {
    margin-left: var(--offset_xxs);
    margin-right: var(--offset_xxs);
}

.oh_xs {
    margin-left: var(--offset_xs);
    margin-right: var(--offset_xs);
}

.oh_s {
    margin-left: var(--offset_s);
    margin-right: var(--offset_s);
}

.oh_m {
    margin-left: var(--offset_m);
    margin-right: var(--offset_m);
}

.oh_l {
    margin-left: var(--offset_l);
    margin-right: var(--offset_l);
}

.oh_xl {
    margin-left: var(--offset_xl);
    margin-right: var(--offset_xl);
}

.oh_xxl {
    margin-left: var(--offset_xxl);
    margin-right: var(--offset_xxl);
}

.ov_xxs {
    margin-top: var(--offset_xxs);
    margin-bottom: var(--offset_xxs);
}

.ov_xs {
    margin-top: var(--offset_xs);
    margin-bottom: var(--offset_xs);
}

.ov_s {
    margin-top: var(--offset_s);
    margin-bottom: var(--offset_s);
}

.ov_m {
    margin-top: var(--offset_m);
    margin-bottom: var(--offset_m);
}

.ov_l {
    margin-top: var(--offset_l);
    margin-bottom: var(--offset_l);
}

.ov_xl {
    margin-top: var(--offset_xl);
    margin-bottom: var(--offset_xl);
}

.ov_xxl {
    margin-top: var(--offset_xxl);
    margin-bottom: var(--offset_xxl);
}

.ot_xxs {
    margin-top: var(--offset_xxs);
}

.ot_xs {
    margin-top: var(--offset_xs);
}

.ot_s {
    margin-top: var(--offset_s);
}

.ot_m {
    margin-top: var(--offset_m);
}

.ot_l {
    margin-top: var(--offset_l);
}

.ot_xl {
    margin-top: var(--offset_xl);
}

.ot_xxl {
    margin-top: var(--offset_xxl);
}

.or_xxs {
    margin-right: var(--offset_xxs);
}

.or_xs {
    margin-right: var(--offset_xs);
}

.or_s {
    margin-right: var(--offset_s);
}

.or_m {
    margin-right: var(--offset_m);
}

.or_l {
    margin-right: var(--offset_l);
}

.or_xl {
    margin-right: var(--offset_xl);
}

.or_xxl {
    margin-right: var(--offset_xxl);
}

.ob_xxs {
    margin-bottom: var(--offset_xxs);
}

.ob_xs {
    margin-bottom: var(--offset_xs);
}

.ob_s {
    margin-bottom: var(--offset_s);
}

.ob_m {
    margin-bottom: var(--offset_m);
}

.ob_l {
    margin-bottom: var(--offset_l);
}

.ob_xl {
    margin-bottom: var(--offset_xl);
}

.ob_xxl {
    margin-bottom: var(--offset_xxl);
}

.ol_xxs {
    margin-left: var(--offset_xxs);
}

.ol_xs {
    margin-left: var(--offset_xs);
}

.ol_s {
    margin-left: var(--offset_s);
}

.ol_m {
    margin-left: var(--offset_m);
}

.ol_l {
    margin-left: var(--offset_l);
}

.ol_xl {
    margin-left: var(--offset_xl);
}

.ol_xxl {
    margin-left: var(--offset_xxl);
}

.o_content {
    margin: var(--offset_content);
}

.oh_content {
    margin-left: var(--offset_content_x);
    margin-right: var(--offset_content_x);
}

.ov_content {
    margin-top: var(--offset_content_y);
    margin-bottom: var(--offset_content_y);
}

.ot_content {
    margin-top: var(--offset_content_y);
}

.or_content {
    margin-right: var(--offset_content_x);
}

.ob_content {
    margin-bottom: var(--offset_content_y);
}

.ol_content {
    margin-left: var(--offset_content_x);
}

.p_xxs {
    padding: var(--spacing_xxs);
}

.p_xs {
    padding: var(--spacing_xs);
}

.p_s {
    padding: var(--spacing_s);
}

.p_m {
    padding: var(--spacing_m);
}

.p_l {
    padding: var(--spacing_l);
}

.p_xl {
    padding: var(--spacing_xl);
}

.p_xxl {
    padding: var(--spacing_xxl);
}

/*PADDING HORISONTAL*/
.ph_xxs {
    padding-left: var(--spacing_xxs);
    padding-right: var(--spacing_xxs);
}

.ph_xs {
    padding-left: var(--spacing_xs);
    padding-right: var(--spacing_xs);
}

.ph_s {
    padding-left: var(--spacing_s);
    padding-right: var(--spacing_s);
}

.ph_m {
    padding-left: var(--spacing_m);
    padding-right: var(--spacing_m);
}

.ph_l {
    padding-left: var(--spacing_l);
    padding-right: var(--spacing_l);
}

.ph_xl {
    padding-left: var(--spacing_xl);
    padding-right: var(--spacing_xl);
}

.ph_xxl {
    padding-left: var(--spacing_xxl);
    padding-right: var(--spacing_xxl);
}

/*PADDING VERTICAL*/
.pv_xxs {
    padding-top: var(--spacing_xxs);
    padding-bottom: var(--spacing_xxs);
}

.pv_xs {
    padding-top: var(--spacing_xs);
    padding-bottom: var(--spacing_xs);
}

.pv_s {
    padding-top: var(--spacing_s);
    padding-bottom: var(--spacing_s);
}

.pv_m {
    padding-top: var(--spacing_m);
    padding-bottom: var(--spacing_m);
}

.pv_l {
    padding-top: var(--spacing_l);
    padding-bottom: var(--spacing_l);
}

.pv_xl {
    padding-top: var(--spacing_xl);
    padding-bottom: var(--spacing_xl);
}

.pv_xxl {
    padding-top: var(--spacing_xxl);
    padding-bottom: var(--spacing_xxl);
}

.p_content {
    padding: var(--spacing_content);
}

.ph_content {
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
}

.pv_content {
    padding-top: var(--spacing_content_y);
    padding-bottom: var(--spacing_content_y);
}

.scroll {
    display: grid;
}

.scroll_h .scroll__container {
    overflow-y: auto;
    display: flex;
    flex-wrap: nowrap;
    padding-right: 2rem;
}

.scroll_h .scroll__mask {
    right: 0;
    height: 100%;
    width: 2rem;
}

.scroll__mask {
    position: absolute;
    z-index: 10;
    background: linear-gradient(to right, hsla(var(--c-page-bg), 0), hsla(var(--c-page-bg), 1));
}

.shadow_0 {
    box-shadow: none;
}

.shadow_1 {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
}

.shadow_2 {
    box-shadow: 0 0.25rem 0.25rem -0.125rem rgba(0, 0, 0, 0.25);
}

.shadow_3 {
    box-shadow: 0 0.5rem 0.5rem -0.25rem rgba(0, 0, 0, 0.25);
}

.shadow_4 {
    box-shadow: 0 1rem 1rem -1rem rgba(0, 0, 0, 0.75);
}

.shadow_5 {
    box-shadow: 0 2rem 2rem -2rem rgba(0, 0, 0, 0.25);
}

.shadow_inset_1 {
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.12) inset, 0 2px 2px 0 rgba(0, 0, 0, 0.12) inset;
}

.shadow_inset_2 {
    box-shadow: 0 3px 0.25rem -0.125rem rgba(0, 0, 0, 0.12) inset, 0 0.375rem 0.375rem -0.25rem rgba(0, 0, 0, 0.25) inset;
}

.triangle path {
    transition: filter var(--delay_m) var(--easing);
}

html {
    font-size: var(--fs);
}

body {
    color: var(--c-text);
    font-family: var(--ff-secondary);
    font-weight: var(--fw);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    padding-top: 1px;
    padding-bottom: 1px;
    font-family: var(--h-ff);
    font-weight: var(--h-fw);
    line-height: var(--h-lh);
    color: var(--c-title);
}

h1:before,
h2:before,
h3:before,
h4:before,
h5:before,
h6:before,
.h1:before,
.h2:before,
.h3:before,
.h4:before,
.h5:before,
.h6:before {
    content: '';
    display: block;
    margin-top: var(--h-o);
}

h1:after,
h2:after,
h3:after,
h4:after,
h5:after,
h6:after,
.h1:after,
.h2:after,
.h3:after,
.h4:after,
.h5:after,
.h6:after {
    content: '';
    display: block;
    margin-bottom: var(--h-o);
}

h1,
.h1 {
    font-size: var(--fs_h1);
}

h2,
.h2 {
    font-size: var(--fs_h2);
}

h3,
.h3 {
    font-size: var(--fs_h3);
}

h4,
.h4 {
    font-size: var(--fs_h4);
}

h5,
.h5 {
    font-size: var(--fs_h5);
}

h6,
.h6 {
    font-size: var(--fs_h6);
}

a {
    color: var(--c-link);
    transition: color var(--duration) var(--easing);
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .15em;
    cursor: pointer;
}

a:hover {
    color: var(--c-link_hover);
}

a:active {
    color: var(--c-link_active);
}

p {
    line-height: var(--p-lh);
    padding-top: 1px;
    padding-bottom: 1px;
}

p:before {
    content: '';
    display: block;
    position: relative;
    margin-top: var(--p-o);
}

p:after {
    content: '';
    display: block;
    position: relative;
    margin-bottom: var(--p-o);
}

small {
    font-size: 75%;
}

b,
strong {
    font-weight: bold;
}

hr {
    margin: 0;
    border: 0;
    border-top: var(--border-width) solid var(--border-color);
    height: 0;
    clear: both;
}

@media (min-width: 576px) {
    hr {
        margin-top: var(--spacing_xl);
        margin-bottom: var(--spacing_xl);
    }
}

@media (max-width: 575px) {
    hr {
        margin-top: var(--spacing_l);
        margin-bottom: var(--spacing_l);
    }
}

dl {
    margin: 0;
}

dl:before,
dl:after {
    display: table;
    content: '';
    line-height: 0;
    height: 0;
}

dl:after {
    clear: both;
}

dt,
dd {
    line-height: 1;
    display: block;
    padding: 0;
    margin: 0;
}

dt {
    color: var(--c-text);
    font-size: 100%;
}

dd {
    color: var(--c-title);
}

.lh {
    line-height: 1 !important;
}

.lh_xs {
    line-height: 1;
}

.lh_s {
    line-height: 1.125;
}

.lh_m {
    line-height: 1.25;
}

.lh_l {
    line-height: 1.375;
}

.lh_xl {
    line-height: 1.5;
}

.ff_primary {
    font-family: var(--ff-primary);
}

.ff_secondary {
    font-family: var(--ff-secondary);
}

.fs_xxs {
    font-size: var(--fs_xxs);
}

.fs_xs {
    font-size: var(--fs_xs);
}

.fs_s {
    font-size: var(--fs_s);
}

.fs_m {
    font-size: 1em;
}

.fs_l {
    font-size: var(--fs_l);
}

.fs_xl {
    font-size: var(--fs_xl);
}

.fs_xxl {
    font-size: var(--fs_xxl);
}

.tt_uc {
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.swiper .wp-block-image .wp-element-caption {
    background-color: #fff;
    margin: 0 auto;
    padding: 1rem;
    width: var(--wp--style--global--content-size);
    max-width: 100%;
    font-size: 1rem;
    line-height: var(--p-lh);
    box-shadow: 0 2rem 2rem -2rem rgba(0, 0, 0, 0.25);
}

@media (min-width: 576px) {
    .swiper .wp-block-image .wp-element-caption {
        margin: -2rem auto 0;
    }
}

body {
    min-width: 320px;
    overflow-x: hidden;
    background-color: var(--c-bg);
}

@media (min-width: 1200px) {
    body {
        overflow-y: scroll;
    }
}

.hidden {
    display: none !important;
}

.availability-list__item + .availability-list__item {
    margin-top: var(--spacing_xs);
}

.availability {
    --c-info: #cbddf1;
    --c-success: #a7d86e;
    --c-warning: #ffc066;
    --c-fail: #e79283;
}

.availability_none {
    color: red;
}

.availability_critical {
    color: red;
}

.availability_low {
    color: orange;
}

.availability_high {
    color: green;
}

.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    text-align: center;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    text-decoration: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    font-family: var(--btn-ff);
    font-weight: var(--btn-fw);
    height: var(--btn-height);
    padding: var(--btn-padding);
    font-size: var(--btn-fs);
    border: var(--btn-border);
    border-radius: var(--btn-br);
    color: var(--btn-color);
    fill: var(--btn-fill);
    background: var(--btn-bg);
}

.btn_active {
    z-index: 5;
}

.btn:hover,
.btn:focus,
.btn:active {
    z-index: 10;
}

.btn_disabled,
.btn_disabled:hover,
.btn_disabled:active,
.btn_disabled:focus,
.btn[disabled],
.btn:disabled {
    opacity: 0.5;
    pointer-events: none;
    filter: grayscale(50%);
}

.btn * {
    pointer-events: none;
}

.btn__grid {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.btn__mask {
    -webkit-transform: translateZ(0);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
}

.btn__bg {
    -webkit-transform: translateZ(0);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto !important;
}

.btn__notification {
    background-color: var(--c-primary);
    color: var(--c-title);
    border-radius: 50%;
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
}

.btn_block {
    width: 100%;
}

.btn_inline {
    display: inline-flex;
}

.btn_noflex {
    display: block !important;
}

.btn_rounded {
    border-radius: var(--border-radius);
}

.btn_circle {
    border-radius: 50% !important;
}

.btn_circle:before,
.btn_circle:after {
    border-radius: 50% !important;
}

.btn_circle,
.btn_square {
    padding: 0 !important;
    height: var(--btn-height);
    width: var(--btn-height);
}

:where(.btn-group > :not(:first-of-type)) {
    margin-left: calc(var(--btn-border-width) * (-1));
}

.btn-group {
    display: flex;
}

.btn-group .btn:not(:last-of-type):not(:first-of-type) {
    border-radius: 0;
}

.btn-group .btn:first-of-type {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group .btn:last-of-type {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.btn-grid {
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 575px) {
    .btn-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.btn_default {
    --btn-height: 3em;
    --btn-padding: 0 1.5em;
    --btn-ff: var(--ff-primary);
    --btn-color: var(--c-black);
    --btn-fill: var(--c-black);
    --btn-bg: none;
    --btn-fs: 1em;
    --btn-fw: 400;
    --btn-br: .25em;
    --btn-border-width: 1px;
    --btn-border: var(--btn-border-width) solid #cccccc;
    transition: color var(--duration) var(--easing), border var(--duration) var(--easing), background-color var(--duration) var(--easing);
}

.btn_default:hover {
    --btn-border: 1px solid var(--c-link);
    --btn-color: var(--c-link);
    --btn-fill: var(--c-link);
}

.btn_default.btn_active {
    --btn-fw: bold;
    --btn-bg: rgba(0, 0, 0, 0.05);
}

.btn_default.btn_slim {
    --btn-padding: 0 1em;
}

.btn_primary {
    --btn-height: 3em;
    --btn-padding: 0 1.5em;
    --btn-ff: var(--ff-primary);
    --btn-color: #fff;
    --btn-fill: #fff;
    --btn-bg: var(--c-link);
    --btn-fs: 1em;
    --btn-fw: 400;
    --btn-br: .25em;
    --btn-border-width: 0;
    --btn-border: none;
    transition: color var(--duration) var(--easing), border var(--duration) var(--easing), background-color var(--duration) var(--easing), box-shadow var(--duration) var(--easing);
    box-shadow: 0 0.5rem 1rem -0.5rem var(--c-link_active);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.btn_primary:hover {
    --btn-bg: var(--c-link_hover);
}

.btn_primary:active,
.btn_primary.btn_active {
    --btn-bg: var(--c-link_active);
}

.btn_auto {
    min-height: 3em;
}

.btn_xs {
    font-size: 0.6em;
    min-height: 3em;
}

.btn_s {
    font-size: 0.8em;
    min-height: 3em;
}

.btn_m {
    font-size: 1em;
    min-height: 3em;
}

.btn_l {
    font-size: 1.2em;
    min-height: 3em;
}

.btn_xl {
    font-size: 1.4em;
    min-height: 3em;
}

.btn_white {
    --btn-height: 3em;
    --btn-padding: 0 1.5em;
    --btn-ff: var(--ff-primary);
    --btn-color: var(--c-title);
    --btn-fill: var(--c-title);
    --btn-bg: #fff;
    --btn-fs: 1em;
    --btn-fw: 400;
    --btn-br: .25em;
    --btn-border-width: 0;
    --btn-border: var(--btn-border-width) solid #aaa;
    transition: opacity var(--duration) var(--easing), color var(--duration) var(--easing), border var(--duration) var(--easing), background-color var(--duration) var(--easing), box-shadow var(--duration) var(--easing);
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
}

.btn_white:hover {
    --btn-color: var(--c-link);
    --btn-fill: var(--c-link);
    box-shadow: 0 0.5em 1em -0.5em rgba(0, 0, 0, 0.2);
}

.btn_white.btn_active {
    --btn-color: var(--c-black);
    --btn-fw: bold;
    --btn-bg: #fff2c0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2) inset;
}

.btn_white.btn_slim {
    --btn-padding: 0 1em;
}

.badge_hit {
    background-color: #2e80d6;
    color: #fff;
}

.badge_new {
    background-color: #89ff00;
    color: rgba(0, 0, 0, 0.75);
}

.badge_action,
.badge_sale {
    background-color: #ffe900;
    color: rgba(0, 0, 0, 0.75);
}

.crumbs {
    position: absolute;
    padding-top: var(--spacing_xs);
    padding-bottom: var(--spacing_xs);
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
    z-index: 5;
    overflow: hidden;
    opacity: 0.5;
    transition: opacity var(--duration) var(--easing);
}

.crumbs:hover {
    opacity: 1;
}

@media (max-width: 575px) {
    .crumbs {
        display: none;
    }
}

.crumbs__content {
    display: flex;
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto;
    font-size: var(--fs_xs);
    color: var(--c-gray);
}

.crumbs__item {
    margin-right: var(--spacing_m);
}

.crumbs__item:after {
    content: "/";
    display: block;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 1.2rem;
    text-align: center;
}

.crumbs__link {
    transition: color var(--duration) var(--easing);
    color: var(--c-title);
    text-decoration: none;
}

.crumbs__link:hover {
    color: var(--c-link);
}

.dropdown__content {
    box-shadow: 0 0.5rem 0.5rem -0.25rem rgba(0, 0, 0, 0.25);
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 75;
    max-width: 12rem;
    min-width: 100%;
    background-color: #fff;
    border-radius: var(--border-radius);
}

.dropdown_open .dropdown__content {
    display: block;
}

.editor_left h1,
.editor_left h2,
.editor_left h3,
.editor_left h4,
.editor_left h5,
.editor_left h6,
.editor_left p,
.editor_left ol,
.editor_left ul,
.editor_left dl,
.editor_left hr,
.editor_left cite,
.editor_left blockquote,
.editor_left .table {
    max-width: var(--width_content);
    margin-right: auto;
}

.editor_center h1,
.editor_center h2,
.editor_center h3,
.editor_center h4,
.editor_center h5,
.editor_center h6,
.editor_center p,
.editor_center ol,
.editor_center ul,
.editor_center dl,
.editor_center hr,
.editor_center cite,
.editor_center blockquote,
.editor_center .table {
    max-width: var(--width_content);
    margin-left: auto;
    margin-right: auto;
}

.editor_right h1,
.editor_right h2,
.editor_right h3,
.editor_right h4,
.editor_right h5,
.editor_right h6,
.editor_right p,
.editor_right ol,
.editor_right ul,
.editor_right dl,
.editor_right hr,
.editor_right cite,
.editor_right blockquote .table {
    max-width: var(--width_content);
    margin-left: auto;
}

.editor * + h1:not([class]),
.editor * + h2:not([class]),
.editor * + h3:not([class]),
.editor * + h4:not([class]),
.editor * + h5:not([class]),
.editor * + h6:not([class]) {
    margin-top: var(--spacing_xl);
}

.editor * + p,
.editor * + ul,
.editor * + ol,
.editor * + dl,
.editor * + table {
    margin-top: var(--spacing_l);
}

.editor ul:before,
.editor ol:before {
    content: '';
    display: block;
    position: relative;
    margin-top: -0.25em;
}

.editor ul:after,
.editor ol:after {
    content: '';
    display: block;
    position: relative;
    margin-bottom: -0.25em;
}

.editor li {
    line-height: 1.25;
}

* + .editor__gallery,
* + .editor__products {
    margin-top: var(--spacing_xl);
}

@media (min-width: 1200px) {
    .editor__gallery {
        padding-bottom: 50%;
    }
}

@media (max-width: 1199px) {
    .editor__gallery {
        padding-bottom: 66%;
    }
}

.editor__gallery .swiper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.editor table:not([class]) {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: var(--fs_s);
}

.editor table:not([class]) th {
    font-weight: var(--fw);
    color: var(--c-title);
    padding: 0.5em;
    border: 1px solid var(--border-color);
}

.editor table:not([class]) td {
    padding: 0.5em;
    border: 1px solid var(--border-color);
}

.icon {
    display: flex;
    align-content: center;
    align-items: center;
    flex: 0 0 auto;
}

.icon_inline {
    display: inline-flex;
    vertical-align: middle;
}

.icon_circle {
    border-radius: 50%;
}

.icon_circle:before {
    border-radius: 50%;
}

.icon svg {
    display: block;
    position: relative;
    transition: fill var(--duration) var(--easing);
    -webkit-transform: translateZ(0);
}

.icon_default {
    fill: var(--c-title);
}

.icon_positive,
.icon_success {
    background-color: #6dbe45;
    fill: #fff;
}

.icon_negative,
.icon_fail,
.icon_error {
    background-color: #ed2024;
    fill: #fff;
}

.icon_xxs svg {
    width: var(--icon_xxs);
    height: var(--icon_xxs);
}

.icon_xs svg {
    width: var(--icon_xs);
    height: var(--icon_xs);
}

.icon_s svg {
    width: var(--icon_s);
    height: var(--icon_s);
}

.icon_m svg {
    width: var(--icon_m);
    height: var(--icon_m);
}

.icon_l svg {
    width: var(--icon_l);
    height: var(--icon_l);
}

.icon_xl svg {
    width: var(--icon_xl);
    height: var(--icon_xl);
}

.icon_xxl svg {
    width: var(--icon_xxl);
    height: var(--icon_xxl);
}

.icon_x2 svg {
    width: calc(var(--icon_size) * 2);
    height: calc(var(--icon_size) * 2);
}

.icon_x3 svg {
    width: calc(var(--icon_size) * 3);
    height: calc(var(--icon_size) * 3);
}

.icon_x4 svg {
    width: calc(var(--icon_size) * 4);
    height: calc(var(--icon_size) * 4);
}

.icon_x5 svg {
    width: calc(var(--icon_size) * 5);
    height: calc(var(--icon_size) * 5);
}

.icon_16 svg {
    width: 16px;
    height: 16px;
}

.icon_24 svg {
    width: 24px;
    height: 24px;
}

.icon_32 svg {
    width: 32px;
    height: 32px;
}

.icon_48 svg {
    width: 48px;
    height: 48px;
}

.icon_toggle_y {
    position: absolute !important;
    left: 0;
    top: 0;
    transition: transform var(--duration) var(--easing);
}

.link {
    display: inline;
    cursor: pointer;
    text-decoration: none;
}

.link-bubble {
    background-color: #fff;
    display: inline-block;
    border-radius: 2rem;
    padding: 0.25rem 0.75rem;
    color: var(--c-title);
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
    transition: color var(--duration) var(--easing);
}

.link-area:hover .link-bubble {
    color: var(--c-link);
}

.link_title {
    transition: color var(--duration) var(--easing), border-bottom-color var(--duration) var(--easing);
    color: var(--c-title);
}

.link-area:hover .link_title,
.link_title:visited:hover,
.link_title:hover {
    color: var(--c-link);
}

.link_title:focus,
.link_title:active {
    color: var(--c-title);
}

._invert .link_title {
    color: #fff;
}

._invert .link-area:hover .link_title,
._invert .link_title:visited:hover,
._invert .link_title:hover {
    color: var(--c-primary);
}

._invert .link_title:focus,
._invert .link_title:active {
    color: #fff;
}

.list__item_sb {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.list__var {
    color: var(--c-gray);
    overflow: hidden;
    text-overflow: ellipsis;
}

.list__val {
    color: var(--c-title);
}

.list__val a {
    --c-link: var(--c-title);
}

.list_default.list_xxs .list__item:not(:first-child) {
    margin-top: var(--spacing_xxs);
}

.list_default.list_xs .list__item:not(:first-child) {
    margin-top: var(--spacing_xs);
}

.list_default.list_s .list__item:not(:first-child) {
    margin-top: var(--spacing_s);
}

.list_default.list_m .list__item:not(:first-child) {
    margin-top: var(--spacing_m);
}

.list_default.list_l .list__item:not(:first-child) {
    margin-top: var(--spacing_l);
}

.list_default.list_xl .list__item:not(:first-child) {
    margin-top: var(--spacing_xl);
}

.list_features {
    display: grid;
    grid-template-columns: 100%;
    grid-gap: var(--grid-gap_m);
}

.list_features .list__item_dl {
    display: grid;
    grid-template-columns: 2fr 3fr;
}

.list_features .list__val:first-letter {
    text-transform: capitalize;
}

.list_underline .list__item + .list__item {
    border-top: 1px solid var(--border-color);
}

.list_underline.list_xxs .list__item {
    padding-top: var(--spacing_xxs);
    padding-bottom: var(--spacing_xxs);
}

.list_underline.list_xs .list__item {
    padding-top: var(--spacing_xs);
    padding-bottom: var(--spacing_xs);
}

.list_underline.list_s .list__item {
    padding-top: var(--spacing_s);
    padding-bottom: var(--spacing_s);
}

.list_underline.list_m .list__item {
    padding-top: var(--spacing_m);
    padding-bottom: var(--spacing_m);
}

.list_underline.list_l .list__item {
    padding-top: var(--spacing_l);
    padding-bottom: var(--spacing_l);
}

.list_underline.list_xl .list__item {
    padding-top: var(--spacing_xl);
    padding-bottom: var(--spacing_xl);
}

.notifications {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
}

.notification {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
    border-bottom: 1px solid var(--border-color);
}

.notification_success {
    background-color: #00e486;
}

.notification_info {
    background-color: #448fd6;
}

.notification_warning {
    background-color: #ffc066;
}

.notification_error {
    background-color: #ff1e43;
}

.notification__content {
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
    padding-top: var(--spacing_m);
    padding-bottom: var(--spacing_m);
    cursor: pointer;
}

.notification__content:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

@media (min-width: 576px) {
    .notification__content {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

.notification__text {
    color: var(--c-title);
    line-height: 1.5;
    flex: 1 1 auto;
    font-size: var(--fs_s);
}

.notification__controls {
    display: flex;
    flex: 0 0 auto;
}

@media (min-width: 576px) {
    .notification__controls {
        margin-left: var(--spacing_m);
    }
}

@media (max-width: 575px) {
    .notification__controls {
        margin-top: var(--spacing_m);
    }
}

.paginator {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.paginator__pages {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-left: var(--spacing_m);
    margin-right: var(--spacing_m);
}

@media (max-width: 575px) {
    .paginator__pages {
        order: 0;
        margin: 0;
        width: 100%;
    }
}

@media (max-width: 575px) {
    .paginator__arrow {
        order: 2;
        margin: 1rem 0.5rem;
        width: 7rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

.popup {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    overflow: hidden;
    display: none;
}

.popup_active,
.popup_open,
.popup_in,
.popup_out {
    display: flex;
}

.popup__area {
    z-index: 5;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.popup__scroll {
    width: 100%;
    overflow: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    display: flex;
    z-index: 10;
}

.popup__content {
    max-width: 100%;
    margin: auto;
    z-index: 10;
    padding: 1rem;
    transform: translate3d(0, -100vh, 0);
    display: none;
}

.popup__content_open {
    transform: translate3d(0, 0, 0);
    display: block;
}

.popup__content_in {
    display: block;
    animation: popup__content-in 0.4s cubic-bezier(0.5, 1.3, 0.5, 1) both;
}

.popup__content_out {
    display: block;
    animation: popup__content-out 0.4s cubic-bezier(0.5, 0, 1, -0.6) both;
}

.popup__close {
    position: fixed;
    z-index: 15;
    top: 0;
    right: 0;
    padding: 0.5rem;
    transform: scale(0);
}

.popup__close_open {
    transform: scale(1);
}

.popup__close_in {
    animation: popup__close-in 0.4s cubic-bezier(0.5, 1.3, 0.5, 1) both;
}

.popup__close_out {
    animation: popup__close-out 0.4s cubic-bezier(0.5, 0, 1, -0.6) both;
}

.popup__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    background-color: rgba(222, 222, 222, 0.9);
    display: none;
    opacity: 0;
}

.popup__overlay_open {
    display: block;
    opacity: 1;
}

.popup__overlay_in {
    display: block;
    animation: popup__overlay-in 0.25s ease both;
}

.popup__overlay_out {
    display: block;
    animation: popup__overlay-out 0.25s ease both;
}

.html_popup html,
.html_popup body {
    overflow: hidden;
}

.html_popup .page-controls {
    display: none;
}

@keyframes popup__content-in {
    from {
        transform: translate3d(0, -100vh, 0);
    }
    to {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes popup__content-out {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(0, 100vh, 0);
    }
}

@keyframes popup__overlay-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes popup__overlay-out {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes popup__close-in {
    from {
        transform: scale(0);
    }
    to {
        transform: scale(1);
    }
}

@keyframes popup__close-out {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(0);
    }
}

.price {
    line-height: 1;
}

.price_inline {
    display: inline-flex;
}

.price_left {
    align-items: flex-start;
}

.price_right {
    align-items: flex-end;
}

.price_center {
    text-align: center;
    align-items: center;
}

.price_btn {
    height: 3em;
}

.price__units {
    color: #898989;
    font-weight: normal;
    display: inline-block;
    font-size: 75%;
}

:root {
    --price-fw: 500;
}

.price_default {
    display: flex;
    flex-direction: column;
}

.price_default .price__val {
    white-space: nowrap;
    color: var(--c-title);
    font-size: 100%;
    font-weight: var(--price-fw);
}

.price_default .price__new {
    white-space: nowrap;
    color: var(--c-title);
    font-size: 100%;
    font-weight: var(--price-fw);
}

.price_default .price__old {
    white-space: nowrap;
    color: #898989;
    font-size: 100%;
    font-weight: var(--price-fw);
}

.price_default .price__old:after {
    display: block;
    content: '';
    position: absolute;
    left: -5%;
    right: -5%;
    top: 50%;
    border-bottom: 0.1em solid red;
    margin-top: -0.05em;
}

.price_default .price__per-ct {
    white-space: nowrap;
    color: var(--c-gray);
}

.price_h1 {
    font-size: var(--fs_h1);
}

.price_h2 {
    font-size: var(--fs_h2);
}

.range {
    padding-top: 0.5em;
    margin-top: -0.75rem;
}

.range__inputs {
    margin-top: var(--spacing_s);
}

.range__input {
    height: 1em;
}

.range__input_max input {
    text-align: right;
}

.range__input_min input {
    text-align: left;
}

.range__slider {
    height: .5rem;
}

.search {
    min-width: 3rem;
    height: 3rem;
    background-color: #fff;
    display: flex;
    align-items: center;
}

@media (max-width: 575px) {
    .search_active {
        position: fixed;
        left: 3rem;
        right: 0;
        z-index: 10;
    }
}

.search__control {
    flex: 1 1 auto;
}

@media (max-width: 575px) {
    .search__control {
        display: none;
    }

    .search_active .search__control {
        display: flex;
    }
}

.search__control input {
    outline: none !important;
}

@media (min-width: 576px) {
    .search__control input {
        font-size: var(--fs_s) !important;
        height: 1.8rem !important;
        border-radius: 0.9rem !important;
    }
}

@media (max-width: 575px) {
    .search__control input {
        height: 2.4rem !important;
        border-radius: 1.2rem !important;
    }
}

.search__control input::placeholder {
    font-weight: 300;
    letter-spacing: 0;
    opacity: 1;
}

.search__submit {
    z-index: 10;
    width: 3rem;
    margin-left: -3rem;
    height: 100%;
}

@media (max-width: 575px) {
    .search__submit {
        display: none;
    }

    .search_active .search__submit {
        display: flex;
    }
}

.search__toggle {
    width: 3rem;
    height: 100%;
}

@media (min-width: 576px) {
    .search__toggle {
        display: none;
    }
}

@media (max-width: 575px) {
    .search_active .search__toggle {
        display: none;
    }
}

.search__close {
    width: 3rem;
    height: 100%;
    display: none;
}

.search_active .search__close {
    display: flex;
}

.status {
    color: #fff;
    display: inline-flex;
    padding: 0 0.5em;
    height: 2em;
    align-items: center;
    white-space: nowrap;
    font-weight: normal;
}

.status_new {
    background-color: #FFC107;
}

.status_done {
    background-color: #0eb15d;
}

.status_progress {
    background-color: #03A9F4;
}

.status_client {
    background-color: #3b83ce;
}

.status_expert {
    background-color: #8548af;
}

.status_inspection {
    color: var(--c-title);
    background-color: #ddd;
}

.status_waiting {
    background-color: #FF5722;
}

.status_paused {
    background-color: #673AB7;
}

.status_decline {
    background-color: #ed2024;
}

.status_cancelled {
    background-color: #ed2024;
}

.status_closed {
    background-color: #000;
}

.status_recommend {
    background-color: #0eb15d;
}

.status_reject {
    background-color: #ed2024;
}

.status_payment_none {
    color: #2196F3;
    border: 1px solid #2196F3;
}

.status_payment_prepaid {
    color: #00BFA5;
    border: 1px solid #00BFA5;
}

.status_payment_full {
    color: #00C853;
    border: 1px solid #00C853;
}

.status_xs {
    font-size: .6rem;
}

.status_s {
    font-size: .7rem;
}

.status_m {
    font-size: .8rem;
}

.status_l {
    font-size: .9rem;
}

.status_xl {
    font-size: 1rem;
}

.stock {
    display: flex;
}

.stock + .stock {
    margin-top: var(--spacing_xs);
}

.stock__title {
    width: 35%;
    flex: 0 0 auto;
}

.stock__availability {
    flex: 1 1 auto;
}

.editor ol,
.editor ul {
    padding-left: 2em;
}

.editor ul ul {
    margin-top: var(--spacing_s);
}

.editor ol {
    list-style: decimal;
}

.editor ul {
    list-style: disc;
}

.editor li + li {
    margin-top: var(--spacing_s);
}

.editor dd + dt {
    margin-top: var(--spacing_m);
}

.dropdown-menu {
    font-size: var(--fs_s);
}

.dropdown-menu__item + .dropdown-menu__item {
    border-top: var(--border-width) solid var(--border-color);
}

.dropdown-menu__item a {
    display: block;
    padding: var(--spacing_s);
    text-decoration: none;
    white-space: nowrap;
}

.check {
    display: flex;
    position: relative;
}

.check:hover {
    cursor: pointer;
}

.check_vmiddle {
    align-items: center;
}

.check input,
.switch input {
    position: absolute;
    height: auto;
    opacity: 0;
    z-index: -1;
    margin: 0;
    padding: 0;
    top: 0;
    left: 0;
}

.check_checkout-option .check__icon {
    position: absolute;
    right: 100%;
}

.check_checkout-option .check__price {
    flex: 0 0 auto;
    white-space: nowrap;
    margin-left: var(--spacing_l);
}

.check_default {
    align-items: center;
}

.check_default input[type="checkbox"] ~ .check__icon:after {
    border-radius: 2px;
}

.check_default input[type="radio"] ~ .check__icon {
    border-radius: 50%;
}

.check_default input[type="radio"] ~ .check__icon:before,
.check_default input[type="radio"] ~ .check__icon:after {
    border-radius: 50%;
}

.check_default input:checked ~ .check__icon:before,
.check_default input:checked ~ .check__thumb:before {
    opacity: 1;
}

.check_default input:checked ~ .check__thumb > * {
    opacity: 0.5;
}

.check_default .check__icon {
    display: block;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    margin-right: var(--spacing_xs);
}

.check_default .check__content {
    flex: 1 1 auto;
    display: block;
}

.check_default .check__title {
    flex: 1 1 auto;
    display: block;
}

.check_default .check__title:before {
    content: '';
    display: block;
    margin-top: -0.125em;
}

.check_default .check__title:after {
    content: '';
    display: block;
    margin-bottom: -0.125em;
}

.check_default .check__description {
    font-size: var(--fs_xs);
    margin-top: var(--spacing_xxs);
    color: #898989;
}

.check_default .check__icon:after {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.25);
}

.check_default .check__icon:before,
.check_default .check__thumb:before {
    content: "";
    display: block;
    z-index: 5;
    position: absolute;
    transition: opacity var(--duration) var(--easing);
    opacity: 0;
    background-color: var(--c-title);
}

.check_default .check__icon:before {
    width: 50%;
    height: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.check_default .check__title {
    transition: color var(--duration) var(--easing);
}

.check_default:hover .check__title {
    color: var(--c-link);
}

.check_default input:focus ~ .check__title {
    color: var(--c-link);
}

.check_default input:focus ~ .check__icon {
    box-shadow: 0 0 0 2px rgba(0, 157, 255, 0.5);
}

.check_default input:checked ~ .check__title {
    color: var(--c-title);
}

.form-grid_default {
    margin-top: -2rem;
    margin-bottom: -2rem;
}

.form-grid_default .form-grid__item {
    border-top: var(--border-width) solid var(--border-color);
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.form-grid_default .form-grid__item:first-of-type {
    border: 0;
}

.control {
    z-index: 5;
}

.control input,
.control textarea,
.control select {
    font-size: 1em;
    text-transform: none;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    width: 100%;
    background-clip: padding-box;
    background: none;
    transition: border-color var(--duration) var(--easing), background-color var(--duration) var(--easing), color var(--duration) var(--easing), opacity var(--duration) var(--easing), box-shadow var(--duration) var(--easing);
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
}

.control input:disabled,
.control textarea:disabled,
.control select:disabled {
    opacity: 0.5;
    pointer-events: none;
}

.control input::-ms-clear,
.control textarea::-ms-clear,
.control select::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}

.control input {
    height: 3rem;
}

.control select {
    height: 3rem;
    padding-right: 3rem;
}

.control select::-ms-expand {
    display: none;
}

.control select[multiple] {
    height: auto;
    min-height: 3rem;
}

.control option {
    background-color: #fff;
    color: var(--c-title);
}

.control_select:after {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    top: 0;
    right: 0;
    width: 3rem;
    height: 100%;
    z-index: 10;
    pointer-events: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" viewBox="0 0 24 24"><path d="M12 7.5q-.20527344.0017578-.35.15l-7.5 7.5q-.1482422.14472656-.15.35.0017578.20527344.15.35.14472656.1482422.35.15.20527344-.0017578.35-.15L12 8.7l7.15 7.15q.14472656.1482422.35.15.20527344-.0017578.35-.15.1482422-.14472656.15-.35-.0017578-.20527344-.15-.35l-7.5-7.5q-.14472656-.1482422-.35-.15z"/></svg>');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    transform: rotate(180deg);
    transition: transform var(--duration) var(--easing);
}

.control__icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 3rem;
    height: 3rem;
    display: flex;
    align-self: center;
    justify-content: center;
    pointer-events: none;
}

.control_center input,
.control_center textarea,
.control_center select {
    text-align: center;
}

.control_default > input {
    background-color: #fff;
    padding: 0 0.75rem;
    font-family: var(--ff-primary);
    font-size: 100%;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.control_default > select {
    background-color: #fff;
    padding: 0 3rem 0 0.75rem;
    font-family: var(--ff-primary);
    font-size: 100%;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.control_default > textarea {
    background-color: #fff;
    padding: 0.75rem;
    font-family: var(--ff-primary);
    font-size: 100%;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.control_default > input,
.control_default > select,
.control_default > textarea {
    border-radius: 2px;
    color: var(--c-title);
    border: 1px solid rgba(0, 0, 0, 0.25);
}

.control_default > input:focus,
.control_default > select:focus,
.control_default > textarea:focus {
    outline: 2px solid rgba(0, 157, 255, 0.5);
    outline-offset: 0px !important;
}

.control_default > input:hover,
.control_default > select:hover,
.control_default > textarea:hover {
    color: var(--c-title);
}

.control_default > input:focus,
.control_default > select:focus,
.control_default > textarea:focus {
    color: var(--c-title);
}

.control_default > input:hover,
.control_default > select:hover,
.control_default > textarea:hover {
    border-color: rgba(0, 0, 0, 0.5);
}

.control_default > input:focus,
.control_default > select:focus,
.control_default > textarea:focus {
    border-color: var(--c-link);
}

.control_num input {
    font-size: 112.5%;
    padding-top: 0 !important;
}

.control_search > input {
    border-radius: 1.5rem;
    padding: 0 1em;
    font-family: var(--ff-primary);
    font-size: 100%;
    font-weight: 300;
    letter-spacing: 0;
    text-transform: none;
    color: var(--c-title);
    border: 1px solid var(--c-border);
}

.control_search > input:hover {
    color: var(--c-title);
}

.control_search > input:focus {
    color: var(--c-title);
}

.control_search > input:hover {
    border-color: var(--c-link);
}

.control_search > input:focus {
    border-color: var(--c-primary);
}

.control_xxs {
    font-size: var(--fs_xxs);
}

.control_xxs input,
.control_xxs select {
    height: 1.2rem;
}

.control_xs {
    font-size: var(--fs_xs);
}

.control_xs input,
.control_xs select {
    height: 1.8rem;
}

.control_s {
    font-size: var(--fs_s);
}

.control_s input,
.control_s select {
    height: 2.4rem;
}

.control_m input,
.control_m select {
    height: 3rem;
}

.control_l {
    font-size: var(--fs_l);
}

.control_l input,
.control_l select {
    height: 3.6rem;
}

.control_xl {
    font-size: var(--fs_xl);
}

.control_xl input,
.control_xl select {
    height: 4.2rem;
}

.control_xxl {
    font-size: var(--fs_xxl);
}

.control_xxl input,
.control_xxl select {
    height: 4.8rem;
}

.control_stepper input {
    text-align: center;
}

.control_stepper .control__step {
    cursor: pointer;
    position: absolute;
    z-index: 5;
    padding-left: var(--spacing_xxs);
    padding-right: var(--spacing_xxs);
    height: 100%;
    fill: var(--c-link);
    display: flex;
    align-items: center;
    justify-content: center;
}

.control_stepper .control__step_disabled {
    opacity: 0.5;
}

.control_stepper .control__step_down {
    left: 0;
    top: 0;
}

.control_stepper .control__step_up {
    right: 0;
    top: 0;
}

.form_default {
    max-width: 384px;
}

.form_default .form__item + .form__item {
    margin-top: var(--spacing_l);
}

.fieldset_range {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--grid-gap_m);
}

.fieldset_list {
    display: grid;
}

.fieldset_list_s {
    grid-gap: var(--grid-gap_s);
}

.fieldset_list_m {
    grid-gap: var(--grid-gap_m);
}

.fieldset_list_l {
    grid-gap: var(--grid-gap_l);
}

.fieldset_callback .fieldset__item + .fieldset__item {
    margin-top: var(--spacing_s);
}

.fieldset_car {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--grid-gap_m);
}

.fieldset_executors {
    display: grid;
    min-width: 0;
    grid-gap: var(--grid-gap_m);
}

@media (min-width: 960px) {
    .fieldset_executors {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

.fieldset_filter .fieldset__item + .fieldset__item {
    margin-top: var(--spacing_m);
}

.fieldset_grid3 {
    display: grid;
    min-width: 0;
    grid-gap: var(--grid-gap_m);
}

@media (min-width: 960px) {
    .fieldset_grid3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

.fieldset_login .fieldset__item + .fieldset__item {
    margin-top: var(--spacing_m);
}

.form-group_default .form-group__header {
    margin-bottom: var(--spacing_m);
}

.auth__login,
.auth__logout {
    padding-top: var(--spacing_s);
    padding-bottom: var(--spacing_s);
    padding-left: 2rem;
    padding-right: 2rem;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 100%;
}

a.auth__login,
a.auth__logout {
    text-decoration: none;
}

a.auth__login:hover,
a.auth__logout:hover {
    text-decoration: underline;
}

.auth__title {
    white-space: nowrap;
    overflow: hidden;
    margin-right: var(--spacing_m);
}

.auth__title > * {
    width: 100%;
}

a.auth__title {
    display: block;
    text-decoration: none;
}

a.auth__title:hover {
    text-decoration: underline;
}

.auth__icon {
    margin-top: var(--offset_xs);
    margin-bottom: var(--offset_xs);
}

.banner {
    display: block;
    overflow: hidden;
    text-decoration: none;
    height: 100%;
    width: 100%;
    background-position: center center;
    background-size: cover;
}

.banner:before {
    content: '';
    display: block;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--c-white);
    opacity: 0;
    transition: opacity var(--duration) var(--easing);
}

.banner:hover {
    cursor: pointer;
}

.banner:hover:before {
    opacity: 0.25;
}

.banner__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-position: center center;
    background-size: cover;
}

@media (orientation: landscape) {
    .banner__bg_pt {
        display: none;
    }
}

@media (orientation: portrait) {
    .banner__bg_ls {
        display: none;
    }
}

.banner__img {
    width: 100%;
}

.banner__content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    text-decoration: none;
    display: flex;
    flex-direction: column;
}

.banner__price {
    margin-top: auto;
}

@media (min-width: 1200px) {
    .banner_xl {
        font-size: 150%;
    }
}

.banner_xl .banner__content {
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
    padding-top: 5%;
    padding-bottom: 5%;
}

.banner_s .banner__content {
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
    padding-top: 10%;
    padding-bottom: 10%;
}

@media (max-width: 575px) {
    .banner_s .banner__title {
        font-size: 1rem;
    }
}

.banner_s .banner__text {
    margin-top: var(--spacing_m);
    font-size: var(--fs_xs);
    width: 75%;
    line-height: 1.25;
}

.banner_2-1 {
    padding-top: 50%;
}

.callback__form {
    display: none;
}

.catalog {
    --offset-top: calc(var(--spacing_l) - var(--spacing_content_y));
}

.catalog__header {
    max-width: 36rem;
}

.catalog__description {
    margin-top: var(--spacing_l);
}

@media (max-width: 575px) {
    .catalog__description {
        display: none;
    }
}

.catalog__sub-nav {
    margin-top: var(--spacing_l);
}

.catalog__controls {
    margin-bottom: var(--spacing_l);
    display: grid;
    grid-template-areas: "filter sort" "count count";
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-columns: 1fr auto;
}

:where(.section_default > .catalog__controls:first-child) {
    margin-top: var(--offset-top);
}

:where(.section__body > .catalog__controls) {
    margin-top: calc(var(--spacing_l) - var(--section-gap));
}

@media (min-width: 1920px) {
    .catalog__controls {
        grid-template-areas: "count sort";
    }
}

.catalog__count {
    grid-area: count;
    align-self: center;
    margin-right: auto;
    font-size: var(--fs_s);
}

.catalog__filter {
    grid-area: filter;
}

.catalog__sort {
    grid-area: sort;
    align-self: start;
}

@media (max-width: 575px) {
    .catalog__btn-sort,
    .catalog__btn-filter {
        width: 3em;
        padding: 0;
    }
}

.catalog__btn-sort .btn__title,
.catalog__btn-filter .btn__title {
    margin-left: var(--spacing_xxs);
}

@media (max-width: 575px) {
    .catalog__btn-sort .btn__title,
    .catalog__btn-filter .btn__title {
        display: none;
    }
}

@media (min-width: 576px) {
    .catalog__btn-sort .btn__icon,
    .catalog__btn-filter .btn__icon {
        margin-left: var(--offset_xs);
    }
}

@media (max-width: 575px) {
    .checkout__btn-submit {
        margin-top: var(--spacing_l);
    }
}

.checkout .wa-form .wa-field:not(.wa-field-address-shipping) .wa-name {
    display: none;
}

.contacts {
    text-align: center;
}

.contacts a {
    display: block;
    text-decoration: none;
}

.contacts__phone {
    font-size: var(--fs_l);
}

.contacts__email {
    font-size: var(--fs_s);
    margin-top: var(--spacing_xs);
}

.page-controls {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 100;
}

.feedback {
    width: 100%;
    max-width: 24rem;
    padding: var(--spacing_xxl);
    background-color: var(--c-white);
    box-shadow: 0 2rem 2rem -2rem rgba(0, 0, 0, 0.25);
}

.feedback_active {
    display: block;
}

.feedback__header {
    margin-bottom: var(--spacing_xl);
}

.feedback label {
    display: block;
    color: #898989;
    margin-bottom: var(--spacing_xxs);
    font-size: var(--fs_s);
}

.filter__item + .filter__item {
    margin-top: var(--spacing_xl);
}

.home__logo {
    background-color: #000;
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
    padding-top: var(--spacing_m);
    padding-bottom: var(--spacing_m);
}

.home__logo img {
    width: 40%;
}

.home__nav ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--grid-gap_s);
}

.home__nav ul a {
    color: #fff;
}

@media (orientation: landscape) {
    .home__banner {
        padding-top: 40%;
    }
}

@media (orientation: portrait) {
    .home__banner {
        padding-top: 50%;
    }
}

.intro__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--grid-gap_xl);
}

.intro__item {
    background-color: #979dab;
    color: #fff;
    border-radius: 0.3em;
    height: 7rem;
    padding: var(--spacing_l);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--fs_l);
}

@media (min-width: 1920px) {
    .new-filter {
        display: none;
    }
}

.top-menu {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 575px) {
    .top-menu__icon {
        width: 3rem;
    }
}

.top-menu__icon svg {
    margin-left: auto;
    margin-right: auto;
}

.top-menu__title {
    font-size: var(--fs_s);
    margin-left: var(--spacing_xs);
    white-space: nowrap;
}

@media (max-width: 575px) {
    .top-menu__title {
        display: none;
    }
}

.top-menu__count {
    position: absolute;
    right: -0.5rem;
    top: -0.5rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: #ffe47f;
    font-weight: 400;
    font-size: .6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 575px) {
    .top-menu__count {
        right: .5rem;
    }
}

.top-menu__item {
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-title);
    text-decoration: none;
    cursor: pointer;
}

.top-menu__item_mobile {
    width: 3rem;
}

@media (min-width: 576px) and (max-width: 1199px) {
    .top-menu__item_mobile {
        margin-left: var(--offset_m);
    }
}

@media (min-width: 1200px) {
    .top-menu__item_mobile {
        display: none;
    }
}

.top-menu__item_search {
    margin-right: auto;
}

@media (min-width: 1200px) {
    .top-menu__item_orders,
    .top-menu__item_compare,
    .top-menu__item_cart {
        margin-left: var(--spacing_xxl);
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
    .top-menu__item_orders,
    .top-menu__item_compare,
    .top-menu__item_cart {
        margin-left: var(--spacing_l);
    }
}

.top-menu__price {
    font-weight: bold;
    white-space: nowrap;
}

@media (min-width: 576px) {
    .top-menu__price:not(:empty) {
        margin-left: var(--spacing_xs);
    }
}

@media (max-width: 575px) {
    .top-menu__price:not(:empty) {
        margin-right: var(--spacing_s);
    }
}

.form-auth {
    width: 24rem;
    max-width: 100%;
    background-color: #fff;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 0.5rem 0.5rem -0.25rem rgba(0, 0, 0, 0.25);
}

@media (min-width: 576px) {
    .form-auth {
        padding: var(--spacing_xxl);
    }
}

@media (max-width: 575px) {
    .form-auth {
        padding: var(--spacing_xl);
    }
}

.form-auth h1,
.form-auth h2 {
    margin-bottom: var(--spacing_xl);
    text-align: center;
}

.form-auth * + .wa-field {
    margin-top: var(--spacing_l);
}

.form-auth .wa-name {
    margin-bottom: var(--spacing_xs);
    font-size: var(--fs_s);
}

.form-auth .wa-submit input {
    margin-bottom: var(--spacing_m);
}

.form-auth .wa-field-address .wa-name {
    padding-top: 1px;
    padding-bottom: 1px;
    font-family: var(--h-ff);
    font-weight: var(--h-fw);
    line-height: var(--h-lh);
    color: var(--c-title);
    font-size: var(--fs_h5);
}

.form-auth .wa-field-address .wa-name:before {
    content: '';
    display: block;
    margin-top: var(--h-o);
}

.form-auth .wa-field-address .wa-name:after {
    content: '';
    display: block;
    margin-bottom: var(--h-o);
}

.form-auth.form-auth_login .wa-submit {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.form-auth.form-auth_login .wa-submit a {
    font-size: var(--fs_s);
    display: block;
    color: var(--c-link);
}

.form-auth input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    margin: 0;
    margin-right: var(--spacing_xs);
}

.wa-form span.field {
    display: block;
}

.wa-form span.field > span {
    font-size: var(--fs_s);
    margin-bottom: var(--spacing_xs);
    display: block;
}

.wa-form span.field + span.field {
    margin-top: var(--spacing_s);
}

.wa-form p {
    line-height: 1;
}

.wa-form p:before,
.wa-form p:after {
    display: none;
}

.is-hidden {
    display: none;
}

.profile-form-wrapper .wa-field-password .wa-name {
    display: none;
}

.wa-error-msg {
    margin-top: var(--spacing_xs);
    font-size: var(--fs_s);
    display: inline-block;
    font-style: normal;
    color: #ed2024;
}

.wa-value input.wa-error,
.wa-value input.error,
.wa-value textarea.wa-error,
.wa-value textarea.error,
.wa-value select.wa-error,
.wa-value select.error {
    border-color: #ed2024 !important;
}

.wa-value em.errormsg,
.wa-value em.error {
    color: #ed2024;
    font-size: var(--fs_s);
    margin-top: var(--spacing_xxs);
    font-style: normal;
    display: block;
}

.wa-value input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="file"]) {
    height: 3rem;
    width: 100%;
    padding: 0 0.75rem;
    font-family: var(--ff-secondary);
    font-size: 100%;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.wa-value select {
    height: 3rem;
    width: 100%;
    padding: 0 0.75rem;
    font-family: var(--ff-secondary);
    font-size: 100%;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.wa-value textarea {
    padding: 0.75rem;
    font-family: var(--ff-secondary);
    font-size: 100%;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
}

.wa-value input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="file"]),
.wa-value select,
.wa-value textarea {
    transition: border-color var(--duration) var(--easing);
    color: var(--c-title);
    border: 1px solid rgba(0, 0, 0, 0.25);
}

.wa-value input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="file"]):hover,
.wa-value select:hover,
.wa-value textarea:hover {
    color: var(--c-title);
}

.wa-value input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="file"]):focus,
.wa-value select:focus,
.wa-value textarea:focus {
    color: var(--c-title);
}

.wa-value input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="file"]):hover,
.wa-value select:hover,
.wa-value textarea:hover {
    border-color: rgba(0, 0, 0, 0.5);
}

.wa-value input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="file"]):focus,
.wa-value select:focus,
.wa-value textarea:focus {
    border-color: var(--c-link);
}

.wa-subscribe-form .wa-fill {
    width: 100% !important;
}

.socials-auth {
    display: flex;
    align-items: center;
    justify-content: center;
}

.socials-auth li {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.socials-auth a {
    display: block;
}

.socials-auth img {
    width: 3rem;
}

.wa-submit input[type="submit"],
.wa-value input[type="submit"],
.wa-buttons-wrapper input[type="submit"],
.wa-submit input[type="button"],
.wa-value input[type="button"],
.wa-buttons-wrapper input[type="button"] {
    --btn-height: 3em;
    --btn-padding: 0 1.5em;
    --btn-ff: var(--ff-primary);
    --btn-color: #fff;
    --btn-fill: #fff;
    --btn-bg: var(--c-link);
    --btn-fs: 1em;
    --btn-fw: 400;
    --btn-br: .25em;
    --btn-border-width: 0;
    --btn-border: none;
    font-family: var(--btn-ff);
    font-weight: var(--btn-fw);
    height: var(--btn-height);
    padding: var(--btn-padding);
    font-size: var(--btn-fs);
    border: var(--btn-border);
    border-radius: var(--btn-br);
    color: var(--btn-color);
    fill: var(--btn-fill);
    background: var(--btn-bg);
    width: 100%;
    position: relative;
}

.wa-submit input[type="submit"]:hover,
.wa-value input[type="submit"]:hover,
.wa-buttons-wrapper input[type="submit"]:hover,
.wa-submit input[type="button"]:hover,
.wa-value input[type="button"]:hover,
.wa-buttons-wrapper input[type="button"]:hover {
    --btn-bg: var(--c-link_hover);
}

.wa-submit input[type="submit"]:active,
.wa-value input[type="submit"]:active,
.wa-buttons-wrapper input[type="submit"]:active,
.wa-submit input[type="button"]:active,
.wa-value input[type="button"]:active,
.wa-buttons-wrapper input[type="button"]:active,
.wa-submit input[type="submit"].btn_active,
.wa-value input[type="submit"].btn_active,
.wa-buttons-wrapper input[type="submit"].btn_active,
.wa-submit input[type="button"].btn_active,
.wa-value input[type="button"].btn_active,
.wa-buttons-wrapper input[type="button"].btn_active {
    --btn-bg: var(--c-link_active);
}

.wa-buttons-wrapper {
    margin-top: 1rem;
}

.form-auth .wa-login-url,
.form-auth .wa-forgotpassword-button,
.form-auth .wa-signup-url {
    margin-top: 0.75rem;
}

.form-auth .wa-login-forgotpassword-url {
    display: inline-block;
    margin-top: 0.75rem;
}

.articles-grid {
    display: grid;
}

@media (min-width: 1200px) {
    .articles-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: var(--grid-gap_xl);
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
    .articles-grid {
        grid-gap: var(--grid-gap_l);
    }
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: landscape) {
    .articles-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: portrait) {
    .articles-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .articles-grid {
        grid-gap: var(--grid-gap_m);
    }
}

@media (max-width: 575px) and (orientation: landscape) {
    .articles-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) and (orientation: portrait) {
    .articles-grid {
        grid-template-columns: 100%;
    }
}

.article {
    display: block;
    text-decoration: none;
    color: var(--c-text);
}

.article__date {
    margin-top: var(--spacing_xs);
    font-size: var(--fs_xs);
}

.article__body {
    margin-top: var(--spacing_m);
}

.banners-grid_loading:after {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    width: 3rem;
    height: 3rem;
    margin-left: -1.5rem;
    margin-top: -1.5rem;
    border: 4px solid transparent;
    border-top-color: var(--c-link);
    border-bottom-color: var(--c-link);
    border-radius: 50%;
    animation: spin 1s infinite linear;
}

.banners-grid_loading .banner {
    opacity: 0;
}

.banners-grid_default {
    display: grid;
}

@media (orientation: landscape) {
    .banners-grid_default {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (orientation: portrait) {
    .banners-grid_default {
        grid-template-columns: repeat(2, 1fr);
    }
}

.banners-grid_default .banner {
    display: none;
}

.banners-grid_default .banner:nth-child(1),
.banners-grid_default .banner:nth-child(2),
.banners-grid_default .banner:nth-child(3) {
    display: block;
}

@media (orientation: portrait) {
    .banners-grid_default .banner:nth-child(4) {
        display: block;
    }
}

.banner-slim {
    text-decoration: none;
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
    padding-top: var(--spacing_s);
    padding-bottom: var(--spacing_s);
    min-height: 4rem;
    background-color: var(--c-primary);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
}

.banner-slim__title {
    color: #000;
    font-weight: 500;
}

@media (min-width: 576px) {
    .banner-slim__title {
        font-size: var(--fs_h3);
    }
}

.banner-slim__title:before {
    content: '';
    display: block;
    margin-top: -0.15625em;
}

.banner-slim__title:after {
    content: '';
    display: block;
    margin-bottom: -0.15625em;
}

.benefit {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: var(--grid-gap_l);
    align-items: center;
}

.benefit__body {
    line-height: 1.25;
}

.benefit__icon {
    fill: var(--c-link_active);
    opacity: .5;
    transition: opacity var(--duration) var(--easing);
}

.benefit:hover .benefit__icon {
    opacity: 1;
}

.benefits-list {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 2rem 2rem -2rem rgba(0, 0, 0, 0.25);
}

.benefits-list__item {
    padding: var(--padding);
}

@media (max-width: 575px) {
    .benefits-list__item {
        --padding: var(--spacing_m);
    }
}

@media (min-width: 576px) {
    .benefits-list__item {
        --padding: var(--spacing_l);
    }
}

.benefits-list__item:not(:first-child) {
    border-top: 1px solid #ddd;
}

@media (min-width: 960px) {
    .cart-detail {
        display: grid;
        grid-template-columns: minmax(min-content, auto) minmax(min-content, max-content);
        grid-gap: var(--grid-gap_xxl);
    }
}

@media (min-width: 960px) {
    .cart-detail__side {
        max-width: 18rem;
        min-width: 14rem;
    }
}

.cart-detail__coupon {
    margin-bottom: var(--spacing_m);
}

.cart-detail__coupon .control__btn {
    position: absolute;
    top: 0;
    right: 0;
}

.cart-detail__submit {
    margin-top: var(--spacing_m);
}

.catalog-tags {
    display: flex;
    margin: var(--flex-offset_m);
}

.catalog-tags > * {
    padding: var(--flex-padding_m);
}

.catalog-tags__item {
    font-size: var(--fs_xs);
}

.catalog-menu .catalog-menu {
    display: none;
}

.catalog-menu .catalog-menu .catalog-menu__link {
    padding-left: 2.5rem;
}

.catalog-menu .catalog-menu .catalog-menu .catalog-menu__link {
    padding-left: 3rem;
}

.catalog-menu .catalog-menu .catalog-menu .catalog-menu .catalog-menu__link {
    padding-left: 3.5rem;
}

.catalog-menu .catalog-menu .catalog-menu .catalog-menu .catalog-menu .catalog-menu__link {
    padding-left: 4rem;
}

.catalog-menu__item_active > .catalog-menu__link:before {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.25);
    mix-blend-mode: overlay;
    width: 200%;
    top: 0;
    bottom: 1px;
    left: -50%;
    z-index: 0;
}

.catalog-menu__item_open > .catalog-menu {
    display: block;
}

.catalog-menu__item_hide {
    display: none;
}

.catalog-menu__header {
    padding-left: 2rem;
    padding-right: 3rem;
    text-transform: uppercase;
    font-size: 80%;
    letter-spacing: 0.1em;
}

@media (min-width: 1200px) {
    .catalog-menu__header {
        padding-top: var(--spacing_s);
        padding-bottom: var(--spacing_s);
    }
}

@media (max-width: 1199px) {
    .catalog-menu__header {
        padding-top: var(--spacing_m);
        padding-bottom: var(--spacing_m);
    }
}

.catalog-menu__link {
    display: block;
    color: #fff;
    text-decoration: none;
    padding-left: 2rem;
    padding-right: 4rem;
    transition: color var(--duration) var(--easing);
}

@media (min-width: 1200px) {
    .catalog-menu__link {
        padding-top: var(--spacing_s);
        padding-bottom: var(--spacing_s);
    }
}

@media (max-width: 1199px) {
    .catalog-menu__link {
        padding-top: var(--spacing_m);
        padding-bottom: var(--spacing_m);
    }
}

.catalog-menu__link:hover {
    color: var(--c-accent);
}

.catalog-menu__link:hover .catalog-menu__title {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .15em;
}

.catalog-menu__link:active:before,
.catalog-menu__link:focus:before {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.25);
    mix-blend-mode: overlay;
    width: 200%;
    top: 0;
    bottom: 1px;
    left: -50%;
    z-index: 0;
}

.catalog-menu__toggle {
    position: absolute;
    top: 0;
    right: 2rem;
    bottom: 0;
    width: var(--icon_m);
    background: none;
    border: 0;
    cursor: pointer;
    z-index: 5;
}

.catalog-menu__toggle:after {
    content: '';
    display: block;
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    transition: all var(--duration) var(--easing);
    transform: translate3d(-50%, -50%, 0) scale(0.5);
    box-shadow: 0 0 0 .5rem #fff inset;
}

@media (max-width: 575px) {
    .catalog-menu__toggle:after {
        width: 1rem;
        height: 1rem;
    }
}

.catalog-menu__toggle_active:after {
    transform: translate3d(-50%, -50%, 0) scale(1);
    background-color: transparent;
    box-shadow: 0 0 0 2px #fff inset;
}

.catalog-menu__badge {
    background-color: var(--c-primary);
    color: #000;
    text-transform: uppercase;
    font-size: 65%;
    margin-left: var(--spacing_xs);
    border-radius: var(--border-radius);
    padding: 0.125em 0.25em;
    font-weight: 500;
}

:where(.section_category .catalog-categories) {
    max-width: 70ch;
}

.catalog-categories__header {
    width: 10rem;
}

.catalog-categories__item {
    margin-right: var(--spacing_l);
    white-space: nowrap;
}

.catalog-categories__grid {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: var(--offset_xs);
}

@media (max-width: 575px) {
    .catalog-categories__grid {
        flex-wrap: nowrap;
        overflow-y: auto;
    }
}

.catalog-thumb {
    display: grid;
}

@media (min-width: 576px) {
    .catalog-thumb {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: var(--grid-gap_xl);
    }
}

@media (max-width: 575px) {
    .catalog-thumb {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: var(--grid-gap_s);
    }
}

.catalog-thumb__item {
    background-color: #fff;
    background-position: bottom right;
    background-size: auto 100%;
    background-repeat: no-repeat;
    display: block;
    text-decoration: none;
    min-height: 8rem;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 1px 0 0 rgba(0, 0, 0, 0.12);
    background-origin: border-box;
    border-radius: 3px;
}

@media (min-width: 576px) {
    .catalog-thumb__item {
        padding: var(--spacing_l);
    }
}

@media (max-width: 575px) {
    .catalog-thumb__item {
        padding: var(--spacing_s);
        background-size: auto 75%;
    }
}

.catalog-thumb__item h4 {
    font-weight: normal;
    width: 70%;
}

.checkout-option + .checkout-option {
    margin-top: var(--spacing_xl);
}

.checkout-option__body {
    margin-top: var(--spacing_m);
    display: none;
}

.checkout-option__body > * + * {
    margin-top: var(--spacing_m);
}

.checkout-option_active .checkout-option__body {
    display: block;
}

.checkout-option__description {
    line-height: 1.25;
    font-size: var(--fs_s);
}

.checkout-option__description p {
    line-height: 1.25;
}

.checkout-option__description p + p {
    margin-top: var(--spacing_m);
}

.checkout-success {
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 576px) {
    .checkout-success {
        padding: 12rem 0;
    }
}

@media (min-width: 576px) {
    .checkout-success__main {
        width: 65%;
    }
}

@media (min-width: 576px) {
    .checkout-success__bg {
        position: absolute;
        z-index: -1;
        top: 50%;
        left: 75%;
    }
}

@media (max-width: 575px) {
    .checkout-success__bg {
        display: none;
    }
}

.categories-card-grid {
    display: grid;
    align-items: start;
    grid-gap: 1rem 0;
}

@media (min-width: 1200px) {
    .categories-card-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: landscape) {
    .categories-card-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: portrait) {
    .categories-card-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 575px) {
    .categories-card-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.category-card {
    text-align: center;
    text-decoration: none;
    justify-content: space-between;
    border-radius: var(--border-radius);
}

.category-card__thumb {
    max-height: 6rem;
    padding-bottom: 80%;
    overflow: hidden;
    margin: -5% 0;
}

.category-card img {
    height: 100%;
    position: absolute;
    width: 100%;
    object-fit: contain;
}

.category-detail__gallery {
    background-color: #111;
}

.category-detail__gallery .swiper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

@media (min-width: 1200px) {
    .category-detail__gallery {
        padding-bottom: 40%;
    }
}

@media (max-width: 1199px) {
    .category-detail__gallery {
        padding-bottom: 67vmin;
    }
}

.category-cut {
    display: grid;
    align-items: start;
    grid-gap: 1rem 0;
}

@media (min-width: 1200px) {
    .category-cut {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: landscape) {
    .category-cut {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: portrait) {
    .category-cut {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 575px) {
    .category-cut {
        grid-template-columns: repeat(3, 1fr);
    }
}

.category-cut__item {
    display: block;
    flex-shrink: 0;
    text-align: center;
}

.category-cut svg {
    margin: auto;
    display: block;
    width: 70%;
    aspect-ratio: 1;
    stroke-width: 1.5px;
    fill: none;
    stroke: #7c7d8a;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke-dashoffset 2s var(--easing);
}

.categories-tile-grid {
    display: grid;
    align-items: start;
}

@media (min-width: 1200px) {
    .categories-tile-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: var(--grid-gap_xl);
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
    .categories-tile-grid {
        grid-gap: var(--grid-gap_l);
    }
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: landscape) {
    .categories-tile-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 576px) and (max-width: 1199px) and (orientation: portrait) {
    .categories-tile-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .categories-tile-grid {
        grid-gap: var(--grid-gap_m);
    }
}

@media (max-width: 575px) and (orientation: landscape) {
    .categories-tile-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) and (orientation: portrait) {
    .categories-tile-grid {
        grid-template-columns: 100%;
    }
}

.category-tile {
    display: block;
    text-decoration: none;
    border-radius: var(--border-radius);
    overflow: hidden;
    background-color: #fff;
    border-bottom: 1px solid var(--c-border);
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.24);
}

.category-tile__thumb {
    width: 100%;
}

.category-tile__body {
    padding: var(--spacing_m);
}

.category-tile_2 {
    padding-bottom: 50%;
    background-size: auto 100%;
    background-origin: border-box;
    background-position: right bottom;
    background-repeat: no-repeat;
    transition: background-size var(--duration) var(--easing);
}

@media (max-width: 575px) {
    .category-tile_2 {
        padding-bottom: 35%;
    }
}

.category-tile_2:hover {
    background-size: auto 125%;
}

.category-tile_cut {
    padding-top: 50%;
    background-size: cover;
    background-origin: border-box;
    background-position: center right;
    background-repeat: no-repeat;
    transition: background-size var(--duration) var(--easing);
}

@media (max-width: 575px) {
    .category-tile_cut {
        padding-top: 35%;
    }
}

.category-tile_cut .category-tile__body {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
}

.category-tile_cut .category-tile__icon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50%;
}

@media (max-width: 575px) {
    .category-tile_cut .category-tile__icon {
        width: 35%;
    }
}

.category-tile_cut .category-tile__icon svg {
    width: 100%;
    height: 100%;
    stroke-width: 1px;
    fill: none;
    stroke: #000;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke-dashoffset 2s var(--easing);
}

.category-tile_gem {
    padding-bottom: 50%;
    background-size: auto 100%;
    background-origin: border-box;
    background-position: right bottom;
    background-repeat: no-repeat;
    transition: background-size var(--duration) var(--easing);
}

@media (max-width: 575px) {
    .category-tile_gem {
        padding-bottom: 35%;
    }
}

.category-tile_gem:hover {
    background-size: auto 125%;
}

.category-tile_gem .category-tile__body {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
}

.category-tile_overlay .category-tile__body {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
}

.order {
    display: grid;
    grid-gap: var(--grid-gap_xs);
    padding: var(--spacing_m);
    background-color: #fff;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
}

@media (min-width: 576px) {
    .order {
        align-items: center;
        grid-template-columns: 3fr 3fr 2fr;
    }
}

.order__status {
    justify-self: start;
}

@media (min-width: 576px) {
    .order__price {
        justify-self: end;
    }
}

@media (min-width: 960px) {
    .order-detail {
        display: grid;
        grid-template-columns: minmax(min-content, auto) 16rem;
        grid-gap: var(--grid-gap_xxl);
    }
}

@media (max-width: 959px) {
    .order-detail__main {
        margin-top: var(--spacing_xxl);
    }
}

.order-detail__side {
    order: 2;
}

.order-detail__coupon {
    margin-bottom: var(--spacing_m);
}

.order-detail__coupon .control__btn {
    position: absolute;
    top: 0;
    right: 0;
}

.order-detail__summary {
    margin-top: var(--spacing_l);
}

.product {
    display: grid;
    grid-template-rows: auto 1fr;
    height: 100%;
    grid-template-columns: 100%;
    text-decoration: none;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
    min-width: 0;
    overflow: hidden;
}

@media (min-width: 1200px) {
    .product {
        transition: box-shadow var(--duration) var(--easing);
    }

    .product:hover {
        box-shadow: 0 2rem 2rem -2rem rgba(0, 0, 0, 0.25);
    }
}

.product__img {
    object-fit: cover;
    aspect-ratio: 1.33333333;
}

.product__thumb {
    display: block;
    contain: strict;
    padding-bottom: 75%;
    overflow: hidden;
    background-color: var(--c-photo-bg);
}

.product__thumb img {
    display: block;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    transition: transform var(--easing) var(--duration);
}

.product:hover .product__thumb img {
    transform: scale(1.25);
}

.product__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #fff;
}

@media (min-width: 576px) {
    .product__body {
        padding: var(--spacing_m);
    }
}

@media (max-width: 575px) {
    .product__body {
        padding: var(--spacing_xs);
    }
}

.product__sku {
    font-size: var(--fs_xxs);
    color: var(--c-gray_l);
    white-space: nowrap;
    overflow: hidden;
    margin-top: var(--spacing_xs);
}

.product__badge {
    position: absolute;
    z-index: 5;
    width: 100%;
}

.product__badge .badge {
    width: 100%;
    text-align: center;
    padding: var(--spacing_xxs);
    text-transform: uppercase;
    font-size: 75%;
    font-weight: 500;
    transform: translate(50%, -50%) rotateZ(45deg) translateY(200%);
}

.product__title {
    line-height: 1.25;
    font-size: var(--fs_s);
    font-weight: normal;
}

.product__price {
    margin-right: auto;
}

.product__footer {
    margin-top: var(--spacing_s);
}

.products-bundle-grid {
    border: 1px solid var(--border-color);
}

.products-bundle-grid .product-bundle + .product-bundle {
    border-top: 1px solid var(--border-color);
}

.product-bundle {
    display: grid;
    align-items: center;
    padding: var(--spacing_s);
}

@media (min-width: 576px) {
    .product-bundle {
        grid-gap: var(--grid-gap_m);
        grid-template-columns: minmax(4rem, 5rem) 1fr 1fr;
        grid-template-areas: "thumb header footer";
    }
}

@media (max-width: 575px) {
    .product-bundle {
        grid-gap: var(--grid-gap_s);
        grid-template-columns: 7rem 3fr;
        grid-template-areas: "thumb header" "footer footer";
    }
}

.product-bundle_active {
    background-color: #fff4cc;
}

.product-bundle__badge {
    position: absolute;
    z-index: 5;
    background-color: #000;
    padding: var(--spacing_xs);
    color: #fff;
    font-size: 80%;
}

.product-bundle__thumb {
    grid-area: thumb;
    align-self: flex-start;
}

.product-bundle__header {
    grid-area: header;
}

@media (max-width: 575px) {
}

.product-bundle__title {
    grid-area: title;
    line-height: 1.25;
    font-weight: 400;
}

.product-bundle__footer {
    grid-gap: var(--grid-gap_s);
    grid-area: footer;
    display: grid;
    grid-auto-flow: column;
    align-items: baseline;
    grid-template-columns: 5rem 1fr auto;
}

@media (max-width: 1199px) {
    .product-bundle__price {
        display: none;
    }
}

.product-bundle__price .price__old {
    position: absolute;
    bottom: 100%;
}

.product-bundle__quantity {
    display: flex;
    color: var(--c-title);
}

@media (min-width: 1200px) {
    .product-bundle__quantity {
        justify-content: center;
    }
}

@media (max-width: 575px) {
    .product-bundle__quantity {
        width: 7rem;
    }
}

.product-bundle__btn-delete {
    margin-left: var(--spacing_xs);
}

@media (max-width: 575px) {
    .product-bundle__btn-delete {
        position: absolute;
        left: 100%;
        top: 0;
    }
}

.product-bundle__summary {
    justify-self: end;
}

.product-bundle__id {
    margin-top: var(--spacing_s);
    font-size: var(--fs_s);
}

.product-bundle__check {
    align-self: center;
}

.product-bundle__check .check_default .check__icon {
    margin: 0 0 0 auto;
    width: 1.2rem;
    height: 1.2rem;
}

.products-cart-grid .product-cart + .product-cart {
    margin-top: var(--spacing_l);
}

.product-cart {
    display: grid;
    background-color: #fff;
    border-radius: 2px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
}

@media (min-width: 576px) {
    .product-cart {
        padding: var(--spacing_l);
        grid-gap: var(--grid-gap_l);
        grid-template-columns: minmax(8rem, 12rem) auto;
        grid-template-areas: "thumb header" "thumb footer";
    }
}

@media (max-width: 575px) {
    .product-cart {
        padding: var(--spacing_s);
        grid-gap: var(--grid-gap_s);
        grid-template-columns: 7rem 3fr;
        grid-template-areas: "thumb header" "footer footer";
    }
}

.product-cart__badge {
    position: absolute;
    z-index: 5;
    background-color: #000;
    padding: var(--spacing_xs);
    color: #fff;
    font-size: 80%;
}

.product-cart__thumb {
    grid-area: thumb;
    align-self: flex-start;
}

@media (min-width: 576px) {
    .product-cart__thumb {
        margin-top: var(--offset_l);
        margin-bottom: var(--offset_l);
        margin-left: var(--offset_l);
    }
}

.product-cart__thumb:after {
    content: '';
    display: block;
    position: absolute;
    box-sizing: border-box;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.05) inset;
}

.product-cart__header {
    grid-area: header;
}

@media (max-width: 575px) {
}

.product-cart__title {
    grid-area: title;
    line-height: 1.25;
    font-weight: 400;
}

.product-cart__footer {
    grid-gap: var(--grid-gap_s);
    grid-area: footer;
    display: grid;
    align-self: flex-end;
    grid-auto-flow: column;
    align-items: baseline;
}

@media (min-width: 1200px) {
    .product-cart__footer {
        grid-template-columns: 2fr 8rem 2fr;
    }
}

@media (min-width: 576px) and (max-width: 1199px) {
    .product-cart__footer {
        grid-template-columns: 10rem 2fr;
    }
}

@media (max-width: 575px) {
    .product-cart__footer {
        grid-template-columns: 7rem auto;
        border-top: 1px solid var(--border-color);
        padding-top: 0.75rem;
    }
}

@media (max-width: 1199px) {
    .product-cart__price {
        display: none;
    }
}

.product-cart__price .price__old {
    position: absolute;
    bottom: 100%;
}

.product-cart__quantity {
    display: flex;
    color: var(--c-title);
}

@media (min-width: 1200px) {
    .product-cart__quantity {
        justify-content: center;
    }
}

.product-cart__quantity input {
    height: 2.4rem;
}

.product-cart__btn-delete {
    margin-left: var(--spacing_xs);
}

@media (max-width: 575px) {
    .product-cart__btn-delete {
        position: absolute;
        left: 100%;
        top: 0;
    }
}

.product-cart__summary {
    justify-self: end;
}

.product-cart__id {
    margin-top: var(--spacing_s);
    font-size: var(--fs_s);
}

.product-detail__jewelry {
    display: grid;
    grid-column-gap: 2rem;
    align-items: stretch;
}

@media (max-width: 575px) {
    .product-detail__jewelry {
        grid-gap: var(--grid-gap_s);
    }
}

@media (max-width: 575px) and (orientation: portrait) {
    .product-detail__jewelry {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) and (orientation: landscape) {
    .product-detail__jewelry {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) and (max-width: 959px) {
    .product-detail__jewelry {
        grid-gap: var(--grid-gap_l);
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 960px) {
    .product-detail__jewelry {
        grid-gap: var(--grid-gap_xl);
    }

    .product-detail__jewelry .product__title {
        font-size: 1em;
    }
}

.product-detail__gallery-pagination {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 2rem;
}

@media (min-width: 960px) {
    .product-detail__gallery-pagination {
        margin-bottom: var(--offset_m);
    }
}

@media (max-width: 959px) {
    .product-detail__gallery-pagination {
        padding: 0 var(--spacing_content_x);
    }
}

.product-detail__gallery .swiper-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
}

.product-detail__btn-video {
    padding: 0;
}

.product-detail__btn-video .icon {
    fill: #ff0000;
}

.product-detail__buy {
    background-color: #fff;
    box-shadow: 0 2rem 2rem -2rem rgba(0, 0, 0, 0.25);
    padding: var(--spacing_xl);
    overflow: hidden;
    align-self: end;
}

.product-detail__availability {
    font-size: var(--fs_s);
    margin-top: var(--spacing_m);
}

.product-detail__controls {
    margin-top: var(--spacing_m);
}

.product-detail__sku {
    font-weight: var(--fw);
    color: var(--c-gray);
}

@media (min-width: 576px) {
    .product-detail__sku {
        display: block;
        font-size: 1rem;
        vertical-align: baseline;
        margin-top: var(--spacing_s);
    }
}

.product-detail__sku-list {
    margin-top: var(--spacing_l);
    margin-bottom: var(--spacing_l);
}

.product-detail__service {
    margin-top: var(--spacing_l);
    margin-bottom: var(--spacing_l);
}

.product-detail__customer-service {
    margin-top: var(--spacing_m);
    font-size: var(--fs_s);
    display: flex;
    justify-content: space-between;
}

.product-detail__customer-service a {
    display: block;
}

.product-detail__qb {
    display: grid;
    grid-template-columns: 2fr 4fr;
    grid-gap: var(--grid-gap_m);
}

.product-detail__badge {
    position: absolute;
    z-index: 5;
    width: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}

.product-detail__badge .badge {
    width: 100%;
    text-align: center;
    padding: var(--spacing_xxs);
    text-transform: uppercase;
    font-size: 75%;
    font-weight: 500;
    transform: translate(50%, -50%) rotateZ(45deg) translateY(200%);
}

.product-detail__request {
    justify-self: stretch;
}

.product-detail-edit {
    position: fixed;
    z-index: 500;
    right: 1rem;
    bottom: 1rem;
}

@media (max-width: 959px) {
    .product-detail_default .product-detail__gallery {
        margin: var(--offset_content_y) var(--offset_content_x) 0 var(--offset_content_x);
    }
}

.product-detail_default .product-detail__layout {
    display: grid;
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
}

@media (min-width: 960px) {
    .product-detail_default .product-detail__layout {
        grid-template-columns: 65fr 35fr;
    }
}

@media (max-width: 959px) {
    .product-detail_default .product-detail__layout {
        grid-auto-flow: row;
    }
}

.product-detail_default .product-detail__layout-main {
    display: grid;
    grid-auto-flow: row;
    align-items: start;
    grid-gap: 3rem;
}

.product-detail_default .product-detail__layout-side {
    display: grid;
    grid-auto-flow: row;
    grid-row-gap: 3rem;
    align-items: start;
    align-content: start;
    grid-row: span 2;
}

.product-detail_default .product-detail__header {
    display: grid;
    grid-auto-flow: row;
    grid-row-gap: 2rem;
    z-index: 500;
    position: sticky;
    top: calc(3rem + var(--spacing_content_y));
}

@media (max-width: 575px) {
    .product-detail_default .product-detail__header {
        margin-top: var(--offset_xl);
    }
}

@media (min-width: 576px) {
    .product-detail_default .product-detail__title {
        margin-right: -1rem;
    }
}

.product-certificates {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--grid-gap_m);
    align-items: start;
}

.product-certificates__item {
    display: block;
    box-shadow: 0 0.5rem 0.5rem -0.25rem rgba(0, 0, 0, 0.25);
}

.product-sku {
    display: flex;
    flex: 1 0 auto;
    font-size: var(--fs_s);
}

.product-sku__id {
    font-size: var(--fs_xs);
    color: var(--c-gray);
    margin-top: var(--spacing_xxs);
}

.product-sku__price {
    margin-left: auto;
    color: var(--c-black);
}

@keyframes ticker {
    0% {
        transform: translate3d(0, 0, 0);
        visibility: visible;
    }
    100% {
        transform: translate3d(-100%, 0, 0);
    }
}

.body_wtb {
    overflow: hidden !important;
    background-color: #000;
}

.products-table {
    background-color: #000;
    font-size: 1.6vw;
    color: var(--c-title);
    display: grid;
    grid-template-rows: auto auto 1fr;
    height: 100vh;
}

.products-table__ticker {
    overflow: hidden;
    background-color: #ffc400;
    color: #000;
    line-height: 2em;
    font-weight: bold;
    position: sticky;
    top: 0;
    z-index: 5;
}

.products-table__ticker span {
    text-align: center;
    display: block;
    white-space: nowrap;
}

.products-table__ticker-text {
    font-size: 1.25em;
    display: grid;
    grid-auto-columns: 25vw;
    grid-auto-flow: column;
    animation-duration: 30s;
    animation-name: ticker;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.products-table__scroll {
    overflow: auto;
}

.products-table__item {
    display: grid;
    grid-template-columns: 4rem 4fr 2fr 1fr 2fr;
    padding: 1em 2vw;
}

.products-table__item:nth-child(even) {
    background-color: rgba(128, 128, 128, 0.25);
}

.products-table__item_header {
    padding: 0 2vw;
    line-height: 2em;
    font-size: .75em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    position: sticky;
    top: 0;
    background-color: #000;
    z-index: 5;
}

.products-table__title {
    font-size: 1.25em;
    grid-column-start: 2;
    grid-column-end: 6;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.products-table__number {
    font-size: 1.25em;
    grid-row-start: 1;
    grid-row-end: 3;
}

.products-table__price,
.products-table__weight {
    text-align: right;
}

.products-table__shape {
    text-align: center;
}

.products-grid_default {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: min(4vw, 2rem);
    align-items: stretch;
}

@media (min-width: 576px) {
    .products-grid_default {
        grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    }
}

.layout {
    max-width: 1920px;
}

.box_default > *:not(:first-child) {
    margin-block-start: calc(var(--spacing_content_y) * .4);
}

.box_default .box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.box_default .box__header_center {
    justify-content: center;
}

.box_default .box__count {
    font-weight: var(--fw);
    color: var(--c-text);
    font-size: 1rem;
    vertical-align: top;
}

.box_default .box__controls {
    margin-top: var(--offset_xs);
    margin-bottom: var(--offset_xs);
    display: grid;
    grid-gap: var(--grid-gap_s);
    grid-auto-flow: column;
}

.box_popup {
    background-color: #fff;
    box-shadow: 0 2rem 2rem -2rem rgba(0, 0, 0, 0.25);
    width: 24rem;
    max-width: 100%;
}

@media (min-width: 576px) {
    .box_popup {
        padding: 4rem;
    }
}

@media (max-width: 575px) {
    .box_popup {
        padding: 3rem;
    }
}

.box_popup .box__header {
    margin-bottom: var(--spacing_xl);
}

.box_popup .box__footer {
    margin-top: var(--spacing_xl);
}

@media (min-width: 960px) {
    .header_catalog {
        display: flex;
    }

    .header_catalog .header__side {
        margin-left: auto;
        flex: 0 0 auto;
    }
}

.header_product {
    display: flex;
    align-items: center;
}

.header_product .header__side {
    margin-left: auto;
    flex: 0 0 auto;
    width: 16rem;
}

:root {
    --left-bar-width: 16rem;
}

@media (max-width: 575px) {
    :root {
        --left-bar-width: 85vmin;
    }
}

.html_left-bar {
    overflow: hidden;
}

.left-bar {
    position: fixed;
    overflow: hidden;
    z-index: 15;
    bottom: 0;
    left: 0;
    top: 0;
}

.left-bar a:hover {
    color: var(--c-accent);
}

@media (max-width: 1199px) {
    .left-bar {
        display: none;
        z-index: 200;
        right: 0;
    }
}

.left-bar__bg {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100% !important;
    width: 100% !important;
    background-color: var(--left-bar-bg);
}

.left-bar_in,
.left-bar_open,
.left-bar_out {
    display: block !important;
}

.left-bar__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(222, 222, 222, 0.9);
    cursor: pointer;
}

@media (min-width: 1200px) {
    .left-bar__overlay {
        display: none;
    }
}

@media (max-width: 1199px) {
    .left-bar__overlay {
        opacity: 0;
    }

    .left-bar_in .left-bar__overlay {
        animation: fade-in var(--duration) var(--easing) both;
    }

    .left-bar_open .left-bar__overlay {
        opacity: 1;
    }

    .left-bar_out .left-bar__overlay {
        animation: fade-out var(--duration) var(--easing) both;
    }
}

.left-bar__box {
    width: var(--left-bar-width);
    background-color: #000;
    background-size: cover;
    background-position: center center;
    height: 100%;
}

@media (max-width: 1199px) {
    .left-bar__box {
        transform: translateX(-100%);
    }

    .left-bar_in .left-bar__box {
        animation: move-from-left var(--duration) var(--easing) both;
    }

    .left-bar_open .left-bar__box {
        transform: translateX(0);
    }

    .left-bar_out .left-bar__box {
        animation: move-to-left var(--duration) var(--easing) both;
    }
}

.left-bar__scroll {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

@media (min-width: 1200px) {
    .left-bar__scroll {
        width: calc(var(--left-bar-width) * 1.2);
    }
}

@media (min-width: 1200px) {
    .left-bar__scroll:hover {
        width: var(--left-bar-width);
    }
}

.left-bar__content {
    padding: 3rem 2rem;
    width: var(--left-bar-width);
    display: grid;
    grid-auto-flow: row;
    grid-auto-rows: auto;
    grid-template-rows: auto 1fr;
    grid-template-columns: 100%;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.5);
    grid-gap: var(--grid-gap_xl);
}

.left-bar__content_loading {
    opacity: 0;
}

@media (min-width: 576px) {
    .left-bar__content {
        min-height: 100%;
    }
}

@media (max-width: 575px) {
    .left-bar__content {
        font-size: 1.2rem;
    }
}

.left-bar__logo {
    display: block;
}

.left-bar__auth {
    margin-top: var(--spacing_m);
}

.left-bar__body {
    margin: 0 -2rem;
}

.left-bar__contacts {
    margin-top: var(--spacing_l);
}

.page {
    --c-page-bg: 0, 0%, 96%;
    background-color: hsla(var(--c-page-bg), 1);
    margin-top: 3rem;
    transition: transform var(--duration) var(--easing);
    z-index: 50;
    min-height: calc(100vh - 3rem);
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
}

@media (min-width: 1200px) {
    .page {
        margin-left: var(--left-bar-width);
    }
}

@media (min-width: 1920px) {
    .page {
        max-width: var(--page-width);
    }
}

.page > * {
    min-width: 0;
}

@media (min-width: 1200px) and (max-width: 1919px) {
    .html_right-bar .page,
    .html_right-bar .top-bar {
        transform: translate3d(-16rem, 0, 0);
    }
}

.right-bar {
    --right-bar-width: 16rem;
    position: fixed;
    overflow: hidden;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 1920px;
}

@media (min-width: 1920px) {
    .right-bar {
        --right-bar-width: calc(100% - var(--left-bar-width) - var(--page-width));
    }
}

@media (max-width: 1919px) {
    .right-bar {
        display: none;
    }
}

@media (min-width: 1200px) {
    .right-bar {
        z-index: 5;
    }
}

@media (max-width: 1199px) {
    .right-bar {
        z-index: 100;
    }
}

.right-bar_in,
.right-bar_open,
.right-bar_out {
    display: block !important;
}

.right-bar__overlay {
    display: none;
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(222, 222, 222, 0.9);
    cursor: pointer;
}

.right-bar_in .right-bar__overlay {
    animation: fade-in var(--duration) var(--easing) both;
    display: block;
}

.right-bar_open .right-bar__overlay {
    opacity: 1;
    display: block;
}

.right-bar_out .right-bar__overlay {
    animation: fade-out var(--duration) var(--easing) both;
    display: block;
}

.right-bar__box {
    width: var(--right-bar-width);
    background-color: #ebebeb;
    height: 100%;
    margin-left: auto;
}

@media (max-width: 1199px) {
    .right-bar__box {
        transform: translateX(-100%);
    }

    .right-bar_in .right-bar__box {
        animation: move-from-right var(--duration) var(--easing) both;
    }

    .right-bar_open .right-bar__box {
        transform: translateX(0);
    }

    .right-bar_out .right-bar__box {
        animation: move-to-right var(--duration) var(--easing) both;
    }
}

@media (min-width: 1200px) and (max-width: 1919px) {
    .right-bar__box {
        opacity: 0;
    }

    .right-bar_in .right-bar__box {
        animation: fade-in var(--duration) var(--easing) both;
    }

    .right-bar_open .right-bar__box {
        opacity: 1;
    }

    .right-bar_out .right-bar__box {
        animation: fade-out var(--duration) var(--easing) both;
    }
}

.right-bar__scroll {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    max-width: 16rem;
}

@media (min-width: 1920px) {
    .right-bar__scroll {
        width: calc(100vw - var(--left-bar-width) - var(--page-width) + 16px);
    }
}

@media (min-width: 1920px) {
    .right-bar__scroll:hover {
        width: calc(100vw - var(--left-bar-width) - var(--page-width) - 16px);
    }
}

.right-bar__content {
    padding: 3rem 2rem;
    min-height: 100%;
}

@media (min-width: 1920px) {
    .right-bar__content {
        width: calc(100vw - var(--left-bar-width) - var(--page-width));
        max-width: 16rem;
    }
}

.right-bar__header {
    padding: var(--spacing_xl);
}

.right-bar__logo {
    display: block;
    text-decoration: none;
    padding: var(--spacing_m);
    text-transform: uppercase;
    color: var(--c-title);
    font-size: 200%;
    font-weight: 500;
    letter-spacing: 0.2em;
}

@media (min-width: 576px) {
    .right-bar__logo {
        display: none;
    }
}

.right-bar__auth {
    background-color: #000;
}

.section__count {
    font-size: 50%;
    color: #898989;
    vertical-align: top;
    display: inline-block;
    font-weight: 300;
}

.section_center {
    min-height: calc(100vh - 6rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

.section_card {
    background-color: #fff;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
}

.section_category {
    padding: var(--spacing_content);
    background: linear-gradient(to right, #eee 0%, #d7d8dd 50%), #d7d8dd;
    display: grid;
}

@media (max-width: 575px) {
    .section_category {
        min-height: 12rem;
    }
}

@media (min-width: 576px) {
    .section_category {
        min-height: 13rem;
    }
}

.section_category .section__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.section_category .section__notice {
    margin-top: var(--spacing_l);
    font-size: var(--fs_s);
    font-weight: 300;
    color: black;
    max-width: min(60%, 70ch);
}

.section_category .section__nav {
    margin-top: var(--spacing_l);
}

.section_category .section__img {
    position: absolute;
    object-fit: contain;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    max-width: 40%;
}

.section_white {
    background-color: #fff;
}

.section_gray {
    background-color: #ebebeb;
}

.section_gray_l {
    background-color: #f5f5f5;
}

.section_gray_d {
    background-color: #e0e0e0;
}

.section_shadow_inset {
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.12) inset, 0 2px 2px 0 rgba(0, 0, 0, 0.12) inset;
}

.section_dark {
    background-color: #e0e0e0;
}

.section_default {
    --section-gap: max(calc(var(--spacing_content_y) * .8), 2.5rem);
    padding: var(--spacing_content);
}

.section_default > *:not(:first-child) {
    margin-block-start: var(--section-gap);
}

.section_default .section__content {
    height: 100%;
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
}

.section_default .section__content_rows {
    display: grid;
    min-width: 0;
    grid-auto-rows: auto;
    grid-gap: var(--grid-gap_xxl);
    justify-items: stretch;
}

.section_default .section__content_rows > * {
    min-width: 0;
}

.section_default .section__header_center {
    text-align: center;
}

.section_default .section__controls {
    margin-top: var(--spacing_m);
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-gap: 1rem;
}

.section_default .section__actions {
    margin-top: var(--offset_s);
    margin-bottom: var(--offset_s);
}

.section_default .section__search {
    width: 16rem;
    margin-left: auto;
    margin-right: var(--spacing_m);
}

.section_default .section__nav {
    margin-top: var(--spacing_m);
}

.section_default .section__description {
    margin-top: var(--spacing_l);
}

.section_fade:after {
    background: linear-gradient(to right, rgba(255, 255, 255, 0), #ffffff, rgba(255, 255, 255, 0));
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    mix-blend-mode: soft-light;
}

.top-bar {
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    height: 3rem;
    background-color: #fff;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12);
    padding-left: var(--spacing_content_x);
    padding-right: var(--spacing_content_x);
    will-change: transform;
    transition: transform var(--duration) var(--easing);
}

@media (min-width: 1200px) {
    .top-bar {
        left: var(--left-bar-width);
    }
}

@media (max-width: 1199px) {
    .top-bar {
        left: 0;
    }
}

@media (min-width: 1920px) {
    .top-bar {
        max-width: 64rem;
    }
}

@media (max-width: 575px) {
    .top-bar {
        padding: 0;
    }
}

@media (min-width: 1200px) {
    .section-controls {
        display: flex;
        justify-content: space-between;
    }
}