/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *, :before, :after, ::backdrop {
            --tw-border-style: solid;
            --tw-font-weight: initial;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial
        }
    }
}

@layer theme {
    :root, :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-red-200: oklch(88.5% .062 18.334);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --text-sm: .875rem;
        --text-lg: 1.125rem;
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75 / 1.25);
        --text-2xl: 1.4rem;
        --text-2xl--line-height: calc(2 / 1.5);
        --text-3xl: 1.875rem;
        --text-4xl: 2.25rem;
        --text-6xl: 3.75rem;
        --font-weight-medium: 500;
        --radius-md: .375rem;
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-primary: #a97565
    }
}

@layer base {
    *, :after, :before, ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html, :host {
        -webkit-text-size-adjust: 100%;
        -moz-tab-size: 4;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1, h2, h3, h4, h5, h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b, strong {
        font-weight: bolder
    }

    code, kbd, samp, pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol, ul, menu {
        list-style: none
    }

    img, svg, video, canvas, audio, iframe, embed, object {
        vertical-align: middle;
        display: block
    }

    img, video {
        max-width: 100%;
        height: auto
    }

    .flex-grow {
        flex-grow: 1;
    }

    button, input, select, optgroup, textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple],[size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple],[size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab,red,red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }textarea {
         resize: vertical
     }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button, input:where([type=button],[type=reset],[type=submit]) {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button
    }

    ::file-selector-button {
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .bottom-8 {
        bottom: calc(var(--spacing) * 8)
    }

    .left-0 {
        left: calc(var(--spacing) * 0)
    }

    .z-10 {
        z-index: 10
    }

    .container {
        width: 100%;
        margin: 0 auto;
        padding: 0 1rem;
        max-width: 1520px;
    }

    /* Мобильные (до 767px) */
    @media (max-width: 47.9375rem) { /* 767px */
        .container {
            max-width: 100%;
        }
    }

    /* Планшеты (768px - 1023px) */
    @media (min-width: 48rem) and (max-width: 63.9375rem) { /* 768px - 1023px */
        .container {
            padding: 0 1.5rem;
        }
    }

    /* Десктоп (1024px и выше) */
    @media (min-width: 64rem) { /* 1024px+ */
        .container {
            padding: 0 2rem;
        }
    }

    /* Большие экраны (1440px и выше) */
    @media (min-width: 90rem) { /* 1440px+ */
        .container {
        }
    }.m-auto {
     margin: auto
 }

    .my-4 {
        margin-block: calc(var(--spacing) * 4)
    }

    .my-8 {
        margin-block: calc(var(--spacing) * 8)
    }

    .my-12 {
        margin-block: calc(var(--spacing) * 12)
    }

    .mt-0\.5 {
        margin-top: calc(var(--spacing) * .5)
    }

    .mt-2 {
        margin-top: calc(var(--spacing) * 2)
    }

    .mt-4 {
        margin-top: calc(var(--spacing) * 4)
    }

    .mt-6 {
        margin-top: calc(var(--spacing) * 6)
    }

    .mt-8 {
        margin-top: calc(var(--spacing) * 8)
    }

    .mt-10 {
        margin-top: calc(var(--spacing) * 10)
    }

    .mt-12 {
        margin-top: calc(var(--spacing) * 12)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing) * 4)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing) * 6)
    }

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .table {
        display: table
    }

    .size-4 {
        width: calc(var(--spacing) * 4);
        height: calc(var(--spacing) * 4)
    }

    .size-5 {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5)
    }

    .h-6 {
        height: calc(var(--spacing) * 6)
    }

    .\!w-full {
        width: 100% !important
    }

    .w-6 {
        width: calc(var(--spacing) * 6)
    }

    .w-96 {
        width: calc(var(--spacing) * 96)
    }

    .w-auto {
        width: auto
    }

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .\!min-w-full {
        min-width: 100% !important
    }

    .resize {
        resize: both
    }

    .grid-cols-2 {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .grid-cols-3 {
        grid-template-columns:repeat(3, minmax(0, 1fr))
    }

    .grid-cols-4 {
        grid-template-columns:repeat(4, minmax(0, 1fr))
    }

    h-full {
        height: 100%;
    }


    .flex-col {
        flex-direction: column
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .items-center {
        align-items: center
    }

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

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

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .justify-end {
        justify-content: flex-end
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2)
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    .gap-8 {
        gap: calc(var(--spacing) * 8)
    }

    .gap-12 {
        gap: calc(var(--spacing) * 12)
    }

    .gap-24 {
        gap: calc(var(--spacing) * 24)
    }

    .gap-y-12 {
        row-gap: calc(var(--spacing) * 12)
    }

    .rounded {
        border-radius: .25rem
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .\!bg-white {
        background-color: var(--color-white) !important
    }

    .bg-primary {
        background-color: var(--color-primary)
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .\!fill-\[var\(--text-color-invert\)\] {
        fill: var(--text-color-invert) !important
    }

    .fill-\[\#CBCBCB\] {
        fill: #cbcbcb
    }

    .fill-black {
        fill: var(--color-black)
    }

    .fill-primary {
        fill: var(--color-primary)
    }

    .stroke-black {
        stroke: var(--color-black)
    }

    .stroke-primary {
        stroke: var(--color-primary)
    }

    .px-2 {
        padding-inline: calc(var(--spacing) * 2)
    }

    .px-8 {
        padding-inline: calc(var(--spacing) * 8)
    }

    .py-2\.5 {
        padding-block: calc(var(--spacing) * 2.5)
    }

    .py-4 {
        padding-block: calc(var(--spacing) * 4)
    }

    .py-8 {
        padding-block: calc(var(--spacing) * 8)
    }

    .py-60 {
        padding-block: calc(var(--spacing) * 60)
    }

    .pr-96 {
        padding-right: calc(var(--spacing) * 96)
    }

    .\!pb-16 {
        padding-bottom: calc(var(--spacing) * 16) !important
    }

    .pb-4 {
        padding-bottom: calc(var(--spacing) * 4)
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height))
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .text-nowrap {
        text-wrap: nowrap
    }

    .text-\[var\(--text-color\)\] {
        color: var(--text-color)
    }

    .text-black {
        color: var(--color-black)
    }

    .blur {
        --tw-blur: blur(8px);
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .filter {
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
    }

    .focus\:outline-none:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    @media not all and (min-width: 96rem) {
        .max-2xl\:hidden {
            display: none
        }

        .max-2xl\:grid-cols-2 {
            grid-template-columns:repeat(2, minmax(0, 1fr))
        }

        .max-2xl\:grid-cols-3 {
            grid-template-columns:repeat(3, minmax(0, 1fr))
        }

        .max-2xl\:gap-y-8 {
            row-gap: calc(var(--spacing) * 8)
        }
    }@media not all and (min-width: 80rem) {
    .max-xl\:hidden {
        display: none
    }

    .max-xl\:grid-cols-1 {
        grid-template-columns:repeat(1, minmax(0, 1fr))
    }

    .max-xl\:grid-cols-2 {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .max-xl\:grid-cols-3 {
        grid-template-columns:repeat(3, minmax(0, 1fr))
    }

    .max-xl\:flex-col {
        flex-direction: column
    }

    .max-xl\:gap-2 {
        gap: calc(var(--spacing) * 2)
    }

    .max-xl\:gap-y-12 {
        row-gap: calc(var(--spacing) * 12)
    }

    .max-xl\:px-4 {
        padding-inline: calc(var(--spacing) * 4)
    }

    .max-xl\:pr-0 {
        padding-right: calc(var(--spacing) * 0)
    }

    .max-xl\:text-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height))
    }
}@media not all and (min-width: 64rem) {
    .max-lg\:bottom-12 {
        bottom: calc(var(--spacing) * 12)
    }

    .max-lg\:col-span-2 {
        grid-column: span 2/span 2
    }

    .max-lg\:mt-0 {
        margin-top: calc(var(--spacing) * 0)
    }

    .max-lg\:hidden {
        display: none
    }

    .max-lg\:table {
        display: table
    }

    .max-lg\:w-full {
        width: 100%
    }

    .max-lg\:grid-cols-1 {
        grid-template-columns:repeat(1, minmax(0, 1fr))
    }

    .max-lg\:grid-cols-2 {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .max-lg\:flex-col {
        flex-direction: column
    }

    .max-lg\:justify-start {
        justify-content: flex-start
    }

    .max-lg\:gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    .max-lg\:gap-8 {
        gap: calc(var(--spacing) * 8)
    }

    .max-lg\:gap-12 {
        gap: calc(var(--spacing) * 12)
    }

    .max-lg\:gap-y-8 {
        row-gap: calc(var(--spacing) * 8)
    }
}@media not all and (min-width: 48rem) {
    .max-md\:bottom-24 {
        bottom: calc(var(--spacing) * 24)
    }

    .max-md\:flex {
        display: flex
    }

    .max-md\:hidden {
        display: none
    }

    .max-md\:grid-cols-1 {
        grid-template-columns:repeat(1, minmax(0, 1fr))
    }

    .max-md\:flex-col {
        flex-direction: column
    }

    .max-md\:items-center {
        align-items: center
    }

    .max-md\:justify-center {
        justify-content: center
    }

    .max-md\:gap-2 {
        gap: calc(var(--spacing) * 2)
    }

    .max-md\:gap-4 {
        gap: calc(var(--spacing) * 4)
    }

    .max-md\:bg-red-200 {
        background-color: var(--color-red-200)
    }

    .max-md\:text-center {
        text-align: center
    }
}@media not all and (min-width: 40rem) {
    .max-sm\:col-span-2 {
        grid-column: span 2/span 2
    }

    .max-sm\:grid-cols-1 {
        grid-template-columns:repeat(1, minmax(0, 1fr))
    }

    .max-sm\:flex-col {
        flex-direction: column
    }
}@media (min-width: 64rem) {
    .lg\:block {
        display: block
    }

    .lg\:hidden {
        display: none
    }
}@media (min-width: 80rem) {
    .xl\:-mt-10 {
        margin-top: calc(var(--spacing) * -10)
    }

    .min-xl\:hidden {
        display: none
    }

    .xl\:gap-12 {
        gap: calc(var(--spacing) * 12)
    }
}@media (min-width: 96rem) {
    .\32xl\:max-w-92 {
        max-width: calc(var(--spacing) * 92)
    }

    .\32xl\:flex-col {
        flex-direction: column
    }

    .\32xl\:gap-24 {
        gap: calc(var(--spacing) * 24)
    }
}@media (prefers-color-scheme: dark) {
    .dark\:fill-\[\#CBCBCB\] {
        fill: #cbcbcb
    }

    .dark\:fill-white {
        fill: var(--color-white)
    }
}
}

:root, .theme-light {
    --bg-color: #fff;
    --text-color: #000;
    --text-color-invert: #fff;
    --border-color: #d9d9d9;
    --color-gray: #7d7d7d;
    --color-gray2: #d9d9d9;
    --color-primary: #a97565;
    --color-cast: #f8f8f8;
    --color-input: #f5f5f5;
    --spacing-sm: .5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    --text-xs: .75rem;
    --text-sm: .875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;
    --rounded-sm: .125rem;
    --rounded-md: .375rem;
    --rounded-lg: .5rem
}

.theme-dark {
    --bg-color: #323232;
    --text-color: #fff;
    --text-color-invert: #000;
    --border-color: #414141;
    --color-cast: #272727;
    --color-input: #f5f5f5;
    --color-primary: #ff5722;
    --color-gray2: #414141
}

@media (prefers-color-scheme: dark) {
    :root:not(.theme-light) {
        --bg-color: #323232;
        --text-color: #fff;
        --text-color-invert: #000;
        --border-color: #414141;
        --color-cast: #272727;
        --color-input: #f5f5f5;
        --color-primary: #ff5722
    }
}

html {
    --font-main: "Roboto Flex", sans-serif;
    font-family: var(--font-main)
}

.font-roboto {
    --font-main: "Roboto Flex", sans-serif
}

.font-open-sans {
    --font-main: "Open Sans", sans-serif
}

.font-lato {
    --font-main: "Lato", sans-serif
}

.font-montserrat {
    --font-main: "Montserrat", sans-serif
}

.font-raleway {
    --font-main: "Raleway", sans-serif
}

.font-montserrat body {
    letter-spacing: -.75px
}



  .col-span-2 {
    grid-column: span 2;
  }


body {
    font-family: var(--font-main);
    background-color: var(--bg-color);
    color: var(--text-color);
    letter-spacing: normal;
    font-size: .95em
}

.container {
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
    margin-left: auto;
    margin-right: auto
}

@media (max-width: 1023px) {
    .container {
        padding-left: var(--spacing-lg);
        padding-right: var(--spacing-lg)
    }
}

@media (max-width: 767px) {
    .container {
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md)
    }
}

@media (max-width: 639px) {
    .container {
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md)
    }
}

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

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

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

