html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

:root {
    --color-white: #fff;
    --color-black: #000;
    --color-base: #f7ba01;
    --color-primary: #daa174;
    --color-red: #f70000;
    --color-red-bg: #ffdbdc;
    --color-red-border: #ffbfc1;
    --color-dark: #060606;
    --color-dark-soft: #7d7d7d;
    --color-dark-border: #363636;
    --color-gray: #e2e2e2;
    --color-gray-dark: #7a7a7a;
    --color-gray-soft: #f8f9fa;
    --color-gray-softer: #f7f7f8;
    --color-green: #599078;
    --color-green-soft: #c0f0dc;
    --color-purple: #6c5ebc;
    --color-purple-soft: #d8d2ff;
    --color-yellow: #efde35;
    --color-yellow-soft: #fffda5;
    --color-brown: #ecdbba;
    --color-blue: #002597;
    --color-blue-soft: #b5c7ff;
    --color-blue-dark: #011962;
    --color-bg-soft: #f5f4ee;
    --color-border: #f0f0f1;
    --color-border-radius: 4px;
    --color-text: var(--color-dark-soft);
    --color-text-dark: var(--color-dark);
    --bg-color: var(--color-white);
    --bg-color-dark: #060606;
    --bg-color-gray: #e2e2e2;
    --color-success: #398f14;
    --color-success-bg: #d4ffe7;
    --color-success-border: #b5fdb0;
    --color-error: var(--color-red);
    --color-error-bg: var(--color-red-bg);
    --color-error-border: var(--color-red-border);
    --color-warning: #c28e00;
    --color-warning-bg: #fffcf2;
    --color-warning-border: #faeecf;
    --color-info: #1e73be;
    --color-info-bg: #daedfd;
    --color-info-border: #b0daff;
    --color-link: var(--color-dark);
    --color-hover: rgba(6, 6, 6, .8);
    --color-outline: var(--color-primary)
}

[tabindex="-1"]:focus {
    outline: none !important
}

[role=button],
button {
    cursor: pointer
}

[role=button],
a,
area,
button,
input,
label,
select,
summary,
textarea {
    touch-action: manipulation
}

::-moz-selection {
    background: var(--color-dark);
    color: var(--color-white);
    text-shadow: none
}

::selection {
    background: var(--color-dark);
    color: var(--color-white);
    text-shadow: none
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

textarea {
    resize: vertical
}

input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

:focus,
:hover,
a,
button,
input {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

input::-ms-clear,
input::-ms-reveal {
    display: none
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none
}

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

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0
}

.fit-vids-style {
    display: none
}

iframe {
    border: none
}

[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
    cursor: pointer
}

.container,
.content-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1450px;
    width: 100%
}

.content-wrapper {
    padding-bottom: 30px;
    padding-top: 30px
}

.hidden {
    display: none !important
}

.visually-hidden {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.last-mb-0>:last-child,
.lmb0>:last-child,
.mb-0,
.mb0 {
    margin-bottom: 0
}

.clearfix {
    *zoom: 1
}

.clearfix:after,
.clearfix:before {
    content: "";
    display: table
}

.clearfix:after {
    clear: both
}

.float-left {
    float: left !important
}

.float-right {
    float: right !important
}

.float-none {
    float: none !important
}

.scroll-lock-ios {
    position: fixed
}

.scroll-lock,
.scroll-lock-ios {
    overflow: hidden;
    touch-action: none
}

.color-error {
    color: var(--color-error) !important
}

.color-success {
    color: var(--color-success) !important
}

.color-red {
    color: var(--color-red) !important
}

.color-blue {
    color: var(--color-blue) !important
}

.color-green {
    color: var(--color-green) !important
}

.color-primary {
    color: var(--color-primary) !important
}

.color-text {
    color: var(--color-text) !important
}

.color-text-light {
    color: var(--color-text-light) !important
}

.fadeIn {
    animation-name: fadeIn
}

.slideInUp {
    animation-name: slideInUp
}

.fadeInDown {
    animation-name: fadeInDown
}

.fadeInUp {
    animation-name: fadeInUp
}

:root {
    --doc-height: 100%
}

html {
    box-sizing: border-box;
    font-size: 100%;
    margin: 0;
    min-width: 320px;
    -ms-overflow-style: scrollbar;
    -ms-text-size-adjust: 100%;
    scroll-behavior: smooth
}

*,
:after,
:before {
    box-sizing: inherit
}

body,
html {
    height: 100vh;
    height: var(--doc-height)
}

body {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: var(--bg-color);
    color: var(--color-text);
    font-family: Jost, sans-serif;
    font-size: .9375rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 400;
    line-height: 1.4;
    position: relative;
    text-rendering: optimizeLegibility;
    width: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body:after {
    clear: both;
    content: "";
    display: table
}

body:has(dialog[open]) {
    overflow: hidden
}

:focus:not(:focus-visible) {
    outline: none
}

:target {
    scroll-margin-top: 100px
}

.h1,
.title-1,
h1 {
    font-size: 2.5rem;
    line-height: 1.2
}

.h1,
.h2,
.title-1,
.title-2,
h1,
h2 {
    font-family: Manrope, sans-serif;
    font-weight: 700;
    margin: 0 0 1em;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word
}

.h2,
.title-2,
h2 {
    font-size: 1.75rem;
    line-height: 1.3
}

.h3,
.title-3,
h3 {
    font-size: 1.25rem
}

.h3,
.h4,
.title-3,
.title-4,
h3,
h4 {
    font-family: Manrope, sans-serif;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 1em;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word
}

.h4,
.title-4,
h4 {
    font-size: 1.125rem
}

.text-grey {
    color: var(--color-grey-700);
    font-size: 1rem;
    font-weight: 500;
    margin: 0
}

h5,
h6 {
    font-family: Manrope, sans-serif;
    font-size: 1em;
    font-weight: 700;
    line-height: 1.2;
    margin: 1em 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.title1,
.title2,
.title3,
.title4,
.title5,
.title6,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-dark)
}

address,
blockquote,
dl,
figure,
ol,
p,
pre,
table,
ul {
    margin-bottom: 1em;
    margin-top: 0
}

a {
    color: var(--color-link);
    cursor: pointer;
    text-decoration: none;
    transition: color .2s ease;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word
}

a:hover {
    color: var(--color-hover);
    text-decoration: underline
}

a:focus-visible {
    outline-color: var(--color-outline)
}

button:not(:disabled) {
    cursor: pointer;
    outline-color: var(--color-outline)
}

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

ol,
ul {
    padding-left: 1.4em
}

ol li,
ul li {
    margin: 0 0 .8em
}

b,
strong {
    font-weight: 700
}

.bold,
.font-bold {
    font-weight: 700 !important
}

.font-medium {
    font-weight: 500 !important
}

em,
i {
    font-style: italic
}

.font-italic {
    font-style: italic !important
}

table {
    width: 100%
}

.mark,
mark {
    background-color: #fcf8e3;
    padding: .2em
}

.small,
small {
    font-size: .8em
}

.text-large {
    font-size: 1.5em
}

.text-big {
    font-size: 1.25em
}

.text-small {
    font-size: .8em
}

.text-mini {
    font-size: .6em
}

.text-tight p,
p.text-tight {
    margin-bottom: .5em
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.center,
.text-center {
    text-align: center
}

code,
pre {
    color: var(--color-text);
    font-family: Consolas, Courier New, Nimbus Mono L, monospace;
    font-size: 1em;
    overflow: hidden;
    white-space: pre-wrap;
    word-wrap: break-word;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4
}

pre {
    background: #eee;
    border-left: 7px solid #9bb4c7;
    padding: 12px
}

code {
    background-color: #eaf0f4;
    border-radius: 6px;
    padding: 3px 5px
}

code,
kbd {
    margin: 0 1px
}

kbd {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .45);
    padding: 3px 4px
}

@font-face {
    font-family: swiper-icons;
    font-style: normal;
    font-weight: 400;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1
}

.swiper {
    display: block;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    box-sizing: content-box;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    width: 100%;
    z-index: 1
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    display: block;
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    height: var(--swiper-centered-offset-after);
    min-width: 1px;
    width: 100%
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent)
}

.swiper-lazy-preloader {
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top: 4px solid transparent;
    box-sizing: border-box;
    height: 42px;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px;
    position: absolute;
    top: 50%;
    transform-origin: 50%;
    width: 42px;
    z-index: 10
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
    height: var(--swiper-virtual-size);
    width: 1px
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    align-items: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    cursor: pointer;
    display: flex;
    height: var(--swiper-navigation-size);
    justify-content: center;
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size)/44*27);
    z-index: 10
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    cursor: auto;
    opacity: .35;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    cursor: auto;
    opacity: 0;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next svg,
.swiper-button-prev svg {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center;
    width: 100%
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    font-variant: normal;
    letter-spacing: 0;
    line-height: 1;
    text-transform: none !important
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    left: auto;
    right: var(--swiper-navigation-sides-offset, 10px)
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transform: translateZ(0);
    transition: opacity .3s;
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 8px);
    left: 0;
    top: var(--swiper-pagination-top, auto);
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    font-size: 0;
    overflow: hidden
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    position: relative;
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    display: inline-block;
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px))
}

button.swiper-pagination-bullet {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    opacity: var(--swiper-pagination-bullet-opacity, 1)
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    left: var(--swiper-pagination-left, auto);
    right: var(--swiper-pagination-right, 8px);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    display: block;
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: transform .2s, top .2s
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s, left .2s
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s, right .2s
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: left top;
    width: 100%
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
    width: 100%
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    height: 100%;
    left: 0;
    top: 0;
    width: var(--swiper-pagination-progressbar-size, 4px)
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    bottom: var(--swiper-scrollbar-bottom, 4px);
    height: var(--swiper-scrollbar-size, 4px);
    left: var(--swiper-scrollbar-sides-offset, 1%);
    position: absolute;
    top: var(--swiper-scrollbar-top, auto);
    width: calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);
    z-index: 50
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    height: calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);
    left: var(--swiper-scrollbar-left, auto);
    position: absolute;
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    width: var(--swiper-scrollbar-size, 4px);
    z-index: 50
}

.swiper-scrollbar-drag {
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    height: 100%;
    left: 0;
    position: relative;
    top: 0;
    width: 100%
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    text-align: center;
    width: 100%
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-height: 100%;
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    margin: 0 auto;
    transition-timing-function: ease-out
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-direction: column;
    flex-wrap: wrap
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 100%;
    pointer-events: none;
    transform-origin: 0 0;
    visibility: hidden;
    width: 100%;
    z-index: 1
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    bottom: 0;
    height: 100%;
    left: 0;
    opacity: .6;
    position: absolute;
    width: 100%;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    background: #000;
    bottom: 0;
    content: "";
    filter: blur(50px);
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 0
}

.swiper.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    pointer-events: none;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 0
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transform-origin: center bottom
}

.swiper-slide {
    box-sizing: border-box;
    height: auto
}

.swiper-pagination-bullet {
    align-items: center;
    background-color: transparent;
    border: 1px solid var(--color-gray);
    border-radius: 50%;
    display: flex;
    height: 16px;
    justify-content: center;
    margin: 0 !important;
    opacity: 1;
    position: relative;
    transition: all .2s ease;
    width: 16px
}

.swiper-pagination-bullet:focus-visible:before,
.swiper-pagination-bullet:hover:before {
    background-color: var(--color-dark)
}

.swiper-pagination-bullet:before {
    background-color: var(--color-gray);
    border-radius: 50%;
    content: "";
    height: 8px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all .2s ease;
    width: 8px
}

.swiper-pagination-bullet-active {
    border-color: var(--color-dark)
}

.swiper-pagination-bullet-active:before {
    background-color: var(--color-dark)
}

.swiper-button-disabled {
    pointer-events: none
}

:root {
    --f-spinner-width: 36px;
    --f-spinner-height: 36px;
    --f-spinner-color-1: rgba(0, 0, 0, .1);
    --f-spinner-color-2: rgba(17, 24, 28, .8);
    --f-spinner-stroke: 2.75
}

.f-spinner {
    height: var(--f-spinner-height);
    margin: auto;
    padding: 0;
    width: var(--f-spinner-width)
}

.f-spinner svg {
    animation: f-spinner-rotate 2s linear infinite;
    height: 100%;
    vertical-align: top;
    width: 100%
}

.f-spinner svg * {
    stroke-width: var(--f-spinner-stroke);
    fill: none
}

.f-spinner svg :first-child {
    stroke: var(--f-spinner-color-1)
}

.f-spinner svg :last-child {
    stroke: var(--f-spinner-color-2);
    animation: f-spinner-dash 2s ease-in-out infinite
}

@keyframes f-spinner-rotate {
    to {
        transform: rotate(1turn)
    }
}

@keyframes f-spinner-dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0
    }

    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35
    }

    to {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124
    }
}

.f-throwOutUp {
    animation: var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp
}

.f-throwOutDown {
    animation: var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown
}

@keyframes f-throwOutUp {
    to {
        opacity: 0;
        transform: translate3d(0, calc(var(--f-throw-out-distance, 150px)*-1), 0)
    }
}

@keyframes f-throwOutDown {
    to {
        opacity: 0;
        transform: translate3d(0, var(--f-throw-out-distance, 150px), 0)
    }
}

.f-zoomInUp {
    animation: var(--f-transition-duration, .2s) ease .1s both f-zoomInUp
}

.f-zoomOutDown {
    animation: var(--f-transition-duration, .2s) ease both f-zoomOutDown
}

@keyframes f-zoomInUp {
    0% {
        opacity: 0;
        transform: scale(.975) translate3d(0, 16px, 0)
    }

    to {
        opacity: 1;
        transform: scale(1) translateZ(0)
    }
}

@keyframes f-zoomOutDown {
    to {
        opacity: 0;
        transform: scale(.975) translate3d(0, 16px, 0)
    }
}

.f-fadeIn {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
    z-index: 2
}

.f-fadeOut {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
    z-index: 1
}

@keyframes f-fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeOut {
    to {
        opacity: 0
    }
}

.f-fadeFastIn {
    animation: var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;
    z-index: 2
}

.f-fadeFastOut {
    animation: var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;
    z-index: 2
}

@keyframes f-fadeFastIn {
    0% {
        opacity: .75
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeFastOut {
    to {
        opacity: 0
    }
}

.f-fadeSlowIn {
    animation: var(--f-transition-duration, .5s) ease both f-fadeSlowIn;
    z-index: 2
}

.f-fadeSlowOut {
    animation: var(--f-transition-duration, .5s) ease both f-fadeSlowOut;
    z-index: 1
}

@keyframes f-fadeSlowIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeSlowOut {
    to {
        opacity: 0
    }
}

.f-crossfadeIn {
    animation: var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;
    z-index: 2
}

.f-crossfadeOut {
    animation: calc(var(--f-transition-duration, .2s)*.5) linear .1s both f-crossfadeOut;
    z-index: 1
}

@keyframes f-crossfadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-crossfadeOut {
    to {
        opacity: 0
    }
}

.f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInNext
}

.f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideInPrev
}

.f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutNext
}

.f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-slideOutPrev
}

@keyframes f-slideInPrev {
    0% {
        transform: translateX(100%)
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNext {
    0% {
        transform: translateX(-100%)
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNext {
    to {
        transform: translateX(-100%)
    }
}

@keyframes f-slideOutPrev {
    to {
        transform: translateX(100%)
    }
}

.f-classicIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicInNext;
    z-index: 2
}

.f-classicIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicInPrev;
    z-index: 2
}

.f-classicOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicOutNext;
    z-index: 1
}

.f-classicOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16, 1, .3, 1) f-classicOutPrev;
    z-index: 1
}

