@charset "UTF-8";
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

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

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

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

a {
    background-color: transparent
}

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

b, strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

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

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

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

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

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

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

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

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

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

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

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

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

details {
    display: block
}

summary {
    display: list-item
}

[hidden], template {
    display: none
}

:root {
    --color-base-50: oklch(0.985 0.002 247.839);
    --color-base-100: oklch(0.967 0.003 264.542);
    --color-base-200: oklch(0.928 0.006 264.531);
    --color-base-300: oklch(0.872 0.01 258.338);
    --color-base-400: oklch(0.707 0.022 261.325);
    --color-base-500: oklch(0.551 0.027 264.364);
    --color-base-600: oklch(0.446 0.03 256.802);
    --color-base-700: oklch(0.373 0.034 259.733);
    --color-base-800: oklch(0.278 0.033 256.848);
    --color-base-900: oklch(0.21 0.034 264.665);
    --color-base-950: oklch(0.13 0.028 261.692);
    --cn-0: #fff;
    --cn-50: #f0f0f0;
    --cn-100: #ebebeb;
    --cn-200: #e0e0e0;
    --cn-300: #a9a9a9;
    --cn-400: #959595;
    --cn-500: #818181;
    --cn-600: #6a6a6a;
    --cn-800: #4d4d4d;
    --cn-950: #111;
    --cp-50: #ffe4d7;
    --cp-100: #ffc8af;
    --cp-300: #ff9e78;
    --cp-400: #ff723e;
    --cp-500: #ff5a1f;
    --cp-600: #d95021;
    --cp-800: #7a2d12;
    --cp-950: #2d150a;
    --cg-50: #e2f9eb;
    --cg-100: #c3f2d7;
    --cg-200: #a4ebc3;
    --cg-300: #81e3af;
    --cg-400: #58db9c;
    --cg-500: #00d389;
    --cg-600: #18ac71;
    --cg-700: #1e875a;
    --cg-800: #1e6443;
    --cg-900: #1a432e;
    --cg-950: #13241b;
    --cr-50: #ffe0db;
    --cr-100: #ffc0b9;
    --cr-200: #ff9f98;
    --cr-300: #ff7c77;
    --cr-400: #ff5358;
    --cr-500: #ff003b;
    --cr-600: #d11532;
    --cr-700: #a41b29;
    --cr-800: #7a1b21;
    --cr-900: #521818;
    --color-white: #fff;
    --color-black: #000;
    --color-red: #f43f5e;
    --color-blue: #0080ff;
    --color-green: #10b997;
    --color-yellow: #ffc64c;
    --primary-color: #1031a5;
    --primary-mid-color: #0b2686;
    --primary-dark-color: #0e0069;
    --secondary-color: #1031a5;
    --accent-color: #a9140f;
    --accent-mid-color: #7a0e0b;
    --accent-dark-color: #4b0907;
    --error-color: var(--color-red);
    --success-color: var(--color-green);
    --danger-color: var(--color-red);
    --warning-color: var(--color-yellow);
    --info-color: var(--color-blue);
    --body-bg-color: var(--cn-50);
    --bg-color: var(--cn-50);
    --border-color: #cfd7e1;
    --divider-color: #cfd7e1;
    --scrollbar-track-color: transparent;
    --scrollbar-thumb-color: var(--cn-400);
    --text-color: var(--cn-950);
    --text-light-color: #888;
    --text-dark-color: #000;
    --title-color: var(--cn-950);
    --link-color: currentColor;
    --hover-color: var(--cp-500);
    --outline-color: var(--cp-600);
    --box-shadow: 0 -7px 31px 0 rgba(7, 30, 84, .15);
    --corner-0: 0;
    --corner-1: 4;
    --corner-2: 8;
    --corner-3: 12;
    --corner-4: 16;
    --corner-5: 24;
    --corner-6: 1000;
    --font-family-M: "Montserrat", sans-serif;
    --font-family-B: "Bounded", sans-serif;
    --font-family: var(--font-family-M);
    --page-max-width: 2560px;
    --container-width: 1760px;
    --container-padding-x: 16px;
    --header-height: 88px
}

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

[role=button]:not(:disabled):not(.disabled), button:not(:disabled) {
    cursor: pointer
}

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

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none
}

::selection {
    background: #b3d4fc;
    text-shadow: none
}

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

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

textarea {
    resize: vertical
}

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

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

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

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

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

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

.fit-vids-style {
    display: none
}

iframe {
    border: none
}

:not(:defined) {
    display: none
}

@font-face {
    font-display: swap;
    font-family: Bounded;
    font-style: normal;
    src: url(../fonts/Bounded/Bounded-Variable.woff2) format("woff2"), url(../fonts/Bounded/Bounded-Variable.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: Montserrat;
    font-style: normal;
    src: url(../fonts/Montserrat/Montserrat-VF.woff2) format("woff2"), url(../fonts/Montserrat/Montserrat-VF.ttf) format("truetype")
}

.title-1, h1 {
    margin: 0 0 .5em
}

.page-title, .section-title, .title-1, h1 {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 1.5rem;
    font-weight: 600
}

.page-title, .section-title {
    margin: 0 0 24px
}

.title, .title-2, h2 {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 .5em
}

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

.title-3, .title-4, h3, h4 {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-weight: 600;
    margin: 0 0 .8em
}

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

.title-5, .title-6, h5, h6 {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 0 1em
}

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

address:last-child, blockquote:last-child, dl:last-child, figure:last-child, ol:last-child, p:last-child, pre:last-child, table:last-child, ul:last-child {
    margin-bottom: 0
}

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

a, button {
    cursor: pointer;
    outline-color: var(--outline-color)
}

button:disabled {
    outline: none;
    pointer-events: none
}

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

ol, ul {
    padding-left: 2em
}

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

b, strong {
    font-weight: 700
}

em, i {
    font-style: italic
}

table {
    width: 100%
}

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

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

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

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

.text-smaller {
    font-size: .9em
}

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

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

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

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

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

code:not(.uikit-code code), kbd:not(.uikit-code kbd) {
    background-color: var(--color-base-100);
    border-radius: .2em;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, .25);
    margin: 0 1px;
    padding: .1em .2em
}

.content-container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-width)
}

.container-fluid, .content-container, .narrow-container {
    padding-left: var(--container-padding-x);
    padding-right: var(--container-padding-x);
    width: 100%
}

.narrow-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 980px
}

.content-wrapper {
    padding-bottom: var(--section-py);
    padding-top: var(--section-py)
}

.hidden {
    display: none !important
}

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

.overflow-hidden {
    overflow: hidden
}

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

.clearfix:after {
    clear: both
}

.float-left {
    float: left !important
}

.float-right {
    float: right !important
}

.float-none {
    float: none !important
}

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

.scroll-lock-fixed {
    position: fixed
}

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

.mb-0, .mb0 {
    margin-bottom: 0 !important
}

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
    color: var(--text-color);
    font-family: var(--font-family);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    width: 100%;
    word-wrap: break-word;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: var(--body-bg-color);
    font-variant-numeric: lining-nums proportional-nums;
    overflow-wrap: break-word;
    text-rendering: optimizeLegibility;
    word-break: break-word;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

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

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

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

@keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

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

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

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

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

html.index {
    --index-color-red-50: #fef2f2;
    --index-color-red-100: #fee2e2;
    --index-color-red-200: #fecaca;
    --index-color-red-300: #fca5a5;
    --index-color-red-400: #f87171;
    --index-color-red-500: #ef4444;
    --index-color-red-600: #dc2626;
    --index-color-red-700: #b91c1c;
    --index-color-red-800: #991b1b;
    --index-color-red-900: #7f1d1d;
    --index-color-red-950: #450a0a;
    --index-color-orange-50: #fff7ed;
    --index-color-orange-100: #ffedd5;
    --index-color-orange-200: #fed7aa;
    --index-color-orange-300: #fdba74;
    --index-color-orange-400: #fb923c;
    --index-color-orange-500: #f97316;
    --index-color-orange-600: #ea580c;
    --index-color-orange-700: #c2410c;
    --index-color-orange-800: #9a3412;
    --index-color-orange-900: #7c2d12;
    --index-color-orange-950: #431407;
    --index-color-amber-50: #fffbeb;
    --index-color-amber-100: #fef3c7;
    --index-color-amber-200: #fde68a;
    --index-color-amber-300: #fcd34d;
    --index-color-amber-400: #fbbf24;
    --index-color-amber-500: #f59e0b;
    --index-color-amber-600: #d97706;
    --index-color-amber-700: #b45309;
    --index-color-amber-800: #92400e;
    --index-color-amber-900: #78350f;
    --index-color-amber-950: #451a03;
    --index-color-yellow-50: #fefce8;
    --index-color-yellow-100: #fef9c3;
    --index-color-yellow-200: #fef08a;
    --index-color-yellow-300: #fde047;
    --index-color-yellow-400: #facc15;
    --index-color-yellow-500: #eab308;
    --index-color-yellow-600: #ca8a04;
    --index-color-yellow-700: #a16207;
    --index-color-yellow-800: #854d0e;
    --index-color-yellow-900: #713f12;
    --index-color-yellow-950: #422006;
    --index-color-lime-50: #f7fee7;
    --index-color-lime-100: #ecfccb;
    --index-color-lime-200: #d9f99d;
    --index-color-lime-300: #bef264;
    --index-color-lime-400: #a3e635;
    --index-color-lime-500: #84cc16;
    --index-color-lime-600: #65a30d;
    --index-color-lime-700: #4d7c0f;
    --index-color-lime-800: #3f6212;
    --index-color-lime-900: #365314;
    --index-color-lime-950: #1a2e05;
    --index-color-green-50: #f0fdf4;
    --index-color-green-100: #dcfce7;
    --index-color-green-200: #bbf7d0;
    --index-color-green-300: #86efac;
    --index-color-green-400: #4ade80;
    --index-color-green-500: #22c55e;
    --index-color-green-600: #16a34a;
    --index-color-green-700: #15803d;
    --index-color-green-800: #166534;
    --index-color-green-900: #14532d;
    --index-color-green-950: #052e16;
    --index-color-emerald-50: #ecfdf5;
    --index-color-emerald-100: #d1fae5;
    --index-color-emerald-200: #a7f3d0;
    --index-color-emerald-300: #6ee7b7;
    --index-color-emerald-400: #34d399;
    --index-color-emerald-500: #10b981;
    --index-color-emerald-600: #059669;
    --index-color-emerald-700: #047857;
    --index-color-emerald-800: #065f46;
    --index-color-emerald-900: #064e3b;
    --index-color-emerald-950: #022c22;
    --index-color-teal-50: #f0fdfa;
    --index-color-teal-100: #ccfbf1;
    --index-color-teal-200: #99f6e4;
    --index-color-teal-300: #5eead4;
    --index-color-teal-400: #2dd4bf;
    --index-color-teal-500: #14b8a6;
    --index-color-teal-600: #0d9488;
    --index-color-teal-700: #0f766e;
    --index-color-teal-800: #115e59;
    --index-color-teal-900: #134e4a;
    --index-color-teal-950: #042f2e;
    --index-color-cyan-50: #ecfeff;
    --index-color-cyan-100: #cffafe;
    --index-color-cyan-200: #a5f3fc;
    --index-color-cyan-300: #67e8f9;
    --index-color-cyan-400: #22d3ee;
    --index-color-cyan-500: #06b6d4;
    --index-color-cyan-600: #0891b2;
    --index-color-cyan-700: #0e7490;
    --index-color-cyan-800: #155e75;
    --index-color-cyan-900: #164e63;
    --index-color-cyan-950: #083344;
    --index-color-sky-50: #f0f9ff;
    --index-color-sky-100: #e0f2fe;
    --index-color-sky-200: #bae6fd;
    --index-color-sky-300: #7dd3fc;
    --index-color-sky-400: #38bdf8;
    --index-color-sky-500: #0ea5e9;
    --index-color-sky-600: #0284c7;
    --index-color-sky-700: #0369a1;
    --index-color-sky-800: #075985;
    --index-color-sky-900: #0c4a6e;
    --index-color-sky-950: #082f49;
    --index-color-blue-50: #eff6ff;
    --index-color-blue-100: #dbeafe;
    --index-color-blue-200: #bfdbfe;
    --index-color-blue-300: #93c5fd;
    --index-color-blue-400: #60a5fa;
    --index-color-blue-500: #3b82f6;
    --index-color-blue-600: #2563eb;
    --index-color-blue-700: #1d4ed8;
    --index-color-blue-800: #1e40af;
    --index-color-blue-900: #1e3a8a;
    --index-color-blue-950: #172554;
    --index-color-indigo-50: #eef2ff;
    --index-color-indigo-100: #e0e7ff;
    --index-color-indigo-200: #c7d2fe;
    --index-color-indigo-300: #a5b4fc;
    --index-color-indigo-400: #818cf8;
    --index-color-indigo-500: #6366f1;
    --index-color-indigo-600: #4f46e5;
    --index-color-indigo-700: #4338ca;
    --index-color-indigo-800: #3730a3;
    --index-color-indigo-900: #312e81;
    --index-color-indigo-950: #1e1b4b;
    --index-color-violet-50: #f5f3ff;
    --index-color-violet-100: #ede9fe;
    --index-color-violet-200: #ddd6fe;
    --index-color-violet-300: #c4b5fd;
    --index-color-violet-400: #a78bfa;
    --index-color-violet-500: #8b5cf6;
    --index-color-violet-600: #7c3aed;
    --index-color-violet-700: #6d28d9;
    --index-color-violet-800: #5b21b6;
    --index-color-violet-900: #4c1d95;
    --index-color-violet-950: #2e1065;
    --index-color-purple-50: #faf5ff;
    --index-color-purple-100: #f3e8ff;
    --index-color-purple-200: #e9d5ff;
    --index-color-purple-300: #d8b4fe;
    --index-color-purple-400: #c084fc;
    --index-color-purple-500: #a855f7;
    --index-color-purple-600: #9333ea;
    --index-color-purple-700: #7e22ce;
    --index-color-purple-800: #6b21a8;
    --index-color-purple-900: #581c87;
    --index-color-purple-950: #3b0764;
    --index-color-fuchsia-50: #fdf4ff;
    --index-color-fuchsia-100: #fae8ff;
    --index-color-fuchsia-200: #f5d0fe;
    --index-color-fuchsia-300: #f0abfc;
    --index-color-fuchsia-400: #e879f9;
    --index-color-fuchsia-500: #d946ef;
    --index-color-fuchsia-600: #c026d3;
    --index-color-fuchsia-700: #a21caf;
    --index-color-fuchsia-800: #86198f;
    --index-color-fuchsia-900: #701a75;
    --index-color-fuchsia-950: #4a044e;
    --index-color-pink-50: #fdf2f8;
    --index-color-pink-100: #fce7f3;
    --index-color-pink-200: #fbcfe8;
    --index-color-pink-300: #f9a8d4;
    --index-color-pink-400: #f472b6;
    --index-color-pink-500: #ec4899;
    --index-color-pink-600: #db2777;
    --index-color-pink-700: #be185d;
    --index-color-pink-800: #9d174d;
    --index-color-pink-900: #881337;
    --index-color-pink-950: #500724;
    --index-color-rose-50: #fff1f2;
    --index-color-rose-100: #ffe4e6;
    --index-color-rose-200: #fecdd3;
    --index-color-rose-300: #fda4af;
    --index-color-rose-400: #fb7185;
    --index-color-rose-500: #f43f5e;
    --index-color-rose-600: #e11d48;
    --index-color-rose-700: #be123c;
    --index-color-rose-800: #9f1239;
    --index-color-rose-900: #881337;
    --index-color-rose-950: #450a1f;
    --index-color-slate-50: #f8fafc;
    --index-color-slate-100: #f1f5f9;
    --index-color-slate-200: #e2e8f0;
    --index-color-slate-300: #cbd5e1;
    --index-color-slate-400: #94a3b8;
    --index-color-slate-500: #64748b;
    --index-color-slate-600: #475569;
    --index-color-slate-700: #334155;
    --index-color-slate-800: #1e293b;
    --index-color-slate-900: #0f172a;
    --index-color-slate-950: #020617;
    --index-color-gray-50: #f9fafb;
    --index-color-gray-100: #f3f4f6;
    --index-color-gray-200: #e5e7eb;
    --index-color-gray-300: #d1d5db;
    --index-color-gray-400: #9ca3af;
    --index-color-gray-500: #6b7280;
    --index-color-gray-600: #4b5563;
    --index-color-gray-700: #374151;
    --index-color-gray-800: #1f2937;
    --index-color-gray-900: #111827;
    --index-color-gray-950: #030712;
    --index-color-zinc-50: #fafafa;
    --index-color-zinc-100: #f4f4f5;
    --index-color-zinc-200: #e4e4e7;
    --index-color-zinc-300: #d4d4d8;
    --index-color-zinc-400: #a1a1aa;
    --index-color-zinc-500: #71717a;
    --index-color-zinc-600: #52525b;
    --index-color-zinc-700: #3f3f46;
    --index-color-zinc-800: #27272a;
    --index-color-zinc-900: #18181b;
    --index-color-zinc-950: #09090b;
    --index-color-neutral-50: #fafafa;
    --index-color-neutral-100: #f5f5f5;
    --index-color-neutral-200: #e5e5e5;
    --index-color-neutral-300: #d4d4d4;
    --index-color-neutral-400: #a3a3a3;
    --index-color-neutral-500: #737373;
    --index-color-neutral-600: #525252;
    --index-color-neutral-700: #404040;
    --index-color-neutral-800: #262626;
    --index-color-neutral-900: #171717;
    --index-color-neutral-950: #0a0a0a;
    --index-color-stone-50: #fafaf9;
    --index-color-stone-100: #f5f5f4;
    --index-color-stone-200: #e7e5e4;
    --index-color-stone-300: #d6d3d1;
    --index-color-stone-400: #a8a29e;
    --index-color-stone-500: #78716c;
    --index-color-stone-600: #57534e;
    --index-color-stone-700: #44403c;
    --index-color-stone-800: #292524;
    --index-color-stone-900: #1c1917;
    --index-color-stone-950: #0c0a09;
    --index-color-black: #000;
    --index-color-white: #fff;
    --index-bg-color: var(--index-color-white);
    --index-border-color: var(--index-color-gray-200);
    --index-primary-color: var(--index-color-blue-700);
    --index-link-color: currentColor;
    --index-hover-color: var(--index-color-blue-600);
    --index-outline-color: var(--index-color-blue-700);
    --index-text-color: var(--index-color-gray-900);
    --index-text-light-color: var(--index-color-gray-500);
    --index-scrollbar-color: var(--index-color-gray-400);
    --index-info-color: var(--index-color-blue-600);
    --index-success-color: var(--index-color-green-600);
    --index-warning-color: var(--index-color-orange-600);
    --index-error-color: var(--index-color-red-600);
    --index-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --index-header-height: 60px;
    --index-container-width: 1920px;
    --index-container-padding-x: 16px;
    --index-aside-width: 280px
}

html.index *, html.index :after, html.index :before {
    box-sizing: border-box
}

html.index body {
    font-family: var(--index-font-family)
}

html.index :target {
    scroll-margin-top: 80px
}

html.index .index-color-info {
    color: var(--index-info-color) !important
}

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

html.index .index-color-warning {
    color: var(--index-warning-color) !important
}

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

.index-item {
    background-color: var(--index-bg-color);
    border: 1px solid var(--index-border-color);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    font-family: var(--index-font-family);
    gap: 8px;
    opacity: .6;
    padding: 12px;
    position: relative;
    transition: all .3s
}

.index-item.is-ready {
    border-color: #ccc;
    opacity: 1
}

.index-item:focus-within {
    opacity: 1
}

.index-item__top {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    gap: 8px 20px;
    justify-content: space-between
}

.index-item__heading {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    gap: 10px
}

.index-item__icon-check {
    fill: var(--index-success-color);
    flex: none;
    height: 20px;
    width: 20px
}

.index-item__icon-check path {
    fill: currentColor
}

.index-item__title {
    color: var(--index-text-color);
    font-family: var(--index-font-family);
    font-size: 16px;
    font-weight: 500;
    padding-top: 0;
    --hover-color: var(--index-text-color)
}

.index-item__title a {
    --link-color: var(--index-text-color);
    --hover-color: var(--index-hover-color);
    outline-color: var(--index-outline-color);
    text-decoration: none
}

.index-item__title a:before {
    content: "";
    inset: 0;
    position: absolute
}

.index-item__note {
    color: var(--index-text-light-color);
    font-size: 12px;
    margin-top: 4px
}

.index-item__right {
    flex: none;
    gap: 12px
}

.index-item__right, .index-item__validators {
    align-items: center;
    display: flex;
    flex-flow: row nowrap
}

.index-item__validators {
    gap: 4px;
    margin: -2px 0;
    transition: opacity .3s
}

.index-item:focus-within .index-item__validators {
    opacity: 1 !important
}

.index-item__validator {
    align-items: center;
    border-radius: 8px;
    color: var(--index-text-light-color);
    display: inline-flex;
    flex: none;
    font-family: var(--index-font-family);
    font-size: 20px;
    height: 28px;
    justify-content: center;
    outline-color: var(--index-outline-color);
    position: relative;
    transition: all .3s;
    width: 28px;
    z-index: 10
}

.index-item__validator:focus-visible {
    background-color: var(--index-color-blue-100);
    color: var(--index-hover-color)
}

.index-item__validator svg {
    fill: currentColor;
    flex: none;
    height: 1em;
    width: 1em
}

.index-item__validator svg path {
    fill: currentColor
}

.index-item__bottom {
    align-items: flex-end;
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
    justify-content: space-between;
    margin-top: auto
}

.index-item__file {
    color: #62748e;
    font-family: Consolas, Courier New, Nimbus Mono L, monospace;
    font-weight: 400
}

.index-item__file, .index-item__progress {
    color: var(--index-text-light-color);
    font-size: 12px
}

.index-item__progress {
    cursor: pointer;
    display: inline-block;
    flex: none;
    font-family: var(--index-font-family);
    font-weight: 500;
    margin-right: 1px;
    position: relative;
    z-index: 2
}

.index-item.is-ready .index-item__progress {
    border: 1px solid var(--index-success-color);
    border-radius: 6px;
    color: var(--index-success-color);
    padding: 1px 10px 0
}

.index-items {
    --columns: 1;
    display: grid;
    gap: 8px;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr));
    width: 100%
}

.index-subsection {
    display: block;
    padding-left: 0
}

.index-subsection:not(:first-child) {
    margin-top: 6px
}