.stroke-primary {
    stroke: var(--color-primary)
}

.fill-primary {
    fill: var(--color-primary)
}

h1.title, h2.title {
    font-size: var(--text-6xl);
    font-weight: 500;
    line-height: 1
}

h1.title-small {
    font-size: var(--text-4xl);
    font-weight: 500;
    line-height: 1
}

@media (max-width: 639px) {
    h1.title, h2.title {
        font-size: var(--text-4xl)
    }
}

.separator {
    color: var(--color-gray)
}

header {
    z-index: 30;
    width: 100%;
    transition: all .2s linear;
    position: sticky;
    top: 0;
    left: 0
}

.header .container {
    position: relative
}

.header .container > .flex {
    border: 1px solid var(--border-color)
}

@media (min-width: 768px) {
    header.scroll {
        top: -32px
    }
}

.top--bar {
    margin-top: 0;
    background: #fff
}

.social-icon {
    fill: var(--text-color);
    transition: all .2s ease-in
}

.social-icon:hover {
    fill: var(--color-primary);
    cursor: pointer
}

#logo img {
    min-width: 5rem
}

.nav-menu {
    flex-direction: column;
    display: flex
}

@media (min-width: 1024px) {
    .nav-menu {
        flex-direction: row;
        align-items: center
    }
}

.nav-menu li {
    width: min-content
}

@media (max-width: 1279px) {
    .nav-menu li a {
        white-space: normal
    }
}

@media (min-width: 1280px) {
    .nav-menu li a {
        white-space: nowrap
    }
}

.nav-menu li a {
    padding: var(--spacing-sm) var(--spacing-md);
    color: #000;
    border-radius: var(--rounded-sm);
    text-transform: uppercase;
    font-size: var(--text-sm);
    align-items: center;
    font-weight: 500;
    transition: all .2s ease-in;
    display: flex;
    white-space: nowrap;
}

.nav-menu > li > a:hover, .nav-menu > li.active > a {
    color: var(--color-primary)
}

.sub-menu {
    background-color: var(--color-primary);
    border-radius: var(--rounded-md);
    width: fit-content;
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
    z-index: 10;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    box-shadow: 0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a
}

@media (min-width: 1024px) {
    .sub-menu {
        display: none
    }
}

.sub-menu .sub-menu {
    top: 0;
    left: 100%
}

.menu-item-has-children.active > .sub-menu, .menu-item-has-children:hover > .sub-menu {
    display: block
}

.sub-menu li a {
    padding: var(--spacing-sm) var(--spacing-md);
    color: #fff;
    white-space: nowrap;
    display: block;
    position: relative
}

.sub-menu li a:before {
    content: "";
    background: var(--color-primary);
    width: 4px;
    height: 100%;
    transition: all .2s ease-in;
    position: absolute;
    top: 0;
    left: 0
}

.sub-menu li a:hover:before, .sub-menu li.active a:hover:before {
    background: #fff
}

.menu-item-has-children a {
    padding: var(--spacing-sm) var(--spacing-md);
    color: #000;
    border-radius: var(--rounded-sm);
    display: block
}

.menu-item-has-children > a:after {
    content: "";
    margin-left: var(--spacing-sm);
    background-image: url("data:image/svg+xml,%3csvg%20width='4'%20height='5'%20viewBox='0%200%204%205'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.18297%202.18301C3.21273%202.21277%203.22761%202.247%203.22761%202.28569C3.22761%202.32438%203.21273%202.3586%203.18297%202.38837L1.10261%204.46872C1.07285%204.49849%201.03862%204.51337%200.99993%204.51337C0.96124%204.51337%200.927014%204.49849%200.897252%204.46872L0.674037%204.24551C0.644275%204.21575%200.629395%204.18152%200.629395%204.14283C0.629395%204.10414%200.644275%204.06991%200.674037%204.04015L2.4285%202.28569L0.674037%200.531224C0.644275%200.501462%200.629395%200.467236%200.629395%200.428545C0.629395%200.389854%200.644275%200.355628%200.674037%200.325867L0.897252%200.102652C0.927014%200.0728903%200.96124%200.0580091%200.99993%200.0580091C1.03862%200.0580091%201.07285%200.0728903%201.10261%200.102652L3.18297%202.18301Z'%20fill='%238A8A8A'/%3e%3c/svg%3e");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    width: 8px;
    min-width: 8px;
    height: 10px;
    transition: all .1s linear;
    display: inline-block
}

.menu-item-has-children.active > a:after {
    transform: rotate(90deg)
}

.sub-menu .menu-item-has-children > a:after {
    margin-left: var(--spacing-sm);
    background-image: url("data:image/svg+xml,%3csvg%20width='4'%20height='5'%20viewBox='0%200%204%205'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.18297%202.18301C3.21273%202.21277%203.22761%202.247%203.22761%202.28569C3.22761%202.32438%203.21273%202.3586%203.18297%202.38837L1.10261%204.46872C1.07285%204.49849%201.03862%204.51337%200.99993%204.51337C0.96124%204.51337%200.927014%204.49849%200.897252%204.46872L0.674037%204.24551C0.644275%204.21575%200.629395%204.18152%200.629395%204.14283C0.629395%204.10414%200.644275%204.06991%200.674037%204.04015L2.4285%202.28569L0.674037%200.531224C0.644275%200.501462%200.629395%200.467236%200.629395%200.428545C0.629395%200.389854%200.644275%200.355628%200.674037%200.325867L0.897252%200.102652C0.927014%200.0728903%200.96124%200.0580091%200.99993%200.0580091C1.03862%200.0580091%201.07285%200.0728903%201.10261%200.102652L3.18297%202.18301Z'%20fill='%23fff'/%3e%3c/svg%3e");
    display: inline-block
}

@media (min-width: 1024px) {
    .menu-item-has-children > a:after {
        background-image: url("data:image/svg+xml,%3csvg%20width='4'%20height='5'%20viewBox='0%200%204%205'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M3.18297%202.18301C3.21273%202.21277%203.22761%202.247%203.22761%202.28569C3.22761%202.32438%203.21273%202.3586%203.18297%202.38837L1.10261%204.46872C1.07285%204.49849%201.03862%204.51337%200.99993%204.51337C0.96124%204.51337%200.927014%204.49849%200.897252%204.46872L0.674037%204.24551C0.644275%204.21575%200.629395%204.18152%200.629395%204.14283C0.629395%204.10414%200.644275%204.06991%200.674037%204.04015L2.4285%202.28569L0.674037%200.531224C0.644275%200.501462%200.629395%200.467236%200.629395%200.428545C0.629395%200.389854%200.644275%200.355628%200.674037%200.325867L0.897252%200.102652C0.927014%200.0728903%200.96124%200.0580091%200.99993%200.0580091C1.03862%200.0580091%201.07285%200.0728903%201.10261%200.102652L3.18297%202.18301Z'%20fill='%238A8A8A'/%3e%3c/svg%3e")
    }

    .menu-item-has-children:hover > a:after {
        transform: rotate(90deg)
    }
}

.bg-primary {
    color: #fff
}

.button--icon {
    gap: var(--spacing-sm);
    color: #000;
    align-items: center;
    display: flex
}

.callback--text {
    text-decoration: underline
}

.callback--text:hover {
    text-decoration: none
}

@media (max-width: 1279px) {
    .callback--text {
        font-size: var(--text-sm)
    }
}

.main--section .swiper {
    width: 100%;
    margin: 0 auto
}

.main--section .swiper-slide {
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
    justify-content: center;
    align-items: center;
    min-height: 920px;
    display: flex
}

.button--primary {
    background-color: var(--color-primary);
    padding: var(--spacing-md) var(--spacing-xl);
    color: #fff;
    border-radius: var(--rounded-md);
    cursor: pointer;
    white-space: nowrap;
    border: 1px solid var(--color-primary);
    width: fit-content;
    transition: all .15s ease-in;
    position: relative;
    overflow: hidden
}

.button--primary:before {
    content: "";
    background: var(--bg-color);
    opacity: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    transition: opacity .2s ease-in;
    position: absolute;
    top: 0;
    left: 0
}

.button--primary:hover:before {
    content: "";
    opacity: .2
}

.button--primary > span {
    z-index: 1;
    position: relative
}

.button--small {
    padding: var(--spacing-sm) var(--spacing-xl)
}

.submit-btn.disabled, .submit-btn:disabled {
    opacity: .6;
    cursor: not-allowed !important;
    border: 1px solid transparent;
}

.open--form {
    width: fit-content
}

.open--form input {
    border-radius: var(--rounded-md) 0 0 var(--rounded-md);
    padding: var(--spacing-md) var(--spacing-xl);
    color: #000;
    background-color: #fff;
    outline: none;
    height: 100%;
    overflow: hidden
}

.open--form .button--primary {
    border-radius: 0 var(--rounded-md) var(--rounded-md) 0
}

@media (max-width: 639px) {
    .open--form .button--primary {
        border-radius: var(--rounded-md);
        width: 100%;
        margin-top: 1rem
    }

    .open--form input {
        border-radius: var(--rounded-md);
        width: 100%;
        height: 100%
    }
}

.main--section {
    margin-top: -180px
}

.swiper-pagination {
    left: inherit !important;
    right: inherit !important;
    top: inherit !important;
    transform: inherit !important;
    bottom: inherit !important;
    position: relative !important
}

.swiper-pagination-bullet {
    opacity: 1 !important;
    background: #464646 !important;
    width: 10px !important;
    height: 10px !important
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fff !important
}

.swiper-button-disabled {
    opacity: .3 !important;
    cursor: default !important
}

.main--info {
    font-size: var(--text-xl);
    font-weight: 500;
    line-height: 1.75rem
}

.main--info > div {
    padding-left: var(--spacing-lg);
    position: relative
}

.main--info > div:after {
    content: "";
    background: #fff;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.section {
    padding-top: var(--spacing-xl);
    padding-bottom: var(--spacing-xl)
}

.link--icon {
    align-items: center;
    gap: var(--spacing-sm);
    white-space: nowrap;
    text-decoration: underline;
    display: flex
}

.link--icon:hover {
    text-decoration: none
}

@media (max-width: 1279px) {
    .link--icon {
        font-size: var(--text-sm)
    }
}