@keyframes f-classicInNext {
    0% {
        opacity: 0;
        transform: translateX(-75px)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes f-classicInPrev {
    0% {
        opacity: 0;
        transform: translateX(75px)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes f-classicOutNext {
    to {
        opacity: 0;
        transform: translateX(-75px)
    }
}

@keyframes f-classicOutPrev {
    to {
        opacity: 0;
        transform: translateX(75px)
    }
}

:root {
    --f-button-width: 40px;
    --f-button-height: 40px;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: #374151;
    --f-button-bg: #f8f8f8;
    --f-button-hover-bg: #e0e0e0;
    --f-button-active-bg: #d0d0d0;
    --f-button-shadow: none;
    --f-button-transition: all 0.15s ease;
    --f-button-transform: none;
    --f-button-svg-width: 20px;
    --f-button-svg-height: 20px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: none;
    --f-button-svg-disabled-opacity: 0.65
}

.f-button {
    align-items: center;
    background: var(--f-button-bg);
    border: var(--f-button-border);
    border-radius: var(--f-button-border-radius);
    box-shadow: var(--f-button-shadow);
    box-sizing: content-box;
    color: var(--f-button-color);
    cursor: pointer;
    display: flex;
    height: var(--f-button-height);
    justify-content: center;
    margin: 0;
    padding: 0;
    pointer-events: all;
    position: relative;
    transition: var(--f-button-transition);
    width: var(--f-button-width)
}

.f-button:active:not([disabled]) {
    background-color: var(--f-button-active-bg)
}

.f-button:focus:not(:focus-visible) {
    outline: none
}

.f-button:focus-visible {
    box-shadow: inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color));
    outline: none
}

.f-button svg {
    height: var(--f-button-svg-height);
    width: var(--f-button-svg-width);
    fill: var(--f-button-svg-fill);
    stroke: currentColor;
    stroke-width: var(--f-button-svg-stroke-width);
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: var(--f-button-svg-filter);
    pointer-events: none;
    transform: var(--f-button-transform);
    transition: opacity .15s ease
}

.f-button[disabled] {
    cursor: default
}

.f-button[disabled] svg {
    opacity: var(--f-button-svg-disabled-opacity)
}

.f-carousel__nav .f-button.is-next,
.f-carousel__nav .f-button.is-prev,
.fancybox__nav .f-button.is-next,
.fancybox__nav .f-button.is-prev {
    position: absolute;
    z-index: 1
}

.is-horizontal .f-carousel__nav .f-button.is-next,
.is-horizontal .f-carousel__nav .f-button.is-prev,
.is-horizontal .fancybox__nav .f-button.is-next,
.is-horizontal .fancybox__nav .f-button.is-prev {
    top: 50%;
    transform: translateY(-50%)
}

.is-horizontal .f-carousel__nav .f-button.is-prev,
.is-horizontal .fancybox__nav .f-button.is-prev {
    left: var(--f-button-prev-pos)
}

.is-horizontal .f-carousel__nav .f-button.is-next,
.is-horizontal .fancybox__nav .f-button.is-next {
    right: var(--f-button-next-pos)
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,
.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev {
    left: auto;
    right: var(--f-button-next-pos)
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,
.is-horizontal.is-rtl .fancybox__nav .f-button.is-next {
    left: var(--f-button-prev-pos);
    right: auto
}

.is-vertical .f-carousel__nav .f-button.is-next,
.is-vertical .f-carousel__nav .f-button.is-prev,
.is-vertical .fancybox__nav .f-button.is-next,
.is-vertical .fancybox__nav .f-button.is-prev {
    left: 50%;
    top: auto;
    transform: translateX(-50%)
}

.is-vertical .f-carousel__nav .f-button.is-prev,
.is-vertical .fancybox__nav .f-button.is-prev {
    top: var(--f-button-next-pos)
}

.is-vertical .f-carousel__nav .f-button.is-next,
.is-vertical .fancybox__nav .f-button.is-next {
    bottom: var(--f-button-next-pos)
}

.is-vertical .f-carousel__nav .f-button.is-next svg,
.is-vertical .f-carousel__nav .f-button.is-prev svg,
.is-vertical .fancybox__nav .f-button.is-next svg,
.is-vertical .fancybox__nav .f-button.is-prev svg {
    transform: rotate(90deg)
}

.f-carousel__nav .f-button:disabled,
.fancybox__nav .f-button:disabled {
    pointer-events: none
}

html.with-fancybox {
    overflow: visible;
    scroll-behavior: auto;
    width: auto
}

html.with-fancybox body {
    touch-action: none
}

html.with-fancybox body.hide-scrollbar {
    margin-right: calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));
    overflow: hidden !important;
    overscroll-behavior-y: none;
    width: auto
}

.fancybox__container {
    --fancybox-color: #dbdbdb;
    --fancybox-hover-color: #fff;
    --fancybox-bg: rgba(24, 24, 27, .98);
    --fancybox-slide-gap: 10px;
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-color-1: hsla(0, 0%, 100%, .1);
    --f-spinner-color-2: #bbb;
    --f-spinner-stroke: 3.65;
    bottom: 0;
    box-sizing: border-box;
    color: #f8f8f8;
    direction: ltr;
    display: flex;
    flex-direction: column;
    left: 0;
    margin: 0;
    padding: 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline: none;
    overflow: visible;
    transform-origin: top left;
    z-index: var(--fancybox-zIndex, 1050);
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: none;
    text-size-adjust: 100%;
    overscroll-behavior-y: contain
}

.fancybox__container *,
.fancybox__container :after,
.fancybox__container :before {
    box-sizing: inherit
}

.fancybox__container::backdrop {
    background-color: transparent
}

.fancybox__backdrop {
    background: var(--fancybox-bg);
    bottom: 0;
    left: 0;
    opacity: var(--fancybox-opacity, 1);
    position: fixed;
    right: 0;
    top: 0;
    will-change: opacity;
    z-index: -1
}

.fancybox__carousel {
    box-sizing: border-box;
    flex: 1;
    min-height: 0;
    overflow-x: clip;
    overflow-y: visible;
    position: relative;
    z-index: 10
}

.fancybox__viewport {
    height: 100%;
    width: 100%
}

.fancybox__viewport.is-draggable {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab
}

.fancybox__viewport.is-dragging {
    cursor: move;
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.fancybox__track {
    display: flex;
    height: 100%;
    margin: 0 auto
}

.fancybox__slide {
    align-items: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    height: 100%;
    margin: 0 var(--fancybox-slide-gap) 0 0;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 4px;
    position: relative;
    transform: translateZ(0);
    width: 100%
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
    padding-top: 40px
}

.fancybox__slide.has-html5video,
.fancybox__slide.has-iframe,
.fancybox__slide.has-image,
.fancybox__slide.has-video {
    overflow: hidden
}

.fancybox__slide.has-image.is-animating,
.fancybox__slide.has-image.is-selected {
    overflow: visible
}

.fancybox__slide:after,
.fancybox__slide:before {
    content: "";
    flex: 0 0 0;
    margin: auto
}

.fancybox__backdrop:empty,
.fancybox__slide:empty,
.fancybox__track:empty,
.fancybox__viewport:empty {
    display: block
}

.fancybox__content {
    align-self: center;
    background: var(--fancybox-content-bg, #fff);
    border-radius: 0;
    color: var(--fancybox-content-color, #374151);
    cursor: default;
    display: flex;
    flex-direction: column;
    margin: 0;
    max-width: 100%;
    padding: 2rem;
    position: relative;
    z-index: 20
}

.is-loading .fancybox__content {
    opacity: 0
}

.is-draggable .fancybox__content {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab
}

.can-zoom_in .fancybox__content {
    cursor: zoom-in
}

.can-zoom_out .fancybox__content {
    cursor: zoom-out
}

.is-dragging .fancybox__content {
    cursor: move;
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.fancybox__content [contenteditable],
.fancybox__content [data-selectable] {
    cursor: auto
}

.fancybox__slide.has-image>.fancybox__content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: transparent;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    min-height: 1px;
    padding: 0;
    transform: translateZ(0);
    transition: none
}

.fancybox__slide.has-image>.fancybox__content>picture>img {
    height: auto;
    max-height: 100%;
    width: 100%
}

.is-animating .fancybox__content,
.is-dragging .fancybox__content {
    will-change: transform, width, height
}

.fancybox-image {
    display: block;
    filter: blur(0);
    height: 100%;
    margin: auto;
    min-height: 0;
    -o-object-fit: contain;
    object-fit: contain;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width: 100%
}

.fancybox__caption {
    align-self: center;
    color: var(--fancybox-color, currentColor);
    cursor: auto;
    flex-shrink: 0;
    line-height: 1.375;
    margin: 0;
    max-width: 100%;
    opacity: var(--fancybox-opacity, 1);
    overflow-wrap: anywhere;
    padding: 14px 0 4px;
    visibility: visible
}

.is-closing .fancybox__caption,
.is-loading .fancybox__caption {
    opacity: 0;
    visibility: hidden
}

.is-compact .fancybox__caption {
    padding-bottom: 0
}

.f-button.is-close-btn {
    --f-button-svg-stroke-width: 2;
    position: absolute;
    right: 8px;
    top: 0;
    z-index: 40
}

.fancybox__content>.f-button.is-close-btn {
    --f-button-width: 34px;
    --f-button-height: 34px;
    --f-button-border-radius: 4px;
    --f-button-color: var(--fancybox-color, #fff);
    --f-button-hover-color: var(--fancybox-color, #fff);
    --f-button-bg: transparent;
    --f-button-hover-bg: transparent;
    --f-button-active-bg: transparent;
    --f-button-svg-width: 22px;
    --f-button-svg-height: 22px;
    opacity: .75;
    position: absolute;
    right: 0;
    top: -38px
}

.is-loading .fancybox__content>.f-button.is-close-btn,
.is-zooming-out .fancybox__content>.f-button.is-close-btn {
    visibility: hidden
}

.fancybox__content>.f-button.is-close-btn:hover {
    opacity: 1
}

.fancybox__footer {
    margin: 0;
    padding: 0;
    position: relative
}

.fancybox__footer .fancybox__caption {
    opacity: var(--fancybox-opacity, 1);
    padding: 24px;
    transition: all .25s ease;
    width: 100%
}

.is-compact .fancybox__footer {
    background: rgba(24, 24, 27, .5);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 20
}

.is-compact .fancybox__footer .fancybox__caption {
    padding: 12px
}

.is-compact .fancybox__content>.f-button.is-close-btn {
    --f-button-border-radius: 50%;
    --f-button-color: #fff;
    --f-button-hover-color: #fff;
    --f-button-outline-color: #000;
    --f-button-bg: rgba(0, 0, 0, .6);
    --f-button-active-bg: rgba(0, 0, 0, .6);
    --f-button-hover-bg: rgba(0, 0, 0, .6);
    --f-button-svg-width: 18px;
    --f-button-svg-height: 18px;
    --f-button-svg-filter: none;
    right: 5px;
    top: 5px
}

.fancybox__nav {
    --f-button-width: 50px;
    --f-button-height: 50px;
    --f-button-border: 0;
    --f-button-border-radius: 50%;
    --f-button-color: var(--fancybox-color);
    --f-button-hover-color: var(--fancybox-hover-color);
    --f-button-bg: transparent;
    --f-button-hover-bg: rgba(24, 24, 27, .3);
    --f-button-active-bg: rgba(24, 24, 27, .5);
    --f-button-shadow: none;
    --f-button-transition: all 0.15s ease;
    --f-button-transform: none;
    --f-button-svg-width: 26px;
    --f-button-svg-height: 26px;
    --f-button-svg-stroke-width: 2.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));
    --f-button-svg-disabled-opacity: 0.65;
    --f-button-next-pos: 1rem;
    --f-button-prev-pos: 1rem;
    opacity: var(--fancybox-opacity, 1)
}

.fancybox__nav .f-button:before {
    bottom: -30px;
    content: "";
    left: -20px;
    position: absolute;
    right: -20px;
    top: -30px;
    z-index: 1
}

.is-idle .fancybox__nav,
.is-idle.is-compact .fancybox__footer {
    animation: f-fadeOut .15s ease-out both
}

.is-idle.is-compact .fancybox__footer {
    pointer-events: none
}

.fancybox__slide>.f-spinner {
    cursor: pointer;
    left: 50%;
    margin: var(--f-spinner-top, calc(var(--f-spinner-width)*-.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height)*-.5));
    position: absolute;
    top: 50%;
    z-index: 30
}

.fancybox-protected {
    bottom: 0;
    right: 0
}

.fancybox-ghost,
.fancybox-protected {
    left: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 40
}

.fancybox-ghost {
    height: 100%;
    min-height: 0;
    -o-object-fit: contain;
    object-fit: contain;
    pointer-events: none;
    width: 100%
}

.fancybox-focus-guard {
    opacity: 0;
    outline: none;
    pointer-events: none;
    position: fixed
}

.fancybox__container:not([aria-hidden]) {
    opacity: 0
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>:not(.fancybox__content),
.fancybox__container.is-animated[aria-hidden=false]>:not(.fancybox__backdrop, .fancybox__carousel) {
    animation: var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop {
    animation: var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn
}

.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>:not(.fancybox__viewport),
.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>:not(.fancybox__content),
.fancybox__container.is-animated[aria-hidden=true]>:not(.fancybox__backdrop, .fancybox__carousel) {
    animation: var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut
}

.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop {
    animation: var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut
}

.has-html5video .fancybox__content,
.has-iframe .fancybox__content,
.has-map .fancybox__content,
.has-pdf .fancybox__content,
.has-vimeo .fancybox__content,
.has-youtube .fancybox__content {
    flex-shrink: 1;
    max-width: 100%;
    min-height: 1px;
    overflow: visible
}

.has-iframe .fancybox__content,
.has-map .fancybox__content,
.has-pdf .fancybox__content {
    height: 90%;
    width: calc(100% - 120px)
}

.fancybox__container.is-compact .has-iframe .fancybox__content,
.fancybox__container.is-compact .has-map .fancybox__content,
.fancybox__container.is-compact .has-pdf .fancybox__content {
    height: 100%;
    width: 100%
}

.has-html5video .fancybox__content,
.has-vimeo .fancybox__content,
.has-youtube .fancybox__content {
    height: 540px;
    max-height: 100%;
    max-width: 100%;
    width: 960px
}

.has-html5video .fancybox__content,
.has-map .fancybox__content,
.has-pdf .fancybox__content,
.has-vimeo .fancybox__content,
.has-youtube .fancybox__content {
    background: rgba(24, 24, 27, .9);
    color: #fff;
    padding: 0
}

.has-map .fancybox__content {
    background: #e5e3df
}

.fancybox__html5video,
.fancybox__iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    width: 100%
}

.fancybox-placeholder {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important
}

.f-carousel__thumbs {
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-outline: 0;
    --f-thumb-outline-color: #5eb0ef;
    --f-thumb-opacity: 1;
    --f-thumb-hover-opacity: 1;
    --f-thumb-selected-opacity: 1;
    --f-thumb-border-radius: 2px;
    --f-thumb-offset: 0px;
    --f-button-next-pos: 0;
    --f-button-prev-pos: 0
}

.f-carousel__thumbs.is-classic {
    --f-thumb-gap: 8px;
    --f-thumb-opacity: 0.5;
    --f-thumb-hover-opacity: 1;
    --f-thumb-selected-opacity: 1
}

.f-carousel__thumbs.is-modern {
    --f-thumb-gap: 4px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-clip-width: 46px
}

.f-thumbs {
    flex: 0 0 auto;
    margin: 0;
    overflow: hidden;
    position: relative;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    perspective: 1000px;
    transform: translateZ(0);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.f-thumbs .f-spinner {
    background-image: linear-gradient(#ebeff2, #e2e8f0);
    border-radius: 2px;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

.f-thumbs .f-spinner svg {
    display: none
}

.f-thumbs.is-vertical {
    height: 100%
}

.f-thumbs__viewport {
    height: auto;
    overflow: hidden;
    transform: translateZ(0);
    width: 100%
}

.f-thumbs__track {
    display: flex
}

.f-thumbs__slide {
    align-items: center;
    box-sizing: content-box;
    cursor: pointer;
    display: flex;
    flex: 0 0 auto;
    height: var(--f-thumb-height);
    justify-content: center;
    margin: 0;
    overflow: visible;
    padding: 0;
    position: relative;
    width: var(--f-thumb-width)
}

.f-thumbs__slide.is-loading img {
    opacity: 0
}

.is-classic .f-thumbs__viewport {
    height: 100%
}

.is-modern .f-thumbs__track {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content
}

.is-modern .f-thumbs__track:before {
    bottom: 0;
    content: "";
    cursor: pointer;
    left: calc((var(--f-thumb-clip-width, 0))*-.5);
    position: absolute;
    top: 0;
    width: calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0))
}

.is-modern .f-thumbs__slide {
    pointer-events: none;
    transform: translate3d(calc(var(--shift, 0)*-1px), 0, 0);
    transition: none;
    width: var(--f-thumb-clip-width)
}

.is-modern.is-resting .f-thumbs__slide {
    transition: transform .33s ease
}

.is-modern.is-resting .f-thumbs__slide__button {
    transition: -webkit-clip-path .33s ease;
    transition: clip-path .33s ease;
    transition: clip-path .33s ease, -webkit-clip-path .33s ease
}

.is-using-tab .is-modern .f-thumbs__slide:focus-within {
    filter: drop-shadow(-1px 0 0 var(--f-thumb-outline-color)) drop-shadow(2px 0 0 var(--f-thumb-outline-color)) drop-shadow(0 -1px 0 var(--f-thumb-outline-color)) drop-shadow(0 2px 0 var(--f-thumb-outline-color))
}

.f-thumbs__slide__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: var(--f-thumb-border-radius);
    cursor: pointer;
    height: 100%;
    margin: 0 -100%;
    opacity: var(--f-thumb-opacity);
    outline: none;
    overflow: hidden;
    padding: 0;
    pointer-events: auto;
    position: relative;
    touch-action: manipulation;
    transition: opacity .2s ease;
    width: var(--f-thumb-width)
}

.f-thumbs__slide__button:hover {
    opacity: var(--f-thumb-hover-opacity)
}

.f-thumbs__slide__button:focus:not(:focus-visible) {
    outline: none
}

.f-thumbs__slide__button:focus-visible {
    opacity: var(--f-thumb-selected-opacity);
    outline: none
}

.is-modern .f-thumbs__slide__button {
    --clip-path: inset(0 calc((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))*(1 - var(--progress, 0))*0.5) round var(--f-thumb-border-radius, 0));
    -webkit-clip-path: var(--clip-path);
    clip-path: var(--clip-path)
}

.is-classic .is-nav-selected .f-thumbs__slide__button {
    opacity: var(--f-thumb-selected-opacity)
}

.is-classic .is-nav-selected .f-thumbs__slide__button:after {
    animation: f-fadeIn .2s ease-out;
    border: var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);
    content: "";
    height: auto;
    z-index: 10
}

.f-thumbs__slide__img,
.is-classic .is-nav-selected .f-thumbs__slide__button:after {
    border-radius: var(--f-thumb-border-radius);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.f-thumbs__slide__img {
    box-sizing: border-box;
    height: 100%;
    margin: 0;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden;
    padding: var(--f-thumb-offset);
    pointer-events: none;
    width: 100%
}

.f-thumbs.is-horizontal .f-thumbs__track {
    padding: 8px 0 12px
}

.f-thumbs.is-horizontal .f-thumbs__slide {
    margin: 0 var(--f-thumb-gap) 0 0
}

.f-thumbs.is-vertical .f-thumbs__track {
    flex-wrap: wrap;
    padding: 0 8px
}

.f-thumbs.is-vertical .f-thumbs__slide {
    margin: 0 0 var(--f-thumb-gap) 0
}

.fancybox__thumbs {
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-border-radius: 2px;
    --f-thumb-outline: 2px;
    --f-thumb-outline-color: #ededed;
    opacity: var(--fancybox-opacity, 1);
    position: relative;
    transition: max-height .35s cubic-bezier(.23, 1, .32, 1)
}

.fancybox__thumbs.is-classic {
    --f-thumb-gap: 8px;
    --f-thumb-opacity: 0.5;
    --f-thumb-hover-opacity: 1
}

.fancybox__thumbs.is-classic .f-spinner {
    background-image: linear-gradient(hsla(0, 0%, 100%, .1), hsla(0, 0%, 100%, .05))
}

.fancybox__thumbs.is-modern {
    --f-thumb-gap: 4px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-clip-width: 46px;
    --f-thumb-opacity: 1;
    --f-thumb-hover-opacity: 1
}

.fancybox__thumbs.is-modern .f-spinner {
    background-image: linear-gradient(hsla(0, 0%, 100%, .1), hsla(0, 0%, 100%, .05))
}

.fancybox__thumbs.is-horizontal {
    padding: 0 var(--f-thumb-gap)
}

.fancybox__thumbs.is-vertical {
    padding: var(--f-thumb-gap) 0
}

.is-compact .fancybox__thumbs {
    --f-thumb-width: 64px;
    --f-thumb-clip-width: 32px;
    --f-thumb-height: 48px;
    --f-thumb-extra-gap: 10px
}

.fancybox__thumbs.is-masked {
    max-height: 0 !important
}

.is-closing .fancybox__thumbs {
    transition: none !important
}

.fancybox__toolbar {
    --f-progress-color: var(--fancybox-color, hsla(0, 0%, 100%, .94));
    --f-button-width: 46px;
    --f-button-height: 46px;
    --f-button-color: var(--fancybox-color);
    --f-button-hover-color: var(--fancybox-hover-color);
    --f-button-bg: rgba(24, 24, 27, .65);
    --f-button-hover-bg: rgba(70, 70, 73, .65);
    --f-button-active-bg: rgba(90, 90, 93, .65);
    --f-button-border-radius: 0;
    --f-button-svg-width: 24px;
    --f-button-svg-height: 24px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));
    --f-button-svg-fill: none;
    --f-button-svg-disabled-opacity: 0.65;
    color: var(--fancybox-color, currentColor);
    display: flex;
    flex-direction: row;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif;
    justify-content: space-between;
    margin: 0;
    opacity: var(--fancybox-opacity, 1);
    padding: 0;
    pointer-events: none;
    text-shadow: var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));
    z-index: 20
}

.fancybox__toolbar :focus-visible {
    z-index: 1
}