.index-subsection + .index-subsection {
    margin-top: 0
}

.index-subsection:not(:last-child) {
    margin-bottom: 6px
}

.index-subsection__heading {
    margin: 0
}

.index-subsection__heading button {
    align-items: center;
    background-color: var(--index-color-gray-100);
    border: none;
    border-radius: 4px;
    color: var(--index-text-color);
    display: flex;
    font-family: var(--index-font-family);
    font-size: 15px;
    font-weight: 500;
    gap: 12px;
    outline-color: var(--index-outline-color);
    padding: 10px 16px;
    text-align: left;
    transition: all .3s;
    width: 100%
}

.index-subsection__heading button:focus-visible {
    background-color: var(--index-color-gray-200)
}

.index-subsection__heading button svg {
    fill: currentColor;
    flex: none;
    height: 20px;
    transform: rotate(-90deg);
    transition: all .2s ease;
    width: 20px
}

.index-subsection__heading button svg path {
    fill: currentColor
}

.index-subsection__heading button span:first-of-type {
    padding-top: 1px
}

.index-subsection__heading button[aria-expanded=true] svg {
    transform: scaleY(-1);
    transform: rotate(-180deg)
}

.index-subsection__progress {
    color: var(--index-text-light-color);
    cursor: pointer;
    display: inline-block;
    flex: none;
    font-family: var(--index-font-family);
    font-size: 12px;
    font-weight: 400;
    margin-left: auto;
    position: relative;
    z-index: 2
}

.index-subsection.is-ready .index-subsection__progress {
    border: 1px solid var(--index-success-color);
    border-radius: 6px;
    color: var(--index-success-color);
    padding: 2px 5px 1px
}

.index-subsection__progress-full {
    background-color: var(--index-success-color);
    border-radius: 50%;
    display: inline-block;
    flex: none;
    height: 8px;
    margin-left: auto;
    width: 8px
}

.index-subsection__content {
    padding: 16px 0 10px;
    transition: opacity .2s
}

.index-section {
    display: block;
    margin-inline: calc(var(--index-container-padding-x) * -1);
    width: calc(100% + var(--index-container-padding-x) * 2)
}

.index-section__heading {
    margin: 0
}

.index-section__heading button {
    align-items: center;
    background-color: var(--index-color-gray-100);
    border: none;
    border-radius: 4px;
    color: var(--index-text-color);
    display: flex;
    font-family: var(--index-font-family);
    font-size: 18px;
    font-weight: 500;
    gap: 12px;
    outline-color: var(--index-outline-color);
    padding: 12px 16px;
    text-align: left;
    transition: all .3s;
    width: 100%
}

.index-section__heading button:focus-visible {
    background-color: var(--index-color-gray-200)
}

.index-section__heading button svg {
    fill: currentColor;
    flex: none;
    height: 24px;
    transform: rotate(-90deg);
    transition: all .2s ease;
    width: 24px
}

.index-section__heading button svg path {
    fill: currentColor
}

.index-section__heading button[aria-expanded=true] svg {
    transform: scaleY(-1);
    transform: rotate(-180deg)
}

.index-section__progress {
    color: var(--index-text-light-color);
    cursor: pointer;
    display: inline-block;
    flex: none;
    font-family: var(--index-font-family);
    font-size: 14px;
    font-weight: 400;
    margin-left: auto;
    position: relative;
    z-index: 2
}

.index-section.is-ready .index-section__progress {
    border: 1px solid var(--index-success-color);
    border-radius: 6px;
    color: var(--index-success-color);
    padding: 2px 5px 1px
}

.index-section__progress-full {
    background-color: var(--index-success-color);
    border-radius: 50%;
    display: inline-block;
    flex: none;
    height: 8px;
    margin-left: auto;
    width: 8px
}

.index-section__content {
    border-top: 1px solid var(--index-border-color);
    padding: 16px;
    transition: opacity .2s
}

.index-info {
    font-family: var(--index-font-family);
    gap: 8px 20px;
    justify-content: space-between;
    margin-bottom: 40px
}

.index-info, .index-info__stat {
    align-items: center;
    display: flex;
    flex-flow: row wrap
}

.index-info__stat {
    gap: 4px 20px
}

.index-info__stat-item {
    color: var(--index-text-light-color);
    font-family: var(--index-font-family);
    font-size: 16px;
    font-weight: 400
}

.index-info__stat-item span {
    color: var(--index-text-color);
    font-weight: 500
}

.index-info__build {
    background-color: var(--index-color-gray-50);
    border: 1px solid var(--index-color-gray-200);
    border-radius: 6px;
    color: var(--index-text-light-color);
    display: inline-block;
    flex: none;
    font-family: var(--index-font-family);
    font-size: 14px;
    line-height: 1.5;
    padding: 3px 10px 2px
}

.index-button {
    --button-size: 3.5rem;
    --button-gap: 0.75rem;
    --button-padding-x: 1.875rem;
    --button-padding-y: 0.625rem;
    --button-color: var(--index-color-white);
    --button-font-family: var(--index-font-family);
    --button-font-weight: 500;
    --button-font-size: 1.125rem;
    --button-line-heigth: 1.4;
    --button-bg-color: var(--index-primary-color);
    --button-border-color: transparent;
    --button-border-width: 1px;
    --button-border-radius: 0.5rem;
    --button-hover-color: var(--index-color-white);
    --button-hover-bg-color: var(--index-hover-color);
    --button-hover-border-color: transparent;
    --button-disabled-color: var(--index-color-white);
    --button-disabled-bg-color: var(--index-text-light-color);
    --button-disabled-border-color: transparent;
    align-items: center;
    background-clip: border-box;
    background-color: var(--button-bg-color);
    border-color: var(--button-border-color);
    border-radius: var(--button-border-radius);
    border-style: solid;
    border-width: var(--button-border-width);
    color: var(--button-color);
    cursor: pointer;
    display: inline-flex;
    flex-flow: row nowrap;
    font-family: var(--button-font-family);
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    gap: var(--button-gap);
    justify-content: center;
    line-height: var(--button-line-height);
    min-height: var(--button-size);
    min-width: var(--button-size);
    padding: var(--button-padding-y) var(--button-padding-x);
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.index-button:focus {
    outline: none
}

.index-button:focus-visible {
    outline: 1px solid var(--index-outline-color);
    outline-offset: 2px
}

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

.index-button.disabled, .index-button:disabled {
    background-color: var(--button-disabled-bg-color);
    border-color: var(--button-disabled-border-color);
    color: var(--button-disabled-color);
    cursor: not-allowed;
    pointer-events: none
}

.index-button svg {
    fill: currentColor;
    flex: none;
    height: 1.5rem;
    width: 1.5rem
}

.index-button svg path {
    fill: currentColor
}

.index-button--small {
    --button-size: 2.5rem;
    --button-padding-x: 1rem;
    --button-padding-y: 0.5rem;
    --button-font-size: 1rem;
    --button-border-radius: 0.5rem
}

.index-button--small svg {
    height: 1.125rem;
    width: 1.125rem
}

.index-ref {
    align-items: center;
    background-color: transparent;
    border: none;
    display: flex;
    filter: grayscale(100%);
    height: 20px;
    justify-content: center;
    outline-color: var(--index-outline-color);
    outline-offset: 2px;
    padding: 0;
    transition: filter .5s;
    width: 20px
}

.index-ref svg {
    flex: none;
    height: 24px;
    transition: opacity .5s;
    width: 24px
}

.index-ref svg.github-icon {
    opacity: .6
}

.index-ref:focus-visible {
    filter: grayscale(0);
    transition: filter .25s
}

.index-ref:focus-visible svg.github-icon {
    opacity: 1;
    transition: opacity .25s
}

.index-header {
    background-color: var(--index-bg-color);
    border-bottom: 1px solid var(--index-border-color);
    border-top: 1px solid transparent;
    flex: none;
    flex-direction: column;
    font-family: var(--index-font-family);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 200
}

.index-header, .index-header__container {
    box-sizing: border-box;
    display: flex;
    width: 100%
}

.index-header__container {
    align-items: flex-start;
    flex-flow: row nowrap;
    gap: 0 24px;
    justify-content: space-between;
    margin-inline: auto;
    max-width: var(--index-container-width);
    min-height: 58px;
    padding: 9px var(--index-container-padding-x)
}

.index-header__main {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    flex-grow: 1;
    gap: 2px 24px;
    justify-content: space-between
}

.index-header__heading {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 12px;
    min-height: 40px
}

.index-header__heading-icon {
    color: var(--index-primary-color);
    display: inline-flex;
    flex: none;
    font-size: 32px;
    position: relative;
    top: -1px
}

.index-header__heading-icon svg {
    fill: currentColor;
    flex: none;
    height: 1em;
    width: 1em
}

.index-header__heading-icon svg path {
    fill: currentColor
}

.index-header__title {
    color: var(--index-text-color);
    font-family: var(--index-font-family);
    font-size: 20px;
    font-weight: 600;
    margin: 0
}

.index-header__logo {
    flex: none;
    margin-right: auto
}

.index-header__btn-nav {
    flex: none
}

.index-header__btn-uikit {
    flex: none;
    margin-block: -2px;
    position: relative;
    top: 2px
}

.index-header__btn-uikit span {
    display: none
}

.index-header__refs {
    --index-links-gap: 16px;
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: var(--index-links-gap);
    min-height: 40px
}

.index-header__refs > * {
    flex: none
}

.index-page {
    --index-content-height: calc(var(--doc-height) - var(--index-header-height));
    background-color: var(--index-bg-color);
    box-sizing: border-box;
    min-height: var(--doc-height);
    width: 100%
}

.index-page__body {
    display: block
}

.index-page__container {
    box-sizing: border-box;
    display: flex;
    flex-flow: row wrap;
    margin-inline: auto;
    max-width: var(--index-container-width);
    padding-inline: var(--index-container-padding-x);
    width: 100%
}

.index-page__aside {
    background-color: var(--index-bg-color);
    border-top: 1px solid var(--index-border-color);
    bottom: 0;
    left: 0;
    opacity: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-top: 0;
    position: fixed;
    top: calc(var(--index-header-height) - 1px);
    transform: translateY(-120%);
    transition: transform 0s, opacity .3s;
    width: 100%;
    z-index: 210
}

.index-page.is-nav-open .index-page__aside {
    opacity: 1;
    transform: translateY(0)
}

.index-page__build {
    color: var(--index-text-light-color);
    font-size: 14px;
    margin: 0 0 24px
}

.index-page__main {
    --index-main-pt: 20px;
    --index-main-pb: 20px;
    color: var(--index-text-color);
    font-family: var(--index-font-family);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    padding-bottom: var(--index-main-pb);
    padding-top: var(--index-main-pt);
    width: 100%
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-3d {
    perspective: 1200px;

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

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

        &::-webkit-scrollbar {
            display: none
        }
    }

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

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

        > .swiper-wrapper > .swiper-slide:first-child {
            -webkit-margin-start: var(--swiper-slides-offset-before);
            margin-inline-start: var(--swiper-slides-offset-before);
            scroll-margin-inline-start: var(--swiper-slides-offset-before)
        }

        > .swiper-wrapper > .swiper-slide:last-child {
            -webkit-margin-end: var(--swiper-slides-offset-after);
            margin-inline-end: var(--swiper-slides-offset-after)
        }
    }

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

        > .swiper-wrapper > .swiper-slide:first-child {
            -webkit-margin-before: var(--swiper-slides-offset-before);
            margin-block-start: var(--swiper-slides-offset-before);
            scroll-margin-block-start: var(--swiper-slides-offset-before)
        }

        > .swiper-wrapper > .swiper-slide:last-child {
            -webkit-margin-after: var(--swiper-slides-offset-after);
            margin-block-end: var(--swiper-slides-offset-after)
        }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-button-next, .swiper-button-prev {
    align-items: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    cursor: pointer;
    display: flex;
    height: var(--swiper-navigation-size);
    justify-content: center;
    position: absolute;
    width: var(--swiper-navigation-size);
    z-index: 10;

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

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

    .swiper-navigation-disabled & {
        display: none !important
    }

    svg {
        fill: currentColor;
        height: 100%;
        -o-object-fit: contain;
        object-fit: contain;
        pointer-events: none;
        transform-origin: center;
        width: 100%
    }
}

.swiper-button-lock {
    display: none
}

.swiper-button-next, .swiper-button-prev {
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    top: var(--swiper-navigation-top-offset, 50%)
}

.swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;

    .swiper-navigation-icon {
        transform: rotate(180deg)
    }
}

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

.swiper-horizontal {
    .swiper-button-next, .swiper-button-prev, ~ .swiper-button-next, ~ .swiper-button-prev {
        margin-left: 0;
        margin-top: calc(0px - var(--swiper-navigation-size) / 2);
        top: var(--swiper-navigation-top-offset, 50%)
    }

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

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

    &.swiper-rtl .swiper-button-next, &.swiper-rtl ~ .swiper-button-next, & ~ .swiper-button-prev, .swiper-button-prev {
        .swiper-navigation-icon {
            transform: rotate(180deg)
        }
    }

    &.swiper-rtl .swiper-button-prev, &.swiper-rtl ~ .swiper-button-prev {
        .swiper-navigation-icon {
            transform: rotate(0deg)
        }
    }
}

.swiper-vertical {
    .swiper-button-next, .swiper-button-prev, ~ .swiper-button-next, ~ .swiper-button-prev {
        left: var(--swiper-navigation-top-offset, 50%);
        margin-left: calc(0px - var(--swiper-navigation-size) / 2);
        margin-top: 0;
        right: auto
    }

    .swiper-button-prev, ~ .swiper-button-prev {
        bottom: auto;
        top: var(--swiper-navigation-sides-offset, 4px);

        .swiper-navigation-icon {
            transform: rotate(-90deg)
        }
    }

    .swiper-button-next, ~ .swiper-button-next {
        bottom: var(--swiper-navigation-sides-offset, 4px);
        top: auto;

        .swiper-navigation-icon {
            transform: rotate(90deg)
        }
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

    button & {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        box-shadow: none;
        margin: 0;
        padding: 0
    }

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

    &:only-child {
        display: none !important
    }
}

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

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

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

    &.swiper-pagination-bullets-dynamic {
        top: 50%;
        transform: translateY(-50%);
        width: 8px;

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

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

    &.swiper-pagination-bullets-dynamic {
        left: 50%;
        transform: translateX(-50%);
        white-space: nowrap;

        .swiper-pagination-bullet {
            transition: transform .2s, left .2s
        }
    }
}

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

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

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

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

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

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

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

.swiper-pagination-lock {
    display: none
}

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

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

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

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

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

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

.swiper-scrollbar-lock {
    display: none
}

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

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

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

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

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

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

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

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

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

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

    .swiper-slide-active {
        pointer-events: auto;

        & .swiper-slide-active {
            pointer-events: auto
        }
    }
}

.swiper.swiper-cube {
    overflow: visible
}

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

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

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

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

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

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

        &:before {
            background: #000;
            bottom: 0;
            content: "";
            filter: blur(50px);
            left: 0;
            position: absolute;
            right: 0;
            top: 0
        }
    }
}

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

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

.swiper.swiper-flip {
    overflow: visible
}

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

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

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

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

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

.swiper.swiper-cards {
    overflow: visible
}

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

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

.swiper-pagination {
    --swiper-pagination-top: auto;
    --swiper-pagination-bottom: auto;
    --swiper-pagination-bullet-horizontal-gap: 0;
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 4px;
    justify-content: center;
    margin-top: 24px;
    position: static
}

.swiper-pagination-bullet {
    ---color: var(--cn-300);
    ---hover-color: var(--cp-500);
    ---active-color: var(--cp-400);
    --swiper-pagination-bullet-horizontal-gap: 0;
    background-color: transparent !important;
    border-radius: 0;
    flex: none;
    height: 24px;
    opacity: 1;
    position: relative;
    width: 24px
}

.swiper-pagination-bullet:before {
    background-color: var(---color);
    border-radius: 8px;
    content: "";
    height: 4px;
    left: 50%;
    margin-left: -9px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    transition: background-color .3s;
    width: 18px
}

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

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

@keyframes plyr-progress {
    to {
        background-position: 25px 0;
        background-position: var(--plyr-progress-loading-size, 25px) 0
    }
}