.item, .offer, .service {
    padding: var(--spacing-xl);
    border-radius: var(--rounded-lg);
    color: #fff;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 290px;
    display: block;
    position: relative;
    overflow: hidden
}

.offer {
    height: 499px
}

.service {
    height: 365px
}

.service-wrapper .service {
    width: calc(25% - 1.5rem)
}

@media (max-width: 1279px) {
    .service-wrapper .service {
        width: calc(33% - 1.5rem)
    }
}

@media (max-width: 1024px) {
    .service-wrapper .service {
        width: calc(50% - 1.5rem)
    }
}

@media (max-width: 768px) {
    .service-wrapper .service {
        width: 100%
    }
}

.service button {
    padding: var(--spacing-sm) var(--spacing-xl)
}

.price-big {
    font-size: var(--text-xl)
}

.item:before, .offer:before {
    content: "";
    background-color: var(--color-primary);
    opacity: 0;
    width: 100%;
    height: 100%;
    transition: all .2s linear;
    position: absolute;
    top: 0;
    left: 0
}

.service:before {
    content: "";
    opacity: 0;
    background-color: #000;
    width: 100%;
    height: 100%;
    transition: all .2s linear;
    position: absolute;
    top: 0;
    left: 0
}

.item:hover:before, .offer:hover:before, .service:hover:before {
    opacity: .7
}

.item:after, .offer:after, .service:after {
    content: "";
    background: linear-gradient(#0000 60%, #0000 0%, #0000009c);
    width: 100%;
    height: 100%;
    transition: all .2s linear;
    position: absolute;
    bottom: 0;
    left: 0
}

.item h4, .offer h4, .service h4 {
    font-size: var(--text-3xl);
    line-height: var(--text-3xl);
    font-weight: 600
}

.service h4 {
    margin-bottom: var(--spacing-md)
}

.item span, .offer span, .product span, .service span {
    font-size: var(--text-sm);
    color: #a3a3a3
}

.item-wrap, .offer-wrap, .service-wrap {
    z-index: 10;
    bottom: var(--spacing-xl);
    left: var(--spacing-xl);
    right: var(--spacing-xl);
    transition: all .1s linear;
    position: absolute
}

.item-wrap .item-wrap-text, .offer-wrap .offer-wrap-text, .service-wrap .service-wrap-text {
    opacity: 0;
    height: 100%;
    max-height: 0;
    font-size: var(--text-sm);
    font-weight: 300;
    transition: all .4s linear
}

.item:hover .item-wrap .item-wrap-text, .offer:hover .offer-wrap .offer-wrap-text {
    opacity: 1;
    max-height: 7rem;
    margin-top: var(--spacing-md)
}

.service:hover .service-wrap .service-wrap-text {
    opacity: 1;
    max-height: 365px;
    padding-bottom: var(--spacing-md)
}

.service-wrap .price {
    margin-top: 12px;
    font-weight: 700
}

.bg-cast {
    background: var(--color-cast)
}

.tabs li {
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--rounded-md)
}

.tabs li.active {
    background: var(--color-primary);
    color: #fff
}

.tabs li:hover {
    cursor: pointer
}

.tab-item {
    opacity: 0;
    transition: all .2s ease-in;
    display: none
}

.tab-item.active {
    opacity: 1;
    display: block
}

.tabs-content .swiper {
    padding: 0 1px
}

.product {
    padding: var(--spacing-md);
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--rounded-md)
}

.product--image {
    background: #fff;
    flex-direction: column;
    place-content: center;
    height: 325px;
    max-height: 325px;
    display: flex;
    overflow: hidden
}
@media (max-width: 600px) {
    .product--image {
        height: 180px;
        max-height: 180px;
    }
}

.product--image img {
    transition: all .2s linear;
    transform: scale(1);
    margin: 0 auto;
}

.product:hover .product--image img {
    transform: scale(1.05)
}

.product-wrap {
    margin-top: var(--spacing-md)
}

.product h4 {
    font-size: var(--text-lg)
}

.product .price {
    font-size: var(--text-2xl);
    font-weight: 700
}

.button-border {
    padding: var(--spacing-sm) var(--spacing-lg);
    border-radius: var(--spacing-sm);
    border: 1px solid var(--color-primary);
    color: var(--color-primary);
    width: fit-content;
    transition: all .2s ease-in;
    display: block
}

.button-border:hover {
    background-color: var(--color-primary);
    color: var(--text-color)
}

.button-border-gray {
    padding: var(--spacing-sm) var(--spacing-lg);
    border-radius: var(--spacing-sm);
    border: 1px solid var(--color-gray);
    color: var(--color-gray);
    transition: all .2s ease-in
}

.button-border-gray:hover, .button-border-gray.open {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--text-color);
    cursor: pointer
}

.slider--arrow {
    stroke: var(--color-primary);
    cursor: pointer;
    opacity: 1;
    transition: opacity .2s ease-in
}

.slider--arrow:hover {
    opacity: .5
}

.slider--arrow-prev {
    transform: rotate(-180deg)
}

.trust-item {
    padding-left: 1.5rem;
    position: relative
}

.trust-item strong {
    font-weight: 700
}

.trust-item p {
    color: #7d7d7d;
    font-weight: 300
}

.trust-item:after {
    content: "";
    background: var(--color-primary);
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.form--wrap {
    background: var(--bg-color);
    padding: var(--spacing-lg);
    border-radius: var(--rounded-md)
}

.form--wrap .button--primary {
    width: 100%
}

.input {
    background: var(--color-input);
    color: #000;
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--rounded-md);
    outline: none;
    width: 100%;
    min-width: 250px
}

.input:focus, .input:focus-visible {
    box-shadow: 0 0 0 3px var(--color-primary)
}

.input-icon {
    width: 100%;
    position: relative
}

.input-icon .input {
    padding-left: 3rem;
    position: relative
}

.input-icon svg {
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%)
}

.air-datepicker {
    background: var(--bg-color) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-color) !important
}

.air-datepicker-body--day-name {
    color: var(--color-primary) !important
}

.air-datepicker-cell.-selected-, .air-datepicker-cell.-selected-.-current- {
    color: var(--text-color) !important;
    background: var(--color-primary) !important
}

.air-datepicker-cell.-day-.-other-month-, .air-datepicker-cell.-year-.-other-decade- {
    color: var(--text-color);
    opacity: .8 !important
}

.air-datepicker-cell.-focus-, .air-datepicker-nav--title:hover {
    color: var(--text-color) !important;
    background: var(--color-primary) !important
}

.air-datepicker-nav--title i {
    color: var(--text-color) !important
}

.air-datepicker-nav {
    border-bottom: 1px solid var(--border-color) !important
}

.air-datepicker-nav--action:hover {
    background: var(--color-primary) !important
}

.air-datepicker-nav--action path {
    stroke: var(--text-color) !important
}

.bg-img-svg {
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%)
}

.privacy-checkbox-wrap {
    align-items: center;
    gap: .5rem;
    width: fit-content;
    font-size: 11px;
    display: flex
}

.privacy-checkbox-wrap input {
    margin-right: 5px
}

input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    background-color: #eee;
    border-radius: 2px;
    width: 20px;
    height: 20px;
    padding: 0
}

input[type=checkbox]:checked {
    background-color: #000
}

input[type=checkbox]:checked:after {
    content: "✔";
    text-align: center;
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    display: block
}

.stock {
    border-radius: var(--rounded-md);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    min-height: 255px;
    padding: 1.5rem;
    transition: all .2s linear;
    position: relative;
    overflow: hidden
}

.stock:before {
    content: "";
    background-color: var(--color-primary);
    opacity: 0;
    width: 100%;
    height: 100%;
    transition: all .2s linear;
    position: absolute;
    top: 0;
    left: 0
}

.stock:hover:before {
    opacity: .3
}

.stock-wrap {
    flex-direction: column;
    justify-content: end;
    width: 50%;
    height: 100%;
    display: flex;
    position: relative
}

.stock h4 {
    font-size: var(--text-3xl);
    line-height: var(--text-4xl);
    margin-bottom: 1rem;
    font-weight: 500
}

.stock .button--primary {
    margin-top: 1rem
}

.label-block {
    z-index: 2;
    padding: .3rem var(--spacing-md);
    border-radius: var(--rounded-md);
    color: #fff;
    background: #4fad00;
    width: fit-content;
    font-size: 14px;
    position: absolute;
    top: 1.5rem;
    right: 1.5rem
}

@media (max-width: 1024px) {
    .stock {
        background-position: 65%
    }

    .stock-wrap {
        justify-content: space-between;
        width: 100%;
        height: auto
    }

    .label-block {
        right: inherit;
        top: inherit;
        margin-bottom: 1rem;
    }
}

.read-more-btn {
    color: var(--color-primary);
    cursor: pointer;
    font-weight: 700;
    transition: all .2s ease-in
}

.read-more-btn:hover {
    opacity: .8
}

.reviews {
    padding: var(--spacing-xl);
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--rounded-md);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    width: 100%;
    display: flex
}

.reviews--avatar--wrap {
    border: 1px solid var(--border-color);
    border-radius: 50%;
    place-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    display: flex
}

.reviews--avatar {
    background-size: cover;
    border-radius: 50%;
    width: 100px;
    height: 100px
}

.reviews--name {
    font-size: 18px;
    font-weight: 700
}

.reviews--post {
    font-size: var(--text-sm);
    color: #a3a3a3
}

.reviews p {
    margin-top: 1rem
}

.info {
    border-radius: var(--rounded-md);
    background: var(--color-cast);
    flex-direction: column;
    height: 100%;
    display: flex;
    overflow: hidden
}

.info--img {
    flex-direction: column;
    display: flex;
    overflow: hidden
}

.info--img img {
    transition: all .2s ease-in
}

.info:hover .info--img img {
    transform: scale(1.1)
}

.info--wrap {
    padding: var(--spacing-lg) var(--spacing-md);
    background: var(--color-cast);
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    height: 100%;
    max-height: 250px;
    display: flex
}

.info--wrap h4 {
    font-weight: 700
}

.label-block-tag {
    padding: .3rem var(--spacing-md);
    border-radius: var(--rounded-md);
    color: #000;
    background: #d9d9d9;
    width: fit-content;
    font-size: 14px
}

.info .link--icon {
    color: var(--color-primary)
}

.block-primary {
    background: var(--color-primary);
    padding: var(--spacing-lg) var(--spacing-xl);
    color: #fff;
    border-radius: var(--spacing-sm);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: contain
}

.block-primary .privacy-checkbox-wrap span, .block-primary .privacy-checkbox-wrap a {
    color: #fff
}

.block-primary .input {
    min-width: inherit
}

@media (max-width: 1024px) {
    .block-primary {
        background-image: none !important
    }
}

.button--black {
    color: #fff;
    background: #000;
    width: 100%;
    border: 1px solid #000;
}

.button--black:hover {
    opacity: .8
}

.button--white {
    background: #fff;
    padding: var(--spacing-md) var(--spacing-xl);
    color: #000;
    border-radius: var(--rounded-md);
    width: fit-content;
    font-weight: bold;
}

.button--white:hover {
    opacity: .8
}

.map-wrap {
    position: relative
}

#map {
    border-radius: var(--rounded-md);
    width: 100%;
    height: 100vh;
    max-height: 660px;
    overflow: hidden
}

.theme-dark [class*=ymaps-2][class*=-ground-pane] {
    -webkit-filter: grayscale() invert()
}

.map-info {
    background: var(--color-cast);
    z-index: 2;
    border-radius: var(--rounded-md);
    position: absolute;
    top: 50%;
    left: 12rem;
    transform: translateY(-50%);
    max-width: 482px;
}