.fancybox__toolbar.is-absolute,
.is-compact .fancybox__toolbar {
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.is-idle .fancybox__toolbar {
    animation: f-fadeOut .15s ease-out both;
    pointer-events: none
}

.fancybox__toolbar__column {
    align-content: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.fancybox__toolbar__column.is-left,
.fancybox__toolbar__column.is-right {
    flex-basis: 0;
    flex-grow: 1
}

.fancybox__toolbar__column.is-right {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end
}

.fancybox__infobar {
    font-size: 17px;
    font-variant-numeric: tabular-nums;
    line-height: var(--f-button-height);
    padding: 0 5px;
    text-align: center;
    -webkit-font-smoothing: subpixel-antialiased;
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.fancybox__infobar span {
    padding: 0 5px
}

.fancybox__infobar:not(:first-child):not(:last-child) {
    background: var(--f-button-bg)
}

[data-fancybox-toggle-slideshow] {
    position: relative
}

[data-fancybox-toggle-slideshow] .f-progress {
    height: 100%;
    opacity: .3
}

[data-fancybox-toggle-slideshow] svg g:first-child {
    display: flex
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child,
[data-fancybox-toggle-slideshow] svg g:last-child {
    display: none
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child,
[data-fancybox-toggle-fullscreen] svg g:first-child {
    display: flex
}

[data-fancybox-toggle-fullscreen] svg g:last-child {
    display: none
}

:-webkit-full-screen [data-fancybox-toggle-fullscreen] svg g:first-child {
    display: none
}

:-moz-full-screen [data-fancybox-toggle-fullscreen] svg g:first-child {
    display: none
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child {
    display: none
}

:-webkit-full-screen [data-fancybox-toggle-fullscreen] svg g:last-child {
    display: flex
}

:-moz-full-screen [data-fancybox-toggle-fullscreen] svg g:last-child {
    display: flex
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child {
    display: flex
}

.f-progress {
    background: var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));
    height: 3px;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    z-index: 30
}

.fancybox__content {
    background-color: transparent
}

.fancybox__content.fancybox-video {
    display: block !important
}

.fancybox__content.fancybox-video iframe,
.fancybox__content.fancybox-video video {
    aspect-ratio: 1/.5;
    width: 70vw
}

.noUi-target,
.noUi-target * {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    box-sizing: border-box;
    touch-action: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.noUi-base,
.noUi-connects {
    height: 100%;
    position: relative;
    width: 100%;
    z-index: 1
}

.noUi-connects {
    overflow: hidden;
    z-index: 0
}

.noUi-connect,
.noUi-origin {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    -ms-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform-style: preserve-3d;
    transform-style: flat;
    width: 100%;
    will-change: transform;
    z-index: 1
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
    left: 0;
    right: auto
}

.noUi-vertical .noUi-origin {
    top: -100%;
    width: 0
}

.noUi-horizontal .noUi-origin {
    height: 0
}

.noUi-handle {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute
}

.noUi-touch-area {
    height: 100%;
    width: 100%
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
    transition: transform .3s
}

.noUi-state-drag * {
    cursor: inherit !important
}

.noUi-horizontal {
    height: 18px
}

.noUi-horizontal .noUi-handle {
    height: 28px;
    right: -17px;
    top: -6px;
    width: 34px
}

.noUi-vertical {
    width: 18px
}

.noUi-vertical .noUi-handle {
    bottom: -17px;
    height: 34px;
    right: -6px;
    width: 28px
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
    left: -17px;
    right: auto
}

.noUi-target {
    background: #fafafa;
    border: 1px solid #d3d3d3;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px #f0f0f0, 0 3px 6px -5px #bbb
}

.noUi-connects {
    border-radius: 3px
}

.noUi-connect {
    background: #3fb8af
}

.noUi-draggable {
    cursor: ew-resize
}

.noUi-vertical .noUi-draggable {
    cursor: ns-resize
}

.noUi-handle {
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ebebeb, 0 3px 6px -3px #bbb;
    cursor: default
}

.noUi-active {
    box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #ddd, 0 3px 6px -3px #bbb
}

.noUi-handle:after,
.noUi-handle:before {
    background: #e8e7e6;
    content: "";
    display: block;
    height: 14px;
    left: 14px;
    position: absolute;
    top: 6px;
    width: 1px
}

.noUi-handle:after {
    left: 17px
}

.noUi-vertical .noUi-handle:after,
.noUi-vertical .noUi-handle:before {
    height: 1px;
    left: 6px;
    top: 14px;
    width: 14px
}

.noUi-vertical .noUi-handle:after {
    top: 17px
}

[disabled] .noUi-connect {
    background: #b8b8b8
}

[disabled] .noUi-handle,
[disabled].noUi-handle,
[disabled].noUi-target {
    cursor: not-allowed
}

.noUi-pips,
.noUi-pips * {
    box-sizing: border-box
}

.noUi-pips {
    color: #999;
    position: absolute
}

.noUi-value {
    position: absolute;
    text-align: center;
    white-space: nowrap
}

.noUi-value-sub {
    color: #ccc;
    font-size: 10px
}

.noUi-marker {
    background: #ccc;
    position: absolute
}

.noUi-marker-large,
.noUi-marker-sub {
    background: #aaa
}

.noUi-pips-horizontal {
    height: 80px;
    left: 0;
    padding: 10px 0;
    top: 100%;
    width: 100%
}

.noUi-value-horizontal {
    transform: translate(-50%, 50%)
}

.noUi-rtl .noUi-value-horizontal {
    transform: translate(50%, 50%)
}

.noUi-marker-horizontal.noUi-marker {
    height: 5px;
    margin-left: -1px;
    width: 2px
}

.noUi-marker-horizontal.noUi-marker-sub {
    height: 10px
}

.noUi-marker-horizontal.noUi-marker-large {
    height: 15px
}

.noUi-pips-vertical {
    height: 100%;
    left: 100%;
    padding: 0 10px;
    top: 0
}

.noUi-value-vertical {
    padding-left: 25px;
    transform: translateY(-50%)
}

.noUi-rtl .noUi-value-vertical {
    transform: translateY(50%)
}

.noUi-marker-vertical.noUi-marker {
    height: 2px;
    margin-top: -1px;
    width: 5px
}

.noUi-marker-vertical.noUi-marker-sub {
    width: 10px
}

.noUi-marker-vertical.noUi-marker-large {
    width: 15px
}

.noUi-tooltip {
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    color: #000;
    display: block;
    padding: 5px;
    position: absolute;
    text-align: center;
    white-space: nowrap
}

.noUi-horizontal .noUi-tooltip {
    bottom: 120%;
    left: 50%;
    transform: translate(-50%)
}

.noUi-vertical .noUi-tooltip {
    right: 120%;
    top: 50%;
    transform: translateY(-50%)
}

.noUi-horizontal .noUi-origin>.noUi-tooltip {
    bottom: 10px;
    left: auto;
    transform: translate(50%)
}

.noUi-vertical .noUi-origin>.noUi-tooltip {
    right: 28px;
    top: auto;
    transform: translateY(-18px)
}

.noUi-target {
    background: none;
    border: none;
    box-shadow: none;
    height: 16px;
    position: relative
}

.noUi-target:before {
    content: "";
    display: block;
    height: 4px;
    left: 0;
    margin-top: -2px;
    position: absolute;
    right: 0
}

.noUi-connect,
.noUi-target:before {
    background-color: var(--color-gray);
    top: 50%
}

.noUi-connect {
    height: 2px;
    margin-top: 0
}

.noUi-handle {
    background: var(--color-gray);
    border: 2px solid var(--color-gray);
    border-radius: 50%;
    box-shadow: none;
    height: 32px;
    width: 32px
}

.noUi-handle:after,
.noUi-handle:before {
    display: none
}

.noUi-horizontal .noUi-handle {
    height: 16px;
    right: -8px;
    top: 0;
    width: 16px
}

@keyframes rotate {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -100%, 0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@keyframes fadeInZoom {
    0% {
        opacity: 0;
        transform: scale(.8)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes fadeOutZoom {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    to {
        opacity: 0;
        transform: scale(.8)
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 40px, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

@keyframes fadeOutUp {
    0% {
        opacity: 1;
        transform: translateZ(0)
    }

    to {
        opacity: 0;
        transform: translate3d(0, 40px, 0)
    }
}

@keyframes zoomIn {
    0% {
        transform: scale(.8)
    }

    to {
        transform: scale(1)
    }
}

@keyframes zoomOut {
    0% {
        transform: scale(1)
    }

    to {
        transform: scale(.8)
    }
}

@keyframes fadeInSlide {
    0% {
        opacity: 0;
        transform: translateX(-150%)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes fadeOutSlide {
    0% {
        opacity: 1;
        transform: translateX(0)
    }

    to {
        opacity: 0;
        transform: translateX(-150%)
    }
}

@keyframes fadeInSlideDown {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes shakeY {

    0%,
    to {
        transform: translateZ(0)
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translate3d(0, -7px, 0)
    }

    20%,
    40%,
    60%,
    80% {
        transform: translate3d(0, 7px, 0)
    }
}

@keyframes slideTextIn {
    0% {
        opacity: 0;
        transform: translateY(-100%)
    }

    60% {
        opacity: 1;
        transform: translateY(20%)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes slideTextOut {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    60% {
        opacity: 0;
        transform: translateY(120%)
    }

    to {
        opacity: 0;
        transform: translateY(100%)
    }
}

@keyframes slideInUp {
    0% {
        transform: translate3d(0, 100%, 0)
    }

    to {
        transform: translateZ(0)
    }
}

.icon {
    display: inline-block;
    fill: currentColor
}

.icon path {
    fill-rule: evenodd;
    clip-rule: evenodd
}

.button {
    align-items: center;
    background-color: var(--color-dark);
    border-color: var(--color-dark);
    border-radius: 0;
    border-style: solid;
    border-width: 2px;
    color: var(--color-white);
    cursor: pointer;
    display: inline-flex;
    flex-flow: row nowrap;
    font-family: Jost, sans-serif;
    font-size: .875rem;
    font-weight: 500;
    gap: .375rem;
    justify-content: center;
    line-height: 1.2;
    min-height: 2.375rem;
    min-width: 160px;
    padding: .5rem .9375rem;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease
}

.button:focus-visible,
.button:hover {
    background-color: var(--color-dark-border);
    border-color: var(--color-dark-border);
    color: var(--color-white);
    text-decoration: none
}

.button:focus-visible {
    outline: 3px solid var(--color-primary)
}

.button:active {
    text-decoration: none
}

.button.disabled,
.button:active,
.button:disabled {
    background-color: var(--color-dark-soft);
    border-color: var(--color-dark-soft);
    color: var(--color-white)
}

.button.disabled,
.button:disabled {
    pointer-events: none
}

.button .icon {
    flex: 0 0 auto;
    height: 1.125rem;
    width: 1.125rem
}

.button__caption {
    flex: 0 1 auto;
    position: relative
}

.button__icon {
    flex: 0 0 auto
}

.button--icon-right .button__icon {
    order: 3
}

.button--small {
    font-size: .875rem;
    min-height: 33px;
    min-width: 120px;
    padding: .3125rem .75rem
}

.button--small .icon {
    height: 1.25rem;
    width: 1.25rem
}

.button--bigger {
    font-weight: 700
}

.button--bigger .icon {
    height: 1.125rem;
    width: 1.125rem
}

.button--large {
    font-size: 1rem;
    min-height: 2.8125rem;
    padding: .5rem .9375rem
}

.button--round {
    height: 3.125rem;
    padding: .625rem;
    width: 3.125rem
}

.button--round .icon {
    height: 1.125rem;
    width: 1.125rem
}

.button--round.button--small {
    height: 2.625rem;
    padding: .375rem;
    width: 2.625rem
}

.button--round.button--small .icon {
    height: 1.25rem;
    width: 1.25rem
}

.button--round.button--large {
    height: 3.75rem;
    padding: .75rem;
    width: 3.75rem
}

.button--round.button--large .icon {
    height: 1.125rem;
    width: 1.125rem
}

.button--square {
    border-radius: 8px;
    border-width: 1px
}

.button--outline {
    background-color: var(--color-white);
    color: var(--color-dark)
}

.button--outline:focus-visible,
.button--outline:hover {
    background-color: var(--color-dark);
    border-color: var(--color-dark)
}

.button--outline:active {
    background-color: var(--color-dark-soft);
    border-color: var(--color-dark-soft);
    color: var(--color-white)
}

.button--outline.disabled,
.button--outline:disabled {
    background-color: var(--color-white);
    border-color: var(--color-dark-soft);
    color: var(--color-dark-soft)
}

.button--outline-white {
    background-color: transparent;
    border-color: var(--color-white);
    color: var(--color-white)
}

.button--outline-white:focus-visible,
.button--outline-white:hover {
    background-color: var(--color-white);
    border-color: var(--color-white);
    color: var(--color-dark)
}

.button--outline-white.disabled,
.button--outline-white:active,
.button--outline-white:disabled {
    background-color: var(--color-dark-soft);
    border-color: var(--color-dark-soft);
    color: var(--color-white)
}

.button--transparent {
    background-color: transparent;
    border-color: transparent;
    color: var(--color-white)
}

.button--transparent:focus-visible,
.button--transparent:hover {
    background-color: var(--color-white);
    border-color: var(--color-white);
    color: var(--color-dark-soft)
}

.button--transparent.disabled,
.button--transparent:active,
.button--transparent:disabled {
    background-color: var(--color-dark-soft);
    border-color: var(--color-dark-soft);
    color: var(--color-white)
}

.logo {
    display: inline-block
}

.logo a {
    color: var(--color-dark);
    font-family: Manrope, sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase
}

.logo a:hover {
    color: inherit;
    text-decoration: none
}

.logo a:focus-visible {
    outline-color: var(--color-hover);
    outline-offset: 6px
}

.logo svg {
    fill: currentColor
}

.logo img {
    display: block;
    height: auto;
    max-width: 100%
}

.items-list {
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.avatar {
    aspect-ratio: 1;
    background-color: var(--color-gray-dark);
    background-image: url(../img/avatar.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 50%;
    display: inline-block;
    height: 100px;
    overflow: hidden;
    position: relative;
    width: 100px
}

.avatar img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.avatar--large {
    height: 120px;
    width: 120px
}

.avatar-verify {
    position: relative
}

.avatar-verify:after {
    align-items: center;
    background-color: var(--color-green);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFF' d='m10 16.4-4-4L7.4 11l2.6 2.6L16.6 7 18 8.4Z'/%3E%3C/svg%3E");
    background-position: 50%;
    border-radius: 50%;
    bottom: 3px;
    content: "";
    display: flex;
    height: 16px;
    justify-content: center;
    position: absolute;
    right: -1px;
    width: 16px
}

.input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--color-white);
    border: 1px solid var(--color-gray);
    color: var(--color-gray-dark);
    display: block;
    font-family: Jost, sans-serif;
    font-size: 1rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 400;
    height: 3rem;
    line-height: 1.5;
    overflow: hidden;
    padding: .625rem .9375rem;
    text-overflow: ellipsis;
    transition: all .2s ease;
    white-space: nowrap;
    width: 100%
}

.input:invalid {
    box-shadow: none
}

.input:focus-visible {
    border-color: var(--color-dark-soft);
    outline: none
}

.input::-moz-placeholder {
    color: var(--color-gray-dark);
    font-family: Jost, sans-serif;
    letter-spacing: 1;
    opacity: 1
}

.input::placeholder {
    color: var(--color-gray-dark);
    font-family: Jost, sans-serif;
    letter-spacing: 1;
    opacity: 1
}

.input:disabled {
    border-color: var(--color-gray);
    color: var(--color-gray);
    pointer-events: none
}

.input:-webkit-autofill {
    -webkit-transition: background-color 10000000s ease-out;
    transition: background-color 10000000s ease-out
}

.input[type=password] {
    font-family: Manrope, sans-serif
}

.is-invalid .input {
    border-color: var(--color-error);
    color: var(--color-error)
}

.input--border-white {
    background-color: transparent;
    border-color: var(--color-white);
    color: var(--color-white)
}

.input--border-white:focus,
.input--border-white:hover {
    border-color: var(--color-blue-200)
}

.input--border-white:focus {
    outline: 2px solid var(--color-blue-400)
}

.input--border-white::-moz-placeholder {
    color: var(--color-blue-20)
}

.input--border-white::placeholder {
    color: var(--color-blue-20)
}

.input--border-bottom {
    border: none;
    border-bottom: 1px solid var(--color-gray)
}

.input--ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.input-count-wrapper {
    position: relative
}

.input-count-wrapper input {
    overflow: hidden;
    padding-right: 4.625rem;
    text-overflow: ellipsis;
    white-space: nowrap
}

.input-count-length {
    color: var(--color-gray);
    display: inline-block;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 0;
    position: absolute;
    right: 1.5rem;
    text-align: right;
    top: 50%;
    transform: translateY(-50%)
}

.input:focus+.input-count-length {
    color: var(--color-gray-dark)
}

.input--search {
    border-style: none none solid;
    height: 52px;
    padding: 0 30px
}

.input--lang-search {
    background-color: transparent;
    border-color: var(--color-grey-400);
    border-radius: 0;
    border-style: none none solid;
    border-width: 1px;
    color: var(--color-grey-800);
    font-size: 1rem;
    font-weight: 400;
    height: 64px;
    line-height: 1;
    padding: 0 40px
}

.input--lang-search:hover {
    border-color: var(--color-grey-400);
    box-shadow: none
}

.input--lang-search:focus {
    border-color: var(--color-blue-400);
    box-shadow: none;
    outline: none
}

.input--lang-search::-moz-placeholder {
    color: var(--color-grey-500)
}

.input--lang-search::placeholder {
    color: var(--color-grey-500)
}

.textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--color-white);
    border: 1px solid var(--color-gray);
    border-radius: 0;
    box-sizing: border-box;
    color: var(--color-gray-dark);
    display: block;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    min-height: 10rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding: .625rem .9375rem;
    resize: vertical;
    transition: all .2s ease;
    width: 100%
}

.textarea::-webkit-scrollbar,
.textarea::-webkit-scrollbar-track {
    background-color: var(--color-gray)
}

.textarea::-webkit-scrollbar {
    width: 3px
}

.textarea::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.textarea:invalid {
    box-shadow: none
}

.textarea:focus-visible {
    border-color: var(--color-dark-soft);
    outline: none
}

.textarea::-moz-placeholder {
    color: var(--color-gray-dark);
    opacity: 1
}

.textarea::placeholder {
    color: var(--color-gray-dark);
    opacity: 1
}

.textarea:disabled {
    border-color: var(--color-gray);
    color: var(--color-gray);
    pointer-events: none
}

.textarea:disabled::-moz-placeholder {
    color: var(--color-gray)
}

.textarea:disabled::placeholder {
    color: var(--color-gray)
}

.textarea:-webkit-autofill {
    -webkit-transition: background-color 10000000s ease-out;
    transition: background-color 10000000s ease-out
}

.is-invalid .textarea {
    border-color: var(--color-error);
    color: var(--color-error)
}

.textarea--white {
    border-color: var(--color-white);
    padding: 10px 30px
}

.textarea--white:hover {
    background-color: #f2f8ff;
    border-color: #e0efff
}

.textarea--white:focus-visible {
    background-color: var(--color-white);
    border-color: #38f
}

.textarea--white.disabled,
.textarea--white:disabled {
    border-color: #c0d6f6
}

.textarea--white::-moz-placeholder {
    color: #425978
}

.textarea--white::placeholder {
    color: #425978
}

.textarea--short {
    min-height: 3.75rem
}

.textarea-count-wrapper {
    overflow: hidden;
    position: relative
}

.textarea-count-length {
    bottom: .5rem;
    color: var(--color-gray);
    display: inline-block;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.4;
    padding: .25rem;
    position: absolute;
    right: .75rem;
    text-align: right
}

.textarea:focus+.textarea-count-length {
    color: var(--color-gray-dark)
}

.checkbox {
    display: inline-block
}

.checkbox input {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.checkbox__label {
    align-items: center;
    color: var(--color-dark);
    cursor: pointer;
    display: flex;
    flex-flow: row nowrap;
    font-family: Jost, sans-serif;
    font-size: .625rem;
    font-weight: 500;
    gap: 10px;
    line-height: 1.4;
    margin: 0;
    text-transform: uppercase;
    width: auto;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.checkbox__check,
.checkbox__label {
    position: relative;
    transition: all .2s ease
}

.checkbox__check {
    background-color: #d1d3d1;
    border: none;
    border-radius: 0;
    display: block;
    flex: 0 0 auto;
    height: 13px;
    margin: 2px 0;
    width: 13px
}

.is-invalid .checkbox__check {
    border-color: var(--color-error)
}

.checkbox__caption {
    padding-top: .125rem
}

input:checked+.checkbox__label .checkbox__check {
    background-color: var(--color-dark)
}

input:disabled+.checkbox__label .checkbox__check {
    background-color: var(--color-gray);
    cursor: default
}

input:disabled+.checkbox__label {
    color: var(--color-gray);
    cursor: default
}

input:disabled+.checkbox__label .checkbox__check+.checkbox__caption {
    opacity: .5
}

.checkbox--large .checkbox__label {
    font-size: 1.125rem;
    font-weight: 600
}

.radio {
    display: inline-block
}

.radio input {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.radio__label {
    align-items: center;
    color: var(--color-text);
    cursor: pointer;
    display: flex;
    flex-flow: row nowrap;
    font-family: Jost, sans-serif;
    font-size: .9375rem;
    font-weight: 400;
    gap: 12px;
    line-height: 1;
    margin: 0;
    position: relative;
    transition: all .2s ease;
    width: auto;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.radio__check {
    border: 1px solid var(--color-white);
    flex: 0 0 auto;
    position: relative
}

.radio__check,
.radio__check:after {
    border-radius: 50%;
    display: block;
    height: 14px;
    transition: all .2s ease;
    width: 14px
}

.radio__check:after {
    background-color: #d1d3d1;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%)
}

.is-invalid .radio__check {
    border-color: var(--color-error)
}

input:checked+.radio__label .radio__check {
    border-color: var(--color-dark)
}

input:checked+.radio__label .radio__check:after {
    background-color: var(--color-dark)
}

input:disabled+.radio__label .radio__check {
    background-color: var(--color-gray-soft);
    border-color: var(--color-gray-soft);
    cursor: default
}

input:disabled+.radio__label {
    cursor: default
}

input:disabled+.radio__label .radio__check+.radio__caption {
    opacity: .5
}

input:checked:disabled+.radio__label .radio__check:after {
    background-color: var(--color-gray-soft)
}

.radio:hover input:not(:disabled:after, :checked)+.radio__label .radio__check:after {
    background-color: var(--color-gray-dark)
}

select[multiple] {
    background-image: none;
    height: auto
}

select:not([multiple]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--color-grey-200);
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='292.4' height='292.4'%3E%3Cpath fill='%23333333' d='M287 69.4a17.6 17.6 0 0 0-13-5.4H18.4c-5 0-9.3 1.8-12.9 5.4A17.6 17.6 0 0 0 0 82.2c0 5 1.8 9.3 5.4 12.9l128 127.9c3.6 3.6 7.8 5.4 12.8 5.4s9.2-1.8 12.8-5.4L287 95c3.5-3.5 5.4-7.8 5.4-12.8 0-5-1.9-9.2-5.5-12.8z'/%3E%3C/svg%3E");
    background-position: right .7em top 50%;
    background-repeat: no-repeat;
    background-size: .65em auto;
    border: 1px solid #ced4da;
    border-radius: 6px;
    color: var(--color-text);
    font-family: Jost, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    min-height: 50px;
    padding: 10px 30px 10px 16px;
    transition: all .2s ease
}

select:not([multiple]):invalid {
    box-shadow: none
}

select:not([multiple]):hover {
    background-color: #f2f8ff;
    border-color: #e0efff
}

select:not([multiple]):focus-visible {
    border-color: #38f;
    outline: none
}

select:not([multiple])::-moz-placeholder {
    color: var(--color-text-light);
    opacity: 1
}

select:not([multiple])::placeholder {
    color: var(--color-text-light);
    opacity: 1
}

select:not([multiple]):disabled {
    opacity: .5;
    pointer-events: none
}

select:not([multiple]):-webkit-autofill {
    -webkit-transition: background-color 10000000s ease-out;
    transition: background-color 10000000s ease-out
}

select:not([multiple])::-ms-expand {
    display: none
}

.is-invalid select:not([multiple]) {
    border-color: var(--color-error);
    color: var(--color-error)
}

select:not([multiple]) option[hidden] {
    display: none
}

.select--hidden,
select[data-custom-select].select {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.custom-select {
    position: relative
}

.custom-select select {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

select:disabled+.custom-select {
    pointer-events: none
}

select:disabled+.custom-select .custom-select__button {
    background-color: var(--color-white);
    border-color: var(--color-grey-400);
    color: var(--color-gray);
    outline: none !important;
    pointer-events: none
}

.custom-select__button {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--color-white);
    border: 1px solid var(--color-gray);
    color: var(--color-dark-soft);
    display: flex;
    flex-flow: row nowrap;
    font-family: Jost, sans-serif;
    font-size: 1rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 400;
    line-height: 1;
    min-height: 3rem;
    overflow: hidden;
    padding: .75rem 1.875rem .75rem .9375rem;
    position: relative;
    text-overflow: ellipsis;
    transition: all .2s ease;
    white-space: nowrap;
    width: 100%
}

.custom-select__button-img {
    display: inline-block;
    margin-right: .75rem;
    position: relative;
    top: 1px;
    width: 1.25rem
}

.custom-select__button:invalid {
    box-shadow: none
}

.custom-select__button:focus-visible {
    border-color: var(--color-gray-dark)
}

.custom-select__button::-moz-placeholder {
    color: var(--color-gray-dark);
    opacity: 1
}

.custom-select__button::placeholder {
    color: var(--color-gray-dark);
    opacity: 1
}

.custom-select__button:disabled {
    background-color: var(--color-grey-400);
    border-color: var(--color-grey-400);
    color: var(--color-grey-700);
    pointer-events: none
}

.custom-select__button:-webkit-autofill {
    -webkit-transition: background-color 10000000s ease-out;
    transition: background-color 10000000s ease-out
}

.is-invalid .custom-select__button {
    border-color: var(--color-error);
    color: var(--color-error)
}

.custom-select.is-open .custom-select__button {
    border-color: var(--color-gray-dark)
}

.custom-select__button-caption,
.custom-select__button-label {
    max-width: 100%;
    transition: all .2s ease
}

.custom-select__button-label {
    color: var(--color-grey-700);
    display: none;
    font-size: 1rem;
    font-weight: 500;
    overflow: hidden;
    position: absolute;
    text-overflow: ellipsis;
    top: 50%;
    transform: translateY(-110%);
    white-space: nowrap
}

.custom-select__button-caption-prefix {
    color: var(--color-text-light)
}

.custom-select__button-arrow {
    background-color: transparent;
    display: block;
    height: 20px;
    margin-top: -9px;
    padding: 0;
    position: absolute;
    right: .9375rem;
    top: 50%;
    transition: all .2s ease;
    width: 20px
}

.custom-select__button-arrow svg {
    fill: currentColor
}

.custom-select.is-open .custom-select__button-arrow {
    margin-top: -12px;
    transform: scaleY(-1)
}

.custom-select__dropdown {
    background-color: var(--color-white);
    border: 1px solid var(--color-gray-dark);
    display: none;
    left: 0;
    margin-top: -1px;
    min-width: 100%;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: 100%;
    z-index: 100
}

.custom-select.is-open .custom-select__dropdown {
    display: block
}

.custom-select--top .custom-select__dropdown {
    bottom: 100%;
    margin-bottom: -1px;
    margin-top: 0;
    top: auto
}

.custom-select__items {
    display: block;
    list-style: none;
    margin: 0;
    max-height: 240px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0
}

.custom-select__items::-webkit-scrollbar-track {
    background-color: var(--color-gray)
}

.custom-select__items::-webkit-scrollbar {
    background-color: var(--color-gray);
    width: 8px
}

.custom-select__items::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.custom-select__item {
    align-items: center;
    color: var(--color-gray-dark);
    cursor: pointer;
    display: flex;
    font-family: Jost, sans-serif;
    font-size: 1rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
    padding: .25rem 1.25rem;
    transition: all .2s ease
}

.custom-select__item:focus-visible,
.custom-select__item:hover {
    background-color: var(--color-dark);
    color: var(--color-white)
}

.custom-select__item.is-hidden,
.custom-select__item.is-placeholder {
    display: none !important
}

.custom-select__item.is-selected {
    background-color: #ddd
}

.custom-select__item.is-selected:focus-visible,
.custom-select__item.is-selected:hover {
    background-color: var(--color-dark);
    color: var(--color-white)
}

.custom-select--multiple .custom-select__item {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap
}

.custom-select__button-img,
.custom-select__item-img {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    height: 1.25rem;
    justify-content: center;
    margin-right: .75rem;
    position: relative;
    width: 1.25rem
}

.custom-select__button-img img,
.custom-select__item-img img {
    box-shadow: 0 0 2px 0 hsla(0, 0%, 39%, .3);
    display: block;
    height: auto;
    max-width: 100%
}

.custom-select__search {
    display: block;
    padding: 4px;
    width: 100%
}

.custom-select__search input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--color-white);
    border: 1px solid #aaa;
    color: var(--color-text);
    display: block;
    font-family: Jost, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    padding: 12px 10px;
    transition: all .2s ease;
    width: 100%
}

.custom-select__search input:invalid {
    box-shadow: none
}

.custom-select__search input:hover {
    border-color: var(--color-blue-600)
}

.custom-select__search input:focus-visible {
    border-color: var(--color-blue-600);
    outline: 1px solid var(--color-blue-200)
}

.custom-select__search input::-moz-placeholder {
    color: var(--color-grey-600);
    opacity: 1
}

.custom-select__search input::placeholder {
    color: var(--color-grey-600);
    opacity: 1
}

.custom-select__search input:disabled {
    background-color: var(--color-grey-100);
    border-color: var(--color-grey-400);
    color: var(--color-grey-600);
    pointer-events: none
}

.custom-select__search input:-webkit-autofill {
    -webkit-transition: background-color 10000000s ease-out;
    transition: background-color 10000000s ease-out
}

.is-invalid .custom-select__search input {
    border-color: var(--color-error);
    color: var(--color-error)
}

.custom-select.hasPlaceholder .custom-select__button {
    padding: .375rem 2.5rem 0 1rem
}

.custom-select--white .custom-select__button {
    background-color: var(--color-white);
    border-color: var(--color-white)
}

.custom-select--white .custom-select__button:hover {
    background-color: var(--color-grey-100);
    border-color: var(--color-grey-100)
}

.custom-select--white .custom-select__button:focus-visible {
    background-color: var(--color-grey-100);
    border-color: var(--color-grey-100)
}

.custom-select--white.is-open .custom-select__button {
    background-color: var(--color-white);
    background-color: var(--color-grey-100);
    border-color: var(--color-blue-400)
}

.file-input input[type=file] {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.file-input__files {
    color: var(--color-dark);
    display: flex;
    flex-flow: row wrap;
    font-size: 1rem;
    gap: 16px;
    margin: 1rem 0
}

.file-input__files:empty {
    display: none;
    margin: 0
}

.file-input__file {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    flex: 0 1 auto;
    flex-flow: row nowrap;
    gap: 10px
}

.file-input__file-img {
    border: 1px solid var(--color-dark-soft);
    border-radius: 8px;
    display: block;
    flex: 0 0 auto;
    height: 50px;
    overflow: hidden;
    width: 50px
}

.file-input__file-img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.file-input__file-icon {
    align-items: center;
    border: 1px solid var(--color-dark-soft);
    border-radius: 8px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 50px;
    justify-content: center;
    width: 50px
}

.file-input__file-icon svg {
    height: 32px;
    width: 32px;
    fill: var(--color-dark)
}

.file-input__file-title {
    color: var(--color-dark);
    font-size: .875rem;
    font-weight: 400;
    margin: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word
}

.file-input__file-title:not(:last-child) {
    margin-bottom: 4px
}

.file-input__file-size {
    color: var(--color-dark-soft);
    font-size: .875rem;
    font-weight: 400;
    margin: 0
}

.file-input__file-file {
    height: 60px;
    overflow: hidden;
    width: 60px
}

.file-input--img {
    background-color: var(--color-grey-200);
    border-radius: 1.5rem;
    padding: 1rem .75rem
}

.file-input--img .file-input__grid {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    width: 100%
}

.file-input--img .file-input__file {
    align-items: center;
    color: var(--color-grey-600);
    display: flex;
    flex-flow: row wrap;
    font-size: 1rem;
    font-weight: 500;
    gap: 0 .625rem;
    line-height: 1.4
}

.file-input--img .file-input__file-link {
    align-items: center;
    color: var(--color-blue-400);
    display: flex;
    flex-flow: row nowrap;
    gap: .5rem;
    text-decoration: none
}

.file-input--img .file-input__file-link .icon {
    flex: 0 0 auto;
    height: 1.5rem;
    width: 1.5rem
}

.file-input--img .file-input__file-link:focus-visible,
.file-input--img .file-input__file-link:hover {
    color: var(--color-hover);
    text-decoration: none
}

.file-input--img .file-input__placeholder {
    color: var(--color-grey-600);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0
}

.file-input--img .file-input__file+.file-input__placeholder {
    display: none
}

.file-input--img-free {
    width: 100%
}

.file-input--img-free .file-input__grid {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: .75rem;
    justify-content: space-between;
    width: 100%
}

.file-input--img-free .file-input__file {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 16px;
    width: 100%
}

.file-input--img-free .file-input__file-img {
    background-color: var(--color-grey-100);
    background-image: url(../img/no-image.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 6px;
    flex: 0 0 auto;
    height: 50px;
    overflow: hidden;
    width: 80px
}

.file-input--img-free .file-input__file-img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.file-input--img-free .file-input__file-info {
    color: var(--color-grey-800);
    display: flex;
    flex: 0 1 100%;
    flex-direction: column;
    font-size: 1rem;
    font-weight: 500;
    gap: 4px;
    line-height: 1.3;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word
}

.file-input--img-free .file-input__file-size {
    color: var(--color-grey-600)
}

.file-input--img-free .file-input__btn-delete {
    flex: 0 0 auto
}

.file-input--img-block .file-input__grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.file-input--img-block .file-input__main {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.file-input--img-block .file-input__title {
    margin: 0
}

.file-input--img-block .file-input__text {
    color: var(--color-grey-700);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4
}

.file-input--img-block .file-input__button {
    width: 100%
}

.file-input--img-block .file-input__visual {
    align-items: center;
    background-color: var(--color-grey-300);
    border-radius: .75rem;
    display: flex;
    height: 9.875rem;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 100%
}

.file-input--img-block .file-input__visual img {
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    position: relative;
    width: 100%;
    z-index: 2
}

.file-input--img-block .file-input__visual img+button+.file-input__stub {
    display: none
}

.file-input--img-block .file-input__stub {
    background-color: var(--color-grey-300);
    background-image: url(../img/no-image.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.file-input--img-block .file-input__btn-delete {
    align-items: center;
    background-color: rgba(0, 0, 0, .3);
    border: none;
    bottom: 0;
    display: none;
    justify-content: center;
    left: 0;
    opacity: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity .5s ease;
    z-index: 5
}

.file-input--img-block .file-input__btn-delete:focus-visible,
.file-input--img-block .file-input__btn-delete:hover {
    opacity: 1
}

.file-input--img-block .file-input__btn-delete .icon {
    flex: 0 0 auto;
    height: 24px;
    width: 24px;
    fill: var(--color-white)
}

.file-input--img-block .file-input__visual img+.file-input__btn-delete {
    display: flex
}

.file-input--profile-photo {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 1rem
}

.file-input--profile-photo .file-input__photo-avatar {
    flex: 0 0 auto;
    height: 80px;
    width: 80px
}

.file-input--profile-photo .file-input__photo-right {
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.file-input--profile-photo .file-input__photo-label {
    color: var(--color-grey-800);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0
}

.file-input--profile-photo-small {
    align-items: flex-end;
    display: inline-flex;
    flex-flow: row nowrap;
    position: relative
}

.file-input--profile-photo-small .file-input__photo-avatar {
    flex: 0 0 auto;
    height: 80px;
    width: 80px
}

.file-input--profile-photo-small .file-input__button {
    flex: 0 0 auto;
    margin-left: -24px;
    position: relative
}

.file-input--profile-gallery .file-input__button {
    border-radius: 8px;
    height: 80px;
    width: 80px
}

.datepicker {
    display: block;
    position: relative
}

.datepicker:focus-within .datepicker__icon {
    fill: var(--color-blue-500)
}

.datepicker--disabled {
    pointer-events: none
}

.datepicker__input {
    width: 100%
}

.datepicker__icon {
    pointer-events: none;
    position: absolute;
    right: 16px;
    top: 25px;
    transform: translateY(-50%);
    transition: all .2s ease;
    fill: var(--color-grey-600);
    height: 24px;
    width: 24px
}

.datepicker--disabled .datepicker__icon {
    fill: $color-dark-200 !important
}

.datepicker[data-label]:before {
    color: var(--color-grey-900);
    content: attr(data-label);
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    left: 16px;
    line-height: 1.4;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.datepicker[data-label] .datepicker__input {
    font-size: 1rem;
    padding-left: 86px
}

.datepicker--short[data-label] .datepicker__input {
    padding-left: 52px
}

.switch {
    align-items: flex-start;
    cursor: pointer;
    display: inline-flex;
    flex-flow: row nowrap;
    gap: 12px;
    margin: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.switch input {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.switch__caption {
    color: var(--color-text);
    flex: 0 1 auto;
    font-family: Jost, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin-top: -2px
}

.switch__check {
    background-color: var(--color-grey-300);
    border: 1px solid var(--color-grey-300);
    border-radius: 100px;
    display: inline-block;
    flex: 0 0 auto;
    height: 24px;
    position: relative;
    transition: all .3s ease;
    width: 48px
}

.switch__check:after {
    background-color: var(--color-grey-700);
    border-radius: 50%;
    content: "";
    display: block;
    height: 20px;
    left: 2px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: all .3s ease;
    width: 20px
}

.switch__caption {
    padding-top: .1875rem
}

.switch:hover .switch__check {
    border-color: var(--color-blue-400)
}

.switch input:checked+.switch__check {
    background-color: var(--color-blue-400);
    border-color: var(--color-blue-400)
}

.switch input:checked+.switch__check:after {
    background-color: var(--color-white);
    left: 24px
}

.switch:hover input:checked+.switch__check {
    background-color: var(--color-blue-400);
    border-color: var(--color-blue-400)
}

.switch input.focus-visible+.switch__check {
    border-color: var(--color-blue-400);
    box-shadow: 0 0 0 4px var(--color-focus-shadow)
}

.switch input:disabled+.switch__check {
    background-color: #eee;
    border-color: #eee
}

.switch input:disabled+.switch__check:after {
    background-color: #ccc
}

.switch input:disabled+.switch__check+.switch__caption {
    opacity: .5
}

.switch input:checked:disabled+.switch__check {
    background-color: #ccc;
    border-color: #ccc
}

.switch input:checked:disabled+.switch__check:after {
    background-color: #fff
}

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

.field__label {
    display: block;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1;
    margin: 0 0 .3125rem
}

.field__required {
    color: var(--color-red)
}

.field__control {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    position: relative
}

.field__control p {
    margin: 0 0 1em
}

.field__control p:last-child {
    margin-bottom: 0
}

.field__control--delete {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 10px
}

.field__control--icon-right input {
    padding-right: 48px
}

.field__btn-delete {
    flex: 0 0 auto;
    height: 50px;
    width: 50px
}

.field__hint {
    color: var(--color-dark);
    display: block;
    font-size: .75rem;
    margin: 6px 0 0;
    order: 10
}

.field__password-toggle {
    align-items: center;
    background-color: transparent;
    border: none;
    color: var(--color-gray);
    display: inline-flex;
    height: 40px;
    justify-content: center;
    margin-top: -20px;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    width: 40px;
    z-index: 20
}

.field__password-toggle:hover {
    color: var(--color-hover)
}

.field__password-toggle:focus-visible {
    color: var(--color-hover);
    outline: none
}

input[type=text]+.field__password-toggle {
    color: var(--color-blue-400)
}

input:-moz-placeholder-shown+.field__password-toggle {
    display: none
}

input:placeholder-shown+.field__password-toggle {
    display: none
}

.field__password-toggle .icon {
    flex: 0 0 auto;
    height: 20px;
    width: 20px
}

.field__icon-right {
    position: absolute;
    right: 20px;
    top: 25px;
    transform: translateY(-50%);
    z-index: 5;
    fill: var(--color-grey-600)
}

.field--second .field__label {
    opacity: 0
}

.field-lenght-toggle {
    position: relative
}

.field-lenght-toggle .input {
    padding-right: 80px
}

.field-lenght-toggle-value {
    color: var(--color-grey-600);
    font-size: .75rem;
    position: absolute;
    right: 24px;
    top: 60%
}

.field--linear .field__control {
    display: flex;
    flex: 1 0 auto;
    flex-direction: row
}

.field--black input {
    background-color: var(--color-dark);
    border-color: #272727
}

.field--border-b .field__control {
    border-bottom: 1px solid #272727
}

.field--border-b input {
    border: none
}

.validator-error {
    color: var(--color-error);
    display: block;
    font-family: Jost, sans-serif;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 8px 0 -2px
}

.alert {
    align-items: flex-start;
    background-color: var(--color-dark);
    border-radius: .75rem;
    display: flex;
    flex-flow: row nowrap;
    gap: 1rem;
    padding: 1rem
}

.alert__icon {
    flex: 0 0 auto;
    height: 24px;
    width: 24px
}

.alert__caption {
    display: flex;
    flex-direction: column;
    gap: .25rem
}

.alert__title {
    font-size: 1.125rem;
    font-weight: 600
}

.alert__text,
.alert__title {
    color: var(--color-dark);
    line-height: 1.4;
    margin: 0
}

.alert__text {
    font-size: 1rem;
    font-weight: 500
}

.alert__btn-close {
    background: transparent;
    border: none;
    flex: 0 0 auto;
    height: 24px;
    margin-left: auto;
    padding: 0;
    position: relative;
    transition: all .2s ease;
    width: 24px;
    --icon-color: var(--color-dark)
}

.alert__btn-close:focus-visible,
.alert__btn-close:hover {
    --icon-color: var(--color-hover)
}

.alert__btn-close:after,
.alert__btn-close:before {
    background-color: var(--icon-color);
    content: "";
    display: block;
    height: 1px;
    left: 50%;
    margin-left: -9px;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    transition: all .2s ease;
    width: 18px
}

.alert__btn-close:before {
    transform: rotate(45deg)
}

.alert__btn-close:after {
    transform: rotate(-45deg)
}

.alert--success {
    background-color: var(--color-success-bg)
}

.alert--info {
    background-color: var(--color-info-bg)
}

.alert--warning {
    background-color: var(--color-warning-bg)
}

.alert--error {
    background-color: var(--color-error-bg)
}

.form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.popup .form {
    padding-bottom: 1px
}

.form__messages {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.form__messages-item {
    border-radius: 8px;
    color: var(--color-dark);
    padding: 8px
}

.form__messages-item--error {
    background-color: var(--color-error-bg)
}

.form__messages-item--success {
    background-color: var(--color-success-bg)
}

.form__text p:last-child {
    margin-bottom: 0
}

.form__fields {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.form__field {
    position: relative
}

.form__field .loading-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%)
}

.form__radios {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    gap: 16px 32px;
    width: 100%
}

.form__btn-delete {
    flex: 0 0 auto
}

.form__buttons {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: .75rem
}

.form__row {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(var(--columns), minmax(0, 1fr))
}

.form__row,
.form__row--2,
.form__row--3 {
    --columns: 1
}

.form__cart {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px
}

.form__cart-counter button {
    height: 37px
}

.form__cart-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 8px
}

.form__cart-action {
    position: relative
}

.form__cart-action:focus-visible .form__cart-action-hint,
.form__cart-action:hover .form__cart-action-hint {
    bottom: 40px;
    opacity: 1;
    visibility: visible
}

.form--add-number {
    position: relative
}

.form--add-number .form__btn-delete {
    position: absolute;
    right: 0;
    top: -60px
}

.form--review .form__review-top {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 1.5rem 2rem
}

.form--review .custom-select__items {
    max-height: 234px
}

.form--add-exam .form__section-title {
    margin-bottom: 0
}

.form--login .form__submit {
    width: 100%
}

.form--login .form__tools {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.form--login .form__link {
    color: var(--color-dark);
    font-weight: 500
}

.form--login .form__link:focus-visible,
.form--login .form__link:hover {
    color: var(--color-hover);
    text-decoration: none
}

.form--reg .form__submit {
    width: 100%
}

.form--message .form__title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0
}

.form--checkout-coupon {
    align-items: flex-start
}

.form--checkout-coupon .form__text:last-of-type {
    margin-bottom: 0
}

.search-form {
    position: relative
}

.search-form__field {
    position: relative;
    width: 100%
}

.search-form__submit {
    align-items: center;
    background-color: transparent;
    border: none;
    border-radius: 4px;
    color: var(--color-gray);
    display: inline-flex;
    justify-content: center;
    left: 0;
    margin-top: -16px;
    padding: 0;
    position: absolute;
    top: 32px;
    transition: all .2s ease
}

.search-form__submit:focus-visible,
.search-form__submit:hover {
    color: var(--color-gray-dark)
}

.search-form__submit .icon {
    flex: 0 0 auto;
    height: 20px;
    width: 20px
}

.search-form__input {
    width: 100%
}

.search-form__loading-icon {
    position: absolute !important;
    right: 0;
    top: 23px
}

.search-form__suggestions {
    background: #fff;
    border: 1px solid var(--color-gray);
    bottom: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: calc(100vh - 210px);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 10px;
    position: absolute;
    width: 100%
}

.search-form__suggestions::-webkit-scrollbar-track {
    background-color: var(--color-gray)
}

.search-form__suggestions::-webkit-scrollbar {
    background-color: var(--color-gray);
    width: 2px
}

.search-form__suggestions::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.search-form__suggestions:empty,
.search-form__suggestions:not(.is-open) {
    display: none
}

.search-form__suggestion {
    align-items: flex-start;
    display: flex;
    gap: 15px;
    transition: all .2s ease
}

.search-form__suggestion:focus-visible,
.search-form__suggestion:hover {
    background-color: var(--color-gray-soft);
    text-decoration: none
}

.search-form__suggestion-img {
    flex: 0 0 auto;
    height: 50px;
    overflow: hidden;
    width: 50px
}

.search-form__suggestion-img img {
    height: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.search-form__suggestion-content {
    display: flex;
    flex-direction: column
}

.search-form__suggestion-title {
    font-size: .8125rem;
    line-height: 1.4
}

.search-form__suggestion-title strong {
    color: var(--color-primary);
    font-weight: 500
}

.search-form__suggestion-price {
    color: var(--color-dark-soft);
    display: flex;
    flex-wrap: wrap;
    font-size: .8125rem;
    gap: 5px
}

.search-form__suggestion-price-old {
    text-decoration: line-through
}

.search-form--panel .search-form__input {
    font-size: 1.5rem;
    text-align: center
}

.search-form--panel .search-form__suggestions {
    position: static
}

.search-form--panel .search-form__submit {
    display: none
}

@keyframes openField {
    0% {
        opacity: 0;
        pointer-events: none;
        width: 0
    }

    to {
        opacity: 1;
        pointer-events: auto;
        width: 100%
    }
}

.search-btn {
    align-items: center;
    background-color: transparent;
    border: none;
    border-radius: 12px;
    color: var(--color-dark);
    display: inline-flex;
    height: 24px;
    justify-content: center;
    outline-color: var(--color-blue-400);
    padding: 0;
    transition: all .2s ease;
    width: 24px
}

.search-btn:focus-visible,
.search-btn:hover {
    color: var(--color-hover)
}

.page--nav-open .search-btn {
    background-color: var(--color-grey-200);
    color: var(--color-grey-700)
}

.search-btn .icon {
    flex: 0 0 auto;
    height: 24px;
    width: 24px
}

.inputbox {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--color-white);
    border: 1px solid #ced4da;
    color: var(--color-text);
    display: flex;
    flex-flow: row nowrap;
    font-family: Jost, sans-serif;
    font-size: 1rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 400;
    height: 3.125rem;
    line-height: 1;
    padding: 0 1rem;
    position: relative;
    transition: all .3s ease;
    width: 100%
}

.inputbox:invalid {
    box-shadow: none
}

.inputbox:focus {
    border-color: var(--color-dark-soft);
    outline: none
}

.inputbox:focus-within {
    border-color: var(--color-dark-soft);
    outline: none
}

.inputbox--disabled {
    opacity: .5;
    pointer-events: none
}

.is-invalid .inputbox {
    border-color: var(--color-error);
    color: var(--color-error)
}

.inputbox input,
.inputbox textarea {
    border: none;
    border-radius: 0;
    color: var(--color-text);
    font-size: 1rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 400;
    padding: 0
}

.inputbox input:focus-visible,
.inputbox textarea:focus-visible {
    outline: none
}

.inputbox input:focus,
.inputbox input:hover,
.inputbox textarea:focus,
.inputbox textarea:hover {
    border-color: transparent;
    box-shadow: none
}

.inputbox input:disabled,
.inputbox textarea:disabled {
    background-color: transparent;
    border-color: transparent;
    box-shadow: none;
    opacity: .5;
    pointer-events: none
}

.inputbox input::-moz-placeholder,
.inputbox textarea::-moz-placeholder {
    color: var(--color-text-light);
    opacity: 1
}

.inputbox input::placeholder,
.inputbox textarea::placeholder {
    color: var(--color-text-light);
    opacity: 1
}

.inputbox input:-webkit-autofill,
.inputbox textarea:-webkit-autofill {
    -webkit-transition: background-color 10000000s ease-out;
    transition: background-color 10000000s ease-out
}

.inputbox textarea {
    overflow-x: hidden;
    overflow-y: auto;
    resize: none
}

.inputbox textarea::-webkit-scrollbar,
.inputbox textarea::-webkit-scrollbar-track {
    background-color: var(--color-dark-soft)
}

.inputbox textarea::-webkit-scrollbar {
    width: 2px
}

.inputbox textarea::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.inputbox__label {
    display: inline-block;
    font-size: .9375rem;
    left: 1rem;
    line-height: 1.5;
    pointer-events: none;
    position: absolute;
    top: 1.625rem;
    transform: translateY(-50%);
    transition: all .4s ease;
    z-index: 5
}

.inputbox__btn-clear {
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: none;
    flex: 0 0 auto;
    height: 40px;
    padding: 0;
    position: relative;
    width: 40px
}

.inputbox__btn-clear:after,
.inputbox__btn-clear:before {
    background-color: var(--color-grey-600);
    content: "";
    display: block;
    height: 1px;
    left: 50%;
    margin-left: -7px;
    position: absolute;
    top: 50%;
    transition: background-color .2s;
    width: 14px
}

.inputbox__btn-clear:before {
    transform: rotate(45deg)
}

.inputbox__btn-clear:after {
    transform: rotate(-45deg)
}

.inputbox__btn-clear:focus-visible:after,
.inputbox__btn-clear:focus-visible:before,
.inputbox__btn-clear:hover:after,
.inputbox__btn-clear:hover:before {
    background-color: var(--color-red)
}

.inputbox__btn-view {
    background-color: transparent;
    border: none;
    color: var(--color-gray);
    cursor: pointer;
    flex: 0 0 auto;
    height: 40px;
    padding: 0;
    position: relative;
    transition: all .2s ease;
    width: 40px
}

.inputbox__btn-view:focus-visible,
.inputbox__btn-view:hover {
    color: var(--color-dark)
}

.inputbox__btn-view .icon {
    height: 20px;
    width: 20px
}

.inputbox__search-submit {
    align-items: center;
    background-color: transparent;
    border: none;
    color: var(--color-gray);
    display: inline-flex;
    height: 56px;
    justify-content: center;
    width: 56px
}

.inputbox__search-submit:focus-visible,
.inputbox__search-submit:hover {
    color: var(--color-hover)
}

.inputbox__search-submit .icon {
    flex: 0 0 auto;
    height: 20px;
    width: 20px
}

.inputbox--label input {
    opacity: 0;
    padding-top: .75rem
}

.inputbox--label input:not(:-moz-placeholder-shown) {
    opacity: 1
}

.inputbox--label input:focus,
.inputbox--label input:not(:placeholder-shown),
.inputbox--label input[value] {
    opacity: 1
}

.inputbox--label input:not(:-moz-placeholder-shown)+.inputbox__label {
    font-size: .875rem;
    transform: translateY(-110%)
}

.inputbox--label input:focus+.inputbox__label,
.inputbox--label input:not(:placeholder-shown)+.inputbox__label,
.inputbox--label input[value]+.inputbox__label {
    font-size: .875rem;
    transform: translateY(-110%)
}

.inputbox--label textarea {
    min-width: 100%;
    opacity: 0;
    padding-top: 0
}

.inputbox--label textarea:not(:-moz-placeholder-shown) {
    height: calc(100% - 2rem);
    margin-top: 1.5rem;
    opacity: 1
}

.inputbox--label textarea:focus,
.inputbox--label textarea:not(:placeholder-shown),
.inputbox--label textarea[value] {
    height: calc(100% - 2rem);
    margin-top: 1.5rem;
    opacity: 1
}

.inputbox--label textarea:not(:-moz-placeholder-shown)+.inputbox__label {
    font-size: .875rem;
    transform: translateY(-110%)
}

.inputbox--label textarea:focus+.inputbox__label,
.inputbox--label textarea:not(:placeholder-shown)+.inputbox__label,
.inputbox--label textarea[value]+.inputbox__label {
    font-size: .875rem;
    transform: translateY(-110%)
}

.inputbox--search {
    border-color: var(--color-grey-600);
    border-radius: 0;
    border-style: none none solid;
    border-width: 1px;
    height: 64px;
    padding: 0
}

.inputbox--search:hover {
    border-color: var(--color-blue-400)
}

.inputbox--search:focus-within {
    border-color: var(--color-blue-400);
    outline: none
}

.inputbox input {
    flex: 0 1 100%;
    height: 46px
}

.inputbox--search-wide {
    background-color: transparent
}

.inputbox--search-wide .inputbox__icon {
    flex: 0 0 auto;
    height: 1.5rem;
    margin-right: .75rem;
    order: -1;
    width: 1.5rem;
    fill: var(--color-grey-600)
}

.inputbox--search-wide .inputbox__label {
    left: 3.25rem
}

.inputbox--border-white {
    background-color: transparent;
    border-color: var(--color-white);
    color: var(--color-white)
}

.inputbox--border-white:hover {
    border-color: var(--color-blue-200)
}

.inputbox--border-white:focus-within {
    border-color: var(--color-blue-200);
    outline: 2px solid var(--color-blue-400)
}

.inputbox--border-white input {
    background-color: transparent;
    color: var(--color-white)
}

.inputbox--border-white input::-moz-placeholder {
    color: var(--color-blue-200)
}

.inputbox--border-white input::placeholder {
    color: var(--color-blue-200)
}

.inputbox--border-white .inputbox__label {
    color: var(--color-blue-200)
}

.inputbox--blue {
    background-color: #f3f7ff;
    border-color: #f3f7ff
}

.inputbox--blue:hover {
    border-color: var(--color-blue-100);
    box-shadow: none
}

.inputbox--blue:focus-within {
    border-color: var(--color-blue-100);
    box-shadow: none
}

.inputbox--blue input::-moz-placeholder {
    color: var(--color-grey-600)
}

.inputbox--blue input::placeholder {
    color: var(--color-grey-600)
}

.inputbox--tel {
    padding: 0
}

.inputbox--tel input {
    border-radius: 50px
}

.inputbox--label {
    background-color: transparent;
    border: none;
    border-radius: 0;
    gap: 4px;
    height: auto;
    padding: 0
}

.inputbox--label .inputbox__input {
    background-color: transparent;
    font-weight: 500;
    height: auto;
    padding: 0;
    width: 100%
}

.inputbox--label .inputbox__label {
    order: -1;
    position: static;
    transform: none !important
}

.range {
    -webkit-appearance: none;
    background: transparent;
    width: 100%
}

.range:focus {
    outline: none
}

.range::-webkit-slider-thumb {
    -webkit-appearance: none;
    background-color: var(--color-gray);
    border: 1px solid var(--color-gray);
    border-radius: 50%;
    cursor: ew-resize;
    height: 16px;
    margin-top: -6px;
    width: 16px
}

.range::-moz-range-thumb {
    background-color: var(--color-gray);
    border: 1px solid var(--color-gray);
    border-radius: 50%;
    cursor: ew-resize;
    height: 16px;
    margin-top: -8px;
    width: 16px
}

.range::-webkit-slider-runnable-track {
    background: var(--color-gray);
    border: none;
    box-shadow: none;
    cursor: pointer;
    height: 4px;
    width: 100%
}

.range:focus::-webkit-slider-runnable-track {
    background: var(--color-gray)
}

.range::-moz-range-track {
    border: none;
    box-shadow: none;
    cursor: pointer;
    width: 100%
}

.range::-moz-range-progress,
.range::-moz-range-track {
    background: var(--color-gray);
    height: 4px
}

.range::-ms-fill-lower {
    background: var(--color-gray);
    height: 4px
}

.range-fields {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.range-fields__slider {
    margin: 0 auto;
    width: calc(100% - 8px)
}

.range-fields__fields {
    --columns: 2;
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
    margin: 0
}

.range-fields__field {
    position: relative
}

.page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: var(--doc-height)
}

.page--bg-white {
    background-color: var(--color-white)
}

.page--overlay-show .page__overlay {
    height: 100%;
    opacity: .7;
    width: 100%
}

.page__inner {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column
}

.page__overlay {
    background: var(--color-bg-soft);
    cursor: pointer;
    cursor: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 512 512'%3E%3Cg transform='rotate(45 256 256)'%3E%3Crect width='480' height='80' x='16' y='216' rx='14'/%3E%3Crect width='80' height='480' x='216' y='16' rx='14'/%3E%3C/g%3E%3C/svg%3E") 16 16, pointer;
    height: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity .45s cubic-bezier(.25, .46, .45, .94);
    width: 0;
    z-index: 103
}

.page__main,
.page__profile-main {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    width: 100%
}

.page__content {
    flex: 1 0 auto;
    width: 100%
}

.page__content-wrapper {
    padding-bottom: 64px;
    padding-top: 0
}

.page__footer,
.page__header,
.page__profile-header {
    flex: none;
    width: 100%
}

.page__container {
    margin-left: auto;
    margin-right: auto;
    max-width: 1450px;
    width: 100%
}

.page__callback {
    align-items: center;
    display: flex;
    height: 100vh;
    overflow: hidden;
    padding: 3.75rem 1.25rem;
    position: relative;
    width: 100vw
}

.ui {
    font-weight: 500
}

.ui h4 {
    color: var(--color-grey-700)
}

.ui__title {
    margin-bottom: 1em
}

.ui__section {
    border-top: 2px solid var(--color-text-light);
    margin-bottom: 50px;
    padding-top: 50px
}

.ui__section-title {
    margin-bottom: 45px;
    text-transform: uppercase
}

.ui__subsection {
    border-top: 1px dashed #ddd;
    padding-top: 25px
}

.ui__subsection:not(:last-child) {
    margin-bottom: 30px
}

.ui__subsection-title {
    font-weight: 700;
    margin-bottom: 1em
}

.ui__dark {
    background-color: var(--color-text);
    border-radius: .5rem;
    display: inline-block;
    padding: 20px
}

.ui__dark:not(:last-child) {
    margin-bottom: 1.5rem
}

.ui__sequence {
    --columns: 1;
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(var(--columns), minmax(0, 1fr))
}

.ui__sequence:not(:last-child) {
    margin-bottom: 1.5rem
}

.ui__sequence--free {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    gap: 20px
}

.ui__sequence--vcenter {
    align-items: center
}

.ui__sequence--vstretch {
    align-items: stretch
}

.ui__table-breakpoints th {
    background-color: transparent
}

.ui__select {
    max-width: 100%
}

.ui__select option {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.ui .final-grade:not(:last-child) {
    margin-bottom: 20px
}

.ui__color {
    display: block;
    text-align: center;
    width: 112px
}

.ui__color-bg {
    border: 1px solid #ccc;
    display: block;
    height: 80px;
    margin-bottom: .4rem;
    overflow: hidden;
    width: 100%
}

.ui__color-caption {
    font-size: .875rem
}

.ui__grid-demo .row>.col span,
.ui__grid-demo .row>[class^=col-] span {
    background-color: #eee;
    display: block;
    font-size: .9375rem;
    line-height: 20px;
    margin-bottom: 20px;
    padding: 15px 16px;
    width: 100%
}

.ui__box {
    background-color: var(--color-white);
    border-radius: 1.5rem;
    margin-bottom: 1.5rem;
    padding: 1rem .75rem
}

.ui .data-card {
    min-height: 310px;
    width: 280px
}

.demo {
    display: block;
    font-size: 1rem
}

.demo__header {
    border-bottom: 1px solid var(--color-text);
    margin: 0 0 30px;
    padding: 0 0 10px
}

.demo__title {
    font-size: 1.8em;
    margin: 0 0 10px
}

.demo__title-2 {
    font-size: 1.2em;
    margin: 0 0 .8em
}

.demo__title-2:not(:first-child) {
    margin-top: 1.7em
}

.demo__title-3 {
    font-size: 1em;
    font-weight: 700;
    margin: 0 0 .8em
}

.demo__title-3:not(:first-child) {
    margin-top: 1.5em
}

.demo__title-4 {
    font-size: .8em;
    font-weight: 700;
    margin: 0 0 .8em
}

.demo__title-4:not(:first-child) {
    margin-top: 1.5em
}

.demo__note {
    font-size: 16px;
    margin: 0 0 40px
}

.demo__item {
    margin: 0 0 15px
}

.demo__item--in-progress {
    opacity: .5
}

.demo a {
    text-decoration: none
}

.demo a:hover {
    color: var(--color-hover)
}

.demo__block {
    padding-left: 1.25rem
}

.demo__row {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -10px -30px
}

.demo__col {
    margin: 0 10px 30px;
    width: calc(100% - 20px)
}

.popup {
    --popup-bg-color: var(--color-white);
    --popup-border-radius: 1.5rem;
    background-color: transparent;
    border: 0;
    box-shadow: none;
    flex: 1 0 auto;
    flex-direction: column;


  
    padding: 0;
    position: relative;
  
}

.popup:focus {
    outline: none
}

.popup::backdrop {
    background: rgba(31, 41, 20, .2)
}

.popup.is-open,
.popup.is-opening {
    display: flex
}

.popup.is-opening {
    animation: fadeInZoom .3s forwards
}

.popup.is-opening::backdrop {
    animation: fadeIn .3s forwards
}

.popup.is-closing {
    animation: fadeOutZoom .3s
}

.popup.is-closing::backdrop {
    animation: fadeOut .3s
}

.popup__container {
    flex: 0 0 100%;
    flex-direction: column;
    height: 100vh;
    max-height: 100vh;
    z-index: 100
}

.popup__container,
.popup__header {
    background-color: var(--popup-bg-color);
    display: flex;
    position: relative
}

.popup__header {
    align-items: center;
    border-radius: var(--popup-border-radius) var(--popup-border-radius) 0 0;
    flex: none;
    flex-flow: row nowrap;
    min-height: 2.5rem;
    padding: 1.5rem 8px 1.5rem 12px;
    transition: all .3s ease
}

.popup__main {
    background-color: var(--color-white);
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 12px 1.5rem;
    position: relative;
    width: 100%
}

.popup__main::-webkit-scrollbar-track {
    background-color: transparent
}

.popup__main::-webkit-scrollbar {
    background-color: transparent;
    width: 6px
}

.popup__main::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.popup__footer {
    background-color: var(--popup-bg-color);
    display: flex;
    flex: none;
    flex-flow: column;
    padding: .75rem 8px .75rem 12px;
    width: 100%
}

.popup__title {
    color: var(--color-grey-800);
    font-family: $font-family-MA;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0
}

.popup__subtitle,
.popup__text {
    color: var(--color-grey-700);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0
}

.popup__subtitle p:last-child,
.popup__text p:last-child {
    margin-bottom: 0
}

.popup__btn-close {
    background-color: var(--color-gray);
    border: none;
    border-radius: 100px;
    display: block;
    flex: 0 0 auto;
    height: 24px;
    margin: 0 0 0 auto;
    padding: 0;
    position: absolute;
    right: 12px;
    top: 12px;
    transition: all .2s ease;
    width: 24px
}

.popup__btn-close:after,
.popup__btn-close:before {
    background-color: var(--color-dark);
    content: "";
    display: block;
    height: 1px;
    left: 50%;
    margin-left: -6px;
    position: absolute;
    top: 50%;
    transition: all .2s ease;
    width: 12px
}

.popup__btn-close:before {
    transform: rotate(45deg)
}

.popup__btn-close:after {
    transform: rotate(-45deg)
}

.popup__btn-close:focus-visible,
.popup__btn-close:hover {
    background-color: var(--color-dark)
}

.popup__btn-close:focus-visible:after,
.popup__btn-close:focus-visible:before,
.popup__btn-close:hover:after,
.popup__btn-close:hover:before {
    background-color: var(--color-white)
}

.popup__buttons {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: .75rem
}

.popup__buttons .button {
    width: 100%
}

.popup--mob-bottom {
    flex: 0 0 auto;
    height: auto;
    justify-content: flex-end;
    max-height: 100%
}

.popup--mob-bottom.is-opening {
    animation: fadeInUp .3s forwards
}

.popup--mob-bottom.is-closing {
    animation: fadeOutUp .3s
}

.popup--mob-bottom .popup__container {
    border-radius: 1rem 1rem 0 0;
    flex: 0 0 auto;
    height: auto
}

.popup--mob-bottom .popup__main {
    flex: 0 1 auto
}

.popup--mob-bottom .popup__btn-close {
    display: none
}

.popup--add-number .popup__main {
    overflow: visible;
    z-index: 20
}

.popup__backdrop {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0
}

.popup--address .popup__btn-close {
    z-index: 30
}

.popup--review .popup__main .custom-select__items {
    max-height: 230px
}

.popup--review .popup__reviews-content {
    overflow: hidden
}

.popup--review .popup__search-filter {
    margin-bottom: 1rem
}

.stars-field {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 12px
}

.stars-field input {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.stars-field__stars {
    display: flex;
    flex-flow: row wrap;
    gap: 8px
}

.stars-field__star {
    background-color: transparent;
    border: none;
    color: var(--color-blue-400);
    display: inline-flex;
    flex: 0 0 auto;
    padding: 0;
    transition: all .3s
}

.stars-field__star:hover {
    color: var(--color-hover)
}

.stars-field__star .icon {
    flex: 0 0 auto
}

.stars-field__star .icon:first-child {
    display: inline-block
}

.stars-field__star .icon:nth-child(2),
input[data-value="1"]+.stars-field__stars .stars-field__star:first-child .icon:first-child,
input[data-value="2"]+.stars-field__stars .stars-field__star:nth-child(-n+2) .icon:first-child,
input[data-value="3"]+.stars-field__stars .stars-field__star:nth-child(-n+3) .icon:first-child,
input[data-value="4"]+.stars-field__stars .stars-field__star:nth-child(-n+4) .icon:first-child,
input[data-value="5"]+.stars-field__stars .stars-field__star:nth-child(-n+5) .icon:first-child {
    display: none
}

input[data-value="1"]+.stars-field__stars .stars-field__star:first-child .icon:nth-child(2),
input[data-value="2"]+.stars-field__stars .stars-field__star:nth-child(-n+2) .icon:nth-child(2),
input[data-value="3"]+.stars-field__stars .stars-field__star:nth-child(-n+3) .icon:nth-child(2),
input[data-value="4"]+.stars-field__stars .stars-field__star:nth-child(-n+4) .icon:nth-child(2),
input[data-value="5"]+.stars-field__stars .stars-field__star:nth-child(-n+5) .icon:nth-child(2) {
    display: inline-block
}

.stars-field__value {
    color: var(--color-grey-800);
    flex: 0 0 auto;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4
}

.stars-rating {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 12px
}

.stars-rating input {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0)
}

.stars-rating__stars {
    display: flex;
    flex-flow: row wrap;
    gap: 8px
}

.stars-rating__star {
    background-color: transparent;
    border: none;
    color: var(--color-blue-400);
    display: inline-flex;
    flex: 0 0 auto;
    padding: 0;
    transition: all .3s
}

.stars-rating__star:hover {
    color: var(--color-hover)
}

.stars-rating__star .icon {
    flex: 0 0 auto;
    height: 24px;
    width: 24px
}

.stars-rating__star .icon:first-child {
    display: inline-block
}

.stars-rating[data-value="1"] .stars-rating__star:first-child .icon:first-child,
.stars-rating[data-value="2"] .stars-rating__star:nth-child(-n+2) .icon:first-child,
.stars-rating[data-value="3"] .stars-rating__star:nth-child(-n+3) .icon:first-child,
.stars-rating[data-value="4"] .stars-rating__star:nth-child(-n+4) .icon:first-child,
.stars-rating[data-value="5"] .stars-rating__star:nth-child(-n+5) .icon:first-child,
.stars-rating__star .icon:nth-child(2) {
    display: none
}

.stars-rating[data-value="1"] .stars-rating__star:first-child .icon:nth-child(2),
.stars-rating[data-value="2"] .stars-rating__star:nth-child(-n+2) .icon:nth-child(2),
.stars-rating[data-value="3"] .stars-rating__star:nth-child(-n+3) .icon:nth-child(2),
.stars-rating[data-value="4"] .stars-rating__star:nth-child(-n+4) .icon:nth-child(2),
.stars-rating[data-value="5"] .stars-rating__star:nth-child(-n+5) .icon:nth-child(2) {
    display: inline-block
}

.stars-rating__value {
    color: var(--color-grey-800);
    flex: 0 0 auto;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 2px
}

.header {
    display: block;
    left: 0;
    right: 0;
    top: 0;
    transition: background-color .5s;
    transition-duration: .3s;
    width: 100%;
    z-index: 100
}

.header,
.header--scrolled {
    background-color: var(--color-white);
    position: -webkit-sticky;
    position: sticky
}

.header__container {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    height: 64px;
    padding: 0 20px
}

.header__container:before {
    background-color: var(--color-white);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 120
}

.page--nav-open .header__container:before {
    opacity: 1
}

.header__logo {
    color: var(--color-dark);
    flex: 0 0 auto;
    position: relative;
    top: -3px;
    width: 80px;
    z-index: 130
}

.header__logo a {
    color: inherit;
    transition: color .3s ease
}

.header__logo a:focus-visible,
.header__logo a:hover {
    color: var(--color-hover)
}

.header__actions {
    display: flex;
    gap: 15px;
    margin-left: auto
}

.header__nav-btn,
.header__search-btn {
    flex: 0 0 auto;
    position: relative;
    z-index: 130
}

.sidebar {
    background: var(--color-white);
    border-right: 1px solid var(--color-gray);
    display: flex;
    flex-direction: column;
    gap: 30px;
    height: 100%;
    justify-content: space-between;
    left: 0;
    max-width: 100%;
    min-width: 240px;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: hidden;
    overflow-y: auto;
    padding: 20px 30px 30px;
    position: fixed;
    top: 0;
    transform: translateX(-100%);
    transition: opacity .55s ease, transform .25s ease;
    width: 100%;
    will-change: transform;
    z-index: 998
}

.sidebar::-webkit-scrollbar,
.sidebar::-webkit-scrollbar-track {
    background-color: var(--color-gray)
}

.sidebar::-webkit-scrollbar {
    width: 2px
}

.sidebar::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.sidebar.is-open {
    opacity: 1;
    transform: translateX(0)
}

.sidebar__top {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.sidebar__heading {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between
}

.sidebar__logo svg {
    width: 60px
}

.sidebar__btn-close {
    background: transparent;
    border: none;
    display: block;
    flex: 0 0 auto;
    height: 20px;
    margin: 0;
    padding: 0;
    position: relative;
    width: 20px
}

.sidebar__btn-close:focus-visible:before,
.sidebar__btn-close:hover:before {
    transform: rotate(-45deg)
}

.sidebar__btn-close:focus-visible:after,
.sidebar__btn-close:hover:after {
    transform: rotate(45deg)
}

.sidebar__btn-close:after,
.sidebar__btn-close:before {
    background-color: var(--color-dark);
    content: "";
    height: 2px;
    left: 1px;
    opacity: 1;
    position: absolute;
    top: 46%;
    transform-origin: 50% 50%;
    transition: all .2s ease;
    width: 90%
}

.sidebar__btn-close:before {
    transform: rotate(45deg)
}

.sidebar__btn-close:after {
    transform: rotate(-45deg)
}

.sidebar__menu {
    list-style: none;
    margin: 0;
    padding: 0
}

.sidebar__menu-item:not(.sidebar__menu-item:last-child) {
    margin-bottom: 8px
}

.sidebar__menu-link {
    font-size: 1.125rem;
    font-weight: 800
}

.sidebar__menu-link:focus-visible,
.sidebar__menu-link:hover {
    text-decoration: none
}

.sidebar__bottom {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.sidebar__bottom-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 30px
}

.social__icons {
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    padding: 0
}

.social__icons,
.social__icons li {
    display: flex;
    margin: 0
}

.social__icons a {
    color: var(--color-gray-dark);
    display: flex;
    transition: all .2s ease
}

.social__icons a:focus-visible,
.social__icons a:hover {
    color: var(--color-dark);
    text-decoration: none
}

.social__icons .icon,
.social__icons img {
    height: 20px;
    transition: all .2s ease;
    width: 20px
}

.social--white .social__icons a {
    color: var(--color-white)
}

.social--white .social__icons a:focus-visible,
.social--white .social__icons a:hover {
    color: var(--color-gray)
}

.social--transform .social__icons a:focus-visible,
.social--transform .social__icons a:hover {
    transform: translateY(-5px)
}

.social--apps {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px
}

.social--apps .social__icons {
    flex-direction: row;
    gap: 12px
}

.social--circle a {
    align-items: center;
    border: 1px solid var(--color-dark);
    border-radius: 50%;
    display: flex;
    height: 30px;
    justify-content: center;
    width: 30px
}

.social--circle a:focus-visible,
.social--circle a:hover {
    background-color: var(--color-dark)
}

.social--circle a:focus-visible .icon,
.social--circle a:hover .icon {
    fill: var(--color-white)
}

.social--circle .icon {
    fill: var(--color-dark)
}

.notifications-meter {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 4px;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.notifications-meter__icon {
    flex: 0 0 auto;
    transition: all .2s ease;
    fill: var(--color-dark);
    height: 24px;
    width: 24px
}

.notifications-meter__link {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column
}

.notifications-meter__link:focus-visible,
.notifications-meter__link:hover {
    text-decoration: none
}

.notifications-meter__link:focus-visible .notifications-meter__icon,
.notifications-meter__link:hover .notifications-meter__icon {
    fill: var(--color-hover)
}

.notifications-meter__link:focus-visible .notifications-meter__label,
.notifications-meter__link:hover .notifications-meter__label {
    color: var(--color-dark)
}

.notifications-meter__count {
    align-items: center;
    background-color: var(--color-dark);
    border-radius: 50%;
    color: var(--color-white);
    display: flex;
    flex: 0 0 auto;
    font-size: .625rem;
    font-weight: 500;
    justify-content: center;
    left: auto;
    line-height: 1.3;
    min-height: 20px;
    min-width: 20px;
    padding: 3px 4px 2px;
    position: absolute;
    right: calc(50% - 34px);
    top: -8px
}

.notifications-meter__count:empty {
    display: none
}

.notifications-meter__label {
    color: var(--color-gray-dark);
    font-size: .75rem;
    transition: all .2s ease
}

.notifications-meter--button {
    align-items: center;
    background: none;
    border: none;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column
}

.notifications-meter--button:focus-visible,
.notifications-meter--button:hover {
    text-decoration: none
}

.notifications-meter--button:focus-visible .notifications-meter__icon,
.notifications-meter--button:hover .notifications-meter__icon {
    fill: var(--color-hover)
}

.notifications-meter--button:focus-visible .notifications-meter__label,
.notifications-meter--button:hover .notifications-meter__label {
    color: var(--color-dark)
}

.loading-icon {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    position: relative;
    right: 15px
}

.loading-icon:not(.loading-icon.loading) {
    display: none
}

.loading-icon.loading .loading-icon__dot {
    animation: dotFlashing 1s linear infinite alternate;
    animation-delay: .5s
}

.loading-icon__dot {
    flex: 0 0 auto;
    position: relative
}

.loading-icon__dot,
.loading-icon__dot:after,
.loading-icon__dot:before {
    background-color: var(--color-dark);
    border-radius: 5px;
    color: var(--color-dark);
    height: 10px;
    width: 10px
}

.loading-icon__dot:after,
.loading-icon__dot:before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0
}

.loading-icon__dot:before {
    left: -15px
}

.loading-icon__dot:after {
    left: 15px
}

.loading-icon--spinner {
    background-color: #23282d;
    border-radius: 50%;
    display: inline-block;
    height: 24px;
    opacity: .75;
    visibility: visible;
    width: 24px
}

.loading-icon--spinner:before {
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-name: spin;
    animation-timing-function: linear;
    background-color: #fbfbfc;
    border: none;
    border-radius: 100%;
    content: "";
    height: 6px;
    left: 4px;
    position: absolute;
    top: 4px;
    transform-origin: 8px 8px;
    width: 6px
}

@keyframes dotFlashing {
    0% {
        background-color: var(--color-dark)
    }

    50%,
    to {
        background-color: var(--color-gray)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.nav-btn {
    --color-line: var(--color-dark);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: transparent;
    border: none;
    display: inline-block;
    height: 24px;
    padding: 0;
    position: relative;
    width: 24px
}

.nav-btn__line {
    background-color: var(--color-line);
    border-radius: 4px;
    display: block;
    height: 2px;
    left: 50%;
    margin-left: -10px;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    transform-origin: center center;
    transition: transform .1s, background-color .2s;
    width: 20px
}

.nav-btn:focus-visible .nav-btn__line,
.nav-btn:hover .nav-btn__line {
    background-color: var(--color-hover)
}

.nav-btn__line:first-child {
    transform: translateY(-6px)
}

.nav-btn.active .nav-btn__line:first-child {
    transform: rotate(45deg) translate(0)
}

.nav-btn.active .nav-btn__line:nth-child(2) {
    opacity: 0
}

.nav-btn__line:nth-child(3) {
    transform: translateY(6px)
}

.nav-btn.active .nav-btn__line:nth-child(3) {
    transform: rotate(-45deg) translate(0)
}

.search-panel {
    background: var(--color-white);
    left: 0;
    opacity: 0;
    padding: 50px 0;
    position: fixed;
    top: 0;
    transform: translateY(-100%);
    transition: opacity .25s ease, transform .5s ease;
    width: 100%;
    will-change: transform;
    z-index: 106
}

.search-panel.is-open {
    opacity: 1;
    transform: translateX(0)
}

.search-panel__container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 15px
}

.search-panel__btn-close {
    background: var(--color-bg-soft);
    border: 9px solid transparent;
    border-radius: 50%;
    display: block;
    flex: 0 0 auto;
    height: 36px;
    margin: 0;
    padding: 0;
    position: relative;
    width: 36px
}

.search-panel__btn-close:focus-visible:before,
.search-panel__btn-close:hover:before {
    transform: rotate(-45deg)
}

.search-panel__btn-close:focus-visible:after,
.search-panel__btn-close:hover:after {
    transform: rotate(45deg)
}

.search-panel__btn-close:after,
.search-panel__btn-close:before {
    background-color: var(--color-dark);
    content: "";
    height: 2px;
    left: 1px;
    opacity: 1;
    position: absolute;
    top: 46%;
    transform-origin: 50% 50%;
    transition: all .2s ease;
    width: 90%
}

.search-panel__btn-close:before {
    transform: rotate(45deg)
}

.search-panel__btn-close:after {
    transform: rotate(-45deg)
}

.search-panel__search-form {
    max-width: 600px;
    width: 100%
}

.nav-page {
    align-items: center;
    background-color: var(--color-white);
    bottom: 0;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .1);
    display: flex;
    left: 0;
    min-height: 4rem;
    opacity: 0;
    padding-top: 5px;
    position: fixed;
    transform: translateY(100%);
    transition: opacity .25s ease, transform .25s ease;
    width: 100%;
    will-change: transform;
    z-index: 102
}

.nav-page.is-open,
.nav-page.show-always {
    opacity: 1;
    transform: translateY(0)
}

.nav-page__inner {
    padding-left: 10px;
    padding-right: 10px;
    width: 100%
}

.nav-page__items {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: space-between
}

.sidebar-after {
    background: var(--color-white);
    display: flex;
    flex-direction: column;
    height: 100%;
    left: 0;
    max-width: 100%;
    min-width: 260px;
    opacity: 0;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    transform: translateX(-100%);
    transition: opacity .25s ease, transform .25s ease;
    width: 100%;
    will-change: transform;
    z-index: 999
}

.sidebar-after::-webkit-scrollbar,
.sidebar-after::-webkit-scrollbar-track {
    background-color: var(--color-gray)
}

.sidebar-after::-webkit-scrollbar {
    width: 2px
}

.sidebar-after::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.sidebar-after.is-open {
    opacity: 1;
    transform: translateX(0)
}

.sidebar-after__heading {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    min-height: 60px;
    padding: 0 25px
}

.sidebar-after__heading-tabs {
    display: flex;
    gap: 24px
}

.sidebar-after__heading--border {
    border-bottom: 1px solid var(--color-gray)
}

.sidebar-after__btn-close {
    background: transparent;
    border: none;
    display: block;
    flex: 0 0 auto;
    height: 20px;
    margin: 0;
    padding: 0;
    position: relative;
    width: 20px
}

.sidebar-after__btn-close:focus-visible:before,
.sidebar-after__btn-close:hover:before {
    transform: rotate(-45deg)
}

.sidebar-after__btn-close:focus-visible:after,
.sidebar-after__btn-close:hover:after {
    transform: rotate(45deg)
}

.sidebar-after__btn-close:after,
.sidebar-after__btn-close:before {
    background-color: var(--color-dark);
    content: "";
    height: 2px;
    left: 1px;
    opacity: 1;
    position: absolute;
    top: 46%;
    transform-origin: 50% 50%;
    transition: all .2s ease;
    width: 90%
}

.sidebar-after__btn-close:before {
    transform: rotate(45deg)
}

.sidebar-after__btn-close:after {
    transform: rotate(-45deg)
}

.sidebar-after__content {
    overflow-x: hidden;
    overflow-y: auto
}

.sidebar-after__content::-webkit-scrollbar-track {
    background-color: var(--color-gray)
}

.sidebar-after__content::-webkit-scrollbar {
    background-color: var(--color-gray);
    width: 2px
}

.sidebar-after__content::-webkit-scrollbar-thumb {
    background-color: var(--color-dark);
    border-radius: 3px
}

.sidebar-after__content-heading {
    align-items: center;
    border-bottom: 1px solid var(--color-gray);
    color: var(--color-dark);
    display: flex;
    flex-wrap: wrap;
    font-size: 1.125rem;
    font-weight: 500;
    gap: 12px;
    justify-content: space-between;
    padding-bottom: 10px;
    text-transform: capitalize
}

.sidebar-after__content-heading--border-t {
    border-bottom: 0;
    border-top: 1px solid var(--color-gray);
    padding-bottom: 0;
    padding-top: 10px
}

.sidebar-after__content-action {
    background: var(--color-white);
    display: none;
    flex-direction: column;
    gap: 20px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    min-height: 100%;
    opacity: 0;
    padding: 25px;
    transform: translateX(-150%);
    transition: opacity .15s ease, transform .75s ease;
    width: 100%;
    will-change: transform;
    z-index: 3
}

.sidebar-after__content-action.active {
    animation: fadeInSlide .6s ease;
    display: flex;
    opacity: 1;
    transform: translateX(0)
}

.sidebar-after__content-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.sidebar-after__categories {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(3, 1fr)
}

.sidebar-after__products {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.sidebar-after__products-empty {
    align-items: center;
    color: var(--color-dark);
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    gap: 10px
}

.sidebar-after__products-empty .icon {
    height: 100px;
    width: 100px;
    fill: var(--color-gray)
}

.sidebar-after__filters {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.category-item,
.category-item__link {
    align-items: center;
    display: flex;
    flex-direction: column;
    position: relative
}

.category-item__link {
    gap: 10px
}

.category-item__count {
    background: var(--color-primary);
    border-radius: 20px;
    color: var(--color-white);
    font-size: .6875rem;
    height: 18px;
    left: 18px;
    min-width: 18px;
    position: absolute;
    top: 8px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 2
}

.category-item__count,
.category-item__img {
    align-items: center;
    display: flex;
    justify-content: center
}

.category-item__img {
    flex: 0 0 auto;
    height: 80px;
    width: 80px
}

.category-item__img img {
    height: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transition: all .2s ease;
    width: 100%
}

.category-item__content {
    display: flex;
    flex-direction: column;
    position: relative
}

.category-item__title {
    color: var(--color-dark);
    line-height: 1.2;
    text-align: center;
    text-transform: capitalize;
    transition: all .2s ease
}

.category-item--circle .category-item__img {
    border: 2px solid var(--color-gray);
    border-radius: 50%;
    height: 140px;
    width: 140px
}

.category-item--circle .category-item__img img {
    max-width: 80px
}

.category-item--circle .category-item__count {
    background-color: var(--color-dark);
    height: 30px;
    left: auto;
    min-width: 30px;
    right: 15px;
    top: -2px
}

.category-item--circle .category-item__title {
    font-weight: 700
}

.category-item--slide .category-item__link {
    height: 100%;
    width: 100%
}

.category-item--slide .category-item__link:focus-visible,
.category-item--slide .category-item__link:hover {
    text-decoration: none
}

.category-item--slide .category-item__link:focus-visible .category-item__title,
.category-item--slide .category-item__link:hover .category-item__title {
    color: var(--color-hover)
}

.category-item--slide .category-item__link:focus-visible img,
.category-item--slide .category-item__link:hover img {
    opacity: .8
}

.category-item--slide .category-item__img {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding-bottom: 100%;
    position: relative;
    width: inherit
}

.category-item--slide .category-item__img img {
    left: 50%;
    max-width: 70%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%)
}

.tabs__tabs {
    --gap: 1.25rem;
    display: inline-flex;
    margin-left: -12px;
    margin-right: -12px;
    max-width: calc(100% + 24px);
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 12px;
    position: relative
}

.tabs__items {
    align-items: flex-end;
    flex-flow: row wrap;
    list-style: none;
    padding: 0 0 1px;
    width: auto
}

.tabs__item,
.tabs__items {
    display: flex;
    margin: 0;
    position: relative
}

.tabs__item {
    flex: 0 0 auto;
    padding: 0 var(--gap) 0 0
}

.tabs__item:after {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0
}

.tabs__item:last-child {
    padding-right: 12px
}

.tabs__item:last-child:after {
    right: 12px
}

a.tabs__tab,
button.tabs__tab {
    cursor: pointer
}

a.tabs__tab:focus-visible,
a.tabs__tab:hover,
button.tabs__tab:focus-visible,
button.tabs__tab:hover {
    color: var(--color-hover);
    outline: none;
    text-decoration: none
}

.tabs__tab {
    align-items: center;
    background-color: transparent;
    border: none;
    color: var(--color-dark);
    display: flex;
    flex: 0 0 auto;
    flex-flow: row nowrap;
    font-size: .9375rem;
    font-weight: 500;
    gap: 8px;
    line-height: 1.25;
    margin: 0;
    padding: 0 0 .625rem;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: auto
}

.tabs__tab.active {
    color: var(--color-dark-soft)
}

.tabs__tab .icon {
    height: 16px;
    width: 16px;
    fill: var(--color-primary)
}

.tabs__tab--icon-right .icon {
    order: 2
}

.tabs__tab:after {
    background-color: var(--color-dark);
    border-radius: 10px;
    bottom: -1px;
    content: "";
    display: none;
    height: 1px;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    transition: opacity .3s;
    width: 100%;
    z-index: 10
}

.tabs__tab.active {
    pointer-events: none
}

.tabs__tab.active:after {
    opacity: 1
}

.tabs__count {
    color: var(--color-grey-500);
    display: inline-block;
    flex: 0 0 auto
}

.tabs__panel {
    margin-top: 1.25rem
}

.tabs__panel.active {
    animation: fadeIn .2s ease
}

.tabs__panel:not(.active) {
    display: none
}

.tabs__panel--slide.active {
    animation: fadeInSlide .6s ease
}

.tabs__panel--slideDown.active {
    animation: fadeInSlideDown .6s ease
}

.tabs--sidebar-after {
    width: 100%
}

.tabs--sidebar-after .tabs__tabs {
    margin: 0;
    padding: 0;
    width: 100%
}

.tabs--sidebar-after .tabs__items {
    justify-content: space-between;
    width: 100%
}

.tabs--sidebar-after .tabs__item:last-child {
    padding: 0
}

.tabs--sidebar-after .tabs__tab {
    gap: 2px
}

.tabs--sidebar-after .tabs__tab:after {
    display: none
}

.tabs-panel.active {
    animation: fadeIn .2s ease
}

.tabs-panel:not(.active) {
    display: none
}

.tabs-panel--slide.active {
    animation: fadeInSlide .6s ease
}

.tabs-panel--slideDown.active {
    animation: fadeInSlideDown .6s ease
}

.offer-time {
    background-color: var(--color-gray-soft);
    border: 1px solid var(--color-gray);
    border-radius: 4px;
    justify-content: space-between;
    padding: 5px 15px
}

.offer-time,
.offer-time__wrapper {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px
}

.offer-time__icon {
    height: 20px;
    width: 20px
}

.offer-time__text {
    color: var(--color-dark);
    font-weight: 500;
    margin: 0
}

.offer-time__timer {
    font-weight: 500
}

.offer-time--discount {
    min-height: 45px
}

.offer-time--discount .offer-time__text {
    color: var(--color-text);
    font-weight: 400
}

.offer-time--discount .offer-time__timer {
    color: var(--color-dark)
}

.timer {
    display: block
}

.goal-progress {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.goal-progress__text {
    margin: 0
}

.goal-progress__wrap {
    height: 6px;
    position: relative
}

.goal-progress__wrap:before {
    background: var(--color-gray-soft);
    border-radius: 4px;
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%
}

.goal-progress__bar {
    border-radius: inherit;
    height: 100%;
    max-width: 100%;
    position: relative;
    transition: all .3s
}

.goal-progress__bar:before {
    background: var(--color-yellow);
    border-radius: 4px;
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%
}

.goal-progress__icon {
    align-items: center;
    background: #fff;
    border: 1px solid var(--color-yellow);
    border-radius: 50%;
    display: flex;
    font-size: .75rem;
    height: 26px;
    justify-content: center;
    position: absolute;
    right: 0;
    text-align: center;
    top: 50%;
    transform: translate(50%, -50%);
    width: 26px;
    z-index: 1
}

.goal-progress__icon .icon {
    height: 17px;
    width: 17px;
    fill: var(--color-yellow)
}

.goal-progress--success {
    animation-delay: .6s;
    animation-duration: 1s;
    animation-fill-mode: both;
    animation-name: shakeY
}

.goal-progress--success .goal-progress__bar:before {
    background-color: var(--color-success)
}

.goal-progress--success .goal-progress__icon {
    border-color: var(--color-success)
}

.goal-progress--success .goal-progress__icon .icon {
    height: 17px;
    width: 17px;
    fill: var(--color-success)
}

.suggestion-item {
    align-items: flex-start;
    display: flex;
    gap: 15px;
    transition: all .2s ease
}

a.suggestion-item:focus-visible,
a.suggestion-item:hover {
    background-color: var(--color-gray-soft);
    text-decoration: none
}

.suggestion-item__img {
    flex: 0 0 auto;
    height: 50px;
    overflow: hidden;
    transition: all .2s ease;
    width: 50px
}

.suggestion-item__img--circle {
    border-radius: 50%
}

a.suggestion-item__img:focus-visible,
a.suggestion-item__img:hover {
    opacity: .8
}

.suggestion-item__img img {
    height: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.suggestion-item__content {
    display: flex;
    flex-direction: column
}

.suggestion-item__content-link:focus-visible,
.suggestion-item__content-link:hover {
    text-decoration: none
}

.suggestion-item__title {
    display: block;
    font-size: .8125rem;
    line-height: 1.4;
    margin-bottom: 4px
}

.suggestion-item__title strong {
    color: var(--color-primary);
    font-weight: 500
}

.suggestion-item__price {
    color: var(--color-dark-soft);
    display: flex;
    flex-wrap: wrap;
    font-size: .8125rem;
    gap: 5px
}

.suggestion-item__price-old {
    text-decoration: line-through
}

.suggestion-item__price-multiplier {
    color: var(--color-dark)
}

.suggestion-item__del {
    background: none;
    border: none;
    color: var(--color-gray-dark);
    flex: 0 0 auto;
    margin: 0 0 0 auto;
    padding: 0;
    transition: all .2s ease
}

.suggestion-item__del:focus-visible,
.suggestion-item__del:hover {
    color: var(--color-dark)
}

.suggestion-item__del .icon {
    height: 15px;
    width: 15px
}

.suggestion-item__cart,
.suggestion-item__counter {
    margin-top: 10px
}

.suggestion-item--cart .suggestion-item__title {
    font-size: .9375rem
}

.suggestion-item--cart .suggestion-item__price {
    font-size: .875rem
}

.suggestion-item--cart .suggestion-item__img {
    height: 80px;
    width: 80px
}

.suggestion-item--short {
    align-items: center
}

.suggestion-item--short .suggestion-item__title {
    font-weight: 700
}

.suggestion-item--medium .suggestion-item__img {
    height: 80px;
    width: 80px
}

.suggestion-item--medium .suggestion-item__stars {
    margin: 5px 0
}

.counter {
    border: 1px solid var(--color-dark);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.counter,
.counter__btn {
    align-items: center;
    display: flex;
    justify-content: center
}

.counter__btn {
    background: none;
    border: none;
    cursor: pointer;
    height: 22px;
    margin: 0;
    padding: 0;
    position: relative;
    transition: all .2s ease;
    width: 32px
}

.counter__btn:focus-visible,
.counter__btn:hover {
    background-color: var(--color-gray)
}

.counter__btn:after,
.counter__btn:before {
    background-color: var(--color-dark);
    content: "";
    display: block;
    position: absolute
}

.counter__btn--minus:after {
    height: 2px;
    width: 10px
}

.counter__btn--plus:before {
    height: 10px;
    width: 2px
}

.counter__btn--plus:after {
    height: 2px;
    width: 10px
}

.counter__input {
    background: none;
    border: none;
    font-size: .75rem;
    height: auto;
    padding: 0;
    text-align: center;
    width: 50px
}

.footer__main {
    align-items: flex-start;
    background-color: var(--color-dark);
    gap: 60px;
    padding: 2.5rem .9375rem 5.625rem
}

.footer__col,
.footer__main {
    display: flex;
    flex-direction: column
}

.footer__col {
    gap: 40px
}

.footer__col:nth-child(2) {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    width: 100%
}

.footer__col:nth-child(2) .footer__block {
    width: calc(50% - 12px)
}

.footer__title {
    color: var(--color-white);
    font-size: 1.625rem;
    font-weight: 700;
    margin: 0
}

.footer__block {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.footer__block-title {
    color: var(--color-white);
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0
}

.footer__block-text p:last-child,
.footer__block-text:last-child {
    margin-bottom: 0
}

.footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.footer__contact,
.footer__contact a {
    color: var(--color-white)
}

.footer__contact a {
    transition: all .2s ease
}

.footer__contact a:focus-visible,
.footer__contact a:hover {
    color: var(--color-gray-dark);
    text-decoration: none
}

.footer__payments {
    max-height: 21px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.footer__links {
    list-style: none;
    margin: 0;
    padding: 0
}

.footer__links-item:not(.footer__links-item:last-child) {
    margin-bottom: 10px
}

.footer__links-link {
    color: var(--color-gray-dark);
    padding-bottom: 5px;
    position: relative
}

.footer__links-link:after {
    background-color: #fff;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transition: all .2s ease;
    width: 0
}

.footer__links-link:focus-visible,
.footer__links-link:hover {
    color: var(--color-white);
    text-decoration: none
}

.footer__links-link:focus-visible:after,
.footer__links-link:hover:after {
    width: 100%
}

.benefits {
    border-top: 1px solid #e1e2e3;
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(1, 1fr);
    padding: 3.75rem 1.25rem
}

.benefits__item {
    display: flex;
    gap: 15px
}

.benefits__item-icon {
    align-items: center;
    border: 1px solid var(--color-dark);
    display: flex;
    flex: 0 0 auto;
    height: 57px;
    justify-content: center;
    width: 57px
}

.benefits__item-icon .icon {
    height: 30px;
    width: 30px;
    fill: var(--color-dark)
}

.benefits__item-content {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.benefits__item-title {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 700;
    margin: 0
}

.benefits__item-text p:last-child,
.benefits__item-text:last-child {
    margin-bottom: 0
}

.team {
    flex-direction: column;
    padding: 3.75rem 1.25rem
}

.team,
.team__cards {
    display: flex;
    gap: 30px
}

.team__cards {
    flex-wrap: wrap
}

.team__cards-card {
    width: 100%
}

.section-heading {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: center
}

.section-heading__title {
    color: var(--color-dark);
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0;
    text-transform: capitalize
}

.section-heading__text p:last-child,
.section-heading__text:last-child {
    margin-bottom: 0
}

.team-card {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.team-card__img {
    max-height: 307px;
    overflow: hidden
}

.team-card__img img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    vertical-align: top
}

.team-card__content {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.team-card__heading {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.team-card__name {
    font-size: 1rem;
    font-weight: 700;
    margin: 0
}

.team-card__post {
    font-size: .75rem;
    font-weight: 800
}

.reviews-single {
    border-bottom: 1px solid #e1e2e3;
    display: block;
    padding: 3.75rem 1.25rem
}

.reviews-single__swiper {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: center;
    max-width: 760px
}

.reviews-single__swiper-pagination {
    display: flex;
    gap: 10px;
    justify-content: center
}

.reviews-single__card {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px
}

.reviews-single__card-heading {
    align-items: center;
    display: flex;
    gap: 20px
}

.reviews-single__card-heading-content {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.reviews-single__card-heading-title {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 700;
    margin: 0
}

.reviews-single__card-heading-status {
    color: var(--color-dark);
    margin: 0
}

.reviews-single__card-avatar {
    height: 70px;
    width: 70px
}

.reviews-single__card-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.reviews-single__card-text {
    font-size: 1.125rem;
    text-align: center
}

.reviews {
    border-bottom: 1px solid #e1e2e3;
    padding: 3.75rem 1.25rem
}

.reviews__wrapper {
    gap: 30px
}

.reviews-card,
.reviews__wrapper {
    display: flex;
    flex-direction: column
}

.reviews-card {
    border: 1px solid var(--color-gray);
    gap: 32px;
    padding: 1.625rem 1.25rem
}

.reviews-card__user {
    align-items: center;
    display: flex;
    gap: 16px
}

.reviews-card__user-avatar {
    height: 45px;
    width: 45px
}

.reviews-card__user-content {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.reviews-card__user-name {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    text-transform: capitalize
}

.reviews-card__user-status {
    margin: 0
}

.reviews-card__content {
    background-color: #fcfcfc;
    border: 1px solid #f9f9f9;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px
}

.reviews-card__text {
    color: var(--color-dark)
}

.reviews-card__text p:last-child,
.reviews-card__text:last-child {
    margin-bottom: 0
}

.reviews-card__date {
    color: var(--color-dark);
    font-size: .75rem
}

.reviews-card__products {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto
}

.stars-row {
    align-items: center;
    display: flex;
    gap: 10px
}

.stars-row__icons {
    display: flex;
    gap: 3px
}

.stars-row__icons .icon {
    height: 20px;
    width: 20px;
    fill: var(--color-green)
}

.stars-row__text {
    color: var(--color-dark);
    font-size: .75rem;
    line-height: 1
}

.stars-row--yellow .icon {
    fill: var(--color-base)
}

.stars-row--small .stars-row__icons {
    gap: 0
}

.stars-row--small .icon {
    height: 12px;
    width: 12px
}

.carousel {
    max-width: 100%
}

.carousel__item {
    box-sizing: border-box;
    height: auto;
    width: 280px
}

.carousel--wide {
    overflow: visible
}

.collapse {
    padding-bottom: 1px
}

.collapse:not(.show) {
    display: none
}

.collapse-toggle {
    background-color: var(--color-grey-10);
    border: none;
    border-radius: 50%;
    flex: 0 0 auto;
    height: 48px;
    padding: 0;
    position: relative;
    transition: all .3s ease;
    width: 48px
}

.collapse-toggle[aria-expanded=true] {
    background-color: var(--color-grey-40);
    transform: rotate(45deg)
}

.collapse-toggle:before {
    height: 1px;
    margin-left: -10px;
    margin-top: -1px;
    transition: background-color .3s ease, transform .2s;
    width: 19px
}

.collapse-toggle:after,
.collapse-toggle:before {
    background-color: var(--color-text);
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%
}

.collapse-toggle:after {
    height: 19px;
    margin-left: -1px;
    margin-top: -10px;
    transition: all .3s ease;
    width: 1px
}

.collapse-toggle:focus-visible,
.collapse-toggle:hover {
    background-color: var(--color-blue-40)
}

.collapse-toggle:focus-visible:after,
.collapse-toggle:focus-visible:before,
.collapse-toggle:hover:after,
.collapse-toggle:hover:before {
    background-color: var(--color-blue-80)
}

.shop {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 3.75rem 1.25rem
}

.shop__grid {
    display: grid;
    gap: 20px
}

.shop__grid--col-2,
.shop__grid--col-3,
.shop__grid--col-4,
.shop__grid--col-5 {
    grid-template-columns: repeat(2, 1fr)
}

.hero-banner {
    background-color: var(--color-gray-soft);
    display: block;
    margin: 0 auto;
    min-height: 225px;
    overflow: hidden;
    padding: 5rem 1.25rem;
    position: relative;
    width: 100%
}

.hero-banner__bg {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.hero-banner__content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
    z-index: 2
}

.hero-banner__title {
    font-size: 1.75rem;
    margin-bottom: 0
}

.breadcrumbs__list {
    flex-wrap: wrap;
    gap: 8px;
    list-style: none
}

.breadcrumbs__item,
.breadcrumbs__list {
    align-items: center;
    display: flex;
    margin: 0;
    padding: 0
}

.breadcrumbs__item {
    color: var(--color-gray);
    font-size: .9375rem;
    font-weight: 500
}

.breadcrumbs__item:not(.breadcrumbs__item:last-child):after {
    background-color: var(--color-gray);
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 5px;
    margin-left: 8px;
    width: 5px
}

.breadcrumbs__item.active {
    color: var(--color-gray-dark)
}

.breadcrumbs__item a {
    text-decoration: none;
    transition: all .2s ease
}

.breadcrumbs__item a:focus-visible,
.breadcrumbs__item a:hover {
    color: rgba(36, 36, 36, .8)
}

.product-card {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 15px
}

.product-card:focus-visible .product-card__img img,
.product-card:hover .product-card__img img {
    opacity: .8;
    transform: scale(1.05)
}

.product-card:focus-visible .product-card__btn,
.product-card:hover .product-card__btn {
    background-color: var(--color-white)
}

.product-card:focus-visible .product-card__btn--hidden,
.product-card:hover .product-card__btn--hidden {
    opacity: 1;
    transform: translateX(0)
}

.product-card:focus-visible .product-card__title-transform-first,
.product-card:hover .product-card__title-transform-first {
    transform: translateY(-100%)
}

.product-card:focus-visible .product-card__title-transform-second,
.product-card:hover .product-card__title-transform-second {
    opacity: 1;
    top: 0
}

.product-card__img {
    flex: 0 0 auto;
    max-height: 450px;
    overflow: hidden;
    position: relative;
    transition: all .3s ease;
    width: 100%
}

.product-card__img--circle {
    border-radius: 50%
}

.product-card__img-link {
    background: var(--color-gray-soft);
    display: block;
    height: 100%;
    width: 100%
}

.product-card__img img {
    height: 100%;
    max-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: all .3s ease;
    width: 100%
}

.product-card__labels {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 5px;
    left: 10px;
    position: absolute;
    top: 10px;
    z-index: 2
}

.product-card__labels-item {
    align-items: center;
    background-color: var(--color-dark);
    border-radius: 3px;
    color: var(--color-white);
    display: flex;
    font-size: .75rem;
    font-weight: 600;
    min-height: 20px;
    padding: 0 7px
}

.product-card__labels-item--red {
    background-color: var(--color-red-bg);
    color: var(--color-red)
}

.product-card__labels-item--green {
    background-color: var(--color-success);
    color: var(--color-white)
}

.product-card__labels-item--yellow {
    background-color: var(--color-warning);
    color: var(--color-white)
}

.product-card__btns {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 2
}

.product-card__btn {
    align-items: center;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    display: flex;
    height: 30px;
    justify-content: center;
    position: relative;
    transition: all .3s ease;
    width: 30px
}

.product-card__btn:focus-visible .icon,
.product-card__btn:hover .icon {
    fill: var(--color-dark-soft)
}

.product-card__btn:focus-visible .product-card__btn-hint,
.product-card__btn:hover .product-card__btn-hint {
    opacity: 1;
    right: 40px;
    visibility: visible
}

.product-card__btn .icon {
    height: 16px;
    transition: all .3s ease;
    width: 16px;
    fill: var(--color-dark)
}

.product-card__btn--hidden {
    opacity: 0;
    transform: translateX(calc(100% + 30px))
}

.product-card__btn--success .icon {
    fill: var(--color-green)
}

.product-card__content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%
}

.product-card__title {
    background: none;
    border: none;
    display: block;
    font-family: Manrope, sans-serif;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    text-decoration: none
}

.product-card__title strong {
    color: var(--color-primary);
    font-weight: 500
}

.product-card__title-transform {
    overflow: hidden;
    position: relative;
    transform: translateY(0)
}

.product-card__title-transform-first,
.product-card__title-transform-second {
    transition: all .3s ease
}

.product-card__title-transform-second {
    left: 0;
    margin: 0;
    opacity: 0;
    position: absolute;
    text-align: left;
    top: 100%;
    width: 100%
}

.product-card__title-transform-second:focus-visible,
.product-card__title-transform-second:hover {
    color: var(--color-hover)
}

.product-card__price {
    color: var(--color-dark-soft);
    display: flex;
    flex-wrap: wrap;
    font-size: .8125rem;
    gap: 5px;
    width: 100%
}

.product-card__price-old {
    text-decoration: line-through
}

.product-card__price-multiplier {
    color: var(--color-dark)
}

.product-card__stars {
    margin-left: auto
}

.read-more.is-collapsed .read-more__content {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: var(--max-lines, 10);
    -webkit-box-orient: vertical
}

.read-more__toggle {
    align-items: center;
    background-color: transparent;
    border: none;
    color: var(--color-dark);
    display: flex;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    margin-top: .625rem;
    padding: 0;
    text-align: left
}

.read-more__toggle:focus-visible,
.read-more__toggle:hover {
    color: var(--color-hover);
    text-decoration: none
}

.read-more__toggle span:first-child {
    display: none
}

.read-more.is-collapsed .read-more__toggle span:first-child,
.read-more__toggle span:nth-child(2) {
    display: inline-block
}

.read-more.is-collapsed .read-more__toggle span:nth-child(2) {
    display: none
}

.hint {
    background-color: rgba(51, 51, 51, .9);
    border-radius: 3px;
    box-shadow: 0 7px 15px rgba(0, 0, 0, .3);
    color: var(--color-white);
    display: block;
    font-size: .75rem;
    line-height: 1;
    opacity: 0;
    padding: 8px 9px;
    pointer-events: none;
    position: absolute;
    right: 50px;
    top: auto;
    transform: translateZ(0);
    transition: all .3s ease;
    visibility: hidden;
    white-space: nowrap
}

.hint:after {
    border-style: solid;
    content: "";
    height: 0;
    position: absolute;
    width: 0
}

.hint--top {
    bottom: 50px;
    right: 50%;
    transform: translateX(50%)
}

.hint--top:after {
    border-color: rgba(51, 51, 51, .9) transparent transparent;
    border-width: 5px;
    bottom: -10px;
    left: 50%;
    margin-left: -5px;
    top: auto
}

.hint--right {
    left: 50px
}

.hint--right:after {
    border-color: transparent rgba(51, 51, 51, .9) transparent transparent;
    border-width: 5px;
    left: -10px;
    margin-top: -5px;
    top: 50%
}

.hint--left {
    right: 50px
}

.hint--left:after {
    border-color: transparent transparent transparent rgba(51, 51, 51, .9);
    border-width: 5px;
    margin-top: -5px;
    right: -9px;
    top: 50%
}

.hint--bottom {
    right: 50%;
    top: 50px;
    transform: translateX(50%)
}

.hint--bottom:after {
    border-color: transparent transparent rgba(51, 51, 51, .9);
    border-width: 5px;
    left: 50%;
    margin-left: -5px;
    top: -10px
}

.hero-slider {
    height: 77vh;
    max-width: 100%;
    position: relative
}

.hero-slider__slide {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    padding: 2.5rem;
    position: relative
}

.hero-slider__slide--filter .hero-slider__slide-bg:after {
    background-color: var(--color-dark);
    content: "";
    height: 100%;
    left: 0;
    opacity: .4;
    position: absolute;
    top: 0;
    width: 100%
}

.hero-slider__slide-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    z-index: 3
}

.hero-slider__slide-title {
    color: var(--color-white);
    font-size: 2.125rem;
    font-weight: 700;
    margin: 0;
    text-transform: capitalize
}

.hero-slider__slide-text {
    color: var(--color-white);
    font-size: 1rem
}

.hero-slider__slide-text p:last-child,
.hero-slider__slide-text:last-child {
    margin-bottom: 0
}

.hero-slider__slide-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center
}

.hero-slider__slide-bg {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.hero-slider__slide-bg img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.hero-slider__pagination {
    bottom: 40px !important;
    display: flex;
    gap: 10px;
    justify-content: center;
    position: absolute;
    z-index: 2
}

.hero-slider__navigation {
    display: none;
    justify-content: space-between;
    left: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 20px);
    z-index: 2
}

.hero-slider__next,
.hero-slider__prev {
    align-items: center;
    background-color: rgba(248, 249, 250, .102);
    border: 1px solid hsla(0, 0%, 89%, .102);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 50px;
    justify-content: center;
    transition: all .2s ease;
    width: 50px
}

.hero-slider__next:focus-visible,
.hero-slider__next:hover,
.hero-slider__prev:focus-visible,
.hero-slider__prev:hover {
    background-color: var(--color-white)
}

.hero-slider__next:focus-visible .icon,
.hero-slider__next:hover .icon,
.hero-slider__prev:focus-visible .icon,
.hero-slider__prev:hover .icon {
    fill: var(--color-dark)
}

.hero-slider__next .icon,
.hero-slider__prev .icon {
    height: 25px;
    transition: all .2s ease;
    width: 25px;
    fill: var(--color-white)
}

.error-section {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 3.75rem 1.25rem
}

.error-section__title {
    color: var(--color-primary);
    font-size: 7.5rem;
    font-weight: 700;
    line-height: 1;
    margin: 0
}

.error-section__text {
    color: var(--color-dark);
    font-weight: 500;
    max-width: 310px
}

.error-section__text p:last-child,
.error-section__text:last-child {
    margin-bottom: 0
}

.contacts-section {
    display: grid;
    gap: 35px;
    grid-template-columns: 100%;
    padding: 3.75rem 1.25rem
}

.contacts-section__map {
    min-height: 350px
}

.contacts-section__map iframe {
    height: 100%;
    width: 100%
}

.contacts-section__main {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.contacts-section__cols {
    display: grid;
    gap: 25px;
    grid-template-columns: 100%
}

.contacts-section__col {
    display: flex;
    flex-direction: column;
    gap: 25px
}

.contacts-section__col-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0
}

.contacts-section__col-content {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.contacts-section__col-address {
    color: var(--color-dark);
    -moz-column-gap: 5px;
    column-gap: 5px;
    display: flex;
    flex-wrap: wrap;
    font-size: .9375rem;
    font-style: normal;
    margin: 0
}

.contacts-section__col-text {
    margin: 0
}

.bg-slider {
    display: flex;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.bg-slider__slide {
    position: relative
}

.bg-slider__slide-bg {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    vertical-align: top;
    width: 100%
}

.bg-slider__slide--filter:after {
    background-color: var(--color-dark);
    content: "";
    height: 100%;
    left: 0;
    opacity: .4;
    position: absolute;
    top: 0;
    width: 100%
}

.callback-widget {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    width: 100%;
    z-index: 2
}

.callback-widget__content {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.callback-widget__logo {
    max-width: 60px
}

.callback-widget__logo,
.callback-widget__logo a {
    color: var(--color-white);
    font-size: 2rem
}

.callback-widget__title {
    color: var(--color-white);
    font-size: 24px;
    margin: 0
}

.callback-widget__text {
    color: var(--color-white);
    font-size: .625rem;
    font-weight: 800;
    text-transform: uppercase
}

.faq-section {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 3.75rem 1.25rem
}

.faq-section__grid {
    display: grid;
    gap: 1.875rem;
    grid-template-columns: 100%
}

.faq-section__col {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.faq-section__col-title {
    font-size: 18;
    font-weight: 700;
    margin: 0;
    text-align: center
}

.faq-section__col .faq-section__accordion:last-child .collapse-item__toggle {
    border-bottom-width: 1px
}

.faq-section__col .faq-section__accordion:not(.faq-section__col .faq-section__accordion:last-child) .collapse-item__content {
    border-bottom-width: 0
}

.collapse-item {
    background-color: var(--color-white);
    display: flex;
    flex-direction: column
}

.collapse-item__toggle {
    align-items: center;
    background: none;
    border: solid #d5d8dc;
    border-width: 1px 1px 0;
    display: flex;
    flex-flow: row nowrap;
    gap: .5rem;
    padding: .75rem .9375rem;
    transition: all .3s ease;
    width: 100%
}

.collapse-item.active .collapse-item__toggle {
    border-bottom-width: 0 !important
}

.collapse-item.active .collapse-item__toggle .collapse-item__title {
    color: var(--color-primary)
}

.collapse-item.active .collapse-item__toggle .collapse-item__icon:after,
.collapse-item.active .collapse-item__toggle .collapse-item__icon:before {
    background-color: var(--color-primary)
}

.collapse-item.active .collapse-item__toggle .collapse-item__icon:after {
    transform: rotate(90deg)
}

.collapse-item.active .collapse-item__toggle:focus-visible .collapse-item__title,
.collapse-item.active .collapse-item__toggle:hover .collapse-item__title {
    color: var(--color-base)
}

.collapse-item.active .collapse-item__toggle:focus-visible .collapse-item__icon:after,
.collapse-item.active .collapse-item__toggle:focus-visible .collapse-item__icon:before,
.collapse-item.active .collapse-item__toggle:hover .collapse-item__icon:after,
.collapse-item.active .collapse-item__toggle:hover .collapse-item__icon:before {
    background-color: var(--color-base)
}

.collapse-item__toggle:focus-visible .collapse-item__title,
.collapse-item__toggle:hover .collapse-item__title {
    color: var(--color-hover)
}

.collapse-item__toggle:focus-visible .collapse-item__icon:after,
.collapse-item__toggle:focus-visible .collapse-item__icon:before,
.collapse-item__toggle:hover .collapse-item__icon:after,
.collapse-item__toggle:hover .collapse-item__icon:before {
    background-color: var(--color-hover)
}

.collapse-item__header {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.collapse-item__title {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
    transition: all .2s ease
}

.collapse-item__icon {
    flex: 0 0 auto;
    height: 17px;
    position: relative;
    width: 17px
}

.collapse-item__icon:before {
    height: 2px;
    margin-left: -7px;
    margin-top: 0;
    transition: background-color .3s ease, transform .2s;
    width: 16px
}

.collapse-item__icon:after,
.collapse-item__icon:before {
    background-color: var(--color-dark);
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%
}

.collapse-item__icon:after {
    height: 16px;
    margin-left: 0;
    margin-top: -7px;
    transition: all .3s ease;
    width: 2px
}

.collapse-item__content {
    border: 1px solid #d5d8dc;
    padding: .75rem .9375rem
}

.collapse-item p {
    font-size: .9375rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 0 0 1em
}

.collapse-item p:last-child {
    margin-bottom: 0
}

.collapse-item ul {
    font-size: .9375rem;
    font-weight: 400;
    line-height: 1.4;
    list-style: none;
    margin: 0 0 1em;
    padding: 0
}

.collapse-item ul:last-child {
    margin-bottom: 0
}

.collapse-item ul li {
    margin: 0 0 1em;
    padding: 0
}

.collapse-item ul li:last-child {
    margin-bottom: 0
}

.page-blog {
    padding: 3.75rem 1.25rem
}

.page-blog__main {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 60px
}

.page-blog__grid {
    display: grid;
    gap: 24px
}

.page-blog__sidebar {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 40px;
    width: 100%
}

.page-blog__sidebar-block {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.page-blog__sidebar-title {
    font-size: 1.125rem;
    margin: 0
}

.page-blog__sidebar-items {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.page-blog__sidebar-item {
    align-items: center;
    color: var(--color-dark);
    display: flex;
    gap: 5px;
    justify-content: space-between
}

.page-blog__sidebar-item span {
    color: var(--color-text)
}

a.page-blog__sidebar-item:focus-visible,
a.page-blog__sidebar-item:hover {
    color: var(--color-hover);
    text-decoration: none
}

.blog-card {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.blog-card__img {
    display: block;
    overflow: hidden;
    padding-top: 75%;
    position: relative
}

a.blog-card__img:focus-visible img,
a.blog-card__img:hover img {
    opacity: .8
}

.blog-card__img img {
    bottom: 0;
    left: 0;
    min-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s ease;
    width: 100%
}

.blog-card__content {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.blog-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px
}

.blog-card__tag {
    color: var(--color-dark-soft);
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase;
    transition: all .2s ease
}

a.blog-card__tag:focus-visible,
a.blog-card__tag:hover {
    color: var(--color-dark);
    text-decoration: none
}

.blog-card__title {
    font-size: 1.125rem;
    margin: 0
}

.blog-card__title a {
    color: var(--color-dark)
}

.blog-card__title a:focus-visible,
.blog-card__title a:hover {
    color: var(--color-hover);
    text-decoration: none
}

.blog-card__text {
    display: -webkit-box;
    margin-bottom: 0;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical
}

.categories {
    border-bottom: 1px solid #e1e2e3;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 3.125rem 1.25rem
}

.categories__carousel {
    padding: 10px 0
}

.featured-section {
    padding: 3.75rem 1.25rem
}

.featured-section__wrapper {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.featured-section__products {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr)
}

.featured-section__products-item .product-card__img {
    flex: 1 0 auto
}

.featured-section__widgets {
    display: grid;
    gap: 20px;
    grid-template-columns: 100%
}

.featured-section__widgets-item {
    min-height: 345px
}

.product-widget {
    overflow: hidden;
    position: relative
}

.product-widget:focus-visible .product-widget__bg,
.product-widget:hover .product-widget__bg {
    opacity: 1;
    transform: scale(1.05)
}

.product-widget:focus-visible .product-widget__bg:after,
.product-widget:hover .product-widget__bg:after {
    opacity: .1
}

.product-widget__bg {
    background: var(--color-gray-soft);
    opacity: .8;
    z-index: -1
}

.product-widget__bg,
.product-widget__bg:after {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: all .3s ease;
    width: 100%
}

.product-widget__bg:after {
    background-color: var(--color-dark);
    content: "";
    opacity: .1
}

.product-widget__bg img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    vertical-align: top;
    width: 100%
}

.product-widget__link {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.product-widget__content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    padding: 30px
}

.product-widget__title {
    font-size: 1.25rem;
    margin-bottom: 0
}

.product-widget__hint {
    color: var(--color-dark);
    font-size: 1.125rem;
    text-decoration: underline
}

.product-banner {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    min-height: 450px;
    padding: 30px;
    position: relative
}

.product-banner__bg {
    background-color: var(--color-gray-soft);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.product-banner__bg img {
    display: none;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    vertical-align: top;
    width: 100%
}

.product-banner__content {
    align-items: flex-end;
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    gap: 30px;
    justify-content: center;
    position: relative;
    text-align: right
}

.product-banner__subtitle,
.product-banner__title {
    margin-bottom: 0
}

.product-banner__subtitle {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase
}

.product-banner__title {
    font-size: 1.75rem;
    font-weight: 500
}

.product-banner__text p:last-child,
.product-banner__text:last-child {
    margin-bottom: 0
}

.parallax-banner {
    align-items: center;
    background-attachment: fixed;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    padding: 3.75rem 1.25rem;
    position: relative
}

.parallax-banner:before {
    background-color: var(--color-dark);
    content: "";
    height: 100%;
    left: 0;
    opacity: .3;
    position: absolute;
    top: 0;
    width: 100%
}

.parallax-banner__content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    z-index: 2
}

.parallax-banner__label {
    background-color: var(--color-dark);
    color: var(--color-white);
    font-size: .75rem;
    font-weight: 600;
    padding: 5px 10px;
    text-transform: uppercase
}

.parallax-banner__title {
    color: var(--color-white);
    display: flex;
    flex-wrap: wrap;
    font-size: 1.4375rem;
    gap: 8px;
    margin-bottom: 0
}

.parallax-banner__text {
    color: var(--color-white);
    max-width: 55%
}

.parallax-banner__text p:last-child,
.parallax-banner__text:last-child {
    margin-bottom: 0
}

.words-slider {
    display: inline-block;
    position: relative
}

.words-slider__item {
    bottom: 0;
    display: inline-block;
    left: 0;
    position: absolute;
    transition: all .6s linear;
    white-space: nowrap
}

.words-slider__item.is-hidden {
    animation: slideTextOut .6s;
    opacity: 0;
    top: .2em
}

.words-slider__item.is-visible {
    animation: slideTextIn .6s;
    opacity: 1;
    top: 0
}

.insta-section {
    padding: 3.75rem 1.25rem
}

.insta-section__wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.insta-section__carousel {
    position: relative;
    width: 100%
}

.insta-section__navigation {
    display: flex;
    justify-content: space-between;
    left: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 20px);
    z-index: 2
}

.insta-section__next,
.insta-section__prev {
    align-items: center;
    background-color: rgba(248, 249, 250, .102);
    border: 1px solid hsla(0, 0%, 89%, .102);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 50px;
    justify-content: center;
    transition: all .2s ease;
    width: 50px
}

.insta-section__next:focus-visible,
.insta-section__next:hover,
.insta-section__prev:focus-visible,
.insta-section__prev:hover {
    background-color: var(--color-white)
}

.insta-section__next:focus-visible .icon,
.insta-section__next:hover .icon,
.insta-section__prev:focus-visible .icon,
.insta-section__prev:hover .icon {
    fill: var(--color-dark)
}

.insta-section__next .icon,
.insta-section__prev .icon {
    height: 25px;
    transition: all .2s ease;
    width: 25px;
    fill: var(--color-white)
}

.social-card {
    display: block
}

.social-card__link {
    display: block;
    overflow: hidden;
    padding-bottom: 100%;
    position: relative
}

.social-card__link:after {
    background-color: var(--color-dark);
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: all .4s ease;
    width: 100%
}

.social-card__link:focus-visible:after,
.social-card__link:hover:after {
    opacity: .4
}

.social-card__link:focus-visible .social-card__icon,
.social-card__link:hover .social-card__icon {
    opacity: 1
}

.social-card__link:focus-visible .social-card__text,
.social-card__link:hover .social-card__text {
    opacity: 1;
    transform: translateY(0)
}

.social-card__link:focus-visible .social-card__bg,
.social-card__link:hover .social-card__bg {
    transform: scale(1.05)
}

.social-card__icon {
    height: 32px;
    left: 10px;
    top: 10px;
    width: 32px
}

.social-card__icon,
.social-card__text {
    opacity: 0;
    position: absolute;
    transition: all .4s ease;
    z-index: 2
}

.social-card__text {
    align-items: center;
    bottom: 0;
    color: var(--color-white);
    display: flex;
    font-size: 1.125rem;
    height: 100%;
    justify-content: center;
    text-align: center;
    transform: translateY(100%);
    width: 100%;
    will-change: transform
}

.social-card__bg {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    transition: all .5s ease;
    vertical-align: top;
    width: 100%
}

.interested-section {
    padding: 3.75rem 1.25rem
}

.interested-section__wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.interested-section__carousel {
    width: 100%
}

.cart-section {
    padding: 3.75rem 1.25rem
}

.cart-section__wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.cart-section__form {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    gap: 15px
}

.cart-section__form-coupon {
    display: flex;
    gap: 12px
}

.cart-section__rows {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.cart-section__row {
    border-bottom: 1px solid var(--color-gray)
}

.cart-section__row:first-child {
    border-top: 1px solid var(--color-gray)
}

.cart-section__total {
    border: 2px solid var(--color-gray);
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px
}

.cart-section__total-title {
    color: var(--color-dark);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0
}

.cart-section__total-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between
}

.cart-section__total-heading-sum,
.cart-section__total-heading-title {
    color: var(--color-dark)
}

.cart-section__total-content {
    background-color: var(--color-gray-soft);
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px
}

.cart-section__total-content-row {
    align-items: center;
    color: var(--color-gray-dark);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between
}

.cart-section__total-toggle {
    align-self: flex-start;
    background: none;
    border: none;
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    padding: 0;
    transition: all .2s ease
}

.cart-section__total-toggle:focus-visible,
.cart-section__total-toggle:hover {
    color: var(--color-hover)
}

.product-row {
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 15px
}

.product-row,
.product-row__content {
    align-items: center;
    display: flex;
    gap: 12px
}

.product-row__content {
    flex: 1 0 auto;
    width: 100%
}

.product-row__img {
    height: 80px;
    overflow: hidden;
    width: 80px
}

.product-row__img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    vertical-align: top;
    width: 100%
}

.product-row__info {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.product-row__info-title {
    color: var(--color-dark);
    font-size: 1rem;
    font-weight: 500;
    margin: 0
}

.product-row__info-price {
    color: var(--color-gray-dark)
}

.product-row__info-price-multiple {
    color: var(--color-dark)
}

.product-row__total {
    color: var(--color-gray-dark);
    font-size: 1rem
}

.product-row__del {
    align-items: center;
    background: none;
    border: none;
    color: var(--color-dark);
    display: flex;
    height: 54px;
    justify-content: center;
    transition: all .2s ease;
    width: 54px
}

.product-row__del:focus-visible,
.product-row__del:hover {
    color: var(--color-red)
}

.product-row__del .icon {
    height: 16px;
    width: 16px
}

.product-row--short {
    padding: 15px 0
}

.product-row--short .product-row__img {
    height: 50px;
    width: 50px
}

.checkout {
    padding: 3.75rem 1.25rem
}

.checkout__wrapper {
    gap: 30px
}

.checkout__top,
.checkout__wrapper {
    display: flex;
    flex-direction: column
}

.checkout__top {
    gap: 20px
}

.checkout__toggle {
    max-width: 550px
}

.checkout__toggle-trigger {
    background-color: var(--color-gray-soft);
    border: 1px solid var(--color-gray);
    display: flex;
    flex-wrap: wrap;
    font-size: 1rem;
    gap: 5px;
    padding: 10px 20px
}

.checkout__toggle-trigger button {
    background: none;
    border: none;
    font-size: 1rem;
    font-weight: 500;
    margin: 0;
    padding: 0
}

.checkout__toggle-form {
    padding-top: 20px
}

.checkout__form {
    display: grid;
    gap: 30px;
    grid-template-columns: 100%
}

.checkout__form-col {
    display: flex;
    flex-direction: column;
    gap: 25px
}

.checkout__form-title {
    font-size: 1.125rem;
    margin: 0
}

.checkout__form-order {
    border: 2px solid var(--color-gray);
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding: 20px
}

.checkout__form-order-product {
    border-bottom: 1px solid var(--color-gray)
}

.checkout__form-order-product:first-of-type {
    border-top: 1px solid var(--color-gray)
}

.checkout__form-order-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: space-between
}

.checkout__form-order-title {
    color: var(--color-dark);
    font-weight: 500
}

.checkout__form-order-block {
    background-color: var(--color-gray-soft);
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px
}

.checkout__form-order-block-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: space-between
}

.checkout__form-order-text {
    border: 1px solid var(--color-gray);
    padding: 15px
}

.checkout__form-order-text p:last-child {
    margin-bottom: 0
}

.checkout__form-order-collapses {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.checkout__form-order-collapses-block .checkout__form-collapse {
    padding-top: 10px
}

.checkout__submit {
    align-self: flex-start
}

.product-section__container {
    max-width: 1550px
}

.product-section__wrapper {
    display: flex;
    flex-direction: column;
    gap: 50px
}

.product-section__cols {
    display: grid;
    grid-template-columns: 100%;
    position: relative
}

.product-section__main {
    display: grid;
    gap: 30px;
    grid-template-columns: 100%;
    padding: 0 1.25rem 1.25rem
}

.product-section__col {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 1.25rem 1.25rem 0
}

.product-section__slider {
    height: calc(100vh - 128px);
    max-height: 1080px
}

.product-section__title {
    color: var(--color-dark);
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 0
}

.product-section__labels {
    display: flex;
    gap: 10px
}

.product-section__label {
    align-items: center;
    background-color: var(--color-dark);
    border-radius: 3px;
    color: var(--color-white);
    display: flex;
    font-size: .75rem;
    font-weight: 600;
    min-height: 20px;
    padding: 0 7px
}

.product-section__label--red {
    background-color: var(--color-red-bg);
    color: var(--color-red)
}

.product-section__label--green {
    background-color: var(--color-success-bg);
    color: var(--color-white)
}

.product-section__label--yellow {
    background-color: var(--color-warning-bg);
    color: var(--color-white)
}

.product-section__text p:last-child {
    margin-bottom: 0
}

.product-section__price {
    color: var(--color-dark);
    display: flex;
    flex-wrap: wrap;
    font-size: 1.125rem;
    gap: 5px;
    width: 100%
}

.product-section__price-old {
    color: var(--color-dark-soft);
    text-decoration: line-through
}

.product-section__info {
    border: 1px solid var(--color-border);
    display: flex;
    flex-direction: column
}

.product-section__info-top {
    padding: .625rem .9375rem .9375rem
}

.product-section__info-bottom {
    align-items: center;
    border-top: 1px solid var(--color-border);
    color: var(--color-dark);
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 1.25rem
}

.product-section__info-shipping {
    align-items: center;
    color: var(--color-dark);
    display: flex;
    gap: 5px
}

.product-section__info-shipping .icon {
    height: 16px;
    width: 16px
}

.product-section__message {
    font-size: 1.125rem
}

.product-section__message--red {
    color: var(--color-error)
}

.product-section__rows {
    display: flex;
    flex-direction: column
}

.product-section__rows .product-section__row {
    border-bottom: 1px solid var(--color-border)
}

.product-section__rows .product-section__row:first-child {
    border-top: 1px solid var(--color-border)
}

.product-section__details {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.product-section__details-item {
    color: var(--color-dark);
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.product-section__details-item .icon {
    flex: 0 0 auto;
    height: 20px;
    width: 20px
}

.product-section__warning {
    background-color: var(--color-warning-bg);
    border: 1px solid var(--color-warning-border);
    border-radius: 4px;
    color: var(--color-dark);
    display: flex;
    gap: 10px;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    padding: .9375rem 1.25rem
}

.product-section__warning .icon {
    flex: 0 0 auto;
    height: 16px;
    width: 16px;
    fill: var(--color-warning)
}

.product-section__meta {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.product-section__meta-row {
    gap: 5px
}

.product-section__meta-row,
.product-section__share {
    color: var(--color-dark);
    display: flex;
    flex-wrap: wrap
}

.product-section__share {
    font-size: 16px;
    gap: 10px
}

.product-section__payment {
    align-items: center;
    background-color: var(--color-gray-soft);
    border: 1px solid var(--color-border);
    border-radius: 4px;
    color: var(--color-dark);
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    gap: 10px;
    padding: .9375rem
}

.product-section__payment img {
    max-width: 360px;
    width: 100%
}

.product-section__tabs .tabs__tabs {
    border-bottom: 1px solid #e1e2e3;
    width: 100%
}

.product-section__tabs-panel p:last-child,
.product-section__tabs-panel ul:last-child li:last-child {
    margin-bottom: 0
}

.product-section__about {
    border: 1px solid #e1e2e3;
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding: 20px
}

.product-section__about-title {
    margin-bottom: 0
}

.product-section__about-cols {
    display: grid;
    gap: 20px;
    grid-template-columns: 100%
}

.product-section__about-col {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.product-section__about-col-icon {
    height: 50px;
    width: 50px;
    fill: var(--color-dark)
}

.product-section__about-col-title {
    font-size: 1.125rem;
    margin: 0
}

.product-section__about-col-text:last-child {
    margin-bottom: 0
}

.product-section-slider__swiper {
    height: 100%;
    position: relative;
    width: 100%
}

.product-section-slider__slide {
    cursor: pointer
}

.product-section-slider__slide img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    vertical-align: top;
    width: 100%
}

.product-section-slider__navigation {
    align-items: center;
    display: flex;
    justify-content: space-between;
    left: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% - 20px);
    z-index: 2
}

.product-section-slider__navigation-next,
.product-section-slider__navigation-prev {
    align-items: center;
    background: var(--color-white);
    border: none;
    border-radius: 50%;
    color: var(--color-dark);
    display: flex;
    height: 40px;
    justify-content: center;
    transition: all .2s ease;
    width: 40px
}

.product-section-slider__navigation-next:focus-visible,
.product-section-slider__navigation-next:hover,
.product-section-slider__navigation-prev:focus-visible,
.product-section-slider__navigation-prev:hover {
    background: var(--color-gray)
}

.product-section-slider__navigation-next:disabled,
.product-section-slider__navigation-prev:disabled {
    opacity: .5
}

.product-section-slider__navigation-next .icon,
.product-section-slider__navigation-prev .icon {
    height: 20px;
    width: 20px;
    fill: var(--color-dark)
}

.product-section-slider__thumbs {
    bottom: 20px;
    left: 10px;
    position: absolute;
    width: calc(100% - 40px);
    z-index: 2
}

.product-section-slider__thumbs-slide {
    aspect-ratio: 1/1;
    cursor: pointer;
    position: relative
}

.product-section-slider__thumbs-slide:after {
    background-color: var(--color-dark);
    bottom: -3px;
    content: "";
    height: 3px;
    left: 0;
    opacity: 0;
    position: absolute;
    width: 100%
}

.product-section-slider__thumbs-slide.swiper-slide-thumb-active:after {
    opacity: 1
}

.product-section-slider__thumbs-slide img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    vertical-align: top;
    width: 100%
}

.product-section-slider__tools {
    align-items: center;
    display: flex;
    justify-content: space-between;
    left: 10px;
    position: absolute;
    top: 20px;
    width: calc(100% - 20px);
    z-index: 2
}

.product-section-slider__button {
    align-items: center;
    background-color: var(--color-gray);
    border: none;
    border-radius: 50%;
    color: var(--color-dark);
    display: flex;
    height: 30px;
    justify-content: center;
    width: 30px
}

.product-section-slider__button .icon {
    height: 15px;
    width: 15px
}

.about-intro {
    align-items: center;
    background-color: var(--color-gray);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    min-height: 420px;
    padding: 1.25rem;
    position: relative
}

.about-intro:after {
    background-color: var(--color-dark);
    content: "";
    height: 100%;
    left: 0;
    opacity: .2;
    position: absolute;
    top: 0;
    width: 100%
}

.about-intro__content {
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 600px;
    position: relative;
    text-align: center;
    z-index: 2
}

.about-intro__subtitle {
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase
}

.about-intro__title {
    color: var(--color-white);
    font-size: 2rem;
    margin-bottom: 0
}

.about-intro__text {
    font-size: 1rem
}

.about-intro__text:last-child {
    margin-bottom: 0
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both
}

.animated-item {
    will-change: transform, opacity
}

.about-populated {
    padding: 3.75rem 1.25rem
}

.about-populated__wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.about-populated__item {
    align-items: center;
    display: grid;
    gap: 30px;
    grid-template-columns: 100%
}

.about-populated__item-img {
    box-shadow: 8px 8px 0 0 #000;
    overflow: hidden;
    transition: all .4s ease
}

.about-populated__item-img:hover {
    transform: translateY(-8px)
}

.about-populated__item-img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.about-populated__item-content {
    display: flex;
    flex-direction: column
}

.about-populated__item-subtitle {
    font-size: .75rem;
    margin-bottom: 15px;
    text-transform: uppercase
}

.about-populated__item-title {
    font-size: 1.75rem;
    margin-bottom: 30px
}

.about-populated__item-text p:last-child {
    margin-bottom: 0
}

.about-policy {
    background-color: var(--color-dark);
    display: flex;
    flex-direction: column;
    z-index: 5
}

.about-policy__heading {
    align-items: center;
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    max-width: 800px;
    padding: 3.75rem 1.25rem;
    text-align: center
}

.about-policy__subtitle {
    color: var(--color-white);
    font-size: .75rem;
    margin-bottom: 15px;
    text-transform: uppercase
}

.about-policy__title {
    color: var(--color-white);
    font-size: 1.75rem;
    margin-bottom: 20px
}

.about-policy__text p:last-child {
    margin-bottom: 0
}

.about-policy__media {
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    height: 490px;
    overflow: hidden;
    position: relative
}

.about-policy__media-frame {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

.about-policy__media-iframe {
    height: 190%;
    left: 50%;
    -o-object-fit: cover;
    object-fit: cover;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 150%
}

.about-policy__media-widget {
    bottom: 0;
    left: 0;
    padding: 10px;
    position: absolute
}

.about-policy__media-widget p {
    color: var(--color-white);
    max-width: 800px
}

.about-policy__media-widget p:last-child {
    margin-bottom: 0
}

.shop-filters {
    display: flex;
    flex-direction: column;
    gap: 30px
}

.shop-filters__top {
    display: flex;
    flex-wrap: wrap;
    gap: 15px
}

.shop-filters__bottom {
    flex-wrap: wrap;
    justify-content: space-between
}

.shop-filters__bottom,
.shop-filters__bottom-block {
    align-items: center;
    display: flex;
    gap: 30px
}

.shop-filters__bottom-action {
    align-items: center;
    display: flex;
    font-size: 1rem;
    font-weight: 500;
    gap: 10px
}

.shop-filters__bottom-action--desktop,
.shop-filters__bottom-action--tablet {
    display: none
}

.shop-filters__bottom-action a {
    color: var(--color-gray-dark);
    transition: all .2s ease
}

.shop-filters__bottom-action a:focus-visible,
.shop-filters__bottom-action a:hover {
    color: var(--color-dark);
    text-decoration: none
}

.shop-filters__bottom-action button {
    background: none;
    border: none;
    margin: 0;
    padding: 0
}

.shop-filters__bottom-action a.active,
.shop-filters__bottom-action button.active {
    color: var(--color-dark)
}

.shop-filters__bottom-action .icon {
    height: 20px;
    width: 20px
}

.shop-filters__bottom-action .custom-select {
    min-width: 160px
}

.shop-filters-item {
    display: flex;
    flex-direction: column;
    position: relative
}

.shop-filters-item>.shop-filters-item__button {
    z-index: 2
}

.shop-filters-item:focus-visible>.shop-filters-item__button,
.shop-filters-item:hover>.shop-filters-item__button {
    background-color: var(--color-dark);
    color: var(--color-white);
    text-decoration: none
}

.shop-filters-item:focus-visible>.shop-filters-item__button--selected,
.shop-filters-item:hover>.shop-filters-item__button--selected {
    background-color: var(--color-warning-bg);
    border-color: var(--color-warning-border);
    color: var(--color-warning)
}

.shop-filters-item:focus-visible .shop-filters-item__submenu,
.shop-filters-item:hover .shop-filters-item__submenu {
    animation: fadeIn .2s ease;
    display: flex
}

.shop-filters-item__button {
    align-items: center;
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 20px;
    display: flex;
    font-size: .75rem;
    font-weight: 500;
    gap: 10px;
    min-height: 35px;
    padding: 5px 20px;
    position: relative;
    text-transform: uppercase;
    transition: all .2s ease
}

.shop-filters-item__button:focus-visible,
.shop-filters-item__button:hover {
    text-decoration: none
}

.shop-filters-item__button:focus-visible .shop-filters-item__icon-cross:after,
.shop-filters-item__button:focus-visible .shop-filters-item__icon-cross:before,
.shop-filters-item__button:hover .shop-filters-item__icon-cross:after,
.shop-filters-item__button:hover .shop-filters-item__icon-cross:before {
    transform: rotate(0deg)
}

.shop-filters-item__button--clear {
    background-color: var(--color-dark);
    color: var(--color-white)
}

.shop-filters-item__button--clear .shop-filters-item__icon-cross {
    background-color: var(--color-white)
}

.shop-filters-item__button--selected {
    background-color: var(--color-warning-bg);
    border-color: var(--color-warning-border);
    color: var(--color-warning)
}

.shop-filters-item__button--selected .shop-filters-item__icon-cross:after,
.shop-filters-item__button--selected .shop-filters-item__icon-cross:before {
    background-color: var(--color-warning)
}

.shop-filters-item__button--selected:focus-visible,
.shop-filters-item__button--selected:hover {
    background-color: var(--color-warning-bg);
    border-color: var(--color-warning-border);
    color: var(--color-warning)
}

.shop-filters-item__icon,
.shop-filters-item__icon-cross {
    flex: 0 0 auto;
    height: 17px;
    width: 17px
}

.shop-filters-item__icon-cross {
    border-radius: 50%;
    position: relative
}

.shop-filters-item__icon-cross:after,
.shop-filters-item__icon-cross:before {
    background-color: var(--color-dark);
    content: "";
    height: 1px;
    left: 5px;
    position: absolute;
    top: 8px;
    transition: all .2s ease;
    width: 7px
}

.shop-filters-item__icon-cross:before {
    transform: rotate(45deg)
}

.shop-filters-item__icon-cross:after {
    transform: rotate(-45deg)
}

.shop-filters-item__submenu {
    align-items: flex-start;
    background-color: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 20px 20px 0 0;
    display: none;
    flex-direction: column;
    gap: 5px;
    left: 0;
    padding: 2.8125rem .625rem .625rem;
    position: absolute;
    top: calc(100% - 35px);
    width: 100%;
    z-index: 1
}

.shop-filters-item__submenu .shop-filters-item__button:focus-visible,
.shop-filters-item__submenu .shop-filters-item__button:hover {
    background-color: var(--color-dark);
    color: var(--color-white)
}

.sidebar-after-filters {
    gap: 10px
}

.sidebar-after-filters,
.sidebar-after-filters__section {
    display: flex;
    flex-direction: column
}

.sidebar-after-filters__section-toggle {
    align-items: center;
    background: none;
    border: none;
    color: var(--color-dark);
    display: flex;
    font-size: 1.125rem;
    font-weight: 700;
    gap: 10px;
    justify-content: space-between;
    margin: 0;
    padding: 10px 0
}

.sidebar-after-filters__section-toggle[aria-expanded=true] .sidebar-after-filters__section-toggle-icon:after {
    transform: rotate(0)
}

.sidebar-after-filters__section-toggle-icon {
    background-color: var(--color-bg-soft);
    border-radius: 50%;
    flex: 0 0 auto;
    height: 24px;
    position: relative;
    width: 24px
}

.sidebar-after-filters__section-toggle-icon:after,
.sidebar-after-filters__section-toggle-icon:before {
    background-color: var(--color-dark);
    content: "";
    display: block;
    height: 2px;
    left: 8px;
    position: absolute;
    top: 11px;
    transition: all .3s ease;
    width: 9px
}

.sidebar-after-filters__section-toggle-icon:after {
    transform: rotate(-90deg)
}

.sidebar-after-filters__section-inner {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.sidebar-after-filters__item {
    align-items: center;
    display: flex;
    font-size: 1rem;
    justify-content: space-between
}

.sidebar-after-filters__item:focus-visible,
.sidebar-after-filters__item:hover {
    text-decoration: none
}

.sidebar-after-filters__item-name {
    align-items: center;
    display: flex;
    gap: 5px
}

.sidebar-after-filters__item-color {
    border-radius: 50%;
    flex: 0 0 auto;
    height: 12px;
    width: 12px
}

.sidebar-after-filters__item-color.is-white {
    border: 1px solid #000
}

.sidebar-after-filters__item-count {
    color: var(--color-text);
    font-size: .75rem;
    font-weight: 400;
    min-width: 14px
}

@media (min-width:30em) {

    .file-input--img-block .file-input__button,
    .file-input--img-free .file-input__file {
        width: auto
    }

    .form__row,
    .form__row--2 {
        --columns: 2
    }

    .form__row--3 {
        --columns: 3
    }

    .popup__buttons .button {
        width: auto
    }
}

@media (min-width:32em) {
    .callback-widget__title {
        font-size: 28px
    }

    .callback-widget__text {
        font-size: .75rem
    }
}

@media (min-width:48em) {
    .file-input--img {
        border-radius: 3rem;
        padding: .5rem .5rem .5rem 1.25rem
    }

    .file-input--img .file-input__grid {
        align-items: center;
        flex-flow: row nowrap;
        justify-content: space-between
    }

    .file-input--img-block .file-input__grid {
        align-items: flex-start;
        flex-flow: row nowrap
    }

    .file-input--img-block .file-input__main {
        flex: 0 1 100%
    }

    .file-input--img-block .file-input__visual {
        flex: 0 0 auto;
        width: 280px
    }

    .search-form--panel .search-form__input {
        font-size: 2.25rem
    }

    .search-form--panel .search-form__suggestions.is-open {
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .page__callback {
        padding: 3.75rem
    }

    .ui__sequence {
        --columns: 2
    }

    .ui__sequence--1,
    .ui__sequence--2,
    .ui__sequence--3 {
        --columns: 1
    }

    .demo__col {
        width: calc(50% - 20px)
    }

    .popup--review .popup__search-filter {
        margin-bottom: 1.5rem
    }

    .header__logo {
        width: 100px
    }

    .sidebar {
        max-width: 360px;
        padding: 75px 40px 60px
    }

    .nav-page__inner {
        padding-left: 20px;
        padding-right: 20px
    }

    .sidebar-after {
        max-width: 360px
    }

    .sidebar-after__heading {
        padding: 0 30px
    }

    .sidebar-after__content-action {
        padding: 35px 30px
    }

    .sidebar-after__content-action--lp {
        padding: 15px 25px 25px
    }

    .sidebar-after__products {
        gap: 25px
    }

    .tabs__tab:after {
        display: block
    }

    .footer__main {
        padding: 4.375rem 3.75rem 5.625rem
    }

    .footer__block {
        gap: 24px
    }

    .footer__block-title {
        font-size: 1.25rem
    }

    .benefits {
        gap: 20px;
        grid-template-columns: repeat(2, 1fr)
    }

    .benefits,
    .team {
        padding: 5rem 3.125rem
    }

    .team__cards {
        gap: 0
    }

    .team__cards-card {
        padding: 10px;
        width: 50%
    }

    .section-heading__title {
        font-size: 2rem
    }

    .team-card {
        gap: 30px
    }

    .team-card__content {
        gap: 24px
    }

    .shop__grid--col-3,
    .shop__grid--col-4,
    .shop__grid--col-5 {
        grid-template-columns: repeat(3, 1fr)
    }

    .shop__grid--list .product-card__img {
        width: 40%
    }

    .shop__grid--list .shop__card {
        flex-direction: row;
    }
    .shop__grid--list {
        flex-direction: row;
        grid-template-columns: repeat(2, 1fr)
    }

    .hero-slider {
        height: 100vh
    }

    .hero-slider__slide {
        padding: 5rem
    }

    .hero-slider__pagination {
        bottom: 60px !important
    }

    .hero-slider__navigation {
        display: flex
    }

    .contacts-section__cols {
        grid-template-columns: repeat(2, 1fr)
    }

    .callback-widget {
        width: 70%
    }

    .callback-widget__title {
        font-size: 2rem
    }

    .page-blog__main {
        flex-direction: row
    }

    .page-blog__sidebar {
        width: 35%
    }

    .blog-card__title {
        font-size: 1.25rem
    }

    .featured-section__products {
        grid-template-columns: repeat(3, 1fr)
    }

    .featured-section__widgets {
        grid-template-columns: repeat(4, 1fr)
    }

    .featured-section__widgets-item {
        min-height: 245px
    }

    .featured-section__widgets-item:not(.featured-section__widgets-item:first-child) {
        grid-column: span 2
    }

    .featured-section__widgets-item:first-child {
        grid-column: span 2;
        grid-row: span 2
    }

    .product-banner__bg img {
        display: block
    }

    .product-banner__content {
        align-items: flex-start;
        max-width: 40%;
        text-align: right;
        text-align: left
    }

    .product-banner__title {
        font-size: 2rem
    }

    .parallax-banner__title {
        font-size: 1.625rem
    }

    .product-row__content {
        flex: 0 0 auto;
        width: auto
    }

    .checkout__form-title {
        font-size: 1.25rem
    }

    .checkout__form-order {
        padding: 30px
    }

    .product-section__title {
        font-size: 2rem
    }

    .product-section__info-top {
        padding: 1.25rem 1.875rem 1.875rem
    }

    .product-section__about {
        gap: 30px;
        padding: 30px
    }

    .product-section__about-cols {
        gap: 30px;
        grid-template-columns: repeat(2, 1fr)
    }

    .product-section__about-col-title {
        font-size: 1.25rem
    }

    .product-section-slider__navigation {
        left: 20px;
        width: calc(100% - 40px)
    }

    .product-section-slider__navigation-next,
    .product-section-slider__navigation-prev {
        height: 50px;
        width: 50px
    }

    .product-section-slider__navigation-next .icon,
    .product-section-slider__navigation-prev .icon {
        height: 25px;
        width: 25px
    }

    .product-section-slider__thumbs {
        bottom: 40px;
        left: 20px;
        width: calc(100% - 40px)
    }

    .product-section-slider__thumbs-slide:after {
        bottom: -6px;
        height: 6px
    }

    .product-section-slider__tools {
        left: 20px;
        width: calc(100% - 40px)
    }

    .product-section-slider__button {
        height: 40px;
        width: 40px
    }

    .product-section-slider__button .icon {
        height: 20px;
        width: 20px
    }

    .about-intro {
        background-attachment: fixed;
        padding: 2.5rem
    }

    .about-intro__title {
        font-size: 2.25rem
    }

    .about-populated__wrapper .about-populated__item:nth-child(2n) .about-populated__item-content {
        order: -1
    }

    .about-populated__item {
        grid-template-columns: 1fr 1fr
    }

    .about-policy__title,
    .about-populated__item-title {
        font-size: 2rem
    }

    .about-policy__media-iframe {
        height: 200%;
        width: 200%
    }

    .about-policy__media-widget {
        left: 10px;
        padding: 20px
    }

    .shop-filters__bottom-action--tablet {
        display: flex
    }
}

@media (min-width:52em) {
    .insta-section__navigation {
        display: none
    }
}

@media (min-width:54em) {
    .footer__main {
        flex-direction: row
    }

    .footer__col:first-child {
        max-width: 60%
    }

    .footer__col:nth-child(2) {
        width: 40%
    }
}

@media (min-width:56em) {
    .featured-section__products {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media (min-width:64em) {
    .shop-filters__bottom-action--desktop {
        display: flex
    }
}

@media (min-width:80em) {
    .content-wrapper {
        padding-bottom: 60px;
        padding-top: 45px
    }

    .hide-desktop {
        display: none !important
    }

    body {
        overflow-x: hidden;
        overflow-y: auto;
        overflow-y: scroll
    }

    body::-webkit-scrollbar,
    body::-webkit-scrollbar-track {
        background-color: transparent
    }

    body::-webkit-scrollbar {
        width: 10px
    }

    body::-webkit-scrollbar-thumb {
        background-color: var(--color-dark);
        border-radius: 3px;
        border-radius: 0
    }

    :target {
        scroll-margin-top: 120px
    }

    .h1,
    .title-1,
    h1 {
        font-size: 3.75rem
    }

    .h2,
    .title-2,
    h2 {
        font-size: 2.5rem
    }

    .h3,
    .title-3,
    h3 {
        font-size: 1.5rem
    }

    .h4,
    .title-4,
    h4 {
        font-size: 1.25rem
    }

    .input--lang-search {
        height: 60px
    }

    .file-input--img-free .file-input__file {
        max-width: 460px
    }

    .file-input--profile-photo {
        gap: 1.5rem
    }

    .file-input--profile-photo .file-input__photo-avatar {
        height: 120px;
        width: 120px
    }

    .file-input--profile-gallery .file-input__button {
        height: 100px;
        width: 100px
    }

    .field--top-shift .field__control {
        margin-top: 1.5rem
    }

    .alert__btn-close {
        height: 24px;
        width: 24px
    }

    .form--add-number .form__fields {
        flex-flow: row nowrap;
        gap: 20px
    }

    .form--add-number .form__fields .field {
        flex: 0 1 100%
    }

    .form--add-number .form__fields .field:first-child {
        flex: 0 0 10rem
    }

    .form--add-number .form__btn-delete {
        margin-top: 2.125rem;
        position: relative;
        right: auto;
        top: auto
    }

    .search-form__field {
        animation-delay: .1s;
        animation-duration: .5s;
        animation-fill-mode: forwards;
        animation-timing-function: ease
    }

    .search-form.is-open .search-form__field {
        animation-name: openField
    }

    .page--nav-open .search-btn {
        background-color: transparent;
        color: var(--color-grey-700)
    }

    .page__inner {
        margin-left: 360px;
        width: calc(100% - 360px)
    }

    .page__content-wrapper {
        padding-top: 64px
    }

    .ui__sequence {
        --columns: 4
    }

    .ui__sequence--1 {
        --columns: 1
    }

    .ui__sequence--2 {
        --columns: 2
    }

    .ui__sequence--3 {
        --columns: 3
    }

    .ui__box {
        padding: 2.5rem
    }

    .demo {
        font-size: 1.125rem
    }

    .popup {
        flex: none;
        height: -webkit-min-content;
        height: -moz-min-content;
        height: min-content;
        max-width: calc(100% - 1rem);
        width: 50rem
    }

    .popup__container {
        border-radius: var(--popup-border-radius);
        max-height: 98vh
    }

    .popup__header {
        padding: 2.5rem 2.5rem 1.5rem
    }

    .popup__main {
        display: flex;
        flex: 0 1 auto;
        margin: 0;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 0 2.5rem
    }

    .popup__main::-webkit-scrollbar-track {
        background-color: transparent
    }

    .popup__main::-webkit-scrollbar {
        background-color: transparent;
        width: 6px
    }

    .popup__main::-webkit-scrollbar-thumb {
        background-color: var(--color-dark);
        border-radius: 3px
    }

    .popup__main:last-child {
        margin-bottom: 2.5rem
    }

    .popup__footer {
        border-radius: 0 0 var(--popup-border-radius) var(--popup-border-radius);
        padding: 1.5rem 2.5rem 2.5rem
    }

    .popup__title {
        font-size: 2rem
    }

    .popup__btn-close {
        margin: 0;
        position: absolute;
        right: 10px;
        top: 10px
    }

    .popup--smallest {
        width: 25rem
    }

    .popup--small {
        width: 28.75rem
    }

    .popup--middle {
        width: 50rem
    }

    .popup--large {
        width: 75rem
    }

    .popup--largest {
        width: 112.5rem
    }

    .popup--mob-bottom.is-opening {
        animation: fadeInZoom .3s forwards
    }

    .popup--mob-bottom.is-closing {
        animation: fadeOutZoom .3s
    }

    .popup--mob-bottom .popup__container {
        border-radius: 1.5rem;
        flex: 1 0 auto
    }

    .popup--mob-bottom .popup__main {
        flex: 0 1 auto
    }

    .popup--mob-bottom .popup__btn-close {
        display: block
    }

    .popup--address .popup__container {
        border-radius: 1.5rem;
        overflow: hidden
    }

    .header {
        display: none
    }

    .header--scrolled {
        background-color: var(--color-white);
        border-bottom: 1px solid var(--color-white)
    }

    .header__container {
        height: 80px;
        position: relative
    }

    .header__container:before {
        display: none
    }

    .sidebar {
        opacity: 1;
        transform: translateX(0)
    }

    .sidebar__btn-close {
        display: none
    }

    .sidebar__menu-link {
        font-size: 1.25rem
    }

    .nav-page,
    .nav-page.is-open,
    .nav-page.show-always {
        opacity: 0;
        transform: translateY(100%)
    }

    .tabs__tabs {
        margin: 0;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0;
        width: auto
    }

    .tabs__tabs::-webkit-scrollbar-track {
        background-color: transparent
    }

    .tabs__tabs::-webkit-scrollbar {
        background-color: transparent;
        height: 2px
    }

    .tabs__tabs::-webkit-scrollbar-thumb {
        background-color: var(--color-dark-soft);
        border-radius: 3px
    }

    .tabs__item:last-child {
        padding-right: 0
    }

    .tabs__item:last-child:after {
        right: 0
    }

    .tabs__tab {
        font-size: 1.125rem
    }

    .benefits {
        grid-template-columns: repeat(4, 1fr)
    }

    .team__cards-card {
        width: 25%
    }

    .section-heading--linear {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .reviews-single {
        padding: 5rem 3.125rem
    }

    .reviews-single__card {
        gap: 40px
    }

    .reviews-single__card-heading {
        gap: 30px
    }

    .reviews-single__card-avatar {
        height: 100px;
        width: 100px
    }

    .reviews-single__card-content {
        gap: 30px
    }

    .reviews {
        padding: 5rem 3.125rem
    }

    .carousel__item {
        width: 360px
    }

    .shop {
        padding: 5rem 3.125rem
    }

    .shop__grid--col-4,
    .shop__grid--col-5 {
        grid-template-columns: repeat(4, 1fr)
    }

    .hero-banner {
        padding: 5rem 3.125rem
    }

    .hero-banner__title {
        font-size: 2rem
    }

    .breadcrumbs__item {
        font-size: 1rem
    }

    .hero-slider__slide-title {
        font-size: 3rem
    }

    .contacts-section,
    .error-section {
        padding: 5rem 3.125rem
    }

    .contacts-section {
        grid-template-columns: repeat(2, 1fr)
    }

    .callback-widget {
        gap: 50px;
        width: 38%
    }

    .callback-widget__content {
        gap: 30px
    }

    .faq-section {
        padding: 5rem 3.125rem
    }

    .faq-section__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .faq-section__col-title {
        font-size: 1.25rem
    }

    .collapse-item__toggle {
        padding: .9375rem 1.25rem
    }

    .collapse-item__title {
        margin: 0
    }

    .collapse-item__content {
        padding: .9375rem 1.25rem
    }

    .page-blog {
        padding: 5rem 3.125rem
    }

    .page-blog__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .page-blog__sidebar {
        width: 25%
    }

    .categories {
        padding: 4.375rem 3.125rem
    }

    .featured-section {
        padding: 5rem 3.125rem
    }

    .featured-section__products {
        grid-template-columns: repeat(2, 1fr)
    }

    .featured-section__products-item .product-card__img {
        max-height: unset
    }

    .featured-section__products-item:first-child {
        grid-column: span 2;
        grid-row: span 2
    }

    .product-banner {
        min-height: 600px
    }

    .parallax-banner {
        min-height: 520px
    }

    .cart-section,
    .insta-section,
    .interested-section,
    .parallax-banner {
        padding: 5rem 3.125rem
    }

    .cart-section__wrapper {
        flex-direction: row
    }

    .cart-section__total {
        width: 34%
    }

    .checkout {
        padding: 5rem 3.125rem
    }

    .checkout__form {
        grid-template-columns: repeat(2, 1fr)
    }

    .product-section__cols {
        grid-template-columns: 550px calc(100% - 550px)
    }

    .product-section__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0 3.125rem 3.125rem
    }

    .product-section__col {
        padding: 3.125rem 3.125rem 0
    }

    .product-section__slider {
        height: 100vh;
        max-height: 1080px;
        order: 2;
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        width: 100%
    }

    .about-intro {
        min-height: 520px
    }

    .about-intro__title {
        font-size: 3rem
    }

    .about-populated {
        padding: 5rem 3.125rem
    }

    .about-populated__wrapper {
        gap: 60px
    }

    .about-policy__heading {
        padding: 5rem 3.125rem
    }
}

@media (min-width:85em) {
    .form--message .form__title {
        font-size: 1.625rem
    }

    .footer__main {
        gap: 80px;
        padding: 5.625rem 5rem
    }

    .footer__col:nth-child(2) {
        gap: 40px
    }

    .footer__col:nth-child(2) .footer__block {
        width: calc(50% - 20px)
    }

    .shop__grid--col-5 {
        grid-template-columns: repeat(5, 1fr)
    }

    .contacts-section {
        gap: 55px
    }

    .contacts-section__cols {
        gap: 30px
    }

    .contacts-section__col-title {
        font-size: 1.625rem
    }

    .featured-section__products {
        grid-template-columns: repeat(5, 1fr)
    }

    .featured-section__products-item:first-child .product-card__img {
        height: calc(100% - 60px)
    }

    .product-section__about-cols {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width:90em) {
    .product-section__about-cols {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media (min-width:100em) {
    .header--scrolled {
        border-bottom-width: 2px
    }

    .header__container {
        padding-left: 40px;
        padding-right: 40px
    }
}

@media (min-width:110em) {
    .header__container {
        padding-left: 60px;
        padding-right: 60px
    }
}

@media (max-width:79.9375em) {
    .hide-mobile {
        display: none !important
    }

    .file-input__files {
        min-height: 0 !important
    }

    .field--second .field__label {
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        clip: rect(0 0 0 0);
        clip: rect(0, 0, 0, 0)
    }
}

@media (max-width:44.9375em) {
    .category-item--slide .category-item__count {
        right: 0;
        top: -9px
    }
}

@media (hover:hover) {
    .f-button:hover:not([disabled]) {
        background-color: var(--f-button-hover-bg);
        color: var(--f-button-hover-color)
    }
}

@media print {

    *,
    :after,
    :before,
    blockquote:first-letter,
    blockquote:first-line,
    div:first-letter,
    div:first-line,
    li:first-letter,
    li:first-line,
    p:first-letter,
    p:first-line {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    a[href]:after {
        content: " (" attr(href) ")"
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: ""
    }

    pre {
        white-space: pre-wrap !important
    }

    blockquote,
    pre {
        border: 1px solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    img,
    tr {
        page-break-inside: avoid
    }

    h2,
    h3,
    p {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        page-break-after: avoid
    }

    .no-print,
    .print-hidden {
        display: none !important
    }
}