@keyframes plyr-popup {
    0% {
        opacity: .5;
        transform: translateY(10px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes plyr-fade-in {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.plyr {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    align-items: center;
    direction: ltr;
    display: flex;
    flex-direction: column;
    font-family: inherit;
    font-family: var(--plyr-font-family, inherit);
    font-variant-numeric: tabular-nums;
    font-weight: 400;
    font-weight: var(--plyr-font-weight-regular, 400);
    line-height: 1.7;
    line-height: var(--plyr-line-height, 1.7);
    max-width: 100%;
    min-width: 200px;
    position: relative;
    text-shadow: none;
    transition: box-shadow .3s ease;
    z-index: 0
}

.plyr audio, .plyr iframe, .plyr video {
    display: block;
    height: 100%;
    width: 100%
}

.plyr button {
    font: inherit;
    line-height: inherit;
    width: auto
}

.plyr:focus {
    outline: 0
}

.plyr--full-ui {
    box-sizing: border-box
}

.plyr--full-ui *, .plyr--full-ui :after, .plyr--full-ui :before {
    box-sizing: inherit
}

.plyr--full-ui a, .plyr--full-ui button, .plyr--full-ui input, .plyr--full-ui label {
    touch-action: manipulation
}

.plyr__badge {
    background: #4a5464;
    background: var(--plyr-badge-background, #4a5464);
    border-radius: 2px;
    border-radius: var(--plyr-badge-border-radius, 2px);
    color: #fff;
    color: var(--plyr-badge-text-color, #fff);
    font-size: 9px;
    font-size: var(--plyr-font-size-badge, 9px);
    line-height: 1;
    padding: 3px 4px
}

.plyr--full-ui ::-webkit-media-text-track-container {
    display: none
}

.plyr__captions {
    animation: plyr-fade-in .3s ease;
    bottom: 0;
    display: none;
    font-size: 13px;
    font-size: var(--plyr-font-size-small, 13px);
    left: 0;
    padding: 10px;
    padding: var(--plyr-control-spacing, 10px);
    position: absolute;
    text-align: center;
    transition: transform .4s ease-in-out;
    width: 100%
}

.plyr__captions span:empty {
    display: none
}

.plyr--captions-active .plyr__captions {
    display: block
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
    transform: translateY(-40px);
    transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4))
}

.plyr__caption {
    background: #000c;
    background: var(--plyr-captions-background, #000c);
    border-radius: 4px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    color: #fff;
    color: var(--plyr-captions-text-color, #fff);
    line-height: 185%;
    padding: .2em .5em;
    white-space: pre-wrap
}

.plyr__caption div {
    display: inline
}

.plyr__control {
    background: #0000;
    border: 0;
    border-radius: 4px;
    border-radius: var(--plyr-control-radius, 4px);
    color: inherit;
    cursor: pointer;
    flex-shrink: 0;
    overflow: visible;
    padding: 7px;
    padding: calc(var(--plyr-control-spacing, 10px) * .7);
    position: relative;
    transition: all .1s ease-in-out
}

.plyr__control svg {
    display: block;
    fill: currentColor;
    height: 18px;
    height: var(--plyr-control-icon-size, 18px);
    pointer-events: none;
    width: 18px;
    width: var(--plyr-control-icon-size, 18px)
}

.plyr__control:focus {
    outline: 0
}

.plyr__control:focus-visible {
    outline: 2px dashed #00b2ff;
    outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    outline-offset: 2px
}

a.plyr__control {
    text-decoration: none
}

.plyr__control.plyr__control--pressed .icon--not-pressed, .plyr__control.plyr__control--pressed .label--not-pressed, .plyr__control:not(.plyr__control--pressed) .icon--pressed, .plyr__control:not(.plyr__control--pressed) .label--pressed, a.plyr__control:after, a.plyr__control:before {
    display: none
}

.plyr--full-ui ::-webkit-media-controls {
    display: none
}

.plyr__controls {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    text-align: center
}

.plyr__controls .plyr__progress__container {
    flex: 1;
    min-width: 0
}

.plyr__controls .plyr__controls__item {
    margin-left: 2.5px;
    margin-left: calc(var(--plyr-control-spacing, 10px) / 4)
}

.plyr__controls .plyr__controls__item:first-child {
    margin-left: 0;
    margin-right: auto
}

.plyr__controls .plyr__controls__item.plyr__progress__container {
    padding-left: 2.5px;
    padding-left: calc(var(--plyr-control-spacing, 10px) / 4)
}

.plyr__controls .plyr__controls__item.plyr__time {
    padding: 0 5px;
    padding: 0 calc(var(--plyr-control-spacing, 10px) / 2)
}

.plyr__controls .plyr__controls__item.plyr__progress__container:first-child, .plyr__controls .plyr__controls__item.plyr__time + .plyr__time, .plyr__controls .plyr__controls__item.plyr__time:first-child {
    padding-left: 0
}

.plyr [data-plyr=airplay], .plyr [data-plyr=captions], .plyr [data-plyr=fullscreen], .plyr [data-plyr=pip], .plyr__controls:empty {
    display: none
}

.plyr--airplay-supported [data-plyr=airplay], .plyr--captions-enabled [data-plyr=captions], .plyr--fullscreen-enabled [data-plyr=fullscreen], .plyr--pip-supported [data-plyr=pip] {
    display: inline-block
}

.plyr__menu {
    display: flex;
    position: relative
}

.plyr__menu .plyr__control svg {
    transition: transform .3s ease
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
    transform: rotate(90deg)
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
    display: none
}

.plyr__menu__container {
    animation: plyr-popup .2s ease;
    background: #ffffffe6;
    background: var(--plyr-menu-background, #ffffffe6);
    border-radius: 8px;
    border-radius: var(--plyr-menu-radius, 8px);
    bottom: 100%;
    box-shadow: 0 1px 2px #00000026;
    box-shadow: var(--plyr-menu-shadow, 0 1px 2px #00000026);
    color: #4a5464;
    color: var(--plyr-menu-color, #4a5464);
    font-size: 15px;
    font-size: var(--plyr-font-size-base, 15px);
    margin-bottom: 10px;
    position: absolute;
    right: -3px;
    text-align: left;
    white-space: nowrap;
    z-index: 3
}

.plyr__menu__container > div {
    overflow: hidden;
    transition: height .35s cubic-bezier(.4, 0, .2, 1), width .35s cubic-bezier(.4, 0, .2, 1)
}

.plyr__menu__container:after {
    border: 4px solid #0000;
    border: var(--plyr-menu-arrow-size, 4px) solid #0000;
    border-top-color: var(--plyr-menu-background, #ffffffe6);
    content: "";
    height: 0;
    position: absolute;
    right: 14px;
    right: calc(var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) * .7 - var(--plyr-menu-arrow-size, 4px) / 2);
    top: 100%;
    width: 0
}

.plyr__menu__container [role=menu] {
    padding: 7px;
    padding: calc(var(--plyr-control-spacing, 10px) * .7)
}

.plyr__menu__container [role=menuitem], .plyr__menu__container [role=menuitemradio] {
    margin-top: 2px
}

.plyr__menu__container [role=menuitem]:first-child, .plyr__menu__container [role=menuitemradio]:first-child {
    margin-top: 0
}

.plyr__menu__container .plyr__control {
    align-items: center;
    color: #4a5464;
    color: var(--plyr-menu-color, #4a5464);
    display: flex;
    font-size: 13px;
    font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
    padding: 4.66667px 10.5px;
    padding: calc(var(--plyr-control-spacing, 10px) * .7 / 1.5) calc(var(--plyr-control-spacing, 10px) * .7 * 1.5);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    width: 100%
}

.plyr__menu__container .plyr__control > span {
    align-items: inherit;
    display: flex;
    width: 100%
}

.plyr__menu__container .plyr__control:after {
    border: 4px solid #0000;
    border: var(--plyr-menu-item-arrow-size, 4px) solid #0000;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.plyr__menu__container .plyr__control--forward {
    padding-right: 28px;
    padding-right: calc(var(--plyr-control-spacing, 10px) * .7 * 4)
}

.plyr__menu__container .plyr__control--forward:after {
    border-left-color: #728197;
    border-left-color: var(--plyr-menu-arrow-color, #728197);
    right: 6.5px;
    right: calc(var(--plyr-control-spacing, 10px) * .7 * 1.5 - var(--plyr-menu-item-arrow-size, 4px))
}

.plyr__menu__container .plyr__control--forward:focus-visible:after, .plyr__menu__container .plyr__control--forward:hover:after {
    border-left-color: initial
}

.plyr__menu__container .plyr__control--back {
    font-weight: 400;
    font-weight: var(--plyr-font-weight-regular, 400);
    margin: 7px;
    margin: calc(var(--plyr-control-spacing, 10px) * .7);
    margin-bottom: 3.5px;
    margin-bottom: calc(var(--plyr-control-spacing, 10px) * .7 / 2);
    padding-left: 28px;
    padding-left: calc(var(--plyr-control-spacing, 10px) * .7 * 4);
    position: relative;
    width: calc(100% - 14px);
    width: calc(100% - var(--plyr-control-spacing, 10px) * .7 * 2)
}

.plyr__menu__container .plyr__control--back:after {
    border-right-color: #728197;
    border-right-color: var(--plyr-menu-arrow-color, #728197);
    left: 6.5px;
    left: calc(var(--plyr-control-spacing, 10px) * .7 * 1.5 - var(--plyr-menu-item-arrow-size, 4px))
}

.plyr__menu__container .plyr__control--back:before {
    background: #dcdfe5;
    background: var(--plyr-menu-back-border-color, #dcdfe5);
    box-shadow: 0 1px 0 #fff;
    box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
    content: "";
    height: 1px;
    left: 0;
    margin-top: 3.5px;
    margin-top: calc(var(--plyr-control-spacing, 10px) * .7 / 2);
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 100%
}

.plyr__menu__container .plyr__control--back:focus-visible:after, .plyr__menu__container .plyr__control--back:hover:after {
    border-right-color: initial
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
    padding-left: 7px;
    padding-left: calc(var(--plyr-control-spacing, 10px) * .7)
}

.plyr__menu__container .plyr__control[role=menuitemradio]:after, .plyr__menu__container .plyr__control[role=menuitemradio]:before {
    border-radius: 100%
}

.plyr__menu__container .plyr__control[role=menuitemradio]:before {
    background: #0000001a;
    content: "";
    display: block;
    flex-shrink: 0;
    height: 16px;
    margin-right: 10px;
    margin-right: var(--plyr-control-spacing, 10px);
    transition: all .3s ease;
    width: 16px
}

.plyr__menu__container .plyr__control[role=menuitemradio]:after {
    background: #fff;
    border: 0;
    height: 6px;
    left: 12px;
    opacity: 0;
    top: 50%;
    transform: translateY(-50%) scale(0);
    transition: transform .3s ease, opacity .3s ease;
    width: 6px
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before {
    background: #00b2ff;
    background: var(--plyr-control-toggle-checked-background, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)))
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after {
    opacity: 1;
    transform: translateY(-50%) scale(1)
}

.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover:before {
    background: #23282f1a
}

.plyr__menu__container .plyr__menu__value {
    align-items: center;
    display: flex;
    margin-left: auto;
    margin-right: -5px;
    margin-right: calc(var(--plyr-control-spacing, 10px) * .7 * -1 + 2px);
    overflow: hidden;
    padding-left: 24.5px;
    padding-left: calc(var(--plyr-control-spacing, 10px) * .7 * 3.5);
    pointer-events: none
}

.plyr--full-ui input[type=range] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #0000;
    border: 0;
    border-radius: 26px;
    border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
    color: #00b2ff;
    color: var(--plyr-range-fill-background, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    display: block;
    height: 19px;
    height: calc(var(--plyr-range-thumb-active-shadow-width, 3px) * 2 + var(--plyr-range-thumb-height, 13px));
    margin: 0;
    min-width: 0;
    padding: 0;
    transition: box-shadow .3s ease;
    width: 100%
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
    background: #0000;
    background-image: linear-gradient(90deg, currentColor, #0000 0);
    background-image: linear-gradient(to right, currentColor var(--value, 0), #0000 var(--value, 0));
    border: 0;
    border-radius: 2.5px;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -webkit-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -webkit-user-select: none;
    user-select: none
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background: #fff;
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33);
    height: 13px;
    height: var(--plyr-range-thumb-height, 13px);
    margin-top: -4px;
    margin-top: calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px)) / 2 * -1);
    position: relative;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    width: var(--plyr-range-thumb-height, 13px)
}

.plyr--full-ui input[type=range]::-moz-range-track {
    background: #0000;
    border: 0;
    border-radius: 2.5px;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -moz-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -moz-user-select: none;
    user-select: none
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
    background: #fff;
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33);
    height: 13px;
    height: var(--plyr-range-thumb-height, 13px);
    position: relative;
    -moz-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    width: var(--plyr-range-thumb-height, 13px)
}

.plyr--full-ui input[type=range]::-moz-range-progress {
    background: currentColor;
    border-radius: 2.5px;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px)
}

.plyr--full-ui input[type=range]::-ms-track {
    color: #0000
}

.plyr--full-ui input[type=range]::-ms-fill-upper, .plyr--full-ui input[type=range]::-ms-track {
    background: #0000;
    border: 0;
    border-radius: 2.5px;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    user-select: none
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
    background: #0000;
    background: currentColor;
    border: 0;
    border-radius: 2.5px;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    user-select: none
}

.plyr--full-ui input[type=range]::-ms-thumb {
    background: #fff;
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33);
    height: 13px;
    height: var(--plyr-range-thumb-height, 13px);
    margin-top: 0;
    position: relative;
    -ms-transition: all .2s ease;
    transition: all .2s ease;
    width: 13px;
    width: var(--plyr-range-thumb-height, 13px)
}

.plyr--full-ui input[type=range]::-ms-tooltip {
    display: none
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
    border: 0
}

.plyr--full-ui input[type=range]:focus {
    outline: 0
}

.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track {
    outline: 2px dashed #00b2ff;
    outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    outline-offset: 2px
}

.plyr--full-ui input[type=range]:focus-visible::-moz-range-track {
    outline: 2px dashed #00b2ff;
    outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    outline-offset: 2px
}

.plyr--full-ui input[type=range]:focus-visible::-ms-track {
    outline: 2px dashed #00b2ff;
    outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    outline-offset: 2px
}

.plyr__poster {
    background-color: #000;
    background-color: var(--plyr-video-background, var(--plyr-video-background, #000));
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .2s ease;
    width: 100%;
    z-index: 1
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
    opacity: 1
}

.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster {
    display: none
}

.plyr__time {
    font-size: 13px;
    font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px))
}

.plyr__time + .plyr__time:before {
    content: "⁄";
    margin-right: 10px;
    margin-right: var(--plyr-control-spacing, 10px)
}

.plyr__tooltip {
    background: #fff;
    background: var(--plyr-tooltip-background, #fff);
    border-radius: 5px;
    border-radius: var(--plyr-tooltip-radius, 5px);
    bottom: 100%;
    box-shadow: 0 1px 2px #00000026;
    box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px #00000026);
    color: #4a5464;
    color: var(--plyr-tooltip-color, #4a5464);
    font-size: 13px;
    font-size: var(--plyr-font-size-small, 13px);
    font-weight: 400;
    font-weight: var(--plyr-font-weight-regular, 400);
    left: 50%;
    line-height: 1.3;
    margin-bottom: 10px;
    margin-bottom: calc(var(--plyr-control-spacing, 10px) / 2 * 2);
    opacity: 0;
    padding: 5px 7.5px;
    padding: calc(var(--plyr-control-spacing, 10px) / 2) calc(var(--plyr-control-spacing, 10px) / 2 * 1.5);
    pointer-events: none;
    position: absolute;
    transform: translate(-50%, 10px) scale(.8);
    transform-origin: 50% 100%;
    transition: transform .2s ease .1s, opacity .2s ease .1s;
    white-space: nowrap;
    z-index: 2
}

.plyr__tooltip:before {
    border-left: 4px solid #0000;
    border-left: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
    border-right: 4px solid #0000;
    border-right: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
    border-top: 4px solid #fff;
    border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
    bottom: -4px;
    bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr .plyr__control:focus-visible .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
    opacity: 1;
    transform: translate(-50%) scale(1)
}

.plyr .plyr__control:hover .plyr__tooltip {
    z-index: 3
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
    left: 0;
    transform: translateY(10px) scale(.8);
    transform-origin: 0 100%
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip:before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip:before {
    left: 16px;
    left: calc(var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) * .7)
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
    left: auto;
    right: 0;
    transform: translateY(10px) scale(.8);
    transform-origin: 100% 100%
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip:before {
    left: auto;
    right: 16px;
    right: calc(var(--plyr-control-icon-size, 18px) / 2 + var(--plyr-control-spacing, 10px) * .7);
    transform: translateX(50%)
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control:focus-visible .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child:focus-visible .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child:focus-visible .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
    transform: translate(0) scale(1)
}

.plyr__progress {
    left: 6.5px;
    left: calc(var(--plyr-range-thumb-height, 13px) * .5);
    margin-right: 13px;
    margin-right: var(--plyr-range-thumb-height, 13px);
    position: relative
}

.plyr__progress input[type=range], .plyr__progress__buffer {
    margin-left: -6.5px;
    margin-left: calc(var(--plyr-range-thumb-height, 13px) * -.5);
    margin-right: -6.5px;
    margin-right: calc(var(--plyr-range-thumb-height, 13px) * -.5);
    width: calc(100% + 13px);
    width: calc(100% + var(--plyr-range-thumb-height, 13px))
}

.plyr__progress input[type=range] {
    position: relative;
    z-index: 2
}

.plyr__progress .plyr__tooltip {
    left: 0;
    max-width: 120px;
    overflow-wrap: break-word
}

.plyr__progress__buffer {
    -webkit-appearance: none;
    background: #0000;
    border: 0;
    border-radius: 100px;
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    left: 0;
    margin-top: -2.5px;
    margin-top: calc(var(--plyr-range-track-height, 5px) / 2 * -1);
    padding: 0;
    position: absolute;
    top: 50%
}

.plyr__progress__buffer::-webkit-progress-bar {
    background: #0000
}

.plyr__progress__buffer::-webkit-progress-value {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    min-width: var(--plyr-range-track-height, 5px);
    -webkit-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-moz-progress-bar {
    background: currentColor;
    border-radius: 100px;
    min-width: 5px;
    min-width: var(--plyr-range-track-height, 5px);
    -moz-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-ms-fill {
    border-radius: 100px;
    -ms-transition: width .2s ease;
    transition: width .2s ease
}

.plyr--loading .plyr__progress__buffer {
    animation: plyr-progress 1s linear infinite;
    background-image: linear-gradient(-45deg, #23282f99 25%, #0000 0, #0000 50%, #23282f99 0, #23282f99 75%, #0000 0, #0000);
    background-image: linear-gradient(-45deg, var(--plyr-progress-loading-background, #23282f99) 25%, #0000 25%, #0000 50%, var(--plyr-progress-loading-background, #23282f99) 50%, var(--plyr-progress-loading-background, #23282f99) 75%, #0000 75%, #0000);
    background-repeat: repeat-x;
    background-size: 25px 25px;
    background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);
    color: #0000
}

.plyr--video.plyr--loading .plyr__progress__buffer {
    background-color: #ffffff40;
    background-color: var(--plyr-video-progress-buffered-background, #ffffff40)
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
    background-color: #c1c8d199;
    background-color: var(--plyr-audio-progress-buffered-background, #c1c8d199)
}

.plyr__progress__marker {
    background-color: #fff;
    background-color: var(--plyr-progress-marker-background, #fff);
    border-radius: 1px;
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 3px;
    width: var(--plyr-progress-marker-width, 3px);
    z-index: 3
}

.plyr__volume {
    align-items: center;
    display: flex;
    position: relative
}

.plyr__volume input[type=range] {
    margin-left: 5px;
    margin-left: calc(var(--plyr-control-spacing, 10px) / 2);
    margin-right: 5px;
    margin-right: calc(var(--plyr-control-spacing, 10px) / 2);
    max-width: 90px;
    min-width: 60px;
    position: relative;
    z-index: 2
}

.plyr--audio {
    display: block
}

.plyr--audio .plyr__controls {
    background: #fff;
    background: var(--plyr-audio-controls-background, #fff);
    border-radius: inherit;
    color: #4a5464;
    color: var(--plyr-audio-control-color, #4a5464);
    padding: 10px;
    padding: var(--plyr-control-spacing, 10px)
}

.plyr--audio .plyr__control:focus-visible, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
    background: #00b2ff;
    background: var(--plyr-audio-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    color: #fff;
    color: var(--plyr-audio-control-color-hover, #fff)
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
    background-color: #c1c8d199;
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, #c1c8d199))
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
    background-color: #c1c8d199;
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, #c1c8d199))
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
    background-color: #c1c8d199;
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, #c1c8d199))
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #23282f1a;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, #23282f1a)
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #23282f1a;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, #23282f1a)
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #23282f1a;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, #23282f1a)
}

.plyr--audio .plyr__progress__buffer {
    color: #c1c8d199;
    color: var(--plyr-audio-progress-buffered-background, #c1c8d199)
}

.plyr--video {
    overflow: hidden
}

.plyr--video.plyr--menu-open {
    overflow: visible
}

.plyr__video-wrapper {
    background: #000;
    background: var(--plyr-video-background, var(--plyr-video-background, #000));
    border-radius: inherit;
    height: 100%;
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

.plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
    aspect-ratio: 16/9
}

@supports not (aspect-ratio:16/9) {
    .plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
        height: 0;
        padding-bottom: 56.25%;
        position: relative
    }
}

.plyr__video-embed iframe, .plyr__video-wrapper--fixed-ratio video {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
    padding-bottom: 240%;
    position: relative;
    transform: translateY(-38.28125%)
}

.plyr--video .plyr__controls {
    background: linear-gradient(#0000, #000000bf);
    background: var(--plyr-video-controls-background, linear-gradient(#0000, #000000bf));
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    bottom: 0;
    color: #fff;
    color: var(--plyr-video-control-color, #fff);
    left: 0;
    padding: 5px;
    padding: calc(var(--plyr-control-spacing, 10px) / 2);
    padding-top: 20px;
    padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
    position: absolute;
    right: 0;
    transition: opacity .4s ease-in-out, transform .4s ease-in-out;
    z-index: 3
}

.plyr--video.plyr--hide-controls .plyr__controls {
    opacity: 0;
    pointer-events: none;
    transform: translateY(100%)
}

.plyr--video .plyr__control:focus-visible, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
    background: #00b2ff;
    background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    color: #fff;
    color: var(--plyr-video-control-color-hover, #fff)
}

.plyr__control--overlaid {
    background: #00b2ff;
    background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, #00b2ff)));
    border: 0;
    border-radius: 100%;
    color: #fff;
    color: var(--plyr-video-control-color, #fff);
    display: none;
    left: 50%;
    opacity: .9;
    padding: 15px;
    padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: .3s;
    z-index: 2
}

.plyr__control--overlaid svg {
    left: 2px;
    position: relative
}

.plyr__control--overlaid:focus, .plyr__control--overlaid:hover {
    opacity: 1
}

.plyr--playing .plyr__control--overlaid {
    opacity: 0;
    visibility: hidden
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
    display: block
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
    background-color: #ffffff40;
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, #ffffff40))
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
    background-color: #ffffff40;
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, #ffffff40))
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
    background-color: #ffffff40;
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, #ffffff40))
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #ffffff80;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, #ffffff80)
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #ffffff80;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, #ffffff80)
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
    box-shadow: 0 1px 1px #23282f26, 0 0 0 1px #23282f33, 0 0 0 3px #ffffff80;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px #23282f26, 0 0 0 1px #23282f33), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, #ffffff80)
}

.plyr--video .plyr__progress__buffer {
    color: #ffffff40;
    color: var(--plyr-video-progress-buffered-background, #ffffff40)
}

.plyr:-webkit-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-moz-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-webkit-full-screen video {
    height: 100%
}

.plyr:-moz-full-screen video {
    height: 100%
}

.plyr:fullscreen video {
    height: 100%
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none
}

.plyr:-moz-full-screen.plyr--hide-controls {
    cursor: none
}

.plyr:fullscreen.plyr--hide-controls {
    cursor: none
}

.plyr--fullscreen-fallback {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    inset: 0;
    margin: 0;
    position: fixed;
    width: 100%;
    z-index: 10000000
}

.plyr--fullscreen-fallback video {
    height: 100%
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr--fullscreen-fallback.plyr--hide-controls {
    cursor: none
}

.plyr__ads {
    border-radius: inherit;
    cursor: pointer;
    inset: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1
}

.plyr__ads > div, .plyr__ads > div iframe {
    height: 100%;
    position: absolute;
    width: 100%
}

.plyr__ads:after {
    background: #23282f;
    border-radius: 2px;
    bottom: 10px;
    bottom: var(--plyr-control-spacing, 10px);
    color: #fff;
    content: attr(data-badge-text);
    font-size: 11px;
    padding: 2px 6px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    right: var(--plyr-control-spacing, 10px);
    z-index: 3
}

.plyr__ads:empty:after {
    display: none
}

.plyr__cues {
    background: currentColor;
    display: block;
    height: 5px;
    height: var(--plyr-range-track-height, 5px);
    left: 0;
    opacity: .8;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    z-index: 3
}

.plyr__preview-thumb {
    background-color: #fff;
    background-color: var(--plyr-tooltip-background, #fff);
    border-radius: 8px;
    border-radius: var(--plyr-menu-radius, 8px);
    bottom: 100%;
    box-shadow: 0 1px 2px #00000026;
    box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px #00000026);
    margin-bottom: 10px;
    margin-bottom: calc(var(--plyr-control-spacing, 10px) / 2 * 2);
    opacity: 0;
    padding: 3px;
    pointer-events: none;
    position: absolute;
    transform: translateY(10px) scale(.8);
    transform-origin: 50% 100%;
    transition: transform .2s ease .1s, opacity .2s ease .1s;
    z-index: 2
}

.plyr__preview-thumb--is-shown {
    opacity: 1;
    transform: translate(0) scale(1)
}

.plyr__preview-thumb:before {
    border-left: 4px solid #0000;
    border-left: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
    border-right: 4px solid #0000;
    border-right: var(--plyr-tooltip-arrow-size, 4px) solid #0000;
    border-top: 4px solid #fff;
    border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
    bottom: -4px;
    bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
    content: "";
    height: 0;
    left: calc(50% + var(--preview-arrow-offset));
    position: absolute;
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr__preview-thumb__image-container {
    background: #c1c8d1;
    border-radius: 7px;
    border-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
    overflow: hidden;
    position: relative;
    z-index: 0
}

.plyr__preview-thumb__image-container img, .plyr__preview-thumb__image-container:after {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr__preview-thumb__image-container:after {
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px #00000026;
    content: "";
    pointer-events: none
}

.plyr__preview-thumb__image-container img {
    max-height: none;
    max-width: none
}

.plyr__preview-thumb__time-container {
    background: linear-gradient(#0000, #000000bf);
    background: var(--plyr-video-controls-background, linear-gradient(#0000, #000000bf));
    border-bottom-left-radius: 7px;
    border-bottom-left-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
    border-bottom-right-radius: 7px;
    border-bottom-right-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
    bottom: 0;
    left: 0;
    line-height: 1.1;
    padding: 20px 6px 6px;
    position: absolute;
    right: 0;
    z-index: 3
}

.plyr__preview-thumb__time-container span {
    color: #fff;
    font-size: 13px;
    font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px))
}

.plyr__preview-scrubbing {
    filter: blur(1px);
    height: 100%;
    inset: 0;
    margin: auto;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 1
}

.plyr__preview-scrubbing--is-shown {
    opacity: 1
}

.plyr__preview-scrubbing img {
    height: 100%;
    left: 0;
    max-height: none;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr--no-transition {
    transition: none !important
}

.plyr__sr-only {
    clip: rect(1px, 1px, 1px, 1px);
    border: 0 !important;
    height: 1px !important;
    overflow: hidden;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important
}

.plyr [hidden] {
    display: none !important
}

:root {
    --plyr-color-main: var(--cp-500)
}

.icon {
    ---size: 1em;
    ---color: currentColor;
    display: inline-block;
    fill: var(---color) !important;
    height: var(---size);
    width: var(---size)
}

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

.icon:not(.icon--filled):not(.icon--stroke), .icon:not(.icon--filled):not(.icon--stroke) * {
    fill: var(---color) !important
}

.icon--stroke, .icon--stroke * {
    fill: transparent !important;
    stroke: var(---color) !important
}

.button {
    ---size: 4.75rem;
    ---gap: 0.625rem;
    ---padding-x: 2rem;
    ---padding-y: 0.5rem;
    ---color: var(--cn-50);
    ---font-family: var(--font-family);
    ---font-weight: 600;
    ---font-size: 1.25rem;
    ---line-heigth: 1.4;
    ---bg-color: var(--cn-950);
    ---border-color: transparent;
    ---border-width: 1px;
    ---border-radius: 0.625rem;
    ---hover-color: var(--cn-50);
    ---hover-bg-color: var(--cp-500);
    ---hover-border-color: transparent;
    ---outline-color: var(--cn-300);
    ---active-color: var(--cn-50);
    ---active-bg-color: var(--cp-600);
    ---active-border-color: transparent;
    ---disabled-color: var(--cn-50);
    ---disabled-bg-color: var(--cn-400);
    ---disabled-border-color: transparent;
    align-items: center;
    background-clip: border-box;
    background-color: var(---bg-color);
    border-color: var(---border-color);
    border-radius: var(---border-radius);
    border-style: solid;
    border-width: var(---border-width);
    color: var(---color);
    cursor: pointer;
    display: inline-flex;
    flex-flow: row nowrap;
    font-family: var(---font-family);
    font-size: var(---font-size);
    font-weight: var(---font-weight);
    gap: var(---gap);
    justify-content: center;
    line-height: var(---line-height);
    min-height: var(---size);
    min-width: var(---size);
    padding: var(---padding-y) var(---padding-x);
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

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

.button:focus-visible {
    outline: none
}

.button:active {
    background-color: var(---active-bg-color);
    border-color: var(---active-border-color);
    color: var(---active-color)
}

.button.disabled, .button:disabled {
    background-color: var(---disabled-bg-color);
    border-color: var(---disabled-border-color);
    color: var(---disabled-color);
    cursor: not-allowed;
    pointer-events: none
}

.button .icon {
    flex: none;
    font-size: 1.5rem
}

.button--equal {
    padding: 0 !important
}

.button--round {
    border-radius: 50% !important
}

.button--frameless {
    border: none !important
}

.button--small {
    ---size: 3.5rem;
    ---padding-x: 1.25rem;
    ---font-size: 1rem
}

.button--secondary {
    ---color: var(--cn-950);
    ---bg-color: transparent;
    ---border-color: var(--cn-950);
    ---disabled-color: var(--cn-50);
    ---disabled-bg-color: transparent;
    ---disabled-border-color: var(--cn-400)
}

.button--tertiary {
    ---padding-x: 0;
    ---color: var(--cn-950);
    ---bg-color: transparent;
    ---border-color: transparent;
    ---hover-color: var(--cp-500);
    ---hover-bg-color: transparent;
    ---hover-border-color: transparent;
    ---active-color: var(--cp-600);
    ---active-bg-color: transparent;
    ---active-border-color: transparent;
    ---disabled-color: var(--cn-300);
    ---disabled-bg-color: transparent;
    ---disabled-border-color: transparent
}

.button--tertiary.button--small {
    ---padding-x: 0
}

.button--text {
    ---color: currentColor;
    ---hover-color: var(--cp-500);
    ---active-color: var(--cp-600);
    ---disabled-color: var(--cn-200);
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4
}

.button--icon, .button--text {
    padding: 0 !important
}

.button--social {
    ---size: 3.375rem;
    ---padding-x: 0;
    ---padding-y: 0;
    ---border-radius: 50%;
    ---border-width: 0;
    ---color: var(--cn-950);
    ---bg-color: var(--cn-100);
    ---hover-color: var(--cn-950);
    ---hover-bg-color: var(--cp-500);
    ---active-color: var(--cn-950);
    ---active-bg-color: var(--cp-600)
}

.button--social-dark {
    ---size: 3.375rem;
    ---padding-x: 0;
    ---padding-y: 0;
    ---border-radius: 50%;
    ---border-width: 0;
    ---color: var(--cn-0);
    ---bg-color: var(--cn-800);
    ---hover-color: var(--cn-0);
    ---hover-bg-color: var(--cp-500);
    ---active-color: var(--cn-0);
    ---active-bg-color: var(--cp-600);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px)
}

.button--white {
    ---color: var(--cn-950);
    ---bg-color: var(--cn-0);
    ---border-color: transparent
}

.button--outline {
    ---color: var(--cn-0);
    ---bg-color: hsla(0, 0%, 100%, .09);
    ---border-color: hsla(0, 0%, 100%, .32);
    -webkit-backdrop-filter: blur(36px);
    backdrop-filter: blur(36px)
}

.tabs {
    margin-bottom: 1rem;
    position: relative;
    width: 100%
}

.tabs:before {
    background-color: var(--border-color);
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    right: 0
}

.tabs__list {
    display: grid;
    gap: 20px;
    grid-auto-flow: column;
    grid-template-rows:auto;
    max-width: -webkit-min-content;
    max-width: -moz-min-content;
    max-width: min-content;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding: 0 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    width: 100%
}

.tabs__list::-webkit-scrollbar {
    display: none
}

.tab {
    background-color: transparent;
    border: 1px transparent;
    border-style: none none solid;
    color: var(--text-light-color);
    display: inline-flex;
    font-size: 16px;
    font-weight: 400;
    min-width: -webkit-min-content;
    min-width: -moz-min-content;
    min-width: min-content;
    padding: 0 0 8px;
    position: relative;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transition: all .3s;
    white-space: nowrap
}

.tab[aria-selected=true] {
    border-color: var(--primary-color);
    color: var(--primary-color);
    font-weight: 500
}

.tab:active, .tab:focus-visible {
    color: var(--hover-color)
}

.tab:focus-visible {
    outline-color: var(--outline-color);
    outline-offset: -2px
}

.tab-panel {
    width: 100%
}

.tab-panel:not(.active) {
    display: none !important
}

.dropdown {
    --dropdown-content-bg-color: var(--app-bg);
    --dropdown-content-border-color: var(--border-color);
    --dropdown-btn-color: var(--text-color);
    --dropdown-btn-hover-color: var(--text-color);
    --dropdown-btn-hover-bg-color: var(--element-light-2-color);
    position: relative
}

.dropdown__content {
    background-color: var(--dropdown-content-bg-color);
    border: 1px solid var(--dropdown-content-border-color);
    border-radius: 1rem;
    box-shadow: 0 9px 20px 0 rgba(25, 55, 143, .1);
    display: none;
    left: 0;
    min-width: 160px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 100%;
    width: var(--dropdown-trigger-width);
    will-change: opacity;
    z-index: 50
}

.dropdown.is-open .dropdown__content {
    animation: fadeIn .3s ease-in-out forwards;
    display: block
}

.dropdown__items {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: .5rem 0
}

.dropdown__item {
    margin: 0;
    padding: 0
}

.dropdown__btn, .dropdown__item.button {
    display: flex;
    justify-content: flex-start
}

.dropdown__btn {
    align-items: center;
    background-color: transparent;
    border: none;
    color: var(--dropdown-btn-color);
    flex-flow: row wrap;
    gap: .75rem;
    padding: .625rem 16px;
    text-align: left;
    text-decoration: none;
    transition: all .3s ease;
    width: 100%
}

.dropdown__btn:focus-visible, .dropdown__btn:hover {
    background-color: var(--dropdown-btn-hover-bg-color);
    color: var(--dropdown-btn-hover-color);
    text-decoration: none
}

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

.logo {
    ---w: 414px;
    ---h: 266px;
    ---color: currentColor;
    display: inline-block
}

a.logo:focus-visible, a.logo:hover {
    ---color: var(--cp-500)
}

a.logo:active {
    ---color: var(--cp-600)
}

.logo svg {
    display: inline-block;
    height: var(---h);
    transition: all .3s ease;
    width: var(---w)
}

.logo svg, .logo svg path {
    fill: var(---color) !important
}

.logo svg path {
    clip-rule: evenodd;
    fill-rule: evenodd
}

.logo--header {
    ---w: 166px;
    ---h: 103px;
    align-items: center;
    color: var(--cn-600);
    display: inline-flex;
    height: var(--header-height);
    overflow: hidden
}

.logo--footer {
    ---w: 207px;
    ---h: 128px;
    color: var(--cn-0)
}

.burger-icon {
    ---color: currentColor;
    display: inline-block;
    height: 2.5rem;
    position: relative;
    width: 2.5rem
}

.burger-icon span {
    background-color: var(---color);
    display: block;
    height: 2px;
    left: 50%;
    margin-left: -12px;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    transform-origin: center center;
    transition: transform .1s, background-color .2s;
    width: 24px
}

.burger-icon span:first-child {
    transform: translateY(-8px)
}

.burger-icon span:nth-child(3) {
    transform: translateY(8px)
}

.burger-icon.active span {
    margin-left: -11px;
    width: 22px
}

.burger-icon.active span:first-child {
    transform: rotate(45deg) translate(0)
}

.burger-icon.active span:nth-child(2) {
    opacity: 0
}

.burger-icon.active span:nth-child(3) {
    transform: rotate(-45deg) translate(0)
}

.user-btn {
    ---size: 3.125rem;
    ---gap: 14px;
    ---padding-x: 5px;
    ---color: var(--cn-950);
    ---hover-color: var(--cp-500);
    ---active-color: var(--cp-600);
    ---disabled-color: var(--cn-300);
    align-items: center;
    background-clip: border-box;
    background-color: transparent;
    border: none;
    color: var(---color);
    cursor: pointer;
    display: inline-flex;
    flex-flow: row nowrap;
    font-size: .9375rem;
    font-weight: 600;
    gap: var(---gap);
    justify-content: center;
    line-height: 1.4;
    min-height: var(---size);
    min-width: var(---size);
    padding: 0 var(---padding-x);
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.user-btn:focus-visible {
    color: var(---hover-color);
    text-decoration: none
}

.user-btn:focus-visible {
    outline: none
}

.user-btn:active {
    color: var(---active-color)
}

.user-btn.disabled, .user-btn:disabled {
    color: var(---disabled-color);
    cursor: not-allowed;
    pointer-events: none
}

.user-btn__label {
    display: none
}

.avatar {
    ---size: 40px;
    border-radius: 50%;
    display: inline-block;
    height: var(---size);
    overflow: hidden;
    width: var(---size)
}

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

.breadcrumbs {
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-width);
    padding-left: var(--container-padding-x);
    padding-right: var(--container-padding-x);
    width: 100%
}

.breadcrumbs__items {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 8px 0;
    list-style: none;
    margin: 0;
    padding: 0
}

.breadcrumbs__item {
    color: var(--cn-500);
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    padding: 0 .25rem
}

.breadcrumbs__item:not(:last-child) {
    margin-right: 32px;
    position: relative
}

.breadcrumbs__item:not(:last-child):after {
    background-color: var(--cn-300);
    content: "";
    display: block;
    height: 1rem;
    position: absolute;
    right: -16px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px
}

.breadcrumbs__item:first-child {
    color: var(--cn-950);
    font-size: 1.5rem;
    margin-right: 28px
}

.breadcrumbs__item:first-child:after {
    right: -12px
}

.breadcrumbs__item a {
    --link-color: var(--cn-950);
    --hover-color: var(--cp-500);
    display: inline-flex;
    margin: 0;
    padding: 0;
    text-decoration: none
}

.pagination {
    margin-top: 24px;
    width: 100%
}

.pagination__items {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 0;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%
}

.pagination__item {
    margin: 0;
    padding: 0
}

.pagination__link {
    background-color: transparent;
    border: none;
    border-radius: 10px;
    color: var(--cn-500);
    display: inline-grid;
    flex: none;
    font-size: 1rem;
    font-weight: 600;
    height: 2.875rem;
    line-height: 1.4;
    place-items: center;
    width: 2.875rem
}

a.pagination__link:focus-visible, a.pagination__link:hover {
    color: var(--cp-500)
}

.pagination__link[aria-current=page] {
    background-color: var(--cp-400);
    color: var(--cn-0);
    pointer-events: none
}

.pagination__link .icon {
    font-size: 1.5rem
}

image-box {
    ---width: 100%;
    ---height: auto;
    ---aspect-ratio: 1;
    ---border-radius: 0;
    ---bg-color: #eee;
    ---img-width: 100%;
    ---img-height: 100%;
    ---img-object-fit: cover;
    ---img-object-position: center;
    ---preloader-color: #111;
    ---preloader-size: 40px;
    aspect-ratio: var(---aspect-ratio);
    background-color: var(---bg-color);
    border-radius: var(---border-radius);
    display: inline-flex;
    height: var(---height);
    overflow: hidden;
    position: relative;
    width: var(---width)
}

image-box[preloader]:before {
    animation: lazy-preloader-spin 1s linear infinite;
    border: 4px solid var(---preloader-color);
    border-radius: 50%;
    border-top: 4px solid transparent;
    box-sizing: border-box;
    content: "";
    height: var(---preloader-size);
    left: 50%;
    margin-left: calc(var(---preloader-size) * -.5);
    margin-top: calc(var(---preloader-size) * -.5);
    position: absolute;
    top: 50%;
    transform-origin: 50%;
    width: var(---preloader-size);
    z-index: 3
}

image-box[preloader~=white] {
    ---preloader-color: #fff
}

image-box:has(img.error):before, image-box:has(img.loaded):before {
    display: none
}

image-box img {
    height: var(---img-height);
    -o-object-fit: var(---img-object-fit);
    object-fit: var(---img-object-fit);
    -o-object-position: var(---img-object-position);
    object-position: var(---img-object-position);
    position: relative;
    width: var(---img-width);
    z-index: 2
}

@keyframes lazy-preloader-spin {
    0% {
        transform: rotate(0deg)
    }
    to {
        transform: rotate(1turn)
    }
}

.dot-list {
    color: var(--text-color);
    display: flex;
    flex-direction: column;
    font-size: 1.125rem;
    font-weight: 500;
    gap: 24px;
    line-height: 1.4;
    list-style: none;
    margin: 0;
    padding: 0
}

.dot-list li {
    margin: 0;
    padding: 0 0 0 40px;
    position: relative
}

.dot-list li:before {
    background-color: var(--cp-400);
    border: 4px solid var(--cp-300);
    border-radius: 50%;
    content: "";
    display: block;
    height: 16px;
    left: 0;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px
}

.dot-list--panes {
    font-weight: 600;
    gap: 8px
}

.dot-list--panes li {
    background-color: var(--cn-0);
    border-radius: 10px;
    padding: 16px 16px 16px 44px
}

.dot-list--panes li:before {
    left: 16px
}

.num-list {
    counter-reset: list;
    gap: 12px;
    list-style: none;
    padding: 0
}

.num-list, .num-list li {
    display: flex;
    flex-direction: column;
    margin: 0
}

.num-list li {
    background-color: var(--cn-0);
    border-radius: 10px;
    color: var(--text-color);
    gap: 24px;
    padding: 112px 16px 24px;
    position: relative
}

.num-list li, .num-list li:before {
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600
}

.num-list li:before {
    background-color: var(--cp-400);
    border: 8px solid var(--cp-300);
    border-radius: 50%;
    color: var(--cn-0);
    content: counter(list);
    counter-increment: list;
    display: inline-grid;
    flex: none;
    height: 4rem;
    left: 16px;
    place-items: center;
    position: absolute;
    top: 24px;
    width: 4rem
}

.num-list:has(.num-list__title) li:before {
    margin-top: 0;
    top: 24px
}

.num-list__title {
    color: var(--cn-950);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0
}

.num-list__text {
    color: var(--cn-800);
    font-family: var(--font-family);
    font-size: 1rem;
    margin: 0
}

.icon-text, .num-list__text {
    font-weight: 500;
    line-height: 1.4
}

.icon-text {
    align-items: flex-start;
    color: var(--text-color);
    display: flex;
    flex-direction: column;
    font-size: 1.125rem;
    gap: 24px
}

.icon-text img {
    flex: none;
    height: 40px;
    width: 40px
}

.target-icon {
    animation: target-icon 4s infinite alternate;
    background-color: rgba(0, 0, 0, .25);
    border-radius: 50%;
    display: inline-block;
    height: 100px;
    position: relative;
    width: 100px
}

.target-icon:before {
    animation: target-icon-before 4s infinite alternate;
    height: 68px;
    width: 68px;
    z-index: 2
}

.target-icon:after, .target-icon:before {
    background-color: rgba(0, 0, 0, .35);
    border: 4px solid #fff;
    border-radius: 50%;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) scale(1)
}

.target-icon:after {
    animation: target-icon-after 4s infinite alternate;
    height: 26px;
    width: 26px;
    z-index: 3
}

@keyframes target-icon {
    0% {
        background-color: rgba(0, 0, 0, .25)
    }
    to {
        background-color: rgba(0, 0, 0, .4)
    }
}

@keyframes target-icon-before {
    0% {
        background-color: rgba(0, 0, 0, .35);
        transform: translate(-50%, -50%) scale(1)
    }
    to {
        background-color: rgba(0, 0, 0, .4);
        transform: translate(-50%, -50%) scale(.65)
    }
}

@keyframes target-icon-after {
    0% {
        background-color: rgba(0, 0, 0, .35);
        transform: translate(-50%, -50%) scale(1)
    }
    to {
        background-color: #000;
        transform: translate(-50%, -50%) scale(.62)
    }
}

.loading {
    --icon-size: 40px;
    --icon-color: var(--color-white);
    align-items: center;
    background-color: rgba(0, 0, 0, .85);
    color: var(--color-white);
    display: flex;
    flex-direction: column;
    font-size: 1.25rem;
    font-weight: 500;
    gap: 24px;
    inset: 0;
    justify-content: center;
    line-height: 1.4;
    position: fixed;
    text-align: center;
    z-index: 10000
}

.loading__icon {
    animation: loading-icon-spin 1s linear infinite;
    border: 4px solid var(--icon-color);
    border-radius: 50%;
    border-top: 4px solid transparent;
    box-sizing: border-box;
    content: "";
    display: inline-block;
    flex: none;
    height: var(--icon-size);
    margin-left: calc(var(--icon-size) * -.5);
    margin-top: calc(var(--icon-size) * -.5);
    transform-origin: 50%;
    width: var(--icon-size)
}

.loading__text {
    margin: 0
}

.loading:not(.show) {
    display: none
}

@keyframes loading-icon-spin {
    0% {
        transform: rotate(0deg)
    }
    to {
        transform: rotate(1turn)
    }
}

.input {
    ---color: var(--cn-950);
    ---placeholder-color: var(--cn-500);
    ---bg-color: var(--cn-0);
    ---border-color: var(--cn-300);
    ---border-radius: 10px;
    ---hover-border-color: var(--cn-950);
    ---focus-border-color: var(--cn-950);
    ---error-border-color: var(--cr-600);
    ---disabled-color: var(--cn-400);
    ---disabled-placeholder-color: var(--cn-400);
    ---disabled-border-color: var(--cn-400);
    ---disabled-bg-color: var(--cn-100);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(---bg-color);
    border: 1px solid var(---border-color);
    border-radius: var(---border-radius);
    color: var(---color);
    display: block;
    font-family: var(--font-family);
    font-size: .9375rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 600;
    height: 3.75rem;
    line-height: 1.4;
    padding: 0 1.25rem;
    text-overflow: ellipsis;
    transition: all .2s ease;
    white-space: nowrap;
    width: 100%
}

.input:invalid {
    box-shadow: none
}

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

.input::-moz-placeholder {
    color: var(---placeholder-color);
    opacity: 1
}

.input::placeholder {
    color: var(---placeholder-color);
    opacity: 1
}

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

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

.input:disabled::placeholder {
    color: var(---disabled-placeholder-color)
}

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

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

.is-invalid .input:focus {
    outline: 1px solid var(---error-border-color)
}

.input--cropped {
    background: transparent;
    border: none;
    height: auto;
    padding: 0
}

.textarea {
    ---height: 15.625rem;
    ---color: var(--text-color);
    ---placeholder-color: var(--text-light-color);
    ---bg-color: var(--color-white);
    ---border-color: var(--color-base-400);
    ---border-radius: 4px;
    ---hover-border-color: var(--color-base-500);
    ---focus-border-color: var(--color-base-500);
    ---outline-color: var(--color-base-300);
    ---error-color: var(--color-error);
    ---error-border-color: var(--color-error);
    ---disabled-color: var(--color-base-300);
    ---disabled-placeholder-color: var(--color-base-300);
    ---disabled-border-color: var(--color-base-300);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(---bg-color);
    border: 1px solid var(---border-color);
    border-radius: var(---border-radius);
    color: var(---color);
    display: block;
    font-family: var(--font-family);
    font-size: 1rem;
    font-variant-numeric: lining-nums proportional-nums;
    font-weight: 400;
    line-height: 1.4;
    min-height: var(---height);
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1.5rem;
    transition: all .2s ease;
    width: 100%
}

.textarea::-webkit-scrollbar-track {
    background-color: var(--scrollbar-track-color, transparent);
    -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, .05)
}

.textarea::-webkit-scrollbar {
    background-color: var(--scrollbar-track-color, transparent);
    width: 4px
}

.textarea::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb-color, #aaa);
    border-radius: 4px
}

.textarea:invalid {
    box-shadow: none
}

.textarea:focus {
    border-color: var(---focus-border-color);
    box-shadow: 0 0 0 4px var(---outline-color);
    outline: none
}

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

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

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

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

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

.is-invalid .textarea:focus {
    border-color: var(---error-border-color);
    outline: 1px solid var(---error-border-color)
}

.textarea--small {
    min-height: 6.25rem
}

.checkbox {
    ---h: 20px;
    ---box-size: 20px;
    ---box-bg-color: transparent;
    ---box-border-color: var(--cn-400);
    ---check-color: transparent;
    ---label-color: var(--cn-950);
    ---focus-box-bg-color: var(--cp-100);
    ---focus-box-border-color: var(--cp-300);
    ---focus-check-color: var(--cn-0);
    ---disabled-box-bg-color: var(--cn-100);
    ---disabled-box-border-color: var(--cn-300);
    ---disabled-check-color: var(--cn-300);
    ---disabled-label-color: var(--cn-400);
    ---checked-box-bg-color: var(--cn-950);
    ---checked-box-border-color: var(--cn-950);
    ---checked-check-color: var(--cn-0);
    ---checked-disabled-box-bg-color: var(--color-base-300);
    ---checked-disabled-box-border-color: var(--color-base-300);
    ---checked-disabled-check-color: var(--color-white);
    align-items: center;
    display: inline-flex;
    flex-flow: row nowrap;
    gap: 10px;
    min-height: var(---h);
    position: relative;
    transition: all .2s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.checkbox:after {
    border-color: var(---check-color);
    border-style: none solid solid none;
    border-width: 2px;
    content: "";
    display: none;
    height: 10px;
    left: calc(var(---box-size) * .5);
    margin-left: -3px;
    margin-top: -7px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    transition: all .2s ease;
    width: 6px
}

.checkbox:has(input:indeterminate):after {
    background-color: var(---check-color);
    border: none;
    height: 2px;
    margin-left: -4px;
    margin-top: -1px;
    transform: none;
    width: 8px
}

.checkbox input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(---box-bg-color);
    border: 1px solid var(---box-border-color);
    border-radius: 4px;
    cursor: pointer;
    flex: none;
    height: var(---box-size);
    outline: none;
    position: relative;
    width: var(---box-size)
}

.checkbox__label {
    color: var(---label-color);
    cursor: pointer;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    line-height: 20px;
    transition: all .2s ease
}

.checkbox__label a {
    --link-color: currentColor;
    --hover-color: var(--cp-500);
    text-decoration: underline
}

.checkbox:has(input:focus-visible) {
    outline: none;
    ---box-bg-color: var(---focus-box-bg-color);
    ---box-border-color: var(---focus-box-border-color)
}

.checkbox:has(input:disabled) {
    ---box-bg-color: var(---disabled-box-bg-color);
    ---box-border-color: var(---disabled-box-border-color);
    ---label-color: var(---disabled-label-color);
    pointer-events: none
}

.checkbox:has(input:checked), .checkbox:has(input:indeterminate) {
    ---box-bg-color: var(---checked-box-bg-color);
    ---box-border-color: var(---checked-box-border-color);
    ---check-color: var(---checked-check-color)
}

.checkbox:has(input:checked):after, .checkbox:has(input:indeterminate):after {
    display: block
}

.checkbox:has(input:checked:focus-visible), .checkbox:has(input:indeterminate:focus-visible) {
    ---box-bg-color: var(--cp-400);
    ---box-border-color: var(--cp-400);
    ---check-color: var(--cn-0)
}

.checkbox:has(input:checked:disabled), .checkbox:has(input:indeterminate:disabled) {
    ---box-bg-color: var(---checked-disabled-box-bg-color);
    ---box-border-color: var(---checked-disabled-box-border-color);
    ---check-color: var(---checked-disabled-check-color)
}

.checkbox.is-invalid {
    ---box-bg-color: var(--color-red-50);
    ---box-border-color: var(--color-red-500);
    ---check-color: var(--color-red-500)
}

.radio {
    ---h: 1.5em;
    ---box-size: 20px;
    ---box-bg-color: transparent;
    ---box-border-color: var(--color-base-500);
    ---check-color: transparent;
    ---label-color: var(--text-color);
    ---outline-color: var(--color-base-300);
    ---disabled-box-bg-color: transparent;
    ---disabled-box-border-color: var(--color-base-300);
    ---disabled-check-color: transparent;
    ---disabled-label-color: var(--text-light-color);
    ---checked-box-bg-color: transparent;
    ---checked-box-border-color: var(--color-base-500);
    ---checked-check-color: var(--color-base-500);
    ---checked-disabled-box-bg-color: var(--color-white);
    ---checked-disabled-box-border-color: var(--color-base-300);
    ---checked-disabled-check-color: var(--color-base-300);
    align-items: flex-start;
    display: inline-flex;
    flex-flow: row nowrap;
    gap: 12px;
    min-height: var(---h);
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.radio, .radio:after {
    transition: all .2s ease
}

.radio:after {
    background-color: var(---check-color);
    border-radius: 50%;
    content: "";
    display: block;
    height: 8px;
    left: calc(var(---box-size) * .5);
    margin-left: -4px;
    margin-top: -4px;
    pointer-events: none;
    position: absolute;
    top: calc(var(---h) * .5);
    transform: rotate(45deg);
    width: 8px
}

.radio input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(---box-bg-color);
    border: 1px solid var(---box-border-color);
    border-radius: 50%;
    cursor: pointer;
    flex: none;
    height: var(---box-size);
    position: relative;
    top: calc((var(---h) - var(---box-size)) * .5);
    width: var(---box-size)
}

.radio__label {
    color: var(---label-color);
    cursor: inherit;
    line-height: 1.5;
    transition: all .2s ease
}

.radio input:focus-visible {
    box-shadow: 0 0 0 3px var(---outline-color);
    outline: none
}

.radio:has(input:disabled) {
    ---box-bg-color: var(---disabled-box-bg-color);
    ---box-border-color: var(---disabled-box-border-color);
    ---label-color: var(---disabled-label-color);
    pointer-events: none
}

.radio:has(input:checked) {
    ---box-bg-color: var(---checked-box-bg-color);
    ---box-border-color: var(---checked-box-border-color);
    ---check-color: var(---checked-check-color)
}

.radio:has(input:checked:disabled) {
    ---box-bg-color: var(---checked-disabled-box-bg-color);
    ---box-border-color: var(---checked-disabled-box-border-color);
    ---check-color: var(---checked-disabled-check-color)
}

.radio.is-invalid {
    ---label-color: var(--error-color);
    ---box-border-color: var(--error-color)
}

.custom-select {
    --custom-select-color: var(--cn-950);
    --custom-select-placeholder-color: var(--cn-500);
    --custom-select-bg-color: var(--cn-0);
    --custom-select-border-color: var(--cn-300);
    --custom-select-hover-border-color: var(--cn-950);
    --custom-select-focus-border-color: var(--cn-950);
    --custom-select-error-border-color: var(--cr-600);
    --custom-select-disabled-color: var(--cn-400);
    --custom-select-disaled-bg-color: var(--cn-100);
    --custom-select-disaled-border-color: var(--cn-400);
    --custom-select-dropdown-bg-color: var(--cn-0);
    --custom-select-dropdown-border-color: var(--cn-300);
    --custom-select-search-color: var(--cn-950);
    --custom-select-search-placeholder-color: var(--cn-500);
    --custom-select-search-bg-color: transparent;
    --custom-select-search-border-color: var(--cn-300);
    --custom-select-search-hover-border-color: var(--cn-950);
    --custom-select-search-focus-border-color: var(--cn-950);
    position: relative
}

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

.custom-select__button {
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--custom-select-bg-color);
    border: 1px solid var(--custom-select-border-color);
    border-radius: 10px;
    color: var(--custom-select-color);
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: 500;
    height: 3.75rem;
    line-height: 1.4;
    overflow: hidden;
    padding: .625rem 2.5rem .625rem 16px;
    position: relative;
    text-overflow: ellipsis;
    transition: all .2s ease;
    white-space: nowrap;
    width: 100%
}

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

.custom-select__button:hover {
    border-color: var(--custom-select-hover-border-color)
}

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

.custom-select__button:disabled {
    background-color: var(--custom-select-disaled-bg-color);
    border-color: var(--custom-select-disaled-border-color);
    color: var(--custom-select-disabled-color);
    pointer-events: none
}

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

.is-invalid .custom-select__button, .is-invalid .custom-select__button:focus {
    border-color: var(--custom-select-error-border-color)
}

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

.custom-select--placeholder .custom-select__button {
    color: var(--custom-select-placeholder-color)
}

.custom-select__button-caption {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.custom-select__button-caption-prefix {
    color: var(--custom-select-placeholder-color)
}

.custom-select__button-arrow {
    background-color: transparent;
    color: var(--custom-select-color);
    display: block;
    height: 24px;
    margin-top: -13px;
    padding: 0;
    position: absolute;
    right: 15px;
    top: 50%;
    transition: transform .1s ease;
    width: 24px
}

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

.custom-select.is-open .custom-select__button-arrow {
    margin-top: -12px;
    transform: rotate(180deg)
}

.custom-select__dropdown {
    background-color: var(--custom-select-dropdown-bg-color);
    border: 1px solid var(--custom-select-dropdown-border-color);
    border-radius: 10px;
    box-shadow: 0 6px 12px rgba(171, 190, 209, .3);
    display: none;
    left: 0;
    margin-top: 5px;
    min-width: 100%;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: 100%;
    z-index: 100
}

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

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

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

.custom-select__items::-webkit-scrollbar-track {
    background-color: transparent;
    -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, .05)
}

.custom-select__items::-webkit-scrollbar {
    background-color: transparent;
    width: 6px
}

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

.custom-select__item {
    align-items: center;
    color: var(--cn-950);
    cursor: pointer;
    display: flex;
    flex-flow: row nowrap;
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    padding: 8px 12px;
    transition: all .2s ease
}

.custom-select__item:focus, .custom-select__item:hover {
    background-color: var(--cn-100)
}

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

.custom-select__item.is-selected {
    color: var(--cp-500)
}

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

.custom-select--multiple .custom-select__item:not(:last-child) {
    border-bottom: 1px solid var(--color-grey-4)
}

.custom-select__item-check {
    border: 1px solid var(--color-blue-2);
    border-radius: 4px;
    flex: 0 0 auto;
    height: 24px;
    margin-right: 12px;
    position: relative;
    width: 24px
}

.custom-select__item.is-selected .custom-select__item-check {
    background-color: var(--color-blue-2)
}

.custom-select__item.is-selected .custom-select__item-check:before {
    border-color: var(--color-grey-6);
    border-style: none solid solid none;
    border-width: 2px;
    content: "";
    display: block;
    height: 10px;
    left: 8px;
    position: absolute;
    top: 4px;
    transform: rotate(45deg);
    width: 6px
}

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

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

.custom-select__item-tooltip {
    flex: none;
    height: 24px;
    margin-left: auto;
    position: relative;
    width: 24px
}

.custom-select__item-tooltip:before {
    align-items: center;
    background-color: var(--color-grey-4);
    border-radius: 50%;
    color: var(--color-grey-6);
    content: "i";
    display: inline-flex;
    font-size: 12px;
    font-weight: 400;
    height: 18px;
    justify-content: center;
    left: 50%;
    line-height: 1;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all .2s;
    width: 18px
}

.custom-select__item-tooltip:hover:before {
    background-color: var(--color-blue-3)
}

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

.custom-select__search input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: var(--custom-select-search-bg-color);
    border: 1px solid var(--custom-select-search-border-color);
    border-radius: var(--radius-3);
    color: var(--custom-select-search-color);
    display: block;
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    padding: .5rem 1rem;
    transition: all .2s ease;
    width: 100%
}

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

.custom-select__search input:hover {
    border-color: var(--custom-select-search-hover-border-color)
}

.custom-select__search input:focus-visible {
    border-color: var(--custom-select-search-focus-border-color);
    outline: none
}

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

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

.custom-select__search input:disabled {
    opacity: .5;
    pointer-events: none
}

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

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

.custom-select--inline .custom-select__button {
    background-color: transparent;
    border: none;
    border-radius: 0;
    color: var(--cp-500);
    font-family: var(--font-family-B);
    font-size: 1.75rem;
    font-weight: 600;
    height: 2.5rem;
    line-height: 1.4;
    padding: 0 28px 4px 0
}

.custom-select--inline .custom-select__button:hover {
    color: var(--cp-600)
}

.custom-select--inline .custom-select__button:focus-visible {
    color: var(--cp-600)
}

.custom-select--inline .custom-select__button:disabled {
    background-color: transparent;
    color: var(--cn-400);
    pointer-events: none
}

.custom-select--inline .custom-select__button-arrow {
    color: currentColor;
    display: inline-flex;
    height: 24px;
    margin-top: -13px;
    right: 0;
    width: 24px
}

.custom-select--inline .custom-select__button-arrow svg {
    fill: currentColor;
    height: 20px;
    width: 20px
}

.custom-select--inline .custom-select__button-arrow svg path {
    fill: currentColor !important
}

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

.custom-select--inline .custom-select__dropdown {
    background-color: var(--cn-0);
    border: none;
    border-radius: 10px;
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .1);
    display: none;
    left: 0;
    margin-top: 0;
    min-width: 164px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    top: 100%;
    z-index: 100
}

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

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

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

.custom-select--inline .custom-select__items::-webkit-scrollbar-track {
    background-color: transparent;
    -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, .05)
}

.custom-select--inline .custom-select__items::-webkit-scrollbar {
    background-color: transparent;
    width: 8px
}

.custom-select--inline .custom-select__items::-webkit-scrollbar-thumb {
    background-color: var(--cn-200);
    border-radius: 4px
}

.custom-select--inline .custom-select__item {
    align-items: center;
    color: var(--cn-500);
    cursor: pointer;
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0;
    padding: 6px 10px;
    transition: all .2s ease
}

.custom-select--inline .custom-select__item:focus, .custom-select--inline .custom-select__item:hover {
    background-color: transparent;
    color: var(--cp-400)
}

.custom-select--inline .custom-select__item.is-selected {
    color: var(--cp-500)
}

.radio-tab {
    ---size: 40px;
    ---padding-y: 6px;
    ---padding-x: 16px;
    ---color: var(--cn-950);
    ---bg-color: var(--cn-200);
    ---border-radius: 10px;
    align-items: center;
    background-clip: border-box;
    background-color: var(---bg-color);
    border: none;
    border-radius: var(---border-radius);
    color: var(---color);
    cursor: pointer;
    display: inline-flex;
    flex-flow: row nowrap;
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    justify-content: center;
    min-height: var(--size);
    min-width: var(--size);
    padding: var(---padding-y) var(---padding-x);
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.radio-tab:has(input:checked) {
    ---color: var(--cn-0);
    ---bg-color: var(--cp-400)
}

.radio-tab:has(input:focus-visible) {
    outline: 2px solid var(--cp-600)
}

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

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

.field-label {
    color: var(--cn-950);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 10px
}

.field-required-sign {
    color: var(--accent-color)
}

.field-hint {
    color: var(--text-light-color);
    margin-top: .375rem
}

.validator-error, .validator-error-message {
    color: var(--cr-600);
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.4;
    margin: 10px 0 0
}

.checkbox + .validator-error, .checkbox + .validator-error-message {
    padding-left: 30px
}

.form {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.form__fields, .form__main {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.form__checks {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 16px 0
}

.form__row {
    display: contents
}

.form__buttons {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.form--login .form__footer, .form--registration .form__footer {
    margin-top: auto
}

.form--login .form__buttons, .form--registration .form__buttons {
    flex-direction: column-reverse
}

.form--consult .form__footer {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.form--order .button {
    width: 100%
}

.inline-select {
    display: inline-block;
    min-height: 40px;
    min-width: 100px;
    vertical-align: middle
}

.footer-contact {
    ---border-width: 1px;
    border-top: var(---border-width) solid var(--cn-300);
    padding: 20px 0
}

.footer-contact__title {
    color: var(--cn-0);
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0
}

.footer-contact__about {
    color: var(--cn-100);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 16px 0 0
}

.footer-contact__contacts {
    align-items: flex-start;
    color: var(--cp-300);
    display: flex;
    flex-flow: row wrap;
    font-size: .9375rem;
    font-weight: 600;
    gap: 12px;
    line-height: 1.4;
    margin: 20px 0 0
}

.footer-contact__contacts a {
    --link-color: currentColor;
    --hover-color: var(--cp-500)
}

.footer-contact__contacts address {
    font-style: normal;
    margin: 0
}

.result-card {
    background-color: var(--cg-50);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px 16px
}

.result-card__icon {
    background-color: var(--cg-500);
    border: 12px solid var(--cg-100);
    border-radius: 16px;
    color: var(--cn-0);
    display: inline-grid;
    font-size: 24px;
    height: 72px;
    place-items: center;
    width: 72px
}

.result-card__icon .icon {
    flex: none
}

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

.result-card__text, .result-card__title {
    color: var(--cn-950);
    line-height: 1.4;
    margin: 0
}

.result-card__text {
    font-size: .9375rem;
    font-weight: 500
}

.nomination-card {
    background-color: var(--cn-0);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 16px
}

.nomination-card__number {
    background-color: var(--cp-400);
    border: 8px solid var(--cp-300);
    border-radius: 50%;
    color: var(--cn-0);
    display: inline-grid;
    flex: none;
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    height: 4rem;
    place-items: center;
    width: 4rem
}

.nomination-card__main {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.nomination-card__title {
    color: var(--cn-950);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0
}

.nomination-card__text {
    color: var(--cn-800);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0
}

.project-card {
    background-color: var(--cn-0);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 8px 8px 24px;
    position: relative
}

.project-card__img {
    ---aspect-ratio: 330/312;
    ---border-radius: 12px;
    ---bg-color: var(--cn-200)
}

.project-card__img img {
    opacity: .9;
    transition: opacity .3s
}

.project-card:has(a:focus-visible) .project-card__img img, .project-card:has(a:hover) .project-card__img img {
    opacity: 1
}

.project-card__main {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 8px
}

.project-card__label {
    color: var(--cp-500);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 12px
}

.project-card__nomination {
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0 0 16px
}

.project-card__nomination a:before {
    content: "";
    inset: 0;
    position: absolute
}

.project-card__project {
    border-top: 1px solid var(--cn-300);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 23px;
    padding-top: 23px
}

.project-card__company {
    color: var(--cn-600);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4
}

.person-card {
    ---color: var(--cn-950);
    background-color: var(--cn-0);
    border-radius: 16px;
    display: block;
    padding: 16px;
    position: relative
}

.person-card__avatar {
    ---size: 180px;
    margin-bottom: 24px
}

.person-card__name {
    color: var(---color);
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0 0 12px
}

.person-card__name a:after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 5
}

.person-card__about {
    color: var(---color);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    transition: color .3s
}

.person-block {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.person-block__header {
    display: flex;
    flex-direction: column;
    gap: 22px
}

.person-block__avatar {
    ---size: 120px;
    flex: none
}

.person-block__caption {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.person-block__name {
    color: var(--color-text);
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0
}

.person-block__about {
    color: var(--color-text)
}

.person-block__about, .person-block__main {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4
}

.person-block__main {
    color: var(--cn-800)
}

.album-card {
    aspect-ratio: 328/360;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    width: 100%
}

.album-card__bg {
    ---aspect-ratio: unset;
    ---bg-color: var(--cn-800);
    inset: 0;
    position: absolute
}

.album-card__bg:after {
    background-image: linear-gradient(180deg, transparent, #000);
    content: "";
    inset: 0;
    position: absolute
}

.album-card__bg img {
    transition: transform .5s
}

.album-card:has(a:focus-visible) img, .album-card:has(a:hover) img {
    transform: scale(1.03)
}

.album-card__content {
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: flex-end;
    padding: 24px;
    position: absolute;
    z-index: 10
}

.album-card__title {
    color: var(--cn-0);
    display: -webkit-box;
    font-size: .9375rem;
    font-weight: 600;
    -webkit-line-clamp: 5;
    line-height: 1.4;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical
}

.album-card__title a:after {
    content: "";
    inset: 0;
    position: absolute;
    transition: color .5s;
    z-index: 5
}

.partner-card {
    background-color: var(--cn-0);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    position: relative
}

.running-cards .partner-card {
    height: auto;
    min-height: 190px;
    width: 200px
}

.partner-card__img {
    height: 150px;
    width: 100%
}

.partner-card__img img {
    height: 100%;
    mix-blend-mode: luminosity;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    opacity: .5;
    transition: all .5s;
    width: 100%
}

.partner-card:focus-within img, .partner-card:hover img {
    mix-blend-mode: unset;
    opacity: 1
}

.partner-card__title {
    color: var(--cn-500);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: auto 0 0;
    text-align: center
}

.partner-card__title a {
    --hover-color: currentColor
}

.partner-card__title a:after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 5
}

.comp-item {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 24px;
    padding: 6px 16px
}

.comp-item__icon {
    background-color: var(--cp-500);
    border-radius: 50%;
    color: var(--cn-0);
    display: inline-grid;
    flex: none;
    font-size: 24px;
    height: 54px;
    place-items: center;
    width: 54px
}

.comp-item__label {
    color: var(--cn-0);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
    transition: color .3s
}

.comp-item:focus-visible .comp-item__label {
    color: var(--cp-500)
}

.comp-card {
    background-color: var(--cn-0);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 16px
}

.comp-card__icon {
    background-color: var(--cp-500);
    border-radius: 50%;
    color: var(--cn-0);
    display: inline-grid;
    flex: none;
    font-size: 24px;
    height: 54px;
    place-items: center;
    width: 54px
}

.comp-card:focus-visible .comp-card__icon {
    background-color: var(--cp-600)
}

.comp-card__label {
    color: var(--text-color);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    transiton: all .3s
}

.comp-card:focus-visible .comp-card__label {
    color: var(--cp-500)
}

.news-card {
    ---date-color: var(--cn-500);
    ---title-color: var(--cn-950);
    ---text-color: var(--cn-500);
    ---hover-color: var(--cp-500);
    background-color: var(--cn-0);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    transition: all .4s
}

.news-card__img {
    ---aspect-ratio: unset;
    ---bg-color: var(--cn-950);
    ---height: 240px;
    ---preloader-color: #fff
}

.news-card__img img {
    transition: all .5s
}

.news-card:has(a:focus-visible) .news-card__img img, .news-card:hover .news-card__img img {
    opacity: .8;
    transform: scale(1.04)
}

.news-card__main {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 16px 16px 28px
}

.news-card__date {
    color: var(---date-color);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 12px;
    transition: color .3s
}

.news-card:has(a:focus-visible) .news-card__date, .news-card:hover .news-card__date {
    color: var(---hover-color)
}

.news-card__title {
    color: var(---title-color);
    font-family: var(--font-family);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0
}

.news-card__title a {
    --hover-color: var(---hover-color)
}

.news-card__title a:focus-visible {
    color: var(---hover-color)
}

.news-card__title a:after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 10
}

.news-card__text {
    color: var(---text-color);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: auto 0 0;
    padding-top: 24px;
    transition: color .3s
}

.news-card:has(a:focus-visible) .news-card__text, .news-card:hover .news-card__text {
    color: var(---hover-color)
}

.news-card--bigger {
    ---hover-color: var(--cn-0)
}

.news-card--bigger:has(a:focus-visible), .news-card--bigger:hover {
    background-color: var(--cp-500)
}

.news-card--bigger .news-card__title {
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600
}

.news-card--bigger .news-card__main {
    padding-bottom: 16px
}

.news-card--mid {
    ---text-color: var(--cn-950);
    ---hover-color: var(--cn-0)
}

.news-card--mid:has(a:focus-visible), .news-card--mid:hover {
    background-color: var(--cp-500)
}

.news-card--mid .news-card__date {
    font-weight: 600
}

.news-card--mid .news-card__title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4
}

.news-card--mid .news-card__main {
    padding-bottom: 16px
}

.news-big-card {
    background-color: var(--cn-0);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 16px;
    position: relative
}

.news-big-card__main {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 900px
}

.news-big-card__title {
    color: var(---title-color);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0
}

.news-big-card__title a:after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 10
}

.news-big-card__date {
    color: var(--cn-600);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    transition: color .3s
}

.news-big-card:focus-within .news-big-card__date, .news-big-card:hover .news-big-card__date {
    color: var(--hover-color)
}

.news-big-card__img {
    border-radius: 16px;
    height: 400px;
    margin-top: auto;
    overflow: hidden;
    width: 100%
}

.news-big-card__img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.book-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative
}

.book-card__img {
    ---aspect-ratio: none;
    ---bg-color: var(--cn-950);
    ---img-height: auto;
    ---img-object-fit: none;
    ---preloader-color: #fff;
    min-height: 200px
}

.book-card__img img {
    opacity: .8;
    transition: opacity .5s
}

.book-card:has(a:focus-visible) .book-card__img img, .book-card:has(a:hover) .book-card__img img {
    opacity: 1
}

.book-card__title {
    color: var(--cn-600);
    font-family: var(--font-family);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4
}

.book-card__title a:after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 5
}

.event-card {
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    min-height: 480px;
    overflow: hidden;
    position: relative
}

.event-card__bg {
    ---bg-color: var(--cn-950);
    ---aspect-ratio: unset;
    ---height: 100%;
    ---preloader-color: #fff;
    inset: 0;
    position: absolute
}

.event-card__bg img {
    opacity: .6;
    transition: all .5s
}

.event-card:has(a:focus-visible) .event-card__bg img, .event-card:hover .event-card__bg img {
    opacity: .7;
    transform: scale(1.02)
}

.event-card__main {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 24px;
    height: 100%;
    padding: 24px 16px;
    position: relative;
    width: 100%;
    z-index: 2
}

.event-card__date {
    align-self: flex-start;
    background-color: hsla(0, 0%, 7%, .4);
    border-radius: 100px;
    color: var(--cn-100);
    display: inline-block;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    padding: 8px 16px;
    transition: color .3s
}

.event-card__title {
    color: var(--cn-0);
    font-family: var(--font-family-B);
    font-size: 1.25rem;
    font-weight: 600;
    margin: auto 0 0
}

.event-card__title a:focus-visible {
    color: var(--hover-color)
}

.event-card__title a:after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 10
}

.event-card__text {
    color: var(--cn-0);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    transition: color .3s
}

.event-card:has(a:focus-visible) .event-card__text, .event-card:hover .event-card__text {
    color: var(--hover-color)
}

.laureate-card {
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    min-height: 400px;
    overflow: hidden;
    position: relative
}

.laureate-card__bg {
    ---preloader-color: #fff;
    aspect-ratio: unset;
    background-color: transparent;
    inset: 0;
    position: absolute
}

.laureate-card__bg:after {
    background-image: linear-gradient(180deg, transparent, #000);
    content: "";
    inset: 0;
    position: absolute;
    transition: opacity .5s;
    z-index: 2
}

.laureate-card__bg img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform .5s;
    width: 100%
}

.laureate-card:has(a:focus-visible) .laureate-card__bg:after, .laureate-card:has(a:hover) .laureate-card__bg:after {
    opacity: .7
}

.laureate-card:has(a:focus-visible) .laureate-card__bg img, .laureate-card:has(a:hover) .laureate-card__bg img {
    transform: scale(1.02)
}

.laureate-card__main {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 10px;
    height: 100%;
    padding: 24px 12px;
    position: relative;
    width: 100%;
    z-index: 5
}

.laureate-card__label {
    color: var(--cn-0);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: auto 0 0;
    transition: color .3s
}

.laureate-card:has(a:focus-visible) .laureate-card__label, .laureate-card:has(a:hover) .laureate-card__label {
    color: var(--hover-color)
}

.laureate-card__title {
    color: var(--cn-0);
    font-family: var(--font-family);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0
}

.laureate-card__title a:after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 10
}

.announ {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.announ__icon {
    flex: none
}

.announ__main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 780px
}

.announ__title {
    font-family: var(--font-family-B);
    font-size: 1.375rem
}

.announ__text, .announ__title {
    color: var(--cn-0);
    font-weight: 600;
    margin: 0
}

.announ__text {
    font-size: 1rem;
    line-height: 1.4
}

.banner {
    background-color: var(--cn-0);
    border-radius: 24px
}

.banner, .stub-banner {
    display: block;
    min-height: 450px;
    overflow: hidden
}

.stub-banner {
    position: relative
}

.stub-banner__main {
    align-items: center;
    background-color: var(--cp-500);
    display: flex;
    flex-direction: column;
    gap: 24px;
    inset: 0;
    padding: 24px;
    position: absolute
}

.stub-banner__logo {
    display: inline-block;
    fill: var(--cn-0);
    flex: none;
    height: 100px;
    width: 83px
}

.stub-banner__logo path {
    fill: var(--cn-0)
}

.stub-banner__label {
    color: var(--cn-0);
    font-family: var(--font-family-B);
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0;
    max-width: 220px;
    text-align: center
}

.stub-banner__knot {
    bottom: 0;
    height: 280px;
    left: 55%;
    position: absolute;
    transform: translate(-50%, 50%);
    width: 280px;
    z-index: 10
}

.main-menu__items {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 12px 30px;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0
}

.main-menu__item {
    color: var(--cn-950);
    flex: none;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    padding: 0
}

.main-menu__link {
    --link-color: var(--cn-950);
    --hover-color: var(--cp-500)
}

.menu {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.menu__items {
    list-style: none
}

.menu__item, .menu__items {
    margin: 0;
    padding: 0
}

.menu__link {
    --link-color: var(--cn-950);
    --hover-color: var(--cp-500);
    display: block;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    padding: 17px 0
}

.popup {
    ---backdrop-bg-color: rgba(9, 18, 31, .7);
    ---dialog-border-radius: 16px;
    ---dialog-bg-color: var(--cn-0);
    ---dialog-padding-x: 16px;
    align-items: center;
    display: none;
    flex-direction: column;
    height: 100%;
    inset: 0;
    justify-content: center;
    max-height: var(--doc-height);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: fixed;
    width: 100%;
    z-index: 1000
}

.popup.is-open, .popup.is-opening {
    display: flex
}

.popup__backdrop {
    background-color: var(---backdrop-bg-color);
    display: block;
    inset: 0;
    position: fixed
}

.popup__dialog {
    flex: 1 0 auto;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 100vh;
    height: var(--doc-height);
    max-height: var(--doc-height);
    overflow: hidden;
    position: relative
}

.popup__dialog, .popup__header {
    background-color: var(---dialog-bg-color);
    display: flex;
    width: 100%
}

.popup__header {
    align-items: flex-start;
    flex: none;
    flex-flow: row nowrap;
    gap: 1rem;
    min-height: 40px;
    padding: 12px var(---dialog-padding-x)
}

.popup__title {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0
}

.popup__btn-close {
    background-color: transparent;
    border: none;
    display: block;
    flex: none;
    height: 40px;
    margin: 0;
    order: 10;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s ease;
    width: 40px;
    z-index: 10
}

.popup__btn-close:after, .popup__btn-close:before {
    background-color: var(--text-color);
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    margin-left: -8px;
    position: absolute;
    top: 50%;
    transition: all .2s ease;
    width: 16px
}

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

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

.popup__btn-close:focus-visible:after, .popup__btn-close:focus-visible:before, .popup__btn-close:hover:after, .popup__btn-close:hover:before {
    background-color: var(--hover-color)
}

.popup__main {
    ---py: 24px;
    background-color: var(---dialog-bg-color);
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 32px;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 var(---dialog-padding-x);
    position: relative;
    width: 100%
}

.popup__main::-webkit-scrollbar-track {
    background-color: var(--scrollbar-track-color, transparent);
    -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, .05)
}

.popup__main::-webkit-scrollbar {
    background-color: var(--scrollbar-track-color, transparent);
    width: 4px
}

.popup__main::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb-color, #aaa);
    border-radius: 4px
}

.popup__main:first-child {
    padding-top: var(---py)
}

.popup__main:last-child {
    padding-bottom: var(---py)
}

.popup__footer {
    background-color: var(---dialog-bg-color);
    display: flex;
    flex: none;
    flex-flow: column;
    padding: .75rem var(---dialog-padding-x);
    width: 100%
}

.popup--order-success .button {
    margin-top: auto
}

.popup--video .popup__dialog {
    flex: 0 1 auto;
    height: auto
}

.popup--video .popup__header {
    height: 0;
    min-height: 0;
    padding: 0
}

.popup--video .popup__main {
    height: 100%;
    padding: 0 !important;
    width: 100%
}

.popup--video .popup__main video {
    aspect-ratio: 1280/720;
    height: 100%;
    width: 100%
}

.popup.is-opening .popup__backdrop {
    animation: popupBackdropOpening .3s forwards
}

.popup.is-opening .popup__dialog {
    animation: popupDialogOpening .3s forwards
}

.popup.is-closing .popup__backdrop {
    animation: popupBackdropClosing .3s
}

.popup.is-closing .popup__dialog {
    animation: popupDialogClosing .3s
}

@keyframes popupBackdropOpening {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes popupBackdropClosing {
    0% {
        opacity: 1
    }
    to {
        opacity: 0
    }
}

@keyframes popupDialogOpening {
    0% {
        opacity: 0;
        transform: scale(.8)
    }
    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes popupDialogClosing {
    0% {
        opacity: 1;
        transform: scale(1)
    }
    to {
        opacity: 0;
        transform: scale(.8)
    }
}

.nav {
    background-color: var(--cn-0);
    display: none;
    flex-direction: column;
    height: 100dvh;
    max-height: 100dvh;
    opacity: 0;
    padding-top: var(--header-height);
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(110%);
    transition: transform 0s ease, opacity .3s ease;
    width: 100%;
    will-change: opacity, transform;
    z-index: 110
}

.nav:before {
    background-color: var(--cn-50);
    content: "";
    height: var(--header-height);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.nav:focus {
    outline: none
}

.nav.is-open {
    box-shadow: 0 8px 16px rgba(0, 0, 0, .1);
    display: flex;
    opacity: 1;
    transform: none !important;
    transition: transform 0s linear, opacity .3s ease
}

.nav__container {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 24px;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 24px 24px 40px
}

.nav__social {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 12px;
    margin-top: auto
}

.reg-confirmation__text {
    color: var(--cn-950);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 32px
}

.reg-confirmation__title {
    color: var(--cn-950);
    font-family: var(--font-family-M);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 12px
}

.reg-confirmation__buttons {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.tabs-filter {
    margin: 0 -16px;
    width: calc(100% + 32px)
}

.tabs-filter__list {
    display: grid;
    gap: 6px;
    grid-auto-flow: column;
    grid-template-rows:auto;
    max-width: -webkit-min-content;
    max-width: -moz-min-content;
    max-width: min-content;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 16px;
    scroll-behavior: smooth;
    scroll-padding: 0 16px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    width: 100%
}

.tabs-filter__list::-webkit-scrollbar {
    display: none
}

.tabs-filter__tab {
    min-width: -webkit-min-content;
    min-width: -moz-min-content;
    min-width: min-content;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    white-space: nowrap
}

.map {
    background-color: #eee;
    display: block;
    width: 100%
}

.map--grayscale .ymaps-layers-pane, .map--grayscale [class*=ymaps-2][class*=-ground-pane] {
    filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
    filter: grayscale(100%)
}

.lightbox {
    ---bg-color: var(--cn-950);
    ---btn-width: 40px;
    background-color: var(---bg-color);
    display: none;
    flex-flow: row nowrap;
    inset: 0;
    position: fixed;
    z-index: 2000
}

.lightbox.is-open, .lightbox.is-opening {
    display: flex
}

.lightbox__main {
    display: flex;
    padding: 40px 0 20px;
    width: 100%
}

.lightbox--gallery .lightbox__main {
    width: calc(100% - var(---btn-width) * 2)
}

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

.lightbox__item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%
}

.lightbox__main > .lightbox__item {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%
}

.lightbox__image {
    align-items: center;
    display: flex;
    flex-grow: 1;
    justify-content: center;
    overflow: hidden;
    position: relative
}

.lightbox__image img {
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    position: relative;
    width: 100%;
    z-index: 11
}

.lightbox__details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 20px
}

.lightbox__caption {
    color: var(--cn-0);
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0
}

.lightbox__thumbs {
    display: none
}

.lightbox__thumbs-slider {
    height: 100%;
    max-height: 100%;
    width: 100%
}

.lightbox__thumbs-item {
    height: 84px;
    overflow: hidden;
    position: relative;
    width: 100%
}

.lightbox__thumbs-item:after {
    background-color: #111;
    content: "";
    inset: 0;
    opacity: .6;
    position: absolute;
    transition: opacity .5s;
    z-index: 12
}

.lightbox__thumbs-item.swiper-slide-thumb-active:after, .lightbox__thumbs-item:focus-visible:after, .lightbox__thumbs-item:hover:after {
    opacity: 0
}

.lightbox__thumbs-item img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: relative;
    width: 100%;
    z-index: 11
}

.lightbox__next, .lightbox__prev {
    align-items: center;
    background-color: #191919;
    border: none;
    color: #8c8580;
    display: flex;
    justify-content: center;
    transition: all .3s;
    width: var(---btn-width)
}

.lightbox__next:focus-visible, .lightbox__next:hover, .lightbox__prev:focus-visible, .lightbox__prev:hover {
    color: var(--color-white);
    outline: none
}

.lightbox__next.swiper-button-disabled, .lightbox__prev.swiper-button-disabled {
    color: var(--color-medium-100);
    opacity: 0
}

.lightbox__next svg, .lightbox__prev svg {
    height: 45px;
    width: 16px
}

.lightbox__next svg *, .lightbox__prev svg * {
    fill: currentColor !important
}

.lightbox__close-btn {
    ---color: #8c8580;
    background-color: transparent;
    border: none;
    display: block;
    height: var(---btn-width);
    position: absolute;
    right: 0;
    top: 0;
    transition: all .3s;
    width: var(---btn-width);
    z-index: 20
}

.lightbox__close-btn:focus-visible {
    ---color: var(--color-white)
}

.lightbox__close-btn:after, .lightbox__close-btn:before {
    background-color: var(---color);
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    margin-left: -12px;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    transition: all .3s;
    width: 24px
}

.lightbox__close-btn:before {
    transform: rotate(45deg)
}

.lightbox__close-btn:after {
    transform: rotate(-45deg)
}

.lightbox.is-opening {
    animation: popupDialogOpening .3s forwards
}

.lightbox.is-closing {
    animation: popupDialogClosing .3s
}

@keyframes lightboxOpening {
    0% {
        opacity: 0;
        transform: scale(.8)
    }
    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes lightboxClosing {
    0% {
        opacity: 1;
        transform: scale(1)
    }
    to {
        opacity: 0;
        transform: scale(.8)
    }
}

.awards-board {
    display: grid;
    gap: 12px;
    grid-template-columns:100%;
    width: 100%
}

.awards-board__pane {
    align-items: flex-start;
    background-color: var(--cn-0);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px 16px
}

.awards-board__title {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0
}

.awards-board__text {
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    max-width: 480px
}

.awards-board__img {
    align-self: flex-end;
    justify-self: flex-end;
    margin-top: 86px;
    max-width: 240px
}

.about-board {
    display: grid;
    gap: 12px;
    grid-template-columns:100%;
    width: 100%
}

.about-board__pane {
    background-color: var(--cn-0);
    border-radius: 12px;
    padding: 24px 16px
}

.about-board__title {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 24px
}

.about-board__text {
    color: var(--text-color);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0
}

.about-board__label {
    color: var(--cp-500);
    font-size: 1.125rem;
    margin: 0 0 12px
}

.about-board__date, .about-board__label {
    font-family: var(--font-family-B);
    font-weight: 600
}

.about-board__date {
    color: var(--text-color);
    font-size: 1.375rem;
    margin: 0
}

.about-board__links {
    align-items: flex-start;
    display: flex;
    flex-direction: column
}

.luchnik-board {
    display: grid;
    gap: 12px;
    grid-template-columns:100%;
    width: 100%
}

.luchnik-board__pane {
    background-color: var(--cn-0);
    border-radius: 12px;
    padding: 24px 16px
}

.luchnik-board__title {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0 0 30px
}

.luchnik-board__items {
    gap: 30px;
    list-style: none
}

.luchnik-board__item, .luchnik-board__items {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0
}

.luchnik-board__item {
    gap: 8px
}

.luchnik-board__item-label {
    color: var(--cn-600);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0
}

.luchnik-board__item-value {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0
}

.luchnik-board__note {
    color: var(--cn-600);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 30px 0 0
}

.luchnik-board__text {
    color: var(--text-color);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0
}

.luchnik-board__label {
    color: var(--cp-500);
    font-size: 1.125rem;
    margin: 0 0 12px
}

.luchnik-board__date, .luchnik-board__label {
    font-family: var(--font-family-B);
    font-weight: 600
}

.luchnik-board__date {
    color: var(--text-color);
    font-size: 1.375rem;
    margin: 0
}

.feat-board {
    display: grid;
    gap: 12px;
    grid-template-columns:100%;
    width: 100%
}

.feat-board__pane {
    background-color: var(--cn-0);
    border-radius: 10px;
    gap: 12px;
    padding: 24px 16px
}

.feat-board__block, .feat-board__pane {
    align-items: flex-start;
    display: flex;
    flex-direction: column
}

.feat-board__block {
    gap: 24px
}

.feat-board__icon {
    flex: none
}

.feat-board__caption {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.feat-board__title {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0;
    max-width: 400px
}

.feat-board__text {
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    max-width: 480px
}

.feat-board__img {
    align-self: flex-end;
    justify-self: flex-end;
    margin-top: 12px;
    max-width: 240px
}

.news-board {
    display: grid;
    gap: 12px;
    grid-template-columns:100%
}

.running-cards {
    display: block;
    overflow: hidden
}

.running-cards__wrapper {
    align-items: center;
    display: flex
}

.running-cards__wrapper > * {
    flex: none;
    margin-right: 12px
}

.carousel__item {
    box-sizing: border-box;
    height: auto;
    width: 280px
}

.carousel--wide .carousel__slider {
    overflow: visible
}

.carousel--laureates .swiper-slide {
    height: auto;
    width: 282px
}

.announs {
    display: block;
    position: relative
}

.announs__item {
    background-color: var(--cn-950);
    border-radius: 24px;
    min-height: 320px;
    overflow: hidden;
    padding: 24px 16px 112px;
    position: relative
}

.announs__item:after, .announs__item:before {
    background: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 85%, 0) 32%, hsla(0, 0%, 85%, .4) 68%, hsla(0, 0%, 85%, 0) 100%);
    border-radius: 50%;
    content: "";
    height: 480px;
    opacity: .5;
    position: absolute;
    width: 480px;
    z-index: 1
}

.announs__item:before {
    right: 0;
    top: 0;
    transform: translate(50%, -50%)
}

.announs__item:after {
    bottom: 0;
    left: 0;
    transform: translate(-50%, 50%)
}

.announs__announ {
    position: relative;
    z-index: 10
}

.announs__sphere {
    display: none
}

.announs__controls {
    bottom: 24px;
    gap: 24px;
    left: 16px;
    position: absolute;
    right: 16px;
    z-index: 15
}

.announs__controls, .announs__nav {
    align-items: center;
    display: flex;
    flex-flow: row nowrap
}

.announs__nav {
    gap: 12px
}

.announs__next, .announs__prev {
    background-color: hsla(0, 0%, 94%, .2);
    border: none;
    border-radius: 8px;
    color: var(--cn-0);
    display: inline-grid;
    font-size: 24px;
    height: 48px;
    padding: 0;
    place-items: center;
    transition: all .3s;
    width: 48px
}

.announs__next:focus-visible, .announs__prev:focus-visible {
    background-color: var(--cp-500)
}

.announs__next.swiper-button-disabled, .announs__prev.swiper-button-disabled {
    opacity: .5;
    pointer-events: none
}

.announs__pagination.swiper-pagination {
    justify-content: flex-start;
    margin-top: 0
}

.announs__pagination .swiper-pagination-bullet {
    ---color: hsla(0, 0%, 94%, .3);
    ---hover-color: var(--cn-0);
    ---active-color: var(--cn-0)
}

.video-block {
    border-radius: 12px;
    display: block;
    height: 240px;
    overflow: hidden;
    position: relative
}

.video-block__bg {
    ---preloader-color: #fff;
    aspect-ratio: unset;
    background-color: var(--cn-950);
    inset: 0;
    position: absolute
}

.video-block__bg img {
    opacity: .8;
    transition: all .5s
}

.video-block:focus-visible .video-block__bg img, .video-block:hover .video-block__bg img {
    opacity: 1;
    transform: scale(1.01)
}

.video-block__play {
    background-color: var(--cp-500);
    border-radius: 50%;
    color: var(--cn-0);
    display: inline-grid;
    font-size: 24px;
    height: 72px;
    left: 50%;
    place-items: center;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: all .3s;
    width: 72px;
    z-index: 5
}

.video-block:focus-visible .video-block__play, .video-block:hover .video-block__play {
    background-color: var(--cp-600)
}

.plyr-video {
    display: block
}

.header {
    ---h: var(--header-height);
    -webkit-backdrop-filter: blur(40px);
    backdrop-filter: blur(40px);
    background-color: hsla(0, 0%, 94%, .7);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 100
}

.header__container {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 12px;
    padding: 0 16px
}

.header__logo {
    margin-right: auto;
    position: relative;
    z-index: 120
}

.header__main-menu {
    display: none
}

.header__right {
    align-items: center;
    display: flex;
    flex: none;
    flex-flow: row nowrap;
    gap: 8px;
    margin-left: auto;
    position: relative;
    z-index: 120
}

.footer {
    background-color: var(--cn-950);
    color: var(--cn-0);
    overflow: hidden;
    padding: 24px 0;
    position: relative
}

.footer__container {
    display: grid;
    gap: 32px;
    grid-template-areas:"logo" "contacts" "social" "bottom";
    grid-template-columns:100%;
    grid-template-rows:auto;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-width);
    padding-left: var(--container-padding-x);
    padding-right: var(--container-padding-x);
    position: relative;
    width: 100%
}

.footer__container:before {
    background: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 85%, 0) 32%, hsla(0, 0%, 85%, .5) 68%, hsla(0, 0%, 85%, 0) 100%);
    border-radius: 50%;
    content: "";
    height: 1500px;
    left: 0;
    opacity: .4;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 1500px;
    z-index: 1
}

.footer__col {
    position: relative;
    z-index: 3
}

.footer__col:first-child {
    grid-area: logo
}

.footer__col:nth-child(2) {
    grid-area: contacts
}

.footer__col:nth-child(3) {
    align-self: center;
    grid-area: social
}

.footer__col:nth-child(4) {
    align-self: end;
    grid-area: bottom
}

.footer__logo {
    margin-bottom: -24px;
    margin-top: -24px
}

.footer__social {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 12px;
    margin-top: auto
}

.footer__contacts {
    display: grid;
    grid-template-columns:100%
}

.footer__contacts .footer-contact:first-child {
    ---border-width: 0
}

.footer p {
    color: var(--cn-0);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4
}

.footer p a {
    --link-color: currentColor;
    --hover-color: var(--cp-500)
}

.section {
    overflow: hidden;
    width: 100%
}

.section__header {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 24px
}

.section__title {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0
}

.first-section {
    background-color: var(--cn-950);
    position: relative
}

.first-section:before {
    background-image: linear-gradient(180deg, transparent, #000);
    bottom: 0;
    content: "";
    height: 240px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 2
}

.first-section__bg {
    bottom: 180px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.first-section__bg img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 70% 50%;
    object-position: 70% 50%;
    width: 100%
}

.first-section__container {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100vh;
    min-height: calc(100dvh - var(--header-height));
    position: relative;
    width: 100%;
    z-index: 5
}

.first-section__container:before {
    background-image: linear-gradient(180deg, transparent, #000 68%);
    bottom: 0;
    content: "";
    height: 356px;
    left: 0;
    position: absolute;
    width: 100%
}

.first-section__row {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    z-index: 5
}

.first-section__title {
    color: var(--cn-0);
    font-family: var(--font-family-B);
    font-size: 1.625rem;
    font-weight: 600;
    margin: 0;
    padding: 24px 16px
}

.first-section__buttons {
    background-color: var(--cn-950);
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 24px 16px
}

.constellation-section {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.constellation-section__title {
    margin-bottom: 24px
}

.constellation-section__text {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    max-width: 1200px
}

.constellation-section__text:last-child {
    color: var(--cn-600);
    max-width: 1000px
}

.categories-section {
    display: flex;
    flex-direction: column;
    gap: 48px
}

.categories-section__title {
    margin-bottom: 0
}

.categories-section__title-3 {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 24px
}

.format-section__title {
    margin-bottom: 32px
}

.format-section__text {
    color: var(--cn-600);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 40px;
    max-width: 1000px
}

.nominations-section__title {
    margin-bottom: 40px
}

.awards-section__title {
    margin-bottom: 32px
}

.awards-section__text {
    color: var(--cn-600);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 40px;
    max-width: 1000px
}

.design-section__content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 60px
}

.design-section__text {
    color: var(--text-color);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    max-width: 1200px
}

.design-section__text a {
    --link-color: var(--cp-400);
    --hover-color: var(--cp-500);
    text-decoration: none
}

.design-section__subsection {
    display: flex;
    flex-direction: column;
    width: 100%
}

.design-section__title-3 {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 40px
}

.design-section__note {
    color: var(--cn-600);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    max-width: 1200px
}

.design-section__note:not(:first-child) {
    margin-top: 40px
}

.design-section__box {
    background-color: var(--cn-0);
    border-radius: 12px;
    color: var(--text-color);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 24px 16px
}

.design-section__box-section .dot-list:not(:last-child), .design-section__box-section:not(:last-child) {
    margin-bottom: 30px
}

.design-section__title-4 {
    color: var(--cp-500);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0 0 30px
}

.page {
    background-color: var(--body-bg-color);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative
}

.page__footer, .page__header {
    flex: none;
    width: 100%
}

.page__content, .page__main {
    --gap: 60px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: var(--gap);
    padding-bottom: var(--gap);
    padding-top: 0;
    width: 100%
}

.page__content > :last-child, .page__main > :last-child {
    margin-bottom: 0
}

.page__content:has(.breadcrumbs), .page__main:has(.breadcrumbs) {
    --gap: 0;
    padding-bottom: 60px;
    padding-top: 24px
}

.page__container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--container-width);
    padding-left: var(--container-padding-x);
    padding-right: var(--container-padding-x);
    width: 100%
}

.auth-view {
    display: flex;
    flex-grow: 1;
    height: 100%;
    height: 100dvh;
    max-height: 100dvh
}

.auth-view__sidebar {
    background-color: var(--cn-0);
    display: flex;
    flex: 1 0 100%;
    flex-direction: column;
    height: auto;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 24px 16px;
    width: 100%
}

.auth-view__sidebar .form {
    flex-grow: 1
}

.auth-view__header {
    align-items: start;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px
}

.auth-view__title {
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0
}

.auth-view__banner {
    display: none
}

.auth-view__logo {
    ---w: 259px;
    ---h: 160px;
    color: var(--cn-100);
    margin-bottom: 90px;
    position: relative;
    z-index: 3
}

.auth-view__sphere {
    ---size: 500px;
    height: var(---size);
    max-height: calc(100dvh - 360px);
    max-width: unset;
    position: relative;
    width: auto;
    z-index: 4
}

.nominations-view__title {
    margin-bottom: 60px
}

.nominations-view__items {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.projects-view__title {
    margin-bottom: 60px
}

.projects-view__items {
    --columns: 1;
    display: grid;
    gap: 12px;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr))
}

.laureate-view {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4
}

.laureate-view__grid {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.laureate-view__main {
    display: block
}

.laureate-view__label {
    color: var(--cp-500);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 12px
}

.laureate-view__title {
    font-family: var(--font-family-B);
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 40px
}

.laureate-view__img {
    ---aspect-ratio: 600/750;
    ---border-radius: 20px;
    display: block;
    order: -1
}

.persons-view__tabs, .persons-view__title {
    margin-bottom: 24px
}

.persons-view__items {
    --columns: 1;
    display: grid;
    gap: 12px;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr))
}

.contacts-view__address {
    color: var(--cn-950);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 24px
}

.contacts-view__grid {
    display: grid;
    gap: 24px;
    grid-template-columns:100%
}

.contacts-view__map {
    background-color: #ccc;
    border-radius: 16px;
    height: 600px;
    overflow: hidden;
    width: 100%
}

.contacts-view__box {
    background-color: var(--cn-0);
    border-radius: 16px;
    padding: 24px 16px
}

.contacts-view__box-title {
    color: var(--cn-950);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0 0 24px
}

.contacts-view__box-text {
    color: var(--cn-600);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 24px
}

.gallery-view__items {
    --columns: 1
}

.gallery-view__items, .photos-view__photos {
    display: grid;
    gap: 12px;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr))
}

.photos-view__photos {
    --columns: 2
}

.photos-view__photos > * {
    aspect-ratio: 1;
    overflow: hidden
}

.photos-view__photos > * img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.partners-view__tabs, .partners-view__title {
    margin-bottom: 24px
}

.partners-view__items {
    --columns: 2;
    display: grid;
    gap: 12px;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr))
}

.competitions-view__grid {
    display: grid;
    gap: 40px;
    grid-template-columns:100%
}

.competitions-view__main {
    background-color: var(--cn-950);
    border-radius: 24px;
    overflow: hidden;
    padding-bottom: 230px;
    position: relative
}

.competitions-view__main:after, .competitions-view__main:before {
    background: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 85%, 0) 32%, hsla(0, 0%, 85%, .4) 68%, hsla(0, 0%, 85%, 0) 100%);
    border-radius: 50%;
    content: "";
    height: 1500px;
    opacity: .4;
    position: absolute;
    width: 1500px;
    z-index: 1
}

.competitions-view__main:before {
    right: 0;
    top: 0;
    transform: translate(80%, -60%)
}

.competitions-view__main:after {
    bottom: 0;
    left: 0;
    transform: translate(-30%, 60%)
}

.competitions-view__knot {
    bottom: 0;
    height: 350px;
    position: absolute;
    right: 0;
    transform: translate(25%, 25%);
    width: 350px
}

.competitions-view__main-items {
    padding: 24px 16px;
    position: relative;
    z-index: 10
}

.competitions-view__aside, .competitions-view__main-items {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.news-view__tabs {
    margin-bottom: 24px
}

.news-view__content {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.news-view__top {
    display: grid;
    gap: 12px;
    grid-template-columns:100%
}

.news-view__items {
    --columns: 1;
    display: grid;
    gap: 16px;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr))
}

.news-post-view {
    display: block
}

.news-post-view__article, .news-post-view__grid {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.news-post-view__header {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.news-post-view__img {
    border-radius: 16px;
    display: block;
    height: 200px;
    overflow: hidden;
    width: 100%
}

.news-post-view__img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.news-post-view__title {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.625rem;
    font-weight: 600;
    margin: 0
}

.news-post-view__date {
    color: var(--cn-600);
    margin: 0
}

.news-post-view__date, .news-post-view__main {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4
}

.news-post-view__main {
    color: var(--text-color)
}

.news-post-view__aside {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.news-post-view__aside-items {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.books-view__text {
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4
}

.books-view__section:not(:last-child), .books-view__text:not(:last-child) {
    margin-bottom: 60px
}

.books-view__section-title {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0 0 40px
}

.books-view__items {
    --columns: 2;
    display: grid;
    gap: 24px;
    grid-template-columns:repeat(var(--columns), minmax(0, 1fr))
}

.book-view__grid {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.book-view__product {
    display: flex;
    flex-direction: column;
    max-width: 360px
}

.book-view__img {
    ---aspect-ratio: unset;
    ---img-height: auto;
    ---img-object-fit: unset;
    margin-bottom: 24px;
    max-width: 360px;
    min-height: 400px
}

.book-view__product-title {
    color: var(--text-color);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 12px
}

.book-view__price {
    color: var(--cp-500);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0 0 24px
}

.book-view__order-button {
    width: 100%
}

.book-view__title-2 {
    font-size: 1.375rem;
    margin: 0 0 48px
}

.book-view__title-2, .book-view__title-3 {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-weight: 600
}

.book-view__title-3 {
    font-size: 1.125rem;
    margin: 0 0 12px
}

.book-view__contents-item:not(:last-child) {
    margin-bottom: 32px
}

.book-view__contents-item p {
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4
}

.luchnik-view__header {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 60px
}

.luchnik-view__main {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.luchnik-view__title {
    color: var(--title-color);
    font-family: var(--font-family-B);
    font-size: 1.75rem;
    font-weight: 600;
    margin: 0
}

.luchnik-view__period {
    color: var(--cn-400);
    display: block;
    font-family: var(--font-family-B);
    font-size: 2.5rem;
    line-height: 1;
    padding: 4px 0
}

.about-view__main {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.about-view__text {
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4
}

.page-400 {
    background-color: var(--cn-50);
    flex-grow: 1;
    gap: 32px;
    justify-content: center;
    min-height: 100dvh;
    overflow: hidden;
    padding: 20px;
    position: relative;
    width: 100%
}

.page-400, .page-400__content {
    align-items: center;
    display: flex;
    flex-direction: column
}

.page-400__content {
    gap: 36px
}

.page-400__title {
    color: var(--text-color);
    font-family: var(--font-family-B);
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0;
    text-align: center
}

.page-400--light {
    background-color: var(--cn-50)
}

.page-400--dark {
    background-color: var(--cn-950)
}

.page-400--dark:after, .page-400--dark:before {
    background: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 85%, 0) 32%, hsla(0, 0%, 85%, .4) 68%, hsla(0, 0%, 85%, 0) 100%);
    border-radius: 50%;
    content: "";
    height: 1500px;
    opacity: .4;
    position: absolute;
    width: 1500px;
    z-index: 1
}

.page-400--dark:before {
    right: 0;
    top: 0;
    transform: translate(50%, -50%)
}

.page-400--dark:after {
    bottom: 0;
    left: 0;
    transform: translate(-50%, 50%)
}

.page-400--dark .page-400__title {
    color: var(--cn-0)
}

@media (min-width: 480px) {
    .form--consult .form__footer {
        align-items: center;
        flex-flow: row nowrap
    }

    .form--consult .form__footer .button {
        flex: none
    }

    .luchnik-board__items {
        align-items: flex-start;
        flex-flow: row wrap
    }

    .feat-board__block {
        align-items: flex-start;
        flex-flow: row nowrap
    }

    .first-section__title {
        padding-bottom: 32px
    }

    .gallery-view__items, .persons-view__items {
        --columns: 2
    }

    .partners-view__items {
        --columns: 3
    }

    .plyr__captions {
        font-size: 15px;
        font-size: var(--plyr-font-size-base, 15px);
        padding: 20px;
        padding: calc(var(--plyr-control-spacing, 10px) * 2)
    }

    .plyr--video .plyr__controls {
        padding: 10px;
        padding: var(--plyr-control-spacing, 10px);
        padding-top: 35px;
        padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5)
    }
}

@media (min-width: 48em) {
    .index-header__btn-uikit span {
        display: inline-flex
    }
}

@media (min-width: 768px) {
    .form--login .form__buttons, .form--registration .form__buttons, .form__buttons {
        flex-direction: row
    }

    .nav {
        width: 480px
    }

    .reg-confirmation__buttons {
        flex-flow: row wrap
    }

    .footer__contacts {
        grid-template-columns:repeat(2, minmax(0, 1fr));
        --columns: 1;
        gap: 20px
    }

    .footer__contacts .footer-contact:first-child {
        order: -6
    }

    .footer__contacts .footer-contact:nth-child(2) {
        order: -4
    }

    .footer__contacts .footer-contact:nth-child(3) {
        order: -2
    }

    .footer__contacts .footer-contact:nth-child(4) {
        ---border-width: 0;
        order: -5
    }

    .footer__contacts .footer-contact:nth-child(5) {
        order: -3
    }

    .footer__contacts .footer-contact:nth-child(6) {
        order: -1
    }

    .projects-view__items {
        --columns: 2
    }

    .persons-view__items, .photos-view__photos {
        --columns: 3
    }

    .partners-view__items {
        --columns: 4
    }

    .news-view__items {
        --columns: 2
    }

    .books-view__items {
        --columns: 3
    }

    .plyr__captions {
        font-size: 18px;
        font-size: var(--plyr-font-size-large, 18px)
    }
}

@media (min-width: 1024px) {
    .lightbox {
        ---btn-width: 60px
    }

    .lightbox__main {
        padding: 40px 0
    }

    .lightbox__item {
        gap: 60px
    }

    .lightbox__details {
        order: -1;
        padding: 0 40px
    }

    .lightbox__thumbs {
        display: block;
        flex: none;
        height: 100%;
        padding: 40px 20px 0;
        width: 140px
    }

    .lightbox__next svg, .lightbox__prev svg {
        height: 64px;
        width: 22px
    }

    .lightbox__close-btn:after, .lightbox__close-btn:before {
        height: 2px;
        margin-left: -20px;
        width: 40px
    }

    .section__header {
        align-items: center;
        flex-flow: row nowrap;
        justify-content: space-between;
        margin-bottom: 40px
    }

    .laureate-view {
        margin-top: 40px
    }

    .laureate-view__grid {
        align-items: flex-start;
        flex-flow: row nowrap;
        justify-content: space-between
    }

    .laureate-view__main {
        max-width: 900px
    }

    .laureate-view__img {
        flex: none;
        order: unset;
        width: 400px
    }

    .persons-view__items {
        --columns: 4
    }

    .gallery-view__items {
        --columns: 3
    }

    .photos-view__photos {
        --columns: 4
    }

    .partners-view__items {
        --columns: 5
    }

    .news-view__items {
        --columns: 3
    }

    .books-view__items {
        --columns: 4
    }
}

@media (min-width: 64em) {
    html.index {
        --index-container-padding-x: 20px
    }

    .index-item__top {
        flex-wrap: nowrap
    }

    .index-items {
        --columns: 2
    }

    .index-items > .index-section, .index-items > .index-subsection {
        grid-column: 1/3
    }

    .index-subsection {
        padding-left: 24px
    }

    .index-section {
        margin-inline: auto;
        width: 100%
    }

    .index-section__content {
        padding: 24px 0 16px
    }

    .index-header__title {
        font-size: 24px
    }

    .index-header__btn-nav {
        display: none
    }

    .index-page__aside {
        border-top: none;
        bottom: 0;
        height: var(--index-content-height);
        left: auto;
        max-height: var(--index-content-height);
        opacity: 1;
        overflow-x: hidden;
        overflow-y: auto;
        padding-top: 0;
        position: -webkit-sticky;
        position: sticky;
        top: var(--index-header-height);
        transform: none;
        width: var(--index-aside-width)
    }

    .index-page__aside::-webkit-scrollbar-track {
        background-color: transparent;
        -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, .05)
    }

    .index-page__aside::-webkit-scrollbar {
        background-color: transparent;
        width: 6px
    }

    .index-page__aside::-webkit-scrollbar-thumb {
        background-color: var(--index-scrollbar-color);
        border-radius: 4px
    }

    .index-page__main {
        --index-main-pt: 24px;
        --index-main-pb: 40px
    }
}

@media (min-width: 1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }

    .plyr:-moz-full-screen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }

    .plyr:fullscreen .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }

    .plyr--fullscreen-fallback .plyr__captions {
        font-size: 21px;
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

@media (min-width: 1280px) {
    .laureate-view__img {
        width: 600px
    }

    .persons-view__items {
        --columns: 5
    }

    .photos-view__photos {
        --columns: 10
    }

    .photos-view__photos > * {
        grid-column: span 2
    }

    .photos-view__photos > :first-child, .photos-view__photos > :nth-child(2) {
        aspect-ratio: unset;
        grid-column: span 5;
        height: 550px
    }

    .photos-view__photos > a {
        display: flex;
        flex-direction: column
    }

    .photos-view__photos > a image-box {
        ---bg-color: var(--cn-200);
        height: 100%;
        width: 100%
    }

    .partners-view__items {
        --columns: 6
    }

    .news-view__items {
        --columns: 4
    }

    .books-view__items {
        --columns: 5
    }
}

@media (min-width: 80em) {
    :root {
        --container-padding-x: 40px;
        --corner-2: 10;
        --corner-3: 16;
        --corner-4: 24;
        --corner-5: 32;
        --header-height: 96px
    }

    .page-title, .section-title, .title-1, h1 {
        font-size: 2.625rem
    }

    .title, .title-2, h2 {
        font-size: 1.9rem
    }

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

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

    .title-5, .title-6, h5, h6 {
        font-size: 0.55rem
    }

    .hidden-desktop {
        display: none !important
    }

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

    body {
        font-size: 1rem;
        overflow-x: hidden;
        overflow-y: auto;
        overflow-y: scroll !important
    }

    body::-webkit-scrollbar-track {
        background-color: var(--scrollbar-track-color);
        -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, .05)
    }

    body::-webkit-scrollbar {
        background-color: var(--scrollbar-track-color);
        width: 10px
    }

    body::-webkit-scrollbar-thumb {
        background-color: var(--scrollbar-thumb-color);
        border-radius: 4px
    }

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

    html.index body {
        overflow-x: hidden;
        overflow-y: auto
    }

    html.index body::-webkit-scrollbar-track {
        background-color: transparent;
        -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, .05)
    }

    html.index body::-webkit-scrollbar {
        background-color: transparent;
        width: 10px
    }

    html.index body::-webkit-scrollbar-thumb {
        background-color: var(--index-scrollbar-color);
        border-radius: 4px
    }

    html.index :target {
        scroll-margin-top: 84px
    }

    .index-items {
        --columns: 3
    }

    .index-items > .index-section, .index-items > .index-subsection {
        grid-column: 1/4
    }

    .swiper-pagination {
        margin-top: 48px
    }

    .button--text {
        font-size: 1rem
    }

    .row {
        gap: 2.5rem
    }

    .row--2 {
        --columns: 2
    }

    .row--3 {
        --columns: 3
    }

    .row--4 {
        --columns: 4
    }

    .logo--header {
        ---w: 186px;
        ---h: 115px
    }

    .logo--footer {
        ---w: 414px;
        ---h: 266px
    }

    .user-btn {
        font-size: 1rem
    }

    .user-btn__label {
        display: inline-block
    }

    .page__main:has(.narrow-container) .breadcrumbs {
        max-width: 100%;
        padding-left: 60px;
        padding-right: 60px
    }

    .breadcrumbs__item {
        font-size: 1rem
    }

    .pagination {
        margin-top: 64px
    }

    .pagination__link {
        font-size: 1.125rem;
        height: 3.5rem;
        width: 3.5rem
    }

    .dot-list, .num-list li {
        font-size: 1.25rem
    }

    .num-list li {
        justify-content: center;
        min-height: 112px;
        padding: 24px 24px 24px 112px
    }

    .num-list li:before {
        font-size: 1.25rem;
        left: 24px;
        margin-top: -32px;
        top: 50%
    }

    .num-list__title {
        font-size: 2rem
    }

    .num-list__text {
        font-size: 1.125rem
    }

    .icon-text {
        align-items: center;
        flex-flow: row nowrap;
        font-size: 1.25rem
    }

    .checkbox__label, .custom-select__item, .input {
        font-size: 1rem
    }

    .custom-select--inline .custom-select__button {
        font-size: 3.125rem;
        height: 4.375rem;
        padding-bottom: 5px;
        padding-right: 36px
    }

    .custom-select--inline .custom-select__button-arrow {
        margin-top: -14px
    }

    .custom-select--inline .custom-select__button-arrow svg {
        height: 24px;
        width: 24px
    }

    .custom-select--inline .custom-select__item {
        font-size: 1.25rem;
        padding: 4px 12px
    }

    .radio-tab {
        font-size: 1.25rem;
        ---size: 48px
    }

    .field-label {
        font-size: 1rem
    }

    .validator-error, .validator-error-message {
        font-size: .875rem
    }

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

    .form__row--2 {
        --columns: 2
    }

    .form__row--3 {
        --columns: 3
    }

    .form__row--4 {
        --columns: 4
    }

    .form--login .form__footer, .form--registration .form__footer {
        margin-top: unset
    }

    .inline-select {
        min-height: 70px;
        min-width: 160px
    }

    .footer-contact__title {
        font-size: 1.25rem
    }

    .footer-contact__about, .footer-contact__contacts {
        font-size: 1rem
    }

    .result-card {
        padding: 32px
    }

    .result-card__title {
        font-size: 1.25rem
    }

    .result-card__text {
        font-size: 1rem
    }

    .nomination-card {
        align-items: flex-start;
        flex-flow: row nowrap;
        padding: 24px
    }

    .nomination-card__number {
        font-size: 1.25rem
    }

    .nomination-card__title {
        font-size: 2rem
    }

    .nomination-card__text {
        font-size: 1.125rem
    }

    .project-card {
        flex-flow: row nowrap;
        padding: 16px 32px 16px 16px
    }

    .project-card__img {
        flex: none;
        ---aspect-ratio: unset;
        height: auto;
        width: 240px
    }

    .project-card__main {
        padding: 0
    }

    .project-card__label {
        font-size: 1rem
    }

    .project-card__nomination {
        font-size: 1.25rem
    }

    .project-card__project {
        font-size: 1.125rem
    }

    .project-card__company {
        font-size: 1rem
    }

    .person-card {
        padding: 24px
    }

    .person-card__avatar {
        margin-bottom: 40px
    }

    .person-card__name {
        font-size: 1.25rem
    }

    .person-card__about {
        font-size: 1rem
    }

    .person-block__header {
        align-items: center;
        flex-flow: row nowrap
    }

    .person-block__avatar {
        ---size: 200px
    }

    .person-block__name {
        font-size: 1.25rem
    }

    .person-block__about, .person-block__main {
        font-size: 1.125rem
    }

    .album-card {
        border-radius: 16px
    }

    .album-card__title {
        font-size: 1rem
    }

    .running-cards .partner-card {
        height: 100%;
        min-height: 260px;
        width: 240px
    }

    .partner-card__title {
        font-size: 1rem
    }

    .comp-item__label {
        font-size: 1.25rem
    }

    .comp-card {
        padding: 40px 24px
    }

    .comp-card__label {
        font-size: 1.25rem
    }

    .news-card__main {
        padding-bottom: 40px
    }

    .news-card__date, .news-card__text, .news-card__title {
        font-size: 1rem
    }

    .news-card--bigger .news-card__title {
        font-size: 1.25rem
    }

    .news-card--bigger .news-card__main {
        padding-bottom: 16px
    }

    .news-card--mid .news-card__title {
        font-size: 1.125rem
    }

    .news-card--mid .news-card__main {
        padding-bottom: 16px
    }

    .news-big-card {
        padding: 24px
    }

    .news-big-card__title {
        font-size: 2rem
    }

    .news-big-card__date {
        font-size: 1.125rem
    }

    .book-card__title {
        font-size: 1.25rem
    }

    .event-card__main {
        padding: 24px 40px
    }

    .event-card__date {
        font-size: 1rem
    }

    .event-card__title {
        font-size: 1.5rem
    }

    .event-card__text {
        font-size: 1.125rem
    }

    .laureate-card {
        min-height: 500px
    }

    .laureate-card__main {
        padding: 24px
    }

    .laureate-card__label, .laureate-card__title {
        font-size: 1rem
    }

    .announ {
        align-items: flex-start;
        flex-flow: row nowrap
    }

    .announ__icon {
        margin-top: 2px
    }

    .announ__title {
        font-size: 2rem
    }

    .announ__text {
        font-size: 1.125rem
    }

    .stub-banner {
        background-color: var(--cn-950)
    }

    .stub-banner:after, .stub-banner:before {
        background: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 85%, 0) 32%, hsla(0, 0%, 85%, .4) 68%, hsla(0, 0%, 85%, 0) 100%);
        border-radius: 50%;
        content: "";
        height: 1400px;
        opacity: .5;
        position: absolute;
        width: 1400px;
        z-index: 1
    }

    .stub-banner:before {
        right: 0;
        top: 0;
        transform: translate(40%, -60%)
    }

    .stub-banner:after {
        bottom: 0;
        left: 0;
        transform: translate(-30%, 60%)
    }

    .stub-banner__main {
        justify-content: center;
        left: 194px;
        right: auto;
        width: 276px
    }

    .stub-banner__logo {
        height: 140px;
        width: 117px
    }

    .stub-banner__label {
        font-size: 1.5rem
    }

    .stub-banner__knot {
        bottom: auto;
        height: 740px;
        left: 677px;
        top: 50%;
        transform: translateY(-50%);
        width: 740px
    }

    .main-menu__item, .menu__link {
        font-size: 1rem
    }

    .popup {
        ---dialog-padding-x: 56px;
        padding: 0 40px
    }

    .popup__dialog {
        border-radius: var(---dialog-border-radius);
        flex: 0 1 auto;
        height: auto;
        max-height: calc(100vh - 56px);
        max-width: 836px;
        width: 100%
    }

    .popup__header {
        border-radius: var(---dialog-border-radius) var(---dialog-border-radius) 0 0;
        padding: 32px var(---dialog-padding-x)
    }

    .popup__title {
        font-size: 1.25rem
    }

    .popup__main {
        ---py: 56px;
        flex: 0 1 auto;
        gap: 48px
    }

    .popup__footer {
        border-radius: 0 0 var(---dialog-border-radius) var(---dialog-border-radius);
        padding: 2rem var(---dialog-padding-x) 2.5rem
    }

    .popup--mid .popup__dialog {
        max-width: 660px
    }

    .popup--small .popup__dialog {
        max-width: 400px
    }

    .popup--video .popup__dialog {
        flex: 0 1 auto;
        height: 100%;
        max-height: 720px;
        max-width: 1280px;
        width: 100%
    }

    .popup--video .popup__header {
        min-height: 0;
        padding: 0
    }

    .nav__container {
        padding: 24px 40px 40px
    }

    .reg-confirmation__text {
        font-size: 1rem
    }

    .reg-confirmation__title {
        font-size: 1.125rem
    }

    .tabs-filter {
        margin: 0;
        width: 100%
    }

    .tabs-filter__list {
        padding: 0
    }

    .lightbox__caption {
        font-size: 1.25rem
    }

    .awards-board {
        grid-template-columns:1fr 670px;
        grid-template-rows:auto
    }

    .awards-board__pane {
        padding: 24px
    }

    .awards-board__pane:first-child {
        grid-column: 1/2;
        grid-row: 1/3
    }

    .awards-board__pane:nth-child(2) {
        grid-column: 2/3;
        grid-row: 1/2
    }

    .awards-board__pane:nth-child(3) {
        grid-column: 2/3;
        grid-row: 2/3
    }

    .awards-board__title {
        font-size: 1.25rem
    }

    .awards-board__text {
        font-size: 1.125rem
    }

    .awards-board__img {
        max-width: 100%
    }

    .about-board {
        grid-template-columns:1fr 360px 390px;
        grid-template-rows:auto
    }

    .about-board__pane {
        border-radius: 16px;
        padding: 40px
    }

    .about-board__pane:first-child {
        grid-column: 1/2;
        grid-row: 1/3;
        padding: 60px
    }

    .about-board__pane:nth-child(2) {
        grid-column: 2/3;
        grid-row: 1/2
    }

    .about-board__pane:nth-child(3) {
        grid-column: 2/3;
        grid-row: 2/3
    }

    .about-board__pane:nth-child(4) {
        grid-column: 3/4;
        grid-row: 1/3
    }

    .about-board__title {
        font-size: 1.5rem;
        margin-bottom: 30px
    }

    .about-board__label, .about-board__text {
        font-size: 1.25rem
    }

    .about-board__date {
        font-size: 2rem
    }

    .luchnik-board {
        grid-template-columns:repeat(6, 1fr);
        grid-template-rows:auto
    }

    .luchnik-board__pane {
        border-radius: 16px;
        padding: 40px
    }

    .luchnik-board__pane:first-child {
        grid-column: 1/5;
        grid-row: 1/3;
        padding: 70px 60px 60px
    }

    .luchnik-board__pane:nth-child(2) {
        grid-column: 5/7;
        grid-row: 1/2
    }

    .luchnik-board__pane:nth-child(3) {
        grid-column: 5/7;
        grid-row: 2/3
    }

    .luchnik-board__pane:nth-child(4) {
        grid-column: 1/4;
        grid-row: 3/4
    }

    .luchnik-board__pane:nth-child(5) {
        grid-column: 4/7;
        grid-row: 3/4
    }

    .luchnik-board__title {
        font-size: 2rem
    }

    .luchnik-board__item-label {
        font-size: 1.25rem
    }

    .luchnik-board__item-value {
        font-size: 1.5rem
    }

    .luchnik-board__note {
        font-size: 1rem
    }

    .luchnik-board__label, .luchnik-board__text {
        font-size: 1.25rem
    }

    .luchnik-board__date {
        font-size: 2rem
    }

    .feat-board {
        grid-template-columns:1fr 670px;
        grid-template-rows:auto
    }

    .feat-board__pane {
        padding: 40px
    }

    .feat-board__pane:first-child {
        grid-column: 1/2;
        grid-row: 1/2
    }

    .feat-board__pane:nth-child(2) {
        grid-column: 1/2;
        grid-row: 2/3
    }

    .feat-board__pane:nth-child(3) {
        grid-column: 2/3;
        grid-row: 1/3;
        padding: 40px 52px
    }

    .feat-board__title {
        font-size: 2rem
    }

    .feat-board__text {
        font-size: 1.125rem
    }

    .feat-board__img {
        max-width: 100%
    }

    .news-board {
        grid-template-columns:520px 1fr 1fr;
        grid-template-rows:auto
    }

    .news-board__item:first-child {
        grid-column: 1/2;
        grid-row: 1/3;
        min-height: 690px
    }

    .news-board__item:nth-child(2) {
        grid-column: 2/3;
        grid-row: 1/2
    }

    .news-board__item:nth-child(3) {
        grid-column: 3/4;
        grid-row: 1/2
    }

    .news-board__item:nth-child(4) {
        grid-column: 2/3;
        grid-row: 2/3
    }

    .news-board__item:nth-child(5) {
        grid-column: 3/4;
        grid-row: 2/3
    }

    .carousel--laureates .swiper-slide, .carousel__item {
        width: 360px
    }

    .announs__item {
        padding: 48px 90px
    }

    .announs__item:before {
        transform: translate(40%, -60%)
    }

    .announs__item:after, .announs__item:before {
        height: 1400px;
        width: 1400px
    }

    .announs__sphere {
        display: inline-block;
        left: 1000px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 570px;
        z-index: 3
    }

    .announs__controls {
        bottom: 48px;
        left: 90px
    }

    .announs__pagination.swiper-pagination {
        margin-top: 0
    }

    .video-block {
        border-radius: 16px;
        height: 578px
    }

    .header__container {
        padding: 0 40px
    }

    .header__main-menu {
        display: block
    }

    .header__right {
        gap: 16px
    }

    .footer {
        padding: 80px 0
    }

    .footer__container {
        grid-template-areas:"logo contacts" "social contacts" "bottom contacts";
        grid-template-columns:496px 1fr
    }

    .footer__container:after {
        background: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 85%, 0) 32%, hsla(0, 0%, 85%, .5) 68%, hsla(0, 0%, 85%, 0) 100%);
        border-radius: 50%;
        content: "";
        height: 1290px;
        left: 30%;
        opacity: .4;
        position: absolute;
        top: 0;
        transform: translateY(-70%);
        width: 1992px;
        z-index: 1
    }

    .footer__logo {
        margin-bottom: -40px;
        margin-top: -40px
    }

    .footer__contacts .footer-contact:nth-child(4) {
        ---border-width: 0
    }

    .footer__contacts {
        gap: 40px
    }

    .footer p {
        font-size: 1rem
    }

    .section__title {
        font-size: 3.125rem
    }

    .first-section__bg {
        bottom: 0
    }

    .first-section__bg img {
        -o-object-position: center;
        object-position: center;
        opacity: .66
    }

    .first-section__container {
        margin-left: auto;
        margin-right: auto;
        max-width: var(--container-width);
        padding-bottom: 64px;
        padding-left: var(--container-padding-x);
        padding-right: var(--container-padding-x);
        padding-top: 64px
    }

    .first-section__container:before {
        display: none
    }

    .first-section__row {
        align-items: center;
        flex-flow: row nowrap;
        justify-content: space-between
    }

    .first-section__title {
        font-size: 2.5rem;
        max-width: 700px;
        padding: 0
    }

    .first-section__buttons {
        background-color: transparent;
        flex-flow: row wrap;
        padding: 0
    }

    .constellation-section {
        gap: 80px
    }

    .constellation-section__text {
        font-size: 1.125rem
    }

    .categories-section__title-3 {
        font-size: 1.5rem
    }

    .format-section__text {
        font-size: 1.25rem
    }

    .nominations-section__title {
        margin-bottom: 48px
    }

    .awards-section__text {
        font-size: 1.25rem
    }

    .design-section__title {
        margin-bottom: 60px
    }

    .design-section__content {
        gap: 80px
    }

    .design-section__text {
        font-size: 1.25rem
    }

    .design-section__title-3 {
        font-size: 1.5rem
    }

    .design-section__note {
        font-size: 1.125rem
    }

    .design-section__box {
        font-size: 1.25rem;
        padding: 40px
    }

    .design-section__title-4 {
        font-size: 2rem
    }

    .page__content, .page__main {
        --gap: 64px
    }

    .page__content:has(.breadcrumbs), .page__main:has(.breadcrumbs) {
        --gap: 0;
        padding-bottom: 80px;
        padding-top: 64px
    }

    .auth-view {
        flex-flow: row nowrap;
        height: 100%
    }

    .auth-view__sidebar {
        flex: none;
        padding: 40px 64px;
        width: 680px
    }

    .auth-view__title {
        font-size: 2rem
    }

    .auth-view__banner {
        align-items: center;
        background-color: var(--cn-950);
        display: flex;
        flex: 0 1 100%;
        flex-direction: column;
        max-height: 100%;
        max-height: 100dvh;
        overflow: hidden;
        padding: 60px;
        position: relative
    }

    .auth-view__banner:after, .auth-view__banner:before {
        background: radial-gradient(50% 50% at 50% 50%, hsla(0, 0%, 85%, 0) 32%, hsla(0, 0%, 85%, .4) 68%, hsla(0, 0%, 85%, 0) 100%);
        border-radius: 50%;
        content: "";
        height: 1500px;
        opacity: .4;
        position: absolute;
        width: 1500px;
        z-index: 1
    }

    .auth-view__banner:before {
        right: 0;
        top: 0;
        transform: translate(50%, -50%)
    }

    .auth-view__banner:after {
        bottom: 0;
        left: 0;
        transform: translate(-50%, 50%)
    }

    .nominations-view__title, .projects-view__title {
        margin-bottom: 48px
    }

    .laureate-view {
        font-size: 1.125rem
    }

    .laureate-view__label {
        font-size: 1rem
    }

    .laureate-view__title {
        font-size: 1.5rem
    }

    .persons-view__tabs {
        margin-bottom: 48px
    }

    .contacts-view__address {
        font-size: 1.125rem
    }

    .contacts-view__grid {
        align-items: start;
        grid-template-columns:1fr 660px
    }

    .contacts-view__box {
        padding: 60px
    }

    .contacts-view__box-title {
        font-size: 2rem
    }

    .contacts-view__box-text {
        font-size: 1.125rem
    }

    .competitions-view__title, .gallery-view__title, .partners-view__tabs, .photos-view__title {
        margin-bottom: 48px
    }

    .competitions-view__grid {
        grid-template-columns:1fr 440px
    }

    .competitions-view__main {
        padding-bottom: 0
    }

    .competitions-view__main:before {
        right: 0;
        top: 0;
        transform: translate(50%, -50%)
    }

    .competitions-view__main:after {
        bottom: 0;
        left: 0;
        transform: translate(-50%, 50%)
    }

    .competitions-view__knot {
        height: 688px;
        transform: translate(35%, 35%);
        width: 688px
    }

    .competitions-view__main-items {
        padding: 40px
    }

    .news-view__tabs {
        margin-bottom: 48px
    }

    .news-view__content {
        gap: 64px
    }

    .news-view__top {
        grid-template-columns:1fr 600px
    }

    .news-view__top > :first-child {
        grid-column: 1/2;
        grid-row: 1/3;
        min-height: 680px
    }

    .news-view__top > :nth-child(2) {
        grid-column: 2/3;
        grid-row: 1/2
    }

    .news-view__top > :nth-child(3) {
        grid-column: 2/3;
        grid-row: 2/3
    }

    .news-post-view__grid {
        align-items: flex-start;
        flex-flow: row nowrap;
        gap: 40px;
        justify-content: space-between
    }

    .news-post-view__article {
        flex: 1 1 100%;
        gap: 64px;
        max-width: 975px
    }

    .news-post-view__img {
        height: 400px
    }

    .news-post-view__title {
        font-size: 2.5rem
    }

    .news-post-view__date, .news-post-view__main {
        font-size: 1.125rem
    }

    .news-post-view__aside {
        flex: none;
        width: 480px
    }

    .books-view__title {
        margin-bottom: 40px
    }

    .books-view__text {
        -moz-columns: 2;
        column-count: 2;
        -moz-column-gap: 80px;
        column-gap: 80px;
        font-size: 1.125rem
    }

    .books-view__section:not(:last-child), .books-view__text:not(:last-child) {
        margin-bottom: 80px
    }

    .books-view__section-title {
        font-size: 3.125rem
    }

    .book-view {
        padding-bottom: 100px
    }

    .book-view__title {
        margin-bottom: 64px
    }

    .book-view__grid {
        align-items: flex-start;
        flex-flow: row nowrap;
        gap: 80px
    }

    .book-view__product {
        flex: none;
        width: 360px
    }

    .book-view__img {
        margin-bottom: 48px
    }

    .book-view__product-title {
        font-size: 1rem
    }

    .book-view__price, .book-view__title-2 {
        font-size: 2rem
    }

    .book-view__title-3 {
        font-size: 1.25rem
    }

    .book-view__contents-item p {
        font-size: 1rem
    }

    .luchnik-view__header {
        flex-flow: row nowrap;
        justify-content: space-between;
        margin-bottom: 80px
    }

    .luchnik-view__main {
        gap: 80px
    }

    .luchnik-view__title {
        font-size: 3.125rem
    }

    .luchnik-view__period {
        font-size: 7.5rem
    }

    .luchnik-view__btn {
        margin-top: 110px
    }

    .about-view__title {
        margin-bottom: 80px
    }

    .about-view__main {
        gap: 80px
    }

    .about-view__text {
        font-size: 1.125rem
    }

    .page-400 {
        padding: 40px
    }

    .page-400__title {
        font-size: 2rem
    }
}

@media (min-width: 1440px) {
    .about-board {
        grid-template-columns:1fr 430px 390px
    }

    .projects-view__items {
        gap: 24px
    }

    .luchnik-view__period {
        font-size: 8.75rem
    }

    .luchnik-view__btn {
        margin-top: 120px
    }
}

@media (min-width: 90em) {
    .index-page__main {
        --index-main-pt: 24px;
        --index-main-pb: 60px
    }
}

@media (min-width: 100em) {
    .index-items {
        --columns: 4
    }

    .index-items > .index-section, .index-items > .index-subsection {
        grid-column: 1/5
    }
}

@media (min-width: 1600px) {
    .footer__container {
        grid-template-columns:744px 1fr
    }
}

@media (min-width: 1900px) {
    .footer__contacts {
        padding-right: 80px
    }
}

@media (max-width: 1279.9px) {
    .custom-select--inline .custom-select__dropdown {
        border-radius: 16px 16px 0 0;
        bottom: 0;
        padding: 24px 6px 0 24px;
        position: fixed;
        top: auto;
        width: 100%;
        z-index: 1000
    }

    .page:has(.custom-select--inline.is-open):after {
        background-color: rgba(0, 0, 0, .25);
        content: "";
        inset: 0;
        position: fixed;
        z-index: 900
    }
}

@media (max-width: 79.99375em) {
    .hidden-mobile {
        display: none !important
    }

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

@media (max-width: 767px) {
    .plyr__time + .plyr__time {
        display: none
    }
}

@media (hover: hover) and (pointer: fine) {
    a:hover {
        color: var(--hover-color)
    }

    .index-item:hover {
        border-color: var(--index-text-light-color);
        box-shadow: 0 2px 4px rgba(0, 0, 0, .175);
        opacity: 1
    }

    .index-item:not(.is-ready) .index-item__validators {
        opacity: 0
    }

    .index-item:hover .index-item__validators {
        opacity: 1
    }

    .index-item__validator:hover {
        background-color: var(--index-color-blue-100);
        color: var(--index-hover-color)
    }

    .index-section__heading button:hover, .index-subsection__heading button:hover {
        background-color: var(--index-color-gray-200)
    }

    .index-button:hover {
        background-color: var(--button-hover-bg-color);
        border-color: var(--button-hover-border-color);
        color: var(--button-hover-color);
        text-decoration: none
    }

    .index-ref:hover {
        filter: grayscale(0);
        transition: filter .25s
    }

    .index-ref:hover svg.github-icon {
        opacity: 1;
        transition: opacity .25s
    }

    .button:hover {
        background-color: var(---hover-bg-color);
        border-color: var(---hover-border-color);
        color: var(---hover-color);
        text-decoration: none
    }

    .tab:hover {
        color: var(--hover-color)
    }

    .user-btn:hover {
        color: var(---hover-color);
        text-decoration: none
    }

    .textarea:hover {
        border-color: var(---hover-border-color)
    }

    .radio-tab:hover {
        ---color: var(--cn-0);
        ---bg-color: var(--cp-500)
    }

    .person-card:hover {
        ---color: var(--cp-500)
    }

    .comp-item:hover .comp-item__label {
        color: var(--cp-500)
    }

    .comp-card:hover .comp-card__icon {
        background-color: var(--cp-600)
    }

    .comp-card:hover .comp-card__label {
        color: var(--cp-500)
    }

    .lightbox__close-btn:hover {
        ---color: var(--color-white)
    }

    .announs__next:hover, .announs__prev:hover {
        background-color: var(--cp-500)
    }
}

@media print {
    *, :after, :before, blockquote:first-letter, blockquote:first-line, div:first-letter, div:first-line, li:first-letter, li:first-line, p:first-letter, p:first-line {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important
    }

    a, a:visited {
        text-decoration: underline
    }

    a[href]:after {
        content: " (" attr(href) ")"
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    a[href^="#"]:after, a[href^="javascript:"]:after {
        content: ""
    }

    pre {
        white-space: pre-wrap !important
    }

    blockquote, pre {
        page-break-inside: avoid;
        border: 1px solid #999
    }

    thead {
        display: table-header-group
    }

    img, tr {
        page-break-inside: avoid
    }

    h2, h3, p {
        orphans: 3;
        widows: 3
    }

    h2, h3 {
        page-break-after: avoid
    }

    .no-print, .print-hidden {
        display: none !important
    }
}