@media (max-width: 1535px) {
    .map-info {
        left: 4rem
    }
}

.map-info h4 {
    font-size: var(--text-xl);
    font-weight: 700
}

.map-info-sup {
    padding: var(--spacing-lg)
}

.map-info-sub {
    padding: var(--spacing-lg);
    background: var(--bg-color);
    border-radius: var(--rounded-md)
}

@media (max-width: 768px) {
    .map-info {
        position: relative;
        top: 100%;
        left: 50%;
        transform: translate(-50%)
    }
}
/*
footer {
    padding: var(--spacing-xl) 0;
    color: #fff;
    background: #4f4f4f
}

.footer-desc {
    font-size: var(--text-sm);
    color: #fff;
    margin-top: 1rem;
    line-height: 1.2;
    display: block
}

footer strong {
    font-size: var(--text-lg);
    margin-bottom: var(--spacing-sm);
    display: block
}

footer ul li {
    font-size: var(--text-sm)
}

footer ul li a {
    transition: all .2s ease-in
}

footer ul li a:hover {
    color: var(--color-primary)
}

footer a, footer span {
    color: #fff
}

.copy {
    color: #7d7d7d;
    flex-direction: column;
    gap: 1rem;
    max-width: 50%;
    margin-top: 2rem;
    font-size: 12px;
    display: flex
}

.copy span {
    color: #7d7d7d
}

@media (max-width: 1024px) {
    .copy {
        max-width: 100%
    }
}

@media (max-width: 768px) {
    footer .logo {
        margin: 0 auto;
        display: table
    }
}

footer form label, footer form .button--primary {
    width: 100%
}
*/


.breadcrumbs {
    flex-wrap: wrap;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    display: flex
}

.breadcrumbs li {
    color: var(--color-gray);
    align-items: center;
    font-size: 14px;
    display: flex
}

.breadcrumbs li + li:before {
    content: "-";
    color: var(--color-gray);
    margin: 0 8px
}

.breadcrumbs a {
    color: var(--color-gray);
    text-decoration: none
}

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





.input-group {
    flex-wrap: wrap;
    gap: 10px;
    margin: 1rem 0 1rem 1rem;
    display: flex
}

.checkbox-wrapper {
    position: relative
}

.checkbox-wrapper input[type=checkbox] {
    opacity: 0;
    cursor: pointer;
    width: 0;
    height: 0;
    position: absolute
}

.checkbox-label {
    border: 1px solid var(--color-gray2);
    border-radius: var(--rounded-md);
    color: var(--color-gray);
    cursor: pointer;
    white-space: nowrap;
    width: fit-content;
    padding: 10px 20px;
    transition: all .2s;
    display: block
}

.checkbox-wrapper input[type=checkbox]:checked + .checkbox-label, .checkbox-wrapper .checkbox-label.active {
    background-color: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary)
}

.checkbox-label:hover {
    border: 1px solid var(--color-primary);
}

.filter-form-wrap {
    background: var(--color-cast);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg) var(--spacing-sm);
    border: 1px solid #0000;
    box-shadow: 0 0 30px #00000015
}

.theme-dark .filter-form-wrap {
    border: 1px solid var(--border-color)
}

.accordion {
    margin-bottom: 10px;
    overflow: hidden
}

.accordion-header {
    cursor: pointer;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    font-weight: 700;
    display: flex
}

.accordion-header:after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='21' height='10' viewBox='0 0 21 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9L10.88 2L20 9' stroke='%23696969' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    width: 21px;
    height: 10px;
    transition: transform .2s;
    transform: rotate(180deg)
}

.accordion.active .accordion-header:after {
    content: "";
    transform: rotate(0)
}

.accordion-content {
    max-height: 0;
    padding: 0 15px;
    transition: max-height .3s ease-out;
    overflow: hidden
}

.accordion.active .accordion-content {
    max-height: 200px
}

.accordion-content .checkbox-group {
    flex-direction: column;
    display: flex
}

.custom-checkbox {
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    padding-left: 25px;
    position: relative
}

.custom-checkbox input {
    opacity: 0;
    cursor: pointer;
    position: absolute
}

.custom-checkbox .checkmark {
    border: 1px solid var(--border-color);
    border-radius: var(--rounded-sm);
    background-color: #0000;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 2px;
    left: 0
}

.custom-checkbox input:checked ~ .checkmark {
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

.custom-checkbox input:checked ~ .checkmark:after {
    content: "✔";
    color: #fff;
    font-size: 12px;
    position: absolute;
    top: -2px;
    left: 3px
}

.custom-radio {
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    margin-bottom: 2px;
    padding-left: 25px;
    line-height: 1.4;
    display: block;
    position: relative
}

.custom-radio input {
    opacity: 0;
    cursor: pointer;
    position: absolute
}

.custom-radio .checkmark {
    border: 1px solid var(--border-color);
    background-color: #0000;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 2px;
    left: 0
}

.custom-radio input:checked ~ .checkmark {
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

.custom-radio .checkmark:after {
    content: "";
    background: #fff;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    display: none;
    position: absolute;
    top: 4px;
    left: 4px
}

.custom-radio input:checked ~ .checkmark:after {
    display: block
}

.price-inputs {
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 20px;
    display: flex
}

input[type=number] {
    text-align: center;
    border: 1px solid #696969;
    border-radius: 5px;
    width: 100%;
    padding: 8px
}

.number-slider-wrapper {
    margin-bottom: 30px
}

.slider {
    background: #696969;
    width: 100%;
    height: 2px;
    margin-top: 20px;
    position: relative
}

.slider-track {
    background: var(--color-primary);
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.slider-thumb {
    border: 2px solid var(--color-primary);
    cursor: pointer;
    z-index: 2;
    background: #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -9px;
    transform: translate(-50%)
}

.number-inputs {
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-top: 1rem;
    display: flex
}

.total-item {
    font-weight: 600;
    font-size: var(--text-2xl);
    letter-spacing: 0;
    color: var(--color-gray);
    padding: 1.5rem 0;
    line-height: 1.1;
    display: block
}

.header-title {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    display: flex
}

@media (max-width: 1280px) {
    .header-title {
        flex-direction: column;
        align-items: start
    }

    .sort-options {
        margin-top: 1rem
    }
}

.sort-options {
    gap: 1.5rem;
    display: flex
}

.sort-option {
    cursor: pointer;
    color: var(--color-gray);
    white-space: nowrap;
    border-radius: 4px;
    align-items: center;
    gap: .3rem;
    transition: color .2s linear;
    display: flex
}

.sort-option:hover {
    color: var(--color-gray)
}

.sort-option.active {
    color: var(--text-color)
}

.icon {
    background-image: url("data:image/svg+xml,%3Csvg width='21' height='10' viewBox='0 0 21 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9L10.88 2L20 9' stroke='%23696969' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    width: 8px;
    height: 4px;
    transition: transform .2s linear;
    transform: rotate(0)
}

.sort-option.sorted .icon {
    background-image: url("data:image/svg+xml,%3Csvg width='21' height='10' viewBox='0 0 21 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 9L10.88 2L20 9' stroke='%23FFFFFF' stroke-width='2'/%3E%3C/svg%3E");
    transform: rotate(180deg)
}

.filter-form.open {
    display: block
}

@media (max-width: 1280px) {
    .filter-form.open {
        width: 100%
    }
}

.product-footer {
    min-height: 56px;
    align-items: center;
}

.catalog .product-footer button {
    padding: 8px 10px
}

.catalog .product-footer .link {
    color: var(--color-gray)
}

.catalog .product-footer .link:hover {
    color: var(--color-primary)
}

.catalog .product h4 {
    font-size: var(--text-lg);
    margin: 1rem 0 1.5rem;
    line-height: 1.3;
    display: block
}

.catalog .product--image {
    max-height: inherit;
    height: inherit;
    background: 0 0
}

.catalog .product--image .swiper-pagination-bullet {
    background: var(--border-color) !important;
    opacity: 1 !important;
    width: 5px !important;
    height: 5px !important
}

.catalog .product--image .swiper-pagination-bullet-active {
    background: var(--color-primary) !important
}

.catalog .product {
    border: 1px solid #0000;
    flex-direction: column;
    justify-content: space-between;
    display: flex
}

.catalog .product:hover {
    border: 1px solid var(--color-primary);
    background: var(--color-cast)
}

.catalog .product--image img {
    margin: 0 auto
}

.catalog {
    border-top: 1px solid var(--border-color);
    padding-top: 2rem;
    padding-bottom: 4rem
}

.full-button-more {
    background: var(--color-cast);
    color: var(--text-color);
    cursor: pointer;
    border-radius: var(--rounded-sm);
    width: 100%;
    padding: 1rem;
    transition: all .2s linear
}

.full-button-more:hover {
    background: var(--color-primary);
    color: var(--text-color-invert)
}

.theme-dark .full-button-more, .full-button-more:hover {
    color: var(--text-color)
}

.gallery-card-wrapper {
    gap: 1rem;
    display: flex
}

.gallery-thumbs {
    width: 110px;
    height: 350px;
}

.gallery-thumbs .swiper-slide {
    box-sizing: border-box;
    cursor: pointer;
    border-radius: var(--rounded-lg);
    opacity: .7;
    border: 1px solid #0000;
    justify-content: center;
    align-items: center;
    width: 110px;
    display: flex;
    overflow: hidden;
    height: calc(100% - 1px);
}

.gallery-thumbs .swiper-slide-thumb-active {
    border: 1px solid var(--color-primary);
    opacity: 1
}

.gallery-thumbs .swiper-slide:hover {
    border: 1px solid gray
}

.gallery-top {
    border-radius: var(--rounded-lg);
    border: 1px solid var(--color-primary);
    width: 100%;
    max-width: 495px;
    height: 500px;
    position: relative;
    overflow: hidden
}

.gallery-top .swiper-slide {
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    display: flex;
    overflow: hidden
}

.gallery-top .swiper-slide img {
    object-fit: contain;
    width: auto;
    height: 95%;
    display: block
}

.specifications {
    flex-direction: column;
    gap: 1rem;
    margin-top: 2rem;
    display: flex
}

.specification-label {
    font-weight: 600;
    font-size: var(--text-lg)
}

.specifications-wrapper {
    flex-direction: column;
    gap: .5rem;
    max-width: 500px;
    display: flex
}

.specification-row {
    justify-content: space-between;
    align-items: end;
    gap: .5rem;
    display: flex
}

.specification-row > div:first-child {
    width: auto;
    color: var(--color-gray);
}

.specification-row > div.nowrap:first-child {
    width: auto;
    color: var(--color-gray);
    white-space: nowrap
}

.specification-row > div:last-child {
    text-align: right
}

.specification-row > div.nowrap:last-child {
    white-space: nowrap
}

.specification-row span {
    border-bottom: 1px dashed var(--color-gray);
    width: 100%;
    margin-bottom: 7px
}

.tab-content .specifications-wrapper {
  gap: 0.5rem 10rem;
  max-width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}

.tab-content .specification-row {
  width: calc(50% - 5rem);
}

@media (max-width: 1200px) {
    .tab-content .specifications-wrapper {
      gap: 0.5rem 2rem;
    }
    .tab-content .specification-row {
      width: calc(50% - 2.5rem);
    }
}

@media (max-width: 992px) {
    .tab-content .specifications-wrapper {
        flex-direction: column;
    }
    .tab-content .specification-row {
      width: 100%;
    }
}



.tab-content video {
    padding: var(--spacing-md);
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--rounded-md);
    margin-bottom: 25px
}

@media (max-width: 1280px) {
    .gallery-card-wrapper {
        flex-flow: column-reverse;
        gap: 1rem;
        max-width: 380px;
        height: 480px;
        display: flex
    }

    .gallery-thumbs {
        width: 100%;
        height: 110px
    }

    .gallery-thumbs img {
        object-fit: contain;
        width: auto;
        height: 95%;
        display: block
    }
}

@media (max-width: 1024px) {
    .gallery-card-wrapper {
        max-width: 100%
    }

    .gallery-top {
        max-width: 100%;
        height: 355px
    }
}

.gallery-top .label-block {
    background: var(--color-primary);
    top: 1.5rem;
    left: 1.5rem
}

.card-wrapper-info {
    gap: 2rem;
    width: 100%;
    display: flex
}

.card-price, .card-form {
    background: var(--color-cast);
    border-radius: var(--rounded-lg);
    width: 100%;
    color: var(--color-gray);
    border: 1px solid var(--color-gray2);
    padding: 1.625rem
}

.card-price-number {
    white-space: nowrap;
    font-size: var(--text-2xl);
    color: var(--text-color);
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    font-weight: 600;
    display: flex
}

.card-price-old {
    font-size: var(--text-lg);
    color: var(--color-gray);
    font-weight: 400;
    text-decoration: line-through
}

.card-price .button--icon.callback.w-fit {
    margin-top: 15px;
    display: none;
}

@media (max-width: 1080px) {
    .card-wrapper-info {
        flex-direction: column
    }
}
@media (max-width: 1520px) {
    .card-callback {
        display: none;
    }
    .card-price .button--icon.callback.w-fit {
        display: flex;
    }
}


.card-form-title {
    font-weight: 600;
    font-size: var(--text-lg);
    color: var(--text-color)
}

.card-form-subtitle {
    color: var(--color-gray);
    font-size: var(--text-sm)
}

.specification-link, .show-more-btn {
    color: var(--color-primary);
    margin: 1.5rem 0;
    font-weight: 600;
    text-decoration: underline;
    transition: all .2s ease-in;
    display: block
}

.social-icon-link {
    color: var(--color-primary);
    font-weight: 600;
    text-decoration: underline;
    transition: all .2s ease-in;
    display: block
}

.specification-link:hover, .show-more-btn:hover, .social-icon-link:hover {
    opacity: .9;
    text-decoration: none
}

.card-tabs {
    max-width: 100%;
    margin-top: 4rem
}

@media (max-width: 1280px) {
    .card-tabs {
        max-width: 100%
    }
}

.card-tabs .tabs-content {
    margin-top: 2rem
}

.card-tabs .tabs li {
    color: var(--color-gray);
    padding: var(--spacing-sm) 0;
    white-space: nowrap;
    background: 0 0;
    border-bottom: 2px solid #0000;
    border-radius: 0;
    font-weight: 700
}

@media (max-width: 1024px) {
    .card-tabs .tabs li {
        padding: var(--spacing-sm) var(--spacing-sm)
    }
}

.card-tabs .tabs li.active {
    border-bottom: 2px solid var(--color-primary);
    color: var(--text-color);
    background: 0 0;
    border-radius: 0
}

.tab-content {
    transition: max-height .3s;
    position: relative;
    overflow: hidden
}

.tab-content p {
    margin: 0 0 21px
}

.tab-content.expanded {
    max-height: none
}

.social-share {
    justify-content: end;
    gap: 15px;
    display: flex
}

.social-share .social-icon {
    cursor: pointer;
    justify-content: center;
    align-items: center;
    width: 19px;
    height: 19px;
    transition: transform .2s;
    display: flex
}

.social-share .social-icon:hover {
    transform: scale(1.1)
}

.social-share .social-icon img {
    width: 24px;
    height: 24px
}

.hr-b {
    border-bottom: 1px solid var(--border-color)
}

.theme-dark .hr-b {
    border-bottom: 1px solid var(--color-gray2)
}

.service-full {
    background: var(--color-cast);
    border-radius: var(--rounded-md);
    border: 1px solid var(--color-gray2);
    gap: 2rem;
    padding: 1.5rem;
    display: flex
}

.service-full h4 {
    font-size: var(--text-2xl);
    margin: .75rem 0 .5rem;
    font-weight: 600
}

.service-content {
    max-height: 90px;
    transition: max-height .3s;
    position: relative;
    overflow: hidden
}

.service-content.expanded {
    max-height: none
}

.service-full .show-more-btn {
    margin: .5rem 0 1.5rem
}

.service-full .specification-row > div:first-child {
    color: var(--text-color)
}

.service-full .specification-row > div:last-child {
    font-weight: 600
}

.service-full .service-full-img a {
    border-radius: var(--rounded-md);
    width: 100%;
    max-width: 474px;
    max-height: 330px;
    display: block;
    position: relative;
    overflow: hidden
}

.service-full .service-full-img a:after {
    content: "";
    background: linear-gradient(#0000 60%, #0000 0%, #0000009c);
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

.service-full .service-full-img a img {
    min-width: fit-content;
    height: 100%
}

.service-full .button--primary {
    padding: var(--spacing-sm) var(--spacing-xl)
}

@media (max-width: 1024px) {
    .service-full {
        flex-direction: column
    }

    .service-full .service-full-img a {
        max-width: inherit
    }

    .service-full .service-full-img a img {
        min-width: 100%
    }
}

.button-block-icon-text {
    color: var(--color-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    text-align: center;
    flex-direction: column;
    place-content: center;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 2rem;
    font-weight: 700;
    line-height: 1;
    transition: all .2s ease-in;
    display: flex
}

.button-block-icon-text:hover {
    background: var(--color-primary);
    color: #fff;
    border: 1px solid var(--color-primary)
}

.button-block-icon-text .fill-primary, .button-block-icon-text .stroke-primary {
    transition: all .2s ease-in
}

.button-block-icon-text:hover .fill-primary {
    fill: #fff
}

.button-block-icon-text:hover .stroke-primary {
    stroke: #fff
}

.service-page-img a {
    display: block;
    overflow: hidden
}

.service-page-img img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    display: block;
    max-height: 500px;
}

.page-wrapper {
    border-radius: var(--rounded-md);
    overflow: hidden
}

.page-wrapper-block {
    background: var(--color-cast);
    padding: 2rem
}

.page-wrapper-block .price {
    font-size: var(--text-2xl);
    font-weight: 700
}

.block-content {
    width: 100%;
    overflow: hidden
}

.galleryPage {
    width: 100%;
    position: relative;
    overflow: hidden
}

.galleryPage .swiper-wrapper {
    gap: 1rem;
    display: flex
}

.galleryPage .swiper-slide a {
    border-radius: var(--rounded-md);
    outline: none;
    display: block;
    position: relative;
    overflow: hidden
}

.galleryPage .swiper-slide a img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    transition: all .1s ease-in;
    display: block
}

.galleryPage .swiper-slide a:after {
    content: "";
    background: linear-gradient(#0000 60%, #0000 0%, #0000009c);
    width: 100%;
    height: 100%;
    transition: all .1s ease-in;
    position: absolute;
    bottom: 0;
    left: 0
}

.galleryPage .swiper-slide:hover a:after {
    opacity: 0
}

.galleryPage .swiper-slide:hover a img {
    transform: scale(1.1)
}

@media (max-width: 1024px) {
    #mobile-menu {
        top: 90px;
        left: var(--spacing-lg);
        width: calc(100% - var(--spacing-2xl));
        border-radius: var(--rounded-md);
        background: #fff;
        position: absolute
    }

    #mobile-menu .nav-menu li {
        width: 100%
    }

    #mobile-menu .sub-menu {
        left: inherit;
        top: inherit;
        border-radius: var(--rounded-md);
        width: 100%;
        padding-top: var(--spacing-sm);
        padding-bottom: var(--spacing-sm);
        z-index: 10;
        display: none;
        position: relative;
        box-shadow: 0 20px 25px -5px #0000001a, inset 0 10px 10px -5px #0000000a
    }

    #mobile-menu .menu-item-has-children.active > .sub-menu {
        display: block
    }
}

@media (max-width: 768px) {
    #mobile-menu {
        left: var(--spacing-md);
        width: calc(100% - var(--spacing-xl))
    }
}

.theme-panel {
    z-index: 999;
    background: var(--bg-color);
    padding: 0 var(--spacing-xl) var(--spacing-xl);
    text-align: center;
    color: var(--text-color);
    border-radius: 0 12px 12px 0;
    position: fixed;
    top: 2rem;
    left: 0;
    box-shadow: 0 0 50px #000000d4
}

.theme-panel-content {
    margin-top: var(--spacing-xl)
}

.theme-panel.collapsed {
    max-width: 40px;
    max-height: 40px;
    overflow: hidden
}

.toggle-panel-btn {
    cursor: pointer;
    color: currentColor;
    background: 0 0;
    border: none;
    font-size: 18px;
    transition: transform .2s;
    position: absolute;
    top: 6px;
    right: 10px
}

.theme-panel.collapsed .toggle-panel-btn {
    transform: rotate(180deg)
}

.theme-panel h3 {
    color: var(--text-color);
    background: 0 0;
    border-radius: 4px;
    padding: 5px
}

.custom-select {
    color: inherit;
    cursor: pointer;
    border: 1px solid;
    border-radius: 4px;
    max-width: 200px;
    margin: auto;
    padding: 8px 12px;
    position: relative
}

.custom-select .options {
    color: inherit;
    z-index: 1000;
    background: #fff;
    border: 1px solid;
    border-radius: 0 0 4px 4px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0
}

.custom-select .options li {
    cursor: pointer;
    background: #fff;
    padding: 6px 12px
}

.custom-select .options li:hover {
    background-color: #ffffff1a
}

.theme-dark .custom-select .options, .theme-dark .custom-select .options li {
    background: var(--bg-color)
}

.color-picker h3 {
    margin: var(--spacing-lg) var(--spacing-lg) 10px
}

.colors {
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
    display: grid
}

.colors span {
    cursor: pointer;
    border: 2px solid #0000;
    border-radius: 18%;
    width: 30px;
    height: 30px;
    display: inline-block;
    position: relative
}

.colors span.active {
    border: 2px solid #fff;
    box-shadow: 0 0 20px #00000030
}

.colors span.active:after {
    content: "✔";
    color: #000;
    background: #fff;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    font-size: 10px;
    display: flex;
    position: absolute;
    top: -10px;
    right: -10px
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
} @property --tw-font-weight {
    syntax: "*";
    inherits: false
} @property --tw-blur {
    syntax: "*";
    inherits: false
} @property --tw-brightness {
    syntax: "*";
    inherits: false
} @property --tw-contrast {
    syntax: "*";
    inherits: false
} @property --tw-grayscale {
    syntax: "*";
    inherits: false
} @property --tw-hue-rotate {
    syntax: "*";
    inherits: false
} @property --tw-invert {
    syntax: "*";
    inherits: false
} @property --tw-opacity {
    syntax: "*";
    inherits: false
} @property --tw-saturate {
    syntax: "*";
    inherits: false
} @property --tw-sepia {
    syntax: "*";
    inherits: false
} @property --tw-drop-shadow {
    syntax: "*";
    inherits: false
} @property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
} @property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
} @property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
} @font-face {
    font-family: swiper-icons;
    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);
    font-weight: 400;
    font-style: normal
}

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

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

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

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

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

.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 {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.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 {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: auto;
}

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

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

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide, .swiper-3d .swiper-cube-shadow {
    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 {
    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 {
    margin-block-start: var(--swiper-centered-offset-before)
}

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

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

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: translate(-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: .2s transform, .2s left
}

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

.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));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.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-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

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

.swiper-pagination-lock {
    display: none
}

.air-datepicker-cell.-year-.-other-decade-, .air-datepicker-cell.-day-.-other-month- {
    color: var(--adp-color-other-month)
}

.air-datepicker-cell.-year-.-other-decade-:hover, .air-datepicker-cell.-day-.-other-month-:hover {
    color: var(--adp-color-other-month-hover)
}

.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-disabled-.-focus-.air-datepicker-cell.-day-.-other-month- {
    color: var(--adp-color-other-month)
}

.-selected-.air-datepicker-cell.-year-.-other-decade-, .-selected-.air-datepicker-cell.-day-.-other-month- {
    color: #fff;
    background: var(--adp-background-color-selected-other-month)
}

.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-selected-.-focus-.air-datepicker-cell.-day-.-other-month- {
    background: var(--adp-background-color-selected-other-month-focused)
}

.-in-range-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.air-datepicker-cell.-day-.-other-month- {
    background-color: var(--adp-background-color-in-range);
    color: var(--adp-color)
}

.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.-focus-.air-datepicker-cell.-day-.-other-month- {
    background-color: var(--adp-background-color-in-range-focused)
}

.air-datepicker-cell.-year-.-other-decade-:empty, .air-datepicker-cell.-day-.-other-month-:empty {
    background: none;
    border: none
}

.air-datepicker-cell {
    border-radius: var(--adp-cell-border-radius);
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    z-index: 1
}

.air-datepicker-cell.-focus- {
    background: var(--adp-cell-background-color-hover)
}

.air-datepicker-cell.-current- {
    color: var(--adp-color-current-date)
}

.air-datepicker-cell.-current-.-focus- {
    color: var(--adp-color)
}

.air-datepicker-cell.-current-.-in-range- {
    color: var(--adp-color-current-date)
}

.air-datepicker-cell.-disabled- {
    cursor: default;
    color: var(--adp-color-disabled)
}

.air-datepicker-cell.-disabled-.-focus- {
    color: var(--adp-color-disabled)
}

.air-datepicker-cell.-disabled-.-in-range- {
    color: var(--adp-color-disabled-in-range)
}

.air-datepicker-cell.-disabled-.-current-.-focus- {
    color: var(--adp-color-disabled)
}

.air-datepicker-cell.-in-range- {
    background: var(--adp-cell-background-color-in-range);
    border-radius: 0
}

.air-datepicker-cell.-in-range-:hover, .air-datepicker-cell.-in-range-.-focus- {
    background: var(--adp-cell-background-color-in-range-hover)
}

.air-datepicker-cell.-range-from- {
    border: 1px solid var(--adp-cell-border-color-in-range);
    background-color: var(--adp-cell-background-color-in-range);
    border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius)
}

.air-datepicker-cell.-range-to- {
    border: 1px solid var(--adp-cell-border-color-in-range);
    background-color: var(--adp-cell-background-color-in-range);
    border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0
}

.air-datepicker-cell.-range-to-.-range-from- {
    border-radius: var(--adp-cell-border-radius)
}

.air-datepicker-cell.-selected- {
    color: #fff;
    border: none;
    background: var(--adp-cell-background-color-selected)
}

.air-datepicker-cell.-selected-.-current- {
    color: #fff;
    background: var(--adp-cell-background-color-selected)
}

.air-datepicker-cell.-selected-.-focus- {
    background: var(--adp-cell-background-color-selected-hover)
}

.air-datepicker-body {
    transition: all var(--adp-transition-duration) var(--adp-transition-ease)
}

.air-datepicker-body.-hidden- {
    display: none
}

.air-datepicker-body--day-names {
    display: grid;
    grid-template-columns:repeat(7, var(--adp-day-cell-width));
    margin: 8px 0 3px
}

.air-datepicker-body--day-name {
    color: var(--adp-day-name-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    text-align: center;
    text-transform: uppercase;
    font-size: .8em
}

.air-datepicker-body--day-name.-clickable- {
    cursor: pointer
}

.air-datepicker-body--day-name.-clickable-:hover {
    color: var(--adp-day-name-color-hover)
}

.air-datepicker-body--cells {
    display: grid
}

.air-datepicker-body--cells.-days- {
    grid-template-columns:repeat(7, var(--adp-day-cell-width));
    grid-auto-rows: var(--adp-day-cell-height)
}

.air-datepicker-body--cells.-months- {
    grid-template-columns:repeat(3, 1fr);
    grid-auto-rows: var(--adp-month-cell-height)
}

.air-datepicker-body--cells.-years- {
    grid-template-columns:repeat(4, 1fr);
    grid-auto-rows: var(--adp-year-cell-height)
}

.air-datepicker-nav {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--adp-border-color-inner);
    min-height: var(--adp-nav-height);
    padding: var(--adp-padding);
    box-sizing: content-box
}

.-only-timepicker- .air-datepicker-nav {
    display: none
}

.air-datepicker-nav--title, .air-datepicker-nav--action {
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center
}

.air-datepicker-nav--action {
    width: var(--adp-nav-action-size);
    border-radius: var(--adp-border-radius);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.air-datepicker-nav--action:hover {
    background: var(--adp-background-color-hover)
}

.air-datepicker-nav--action:active {
    background: var(--adp-background-color-active)
}

.air-datepicker-nav--action.-disabled- {
    visibility: hidden
}

.air-datepicker-nav--action svg {
    width: 32px;
    height: 32px
}

.air-datepicker-nav--action path {
    fill: none;
    stroke: var(--adp-nav-arrow-color);
    stroke-width: 2px
}

.air-datepicker-nav--title {
    border-radius: var(--adp-border-radius);
    padding: 0 8px
}

.air-datepicker-nav--title i {
    font-style: normal;
    color: var(--adp-nav-color-secondary);
    margin-left: .3em
}

.air-datepicker-nav--title:hover {
    background: var(--adp-background-color-hover)
}

.air-datepicker-nav--title:active {
    background: var(--adp-background-color-active)
}

.air-datepicker-nav--title.-disabled- {
    cursor: default;
    background: none
}

.air-datepicker-buttons {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-flow: column
}

.air-datepicker-button {
    display: inline-flex;
    color: var(--adp-btn-color);
    border-radius: var(--adp-btn-border-radius);
    cursor: pointer;
    height: var(--adp-btn-height);
    border: none;
    background: #fff0
}

.air-datepicker-button:hover {
    color: var(--adp-btn-color-hover);
    background: var(--adp-btn-background-color-hover)
}

.air-datepicker-button:focus {
    color: var(--adp-btn-color-hover);
    background: var(--adp-btn-background-color-hover);
    outline: none
}

.air-datepicker-button:active {
    background: var(--adp-btn-background-color-active)
}

.air-datepicker-button span {
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%
}

.air-datepicker-time {
    display: grid;
    grid-template-columns:max-content 1fr;
    grid-column-gap: 12px;
    align-items: center;
    position: relative;
    padding: 0 var(--adp-time-padding-inner)
}

.-only-timepicker- .air-datepicker-time {
    border-top: none
}

.air-datepicker-time--current {
    display: flex;
    align-items: center;
    flex: 1;
    font-size: 14px;
    text-align: center
}

.air-datepicker-time--current-colon {
    margin: 0 2px 3px;
    line-height: 1
}

.air-datepicker-time--current-hours, .air-datepicker-time--current-minutes {
    line-height: 1;
    font-size: 19px;
    font-family: Century Gothic, CenturyGothic, AppleGothic, sans-serif;
    position: relative;
    z-index: 1
}

.air-datepicker-time--current-hours:after, .air-datepicker-time--current-minutes:after {
    content: "";
    background: var(--adp-background-color-hover);
    border-radius: var(--adp-border-radius);
    position: absolute;
    left: -2px;
    top: -3px;
    right: -2px;
    bottom: -2px;
    z-index: -1;
    opacity: 0
}

.air-datepicker-time--current-hours.-focus-:after, .air-datepicker-time--current-minutes.-focus-:after {
    opacity: 1
}

.air-datepicker-time--current-ampm {
    text-transform: uppercase;
    align-self: flex-end;
    color: var(--adp-time-day-period-color);
    margin-left: 6px;
    font-size: 11px;
    margin-bottom: 1px
}

.air-datepicker-time--row {
    display: flex;
    align-items: center;
    font-size: 11px;
    height: 17px;
    background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat
}

.air-datepicker-time--row:first-child {
    margin-bottom: 4px
}

.air-datepicker-time--row input[type=range] {
    background: none;
    cursor: pointer;
    flex: 1;
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
    -webkit-appearance: none
}

.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none
}

.air-datepicker-time--row input[type=range]::-ms-tooltip {
    display: none
}

.air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb {
    border-color: var(--adp-time-track-color-hover)
}

.air-datepicker-time--row input[type=range]:hover::-moz-range-thumb {
    border-color: var(--adp-time-track-color-hover)
}

.air-datepicker-time--row input[type=range]:hover::-ms-thumb {
    border-color: var(--adp-time-track-color-hover)
}

.air-datepicker-time--row input[type=range]:focus {
    outline: none
}

.air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb {
    background: var(--adp-cell-background-color-selected);
    border-color: var(--adp-cell-background-color-selected)
}

.air-datepicker-time--row input[type=range]:focus::-moz-range-thumb {
    background: var(--adp-cell-background-color-selected);
    border-color: var(--adp-cell-background-color-selected)
}

.air-datepicker-time--row input[type=range]:focus::-ms-thumb {
    background: var(--adp-cell-background-color-selected);
    border-color: var(--adp-cell-background-color-selected)
}

.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
    box-sizing: border-box;
    height: 12px;
    width: 12px;
    border-radius: 3px;
    border: 1px solid var(--adp-time-track-color);
    background: #fff;
    cursor: pointer;
    -webkit-transition: background var(--adp-transition-duration);
    transition: background var(--adp-transition-duration)
}

.air-datepicker-time--row input[type=range]::-moz-range-thumb {
    box-sizing: border-box;
    height: 12px;
    width: 12px;
    border-radius: 3px;
    border: 1px solid var(--adp-time-track-color);
    background: #fff;
    cursor: pointer;
    -moz-transition: background var(--adp-transition-duration);
    transition: background var(--adp-transition-duration)
}

.air-datepicker-time--row input[type=range]::-ms-thumb {
    box-sizing: border-box;
    height: 12px;
    width: 12px;
    border-radius: 3px;
    border: 1px solid var(--adp-time-track-color);
    background: #fff;
    cursor: pointer;
    -ms-transition: background var(--adp-transition-duration);
    transition: background var(--adp-transition-duration)
}

.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
    margin-top: calc(var(--adp-time-thumb-size) / 2 * -1)
}

.air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track {
    border: none;
    height: var(--adp-time-track-height);
    cursor: pointer;
    color: #0000;
    background: #0000
}

.air-datepicker-time--row input[type=range]::-moz-range-track {
    border: none;
    height: var(--adp-time-track-height);
    cursor: pointer;
    color: #0000;
    background: #0000
}

.air-datepicker-time--row input[type=range]::-ms-track {
    border: none;
    height: var(--adp-time-track-height);
    cursor: pointer;
    color: #0000;
    background: #0000
}

.air-datepicker-time--row input[type=range]::-ms-fill-lower {
    background: #0000
}

.air-datepicker-time--row input[type=range]::-ms-fill-upper {
    background: #0000
}

.air-datepicker {
    --adp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --adp-font-size: 14px;
    --adp-width: 246px;
    --adp-z-index: 100;
    --adp-padding: 4px;
    --adp-grid-areas: "nav" "body" "timepicker" "buttons";
    --adp-transition-duration: .3s;
    --adp-transition-ease: ease-out;
    --adp-transition-offset: 8px;
    --adp-background-color: #fff;
    --adp-background-color-hover: #f0f0f0;
    --adp-background-color-active: #eaeaea;
    --adp-background-color-in-range: rgba(92, 196, 239, .1);
    --adp-background-color-in-range-focused: rgba(92, 196, 239, .2);
    --adp-background-color-selected-other-month-focused: #8ad5f4;
    --adp-background-color-selected-other-month: #a2ddf6;
    --adp-color: #4a4a4a;
    --adp-color-secondary: #9c9c9c;
    --adp-accent-color: #4eb5e6;
    --adp-color-current-date: var(--adp-accent-color);
    --adp-color-other-month: #dedede;
    --adp-color-disabled: #aeaeae;
    --adp-color-disabled-in-range: #939393;
    --adp-color-other-month-hover: #c5c5c5;
    --adp-border-color: #dbdbdb;
    --adp-border-color-inner: #efefef;
    --adp-border-radius: 4px;
    --adp-border-color-inline: #d7d7d7;
    --adp-nav-height: 32px;
    --adp-nav-arrow-color: var(--adp-color-secondary);
    --adp-nav-action-size: 32px;
    --adp-nav-color-secondary: var(--adp-color-secondary);
    --adp-day-name-color: #ff9a19;
    --adp-day-name-color-hover: #8ad5f4;
    --adp-day-cell-width: 1fr;
    --adp-day-cell-height: 32px;
    --adp-month-cell-height: 42px;
    --adp-year-cell-height: 56px;
    --adp-pointer-size: 10px;
    --adp-poiner-border-radius: 2px;
    --adp-pointer-offset: 14px;
    --adp-cell-border-radius: 4px;
    --adp-cell-background-color-hover: var(--adp-background-color-hover);
    --adp-cell-background-color-selected: #5cc4ef;
    --adp-cell-background-color-selected-hover: #45bced;
    --adp-cell-background-color-in-range: rgba(92, 196, 239, .1);
    --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, .2);
    --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);
    --adp-btn-height: 32px;
    --adp-btn-color: var(--adp-accent-color);
    --adp-btn-color-hover: var(--adp-color);
    --adp-btn-border-radius: var(--adp-border-radius);
    --adp-btn-background-color-hover: var(--adp-background-color-hover);
    --adp-btn-background-color-active: var(--adp-background-color-active);
    --adp-time-track-height: 1px;
    --adp-time-track-color: #dedede;
    --adp-time-track-color-hover: #b1b1b1;
    --adp-time-thumb-size: 12px;
    --adp-time-padding-inner: 10px;
    --adp-time-day-period-color: var(--adp-color-secondary);
    --adp-mobile-font-size: 16px;
    --adp-mobile-nav-height: 40px;
    --adp-mobile-width: 320px;
    --adp-mobile-day-cell-height: 38px;
    --adp-mobile-month-cell-height: 48px;
    --adp-mobile-year-cell-height: 64px
}

.air-datepicker-overlay {
    --adp-overlay-background-color: rgba(0, 0, 0, .3);
    --adp-overlay-transition-duration: .3s;
    --adp-overlay-transition-ease: ease-out;
    --adp-overlay-z-index: 99
}

.air-datepicker {
    background: var(--adp-background-color);
    border: 1px solid var(--adp-border-color);
    box-shadow: 0 4px 12px #00000026;
    border-radius: var(--adp-border-radius);
    box-sizing: content-box;
    display: grid;
    grid-template-columns:1fr;
    grid-template-rows:repeat(4, max-content);
    grid-template-areas:var(--adp-grid-areas);
    font-family: var(--adp-font-family), sans-serif;
    font-size: var(--adp-font-size);
    color: var(--adp-color);
    width: var(--adp-width);
    position: absolute;
    transition: opacity var(--adp-transition-duration) var(--adp-transition-ease), transform var(--adp-transition-duration) var(--adp-transition-ease);
    z-index: var(--adp-z-index)
}

.air-datepicker:not(.-custom-position-) {
    opacity: 0
}

.air-datepicker.-from-top- {
    transform: translateY(calc(var(--adp-transition-offset) * -1))
}

.air-datepicker.-from-right- {
    transform: translate(var(--adp-transition-offset))
}

.air-datepicker.-from-bottom- {
    transform: translateY(var(--adp-transition-offset))
}

.air-datepicker.-from-left- {
    transform: translate(calc(var(--adp-transition-offset) * -1))
}

.air-datepicker.-active-:not(.-custom-position-) {
    transform: translate(0);
    opacity: 1
}

.air-datepicker.-active-.-custom-position- {
    transition: none
}

.air-datepicker.-inline- {
    border-color: var(--adp-border-color-inline);
    box-shadow: none;
    position: static;
    left: auto;
    right: auto;
    opacity: 1;
    transform: none
}

.air-datepicker.-inline- .air-datepicker--pointer {
    display: none
}

.air-datepicker.-is-mobile- {
    --adp-font-size: var(--adp-mobile-font-size);
    --adp-day-cell-height: var(--adp-mobile-day-cell-height);
    --adp-month-cell-height: var(--adp-mobile-month-cell-height);
    --adp-year-cell-height: var(--adp-mobile-year-cell-height);
    --adp-nav-height: var(--adp-mobile-nav-height);
    --adp-nav-action-size: var(--adp-mobile-nav-height);
    position: fixed;
    width: var(--adp-mobile-width);
    border: none
}

.air-datepicker.-is-mobile- * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.air-datepicker.-is-mobile- .air-datepicker--pointer {
    display: none
}

.air-datepicker.-is-mobile-:not(.-custom-position-) {
    transform: translate(-50%, calc(-50% + var(--adp-transition-offset)))
}

.air-datepicker.-is-mobile-.-active-:not(.-custom-position-) {
    transform: translate(-50%, -50%)
}

.air-datepicker.-custom-position- {
    transition: none
}

.air-datepicker-global-container {
    position: absolute;
    left: 0;
    top: 0
}

.air-datepicker--pointer {
    --pointer-half-size: calc(var(--adp-pointer-size) / 2);
    position: absolute;
    width: var(--adp-pointer-size);
    height: var(--adp-pointer-size);
    z-index: -1
}

.air-datepicker--pointer:after {
    content: "";
    position: absolute;
    background: #fff;
    border-top: 1px solid var(--adp-border-color-inline);
    border-right: 1px solid var(--adp-border-color-inline);
    border-top-right-radius: var(--adp-poiner-border-radius);
    width: var(--adp-pointer-size);
    height: var(--adp-pointer-size);
    box-sizing: border-box
}

.-top-left- .air-datepicker--pointer, .-top-center- .air-datepicker--pointer, .-top-right- .air-datepicker--pointer, [data-popper-placement^=top] .air-datepicker--pointer {
    top: calc(100% - var(--pointer-half-size) + 1px)
}

.-top-left- .air-datepicker--pointer:after, .-top-center- .air-datepicker--pointer:after, .-top-right- .air-datepicker--pointer:after, [data-popper-placement^=top] .air-datepicker--pointer:after {
    transform: rotate(135deg)
}

.-right-top- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer, [data-popper-placement^=right] .air-datepicker--pointer {
    right: calc(100% - var(--pointer-half-size) + 1px)
}

.-right-top- .air-datepicker--pointer:after, .-right-center- .air-datepicker--pointer:after, .-right-bottom- .air-datepicker--pointer:after, [data-popper-placement^=right] .air-datepicker--pointer:after {
    transform: rotate(225deg)
}

.-bottom-left- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer, [data-popper-placement^=bottom] .air-datepicker--pointer {
    bottom: calc(100% - var(--pointer-half-size) + 1px)
}

.-bottom-left- .air-datepicker--pointer:after, .-bottom-center- .air-datepicker--pointer:after, .-bottom-right- .air-datepicker--pointer:after, [data-popper-placement^=bottom] .air-datepicker--pointer:after {
    transform: rotate(315deg)
}

.-left-top- .air-datepicker--pointer, .-left-center- .air-datepicker--pointer, .-left-bottom- .air-datepicker--pointer, [data-popper-placement^=left] .air-datepicker--pointer {
    left: calc(100% - var(--pointer-half-size) + 1px)
}

.-left-top- .air-datepicker--pointer:after, .-left-center- .air-datepicker--pointer:after, .-left-bottom- .air-datepicker--pointer:after, [data-popper-placement^=left] .air-datepicker--pointer:after {
    transform: rotate(45deg)
}

.-top-left- .air-datepicker--pointer, .-bottom-left- .air-datepicker--pointer {
    left: var(--adp-pointer-offset)
}

.-top-right- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer {
    right: var(--adp-pointer-offset)
}

.-top-center- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer {
    left: calc(50% - var(--adp-pointer-size) / 2)
}

.-left-top- .air-datepicker--pointer, .-right-top- .air-datepicker--pointer {
    top: var(--adp-pointer-offset)
}

.-left-bottom- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer {
    bottom: var(--adp-pointer-offset)
}

.-left-center- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer {
    top: calc(50% - var(--adp-pointer-size) / 2)
}

.air-datepicker--navigation {
    grid-area: nav
}

.air-datepicker--content {
    box-sizing: content-box;
    padding: var(--adp-padding);
    grid-area: body
}

.-only-timepicker- .air-datepicker--content {
    display: none
}

.air-datepicker--time {
    grid-area: timepicker
}

.air-datepicker--buttons {
    grid-area: buttons
}

.air-datepicker--buttons, .air-datepicker--time {
    padding: var(--adp-padding);
    border-top: 1px solid var(--adp-border-color-inner)
}

.air-datepicker-overlay {
    position: fixed;
    background: var(--adp-overlay-background-color);
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    opacity: 0;
    transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease), left 0s, height 0s, width 0s;
    transition-delay: 0s, var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration);
    z-index: var(--adp-overlay-z-index)
}

.air-datepicker-overlay.-active- {
    opacity: 1;
    width: 100%;
    height: 100%;
    transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease), height 0s, width 0s
}

body.compensate-for-scrollbar {
    overflow: hidden
}

.fancybox-active {
    height: auto
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992
}

.fancybox-container * {
    box-sizing: border-box
}

.fancybox-bg, .fancybox-inner, .fancybox-outer, .fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71)
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1)
}

.fancybox-caption, .fancybox-infobar, .fancybox-navigation .fancybox-button, .fancybox-toolbar {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997
}

.fancybox-show-caption .fancybox-caption, .fancybox-show-infobar .fancybox-infobar, .fancybox-show-nav .fancybox-navigation .fancybox-button, .fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fancybox-toolbar {
    right: 0;
    top: 0
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994
}

.fancybox-slide:before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0
}

.fancybox-is-sliding .fancybox-slide, .fancybox-slide--current, .fancybox-slide--next, .fancybox-slide--previous {
    display: block
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0
}

.fancybox-slide--image:before {
    display: none
}

.fancybox-slide--html {
    padding: 6px
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in
}

.fancybox-can-pan .fancybox-content, .fancybox-can-swipe .fancybox-content {
    cursor: grab
}

.fancybox-is-grabbing .fancybox-content {
    cursor: grabbing
}

.fancybox-container [data-selectable=true] {
    cursor: text
}

.fancybox-image, .fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.fancybox-spaceball {
    z-index: 1
}

.fancybox-slide--iframe .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--pdf .fancybox-content, .fancybox-slide--video .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%
}

.fancybox-slide--video .fancybox-content {
    background: #000
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff
}

.fancybox-iframe, .fancybox-video {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%
}

.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0
}

.fancybox-button {
    background: #1e1e1e99;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px
}

.fancybox-button, .fancybox-button:link, .fancybox-button:visited {
    color: #ccc
}

.fancybox-button:hover {
    color: #fff
}

.fancybox-button:focus {
    outline: none
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted
}

.fancybox-button[disabled], .fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none
}

.fancybox-button div {
    height: 100%
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%
}

.fancybox-button svg path {
    fill: #fff;
    stroke-width: 0
}

.fancybox-button--fsenter svg:nth-child(2), .fancybox-button--fsexit svg:first-child, .fancybox-button--pause svg:first-child, .fancybox-button--play svg:nth-child(2) {
    display: none
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998
}

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1
}

.fancybox-slide--html .fancybox-close-small {
    color: #fff;
    padding: 10px;
    right: 0;
    top: 0
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden
}

.fancybox-is-scaling .fancybox-close-small, .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none
}

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px
}

.fancybox-navigation .fancybox-button div {
    padding: 7px
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right)
}

.fancybox-caption {
    background: linear-gradient(0deg, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, transparent);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996
}

@supports (padding:max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left))
    }
}

.fancybox-caption--separate {
    margin-top: -50px
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all
}

.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline
}

.fancybox-loading {
    animation: a 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999
}

@keyframes a {
    to {
        transform: rotate(1turn)
    }
}

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1)
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translateZ(0)
}

.fancybox-fx-fade.fancybox-slide--next, .fancybox-fx-fade.fancybox-slide--previous {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1)
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    transform: rotate(-1turn)
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    transform: rotate(1turn)
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    transform: rotate(0)
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1) translateZ(0)
}

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg)
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg)
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translateZ(0) scale(1)
}

@media (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px
    }

    .fancybox-slide--image {
        padding: 6px 0
    }

    .fancybox-close-small {
        right: -6px
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px
    }

    @supports (padding:max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right))
        }
    }
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px
}

.fancybox-share p {
    margin: 0;
    padding: 0
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap
}

.fancybox-share__button:link, .fancybox-share__button:visited {
    color: #fff
}

.fancybox-share__button:hover {
    text-decoration: none
}

.fancybox-share__button--fb {
    background: #3b5998
}

.fancybox-share__button--fb:hover {
    background: #344e86
}

.fancybox-share__button--pt {
    background: #bd081d
}

.fancybox-share__button--pt:hover {
    background: #aa0719
}

.fancybox-share__button--tw {
    background: #1da1f2
}

.fancybox-share__button--tw:hover {
    background: #0d95e8
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px
}

.fancybox-share__button svg path {
    fill: #fff
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%
}

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px #0000004d
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: #0000001a;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px
}

.fancybox-thumbs__list a:before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991
}

.fancybox-thumbs__list a:focus:before {
    opacity: .5
}

.fancybox-thumbs__list a.fancybox-thumbs-active:before {
    opacity: 1
}

@media (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px)
    }
}


.category-swiper {
    width: 100%;
    padding: 10px 0;
}

.category-swiper .swiper-wrapper {
    align-items: stretch;
}

.category-swiper .swiper-slide {
    width: auto;
    height: auto;
}

.checkbox-wrapper {
    padding: 8px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 25px;
    background: white;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.category-swiper .checkbox-label {
    display: block;
    text-decoration: none;
    color: var(--text-color);
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.checkbox-label.active,
.checkbox-label:hover {
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: var(--text-color-invert);

}

.checkbox-wrapper.active,
.checkbox-wrapper:hover {
    border-color: var(--color-primary);
    background: rgba(59, 130, 246, 0.05);
}


@media (max-width: 768px) {
    .checkbox-wrapper {
        padding: 6px 12px;
        font-size: 13px;
    }

    .category-swiper {
        padding: 8px 0;
    }
}


.footer {
    background: #283145;
    padding: 3rem 0 1.5rem;
    color: #fff;
}

.footer-grid {
    display: grid;
    grid-template-columns: 0.7fr 2.3fr 2.5fr;
    gap: 2rem;
    align-items: start;
}


.footer-col--logo {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer-logo img {
    max-width: 150px;
    height: auto;
}

.footer-desc {
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--text-color-secondary);
}


.footer-col--menus {
    display: flex;
    justify-content: space-between;
}


.footer-menu-title {
    display: block;
    margin-bottom: 1rem;
    font-size: 16px;
    color: #fff;
}

.footer-menu-title.strong > li > a {
    font-weight: 600;
    display: block;
    margin-bottom: 1rem;
    font-size: 16px;
    color: #fff;
}

.footer-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-menu-link {
    color: var(--text-color-secondary);
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: 14px;
    line-height: 1.4;
    font-weight: normal;
}

.footer-menu-link:hover {
    color: var(--color-primary);
}


.footer-col--contacts {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.footer-contacts {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.footer-contact-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    stroke: var(--color-primary);
    margin-top: 2px;
}

.footer-contact-link,
.footer-contact-text {
    color: var(--text-color-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1.4;
}

.footer-contact-link:hover {
    color: var(--color-primary);
}


.footer-col--form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.footer-form-wrapper {
    margin-bottom: 0;
}

.footer-social {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}


.footer-copy {
    padding: 3.5rem 0 1.5rem;
    text-align: left;
    color: #7D7D7D;
    font-size: 12px;
    line-height: 1.5;
    width: 100%;
}


@media (max-width: 1200px) {
    .footer-grid {
        grid-template-columns: 0.7fr 2.3fr 2.5fr;
        gap: 1.5rem;
    }

}


.footer-menus {
    column-count: 2;
    column-gap: 20px;
    width: 100%;
}

.developer a {
    display: flex;
    align-items: first baseline;
    gap: 0.5rem;
    justify-content: center;
    font-size: 12px;
}


@media (max-width: 1023px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }


    .footer-col--logo {
        grid-column: 1 / -1;
        text-align: center;
        align-items: center;
        margin-bottom: 1rem;
    }

    .footer-menus {
        column-count: 3;
    }

    .footer-col--menus {
        column-count: 3;
        justify-content: flex-start;
    }

    .footer-col--contacts {
        grid-column: 1;
    }

    .footer-col--form {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 1rem;
    }

    .footer-form-wrapper {
        flex: 1;
    }

    .footer-social {
        justify-content: flex-end;
    }
}


@media (max-width: 767px) {
    .footer {
        padding: 2rem 0 1rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
        text-align: center;
    }

    .footer-col--logo {
        grid-column: 1;
    }

    .footer-col--menus {
        grid-column: 1;
        justify-content: center;
    }

    .footer-col--contacts {
        grid-column: 1;
        align-items: center;
    }

    .footer-col--form {
        grid-column: 1;
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    }

    .footer-menu {
        width: 100%;
    }

    .footer-contact-item {
        justify-content: center;
        text-align: center;
    }

    .footer-form-wrapper {
        max-width: 100%;
        width: 100%;
    }

    .footer-social {
        justify-content: center;
    }
    .footer-copy {
        width: 100%;
    }
}


@media (max-width: 599px) {
    .footer-grid {
        gap: 1.5rem;
    }

    .footer-contact-item {
        gap: 0.25rem;
    }

    .footer-contact-icon {
        margin-top: 0;
    }

    .footer-col--form {
        gap: 1rem;
    }
}


@media (max-width: 374px) {
    .footer {
        padding: 1.5rem 0 1rem;
    }

    .footer-grid {
        gap: 1.25rem;
    }

    .footer-logo img {
        max-width: 120px;
    }

    .footer-menu-title {
        font-size: 1rem;
    }

    .footer-menu-link,
    .footer-contact-link,
    .footer-contact-text {
        font-size: 0.85rem;
    }
}


.footer-form {
    width: 100%;
    max-width: 320px;
}

.footer-form__fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

.footer-form__field {
    display: block;
    width: 100%;
}

.footer-form__input {
    width: 100%;
    padding: 17px 16px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background: white;
    font-size: 14px;
    color: var(--text-color);
    transition: all 0.3s ease;
    outline: none;
}


.footer-form__submit {
    width: 100%;
}






/* Адаптивность формы */
@media (max-width: 1023px) {
    .footer-form {
        max-width: 100%;
    }

    .footer-form__fields {
        flex-direction: row;
        gap: 0.75rem;
    }

    .footer-form__field {
        flex: 1;
    }

    .footer-form__submit {
        width: auto;
        min-width: 140px;
    }
}

@media (max-width: 767px) {
    .footer-form__fields {
        flex-direction: column;
    }

    .footer-form__submit {
        width: 100%;
    }

}

@media (max-width: 480px) {
    .footer-form {
        max-width: 100%;
    }
}


.footer-menu {
    break-inside: avoid;
    page-break-inside: avoid;
    margin-bottom: 10px;
}




@media (max-width: 480px) {
    .footer-menus {
        column-count: 1;
    }
}
.footer-cols-wrapper {
    display: flex;
    flex-direction: column;
}

.footer-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

@media (max-width: 1280px) {

    .footer-cols {
        /*grid-template-columns: 1fr;*/
    }
}

.developer a {
    display: flex;
    align-items: first baseline;
    gap: 0.5rem;
    justify-content: end;
    font-size: 12px;
}

@media (max-height: 576px) {
    .developer a {
        justify-content: center;
    }
}

.social-icon {
    width: 1.25rem;
    height: 1.25rem;
    fill: currentColor;
    transition: all 0.3s ease;
}

.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
}

header.home .social-link {
    color: var(--text-color-invert);
}

.social-link:hover {
    color: var(--color-primary);
}

.top-bar-menu ul {
    display: flex;
    gap: 30px;
}

.top-bar-menu li a {
    border-radius: var(--rounded-sm);
    text-transform: uppercase;
    font-size: var(--text-sm);
    align-items: center;
    font-weight: 500;
    transition: all .2s ease-in;
    display: flex;
}
header.home .top--bar * {
    color: var(--text-color);
 }

.main--section.invert h1,.main--section.invert p,.main--section.invert span,.main--section.invert span > a  {
    color: var(--text-color-invert)
}

@media (max-width: 768px) {
    .footer-menus {
        column-count: 2;
    }
}

@media (max-width: 1024px) {
    .top--bar .top-bar-menu  {
        display: none;
    }
    .top-bar-menu ul {
        flex-direction: column;
        gap: 0;
    }

    .top-bar-menu ul li a {
        padding: var(--spacing-sm) var(--spacing-md);
    }
}

.button-slider-group {
    display: flex;
    gap: 10px;
}
@media (max-width: 600px) {
    .button-slider-group {
        flex-direction: column;
    }
}

.basket {
    background: #F8F8F8;
    padding: 15px;
    border-radius: 5px;
    position: relative;
    color: var(--text-color);
    width: fit-content;
    transition: transform 0.3s ease;
}

.basket:hover {
    animation: pulse-once 0.6s ease;
}

@keyframes pulse-once {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

.fill-\[\#000\] {
    fill: #000;
}

.dark .fill-\[\#000\] {
    fill: #fff;
}
.basket_wrapper {
    display: flex;
    gap: 30px;
}

.product-wrap .old_price {
    font-size: 14px;
    text-decoration: line-through;
    color: var(--text-color);
    opacity: 0.4;
    line-height: 0.8;
}

.features-item {
    flex-direction: column;
    justify-content: space-between;
    display: flex;
    height: 100%;
}
.catalog-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}


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

@media (max-width: 768px) {
  .catalog-grid-wrapper {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

@media (max-width: 480px) {
  .catalog-grid-wrapper {
    gap: 10px;
  }
}
