@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap");

/**
 * uaplus.css version 0.0.1
 */
/**
 * Different box model
 *
 * We use the traditional box model, where the padding and border
 * of the element is drawn inside and not outside the specified
 * width and height. That makes combining relative and absolute
 * units in properties like <code>inline-size</code> and
 * <code>block-size</code> easier.
 *
 * See https://en.wikipedia.org/wiki/CSS_box_model
 */
*,
*::after,
*::before {
    box-sizing: border-box;
}

* {
    padding: 0;
    margin: 0;
    border: none;
}

/**
 * Improve focus styles
 *
 * Add spacing between content and its focus outline.
 */
:focus-visible {
    outline-offset: 3px;
}

/**
 * Disable text size adjustment
 *
 * To improve readability on non-mobile optimized websites, browsers
 * like mobile Safari increase the default font size when you switch
 * a website from portrait to landscape. We don't want that for our
 * optimized sites.
 *
 * See https://kilianvalkhof.com/2022/css-html/your-css-reset-needs-text-size-adjust-probably/
 */
:where(html) {
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

/**
 * Increase line height
 *
 * Long paragraphs are easier to read if the line height is higher.
 */
:where(html) {
    line-height: 1.5;
}

/**
 * Add scrollbar gutter
 *
 * Prevent the page from “jumping” when switching from a long to a short page.
 *
 */
/**
 * Remove UA styles for h1s nested in sectioning content
 *
 * Nesting h1s in section, articles, etc., shouldn't influence the
 * styling of the heading since nesting doesn't influence
 * semantics either.
 *
 * See https://github.com/whatwg/html/issues/7867#issuecomment-2632395167
 * See https://github.com/whatwg/html/pull/11102
 * See https://html.spec.whatwg.org/#sections-and-headings
 */
:where(h1) {
    font-size: 2em;
    margin-block: 0.67em;
}

/**
 * Improve abbreviations with titles
 *
 * The abbr element with the title isn't helpful regarding
 * accessibility because support is inconsistent, and it's only
 * accessible to some users. Still, it's commonly used.
 * This rule shows a dotted underline on abbreviations in all
 * browsers (there's a bug in Safari) and changes the cursor.
 *
 * See https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
 */
:where(abbr[title]) {
    cursor: help;
    text-decoration-line: underline;
    text-decoration-style: dotted;
}

/**
 * Optimize mark element in Forced Colors Mode
 *
 * The colors of the mark element don't change in Forced Colors Mode,
 * which can be problematic. Use system colors instead.
 *
 * See https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
 */
@media (forced-colors: active) {
    mark {
        color: HighlightText;
        background-color: Highlight;
    }
}

/**
 * Announce del, ins, and s to screen readers
 *
 * With the exception of NVDA (2024.4.2), which announces "deletion",
 * none of the common screen readers announces the <s> element.
 * Voice Over on macOS and iOS and Narrator don't announce
 * <ins> and <del>. Usually, screen readers not announcing text-level
 * semantics is something we just accept, but devs using elements
 * like <s> without knowing that they may not convey semantics is a
 * common issue. We announce the start and end of stricken, inserted,
 * and deleted content with pseudo-elements. For languages other
 * than English, you should provide translations, e.g. :lang(de)
 * :where(s::before) { content: "Durchgestrichener Text Beginn "; }
 *
 * See https://adrianroselli.com/2017/12/tweaking-text-level-styles.html
 */
:where(del, ins, s)::before,
:where(del, ins, s)::after {
    clip-path: inset(100%);
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    width: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    content: "test";
}

:where(s)::before {
    content: "stricken text start ";
}

:where(s)::after {
    content: " stricken text end";
}

:where(del)::before {
    content: "deletion start ";
}

:where(del)::after {
    content: " deletion end";
}

:where(ins)::before {
    content: "insertion start ";
}

:where(ins)::after {
    content: " insertion end";
}

/**
 * Avoid overflow caused by embedded content
 *
 * Ensure that embedded content (audio, video, images, etc.)
 * doesn't overflow its container.
 */
:where(audio, iframe, img, svg, video) {
    max-block-size: 100%;
    max-inline-size: 100%;
}

/**
 * Prevent fieldsets from causing overflow
 *
 * Reset the default `min-inline-size: min-content` to prevent
 * children from stretching fieldsets
 *
 * See https://github.com/twbs/bootstrap/issues/12359
 * and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
 */
:where(fieldset) {
    min-inline-size: 0;
}

/**
 * Turn labels into block elements
 *
 * Labels for inputs, selects, and textarea should be block
 * elements.
 */
:where(label):has(+ :where(textarea, input, select)) {
    display: block;
}

/**
 * Increase the block-size of textareas
 *
 * The default height of textareas is small. We increase it a bit.
 */
:where(textarea:not([rows])) {
    min-block-size: 6em;
}

/**
 * Inherit font styling in form elements
 *
 * buttons, inputs, selects, and textarea should have the same font
 * family and size as the rest of the page.
 */
:where(button, input, select, textarea) {
    font-family: inherit;
    font-size: inherit;
}

/**
 * Normalize search input styles
 *
 * Remove the rounded corners of search inputs on macOS and IOS
 * and normalize the background color
 */
:where([type=search]) {
    -webkit-appearance: textfield;
}

/* iOS only */
@supports (-webkit-touch-callout: none) {
    :where([type=search]) {
        border: 1px solid -apple-system-secondary-label;
        background-color: canvas;
    }
}

/**
 * Maintain direction in some input types
 *
 * Some input types should remain left-aligned in right-to-left
 * languages,but only if the value isn't empty because the
 * placeholder should be right-aligned.
 *
 * See https://rtlstyling.com/posts/rtl-styling#form-inputs
 */
:where([type=tel], [type=url], [type=email], [type=number]):not(:placeholder-shown) {
    direction: ltr;
}

/**
 * Increase specificity of [hidden]
 *
 * Make it harder to accidentally unhide elements with the
 * [hidden] attribute while still maintaining the until-found
 * functionality.
 */
[hidden]:not([hidden=until-found]) {
    display: none !important;
}

:where(ul, ol):where([class]) {
    padding-left: 0;
}

body,
:where(blockquote, figure):where([class]) {
    margin: 0;
}

:where(h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl):where([class]) {
    margin-block: 0;
}

:where(dd[class]) {
    margin-left: 0;
}

:where(fieldset[class]) {
    margin-left: 0;
    padding: 0;
    border: none;
}

:where(ul[class]) {
    list-style: none;
}

:where(address[class]) {
    font-style: normal;
}

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

a[aria-label],
button[aria-label] {
    position: relative;
}

svg * {
    transition-property: fill, stroke;
}

@media (prefers-reduced-motion: reduce) {
    *,
    ::before,
    ::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

a, a:link, a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

aside, nav, footer, header, section, main {
    display: block;
}

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

ul, ul li {
    list-style: none;
}

ul, ul li {
    list-style-position: inside;
}

ol, ol li {
    list-style-position: inside;
}

img {
    vertical-align: top;
}

address {
    font-style: normal;
}

input, textarea, button, select {
    border: none;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

input::-ms-clear {
    display: none;
}

button, input[type=submit] {
    display: inline-block;
    box-shadow: none;
    background: transparent none;
    cursor: pointer;
}

input:focus, input:active,
button:focus, button:active {
    outline: none;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

label {
    cursor: pointer;
}

legend {
    display: block;
}

@font-face {
    font-family: "Bebas Neue";
    src: url("../assets/fonts/BebasNeueBold.woff2") format("woff2");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

.flex {
    display: flex;
}

.grid {
    display: grid;
}

.flex-wrap {
    flex-wrap: wrap;
}

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

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

.flex-row {
    flex-direction: row;
}

.flex-row-reverse {
    flex-direction: row-reverse;
}

.flex-col {
    flex-direction: column;
}

.flex-col-reverse {
    flex-direction: column-reverse;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

.justify-start {
    justify-content: flex-start;
}

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

.justify-center {
    justify-content: center;
}

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

.justify-around {
    justify-content: space-around;
}

.justify-evenly {
    justify-content: space-evenly;
}

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

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

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

.items-baseline {
    align-items: baseline;
}

.items-stretch {
    align-items: stretch;
}

.content-start {
    align-content: flex-start;
}

.content-end {
    align-content: flex-end;
}

.content-center {
    align-content: center;
}

.content-between {
    align-content: space-between;
}

.content-around {
    align-content: space-around;
}

.content-evenly {
    align-content: space-evenly;
}

.content-stretch {
    align-content: stretch;
}

.self-auto {
    align-self: auto;
}

.self-start {
    align-self: flex-start;
}

.self-end {
    align-self: flex-end;
}

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

.self-stretch {
    align-self: stretch;
}

.self-baseline {
    align-self: baseline;
}

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

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

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

.flex-shrink-0 {
    flex-shrink: 0;
}

.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.p-0 {
    padding: 0px;
}

.m-0 {
    margin: 0px;
}

.gap-0 {
    gap: 0px;
}

.p-1 {
    padding: 4px;
}

.m-1 {
    margin: 4px;
}

.gap-1 {
    gap: 4px;
}

.p-2 {
    padding: 8px;
}

.m-2 {
    margin: 8px;
}

.gap-2 {
    gap: 8px;
}

.p-3 {
    padding: 12px;
}

.m-3 {
    margin: 12px;
}

.gap-3 {
    gap: 12px;
}

.p-4 {
    padding: 16px;
}

.m-4 {
    margin: 16px;
}

.gap-4 {
    gap: 16px;
}

.p-5 {
    padding: 20px;
}

.m-5 {
    margin: 20px;
}

.gap-5 {
    gap: 20px;
}

.bg-white {
    background-color: #ffffff;
}

.text-white {
    color: #ffffff;
}

.border-white {
    border-color: #ffffff;
}

.bg-black {
    background-color: #000000;
}

.text-black {
    color: #000000;
}

.border-black {
    border-color: #000000;
}

.bg-gray-100 {
    background-color: #f7fafc;
}

.text-gray-100 {
    color: #f7fafc;
}

.border-gray-100 {
    border-color: #f7fafc;
}

.bg-gray-200 {
    background-color: #edf2f7;
}

.text-gray-200 {
    color: #edf2f7;
}

.border-gray-200 {
    border-color: #edf2f7;
}

.bg-gray-300 {
    background-color: #e2e8f0;
}

.text-gray-300 {
    color: #e2e8f0;
}

.border-gray-300 {
    border-color: #e2e8f0;
}

.bg-gray-400 {
    background-color: #cbd5e0;
}

.text-gray-400 {
    color: #cbd5e0;
}

.border-gray-400 {
    border-color: #cbd5e0;
}

.bg-gray-500 {
    background-color: #a0aec0;
}

.text-gray-500 {
    color: #a0aec0;
}

.border-gray-500 {
    border-color: #a0aec0;
}

.bg-gray-600 {
    background-color: #718096;
}

.text-gray-600 {
    color: #718096;
}

.border-gray-600 {
    border-color: #718096;
}

.bg-gray-700 {
    background-color: #4a5568;
}

.text-gray-700 {
    color: #4a5568;
}

.border-gray-700 {
    border-color: #4a5568;
}

.bg-gray-800 {
    background-color: #2d3748;
}

.text-gray-800 {
    color: #2d3748;
}

.border-gray-800 {
    border-color: #2d3748;
}

.bg-gray-900 {
    background-color: #1a202c;
}

.text-gray-900 {
    color: #1a202c;
}

.border-gray-900 {
    border-color: #1a202c;
}

.bg-red-500 {
    background-color: #f56565;
}

.text-red-500 {
    color: #f56565;
}

.border-red-500 {
    border-color: #f56565;
}

.bg-green-500 {
    background-color: #48bb78;
}

.text-green-500 {
    color: #48bb78;
}

.border-green-500 {
    border-color: #48bb78;
}

.bg-blue-500 {
    background-color: #4299e1;
}

.text-blue-500 {
    color: #4299e1;
}

.border-blue-500 {
    border-color: #4299e1;
}

.text-left {
    text-align: left;
}

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

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.text-xs {
    font-size: 0.75rem;
}

.text-sm {
    font-size: 0.875rem;
}

.text-base {
    font-size: 1rem;
}

.text-lg {
    font-size: 1.125rem;
}

.text-xl {
    font-size: 1.25rem;
}

.text-2xl {
    font-size: 1.5rem;
}

.text-3xl {
    font-size: 1.875rem;
}

.text-4xl {
    font-size: 2.25rem;
}

.font-thin {
    font-weight: 100;
}

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-black {
    font-weight: 900;
}

.w-0 {
    width: 0px;
}

.h-0 {
    height: 0px;
}

.w-1 {
    width: 4px;
}

.h-1 {
    height: 4px;
}

.w-2 {
    width: 8px;
}

.h-2 {
    height: 8px;
}

.w-3 {
    width: 12px;
}

.h-3 {
    height: 12px;
}

.w-4 {
    width: 16px;
}

.h-4 {
    height: 16px;
}

.w-5 {
    width: 20px;
}

.h-5 {
    height: 20px;
}

.w-6 {
    width: 24px;
}

.h-6 {
    height: 24px;
}

.w-7 {
    width: 28px;
}

.h-7 {
    height: 28px;
}

.w-8 {
    width: 32px;
}

.h-8 {
    height: 32px;
}

.w-9 {
    width: 36px;
}

.h-9 {
    height: 36px;
}

.w-10 {
    width: 40px;
}

.h-10 {
    height: 40px;
}

.w-full {
    width: 100%;
}

.h-full {
    height: 100%;
}

.border-0 {
    border-width: 0px;
}

.border-1 {
    border-width: 1px;
}

.border-2 {
    border-width: 2px;
}

.border-3 {
    border-width: 3px;
}

.border-4 {
    border-width: 4px;
}

.rounded-none {
    border-radius: 0;
}

.rounded-sm {
    border-radius: 0.125rem;
}

.rounded {
    border-radius: 0.25rem;
}

.rounded-md {
    border-radius: 0.375rem;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.rounded-full {
    border-radius: 9999px;
}

.shadow-sm {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.shadow {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.shadow-md {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.shadow-xl {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.transition {
    transition-property: all;
    transition-duration: 150ms;
    transition-timing-function: ease-in-out;
}

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

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

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

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

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

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

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

.grid-cols-auto {
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}

@media (min-width: 991.98px) {
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

.grid-rows-1 {
    display: grid;
    grid-template-rows: repeat(1, minmax(0, 1fr));
}

.grid-rows-2 {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
}

.grid-rows-3 {
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
}

.grid-rows-4 {
    display: grid;
    grid-template-rows: repeat(4, minmax(0, 1fr));
}

.grid-rows-5 {
    display: grid;
    grid-template-rows: repeat(5, minmax(0, 1fr));
}

.grid-rows-6 {
    display: grid;
    grid-template-rows: repeat(6, minmax(0, 1fr));
}

.col-span-1 {
    grid-column: span 1/span 1;
}

.row-span-1 {
    grid-row: span 1/span 1;
}

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

.row-span-2 {
    grid-row: span 2/span 2;
}

.col-span-3 {
    grid-column: span 3/span 3;
}

.row-span-3 {
    grid-row: span 3/span 3;
}

.col-span-4 {
    grid-column: span 4/span 4;
}

.row-span-4 {
    grid-row: span 4/span 4;
}

.col-span-5 {
    grid-column: span 5/span 5;
}

.row-span-5 {
    grid-row: span 5/span 5;
}

.col-span-6 {
    grid-column: span 6/span 6;
}

.row-span-6 {
    grid-row: span 6/span 6;
}

.col-span-7 {
    grid-column: span 7/span 7;
}

.row-span-7 {
    grid-row: span 7/span 7;
}

.col-span-8 {
    grid-column: span 8/span 8;
}

.row-span-8 {
    grid-row: span 8/span 8;
}

.col-span-9 {
    grid-column: span 9/span 9;
}

.row-span-9 {
    grid-row: span 9/span 9;
}

.col-span-10 {
    grid-column: span 10/span 10;
}

.row-span-10 {
    grid-row: span 10/span 10;
}

.col-span-11 {
    grid-column: span 11/span 11;
}

.row-span-11 {
    grid-row: span 11/span 11;
}

.col-span-12 {
    grid-column: span 12/span 12;
}

.row-span-12 {
    grid-row: span 12/span 12;
}

.auto-fit-cols-2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
}

.auto-fit-cols-minmax {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.auto-fill-cols-minmax {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

.order-4 {
    order: 4;
}

.order-5 {
    order: 5;
}

.order-6 {
    order: 6;
}

.order-7 {
    order: 7;
}

.order-8 {
    order: 8;
}

.order-9 {
    order: 9;
}

.order-10 {
    order: 10;
}

.order-11 {
    order: 11;
}

.order-12 {
    order: 12;
}

.place-content-start {
    place-content: start;
}

.place-content-center {
    place-content: center;
}

.place-content-end {
    place-content: end;
}

.place-content-between {
    place-content: space-between;
}

.place-content-around {
    place-content: space-around;
}

.place-content-evenly {
    place-content: space-evenly;
}

.grid-flow-row {
    grid-auto-flow: row;
}

.grid-flow-col {
    grid-auto-flow: column;
}

@media (min-width: 640px) {
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

:root {
    --color-black-0: #000000;
    --color-black-13: #222222;
    --color-black-16: #201e33;
    --color-black-41: #6a6a6a;
    --color-accent-47: #81519d;
    --color-accent-92: #ece5f0;
    --color-white-88: #e0e0e0;
    --color-white-96: #f4f4f5;
    --color-white-100: #ffffff;
    --font-family-base: "Inter Tight", sans-serif;
    --font-family-accent: "Bebas Neue";
    --container-width: clamp(80rem, 33.125rem + 52.0833333333vw, 95.625rem);
    --container-padding-x: 14px;
    --section-padding-y: clamp(2.875rem, 2.45rem + 2.125vw, 5rem);
    --section-offset-end: clamp(2.875rem, 2.45rem + 2.125vw, 5rem);
    --layout-section-gap: clamp(1.625rem, 1.45rem + 0.875vw, 2.5rem);
    --border-radius-default: 5px;
    --ease-in-out: all .2s ease-in-out;
    --ease-in: all .2s ease-in;
    --ease-out: all .2s ease-out;
    --transition-duration: .2s;
    --transition-duration-longer: .4s;
}

.container {
    width: min(var(--container-width), 100% - var(--container-padding-x) * 2);
    margin-inline: auto;
}

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

@media (width > 1279.98px) {
    .visible-breakpoint-1280 {
        display: none !important;
    }
}

.section-offset-end {
    margin-block-end: var(--section-offset-end);
}

.layout-section-grid {
    display: grid;
    gap: var(--layout-section-gap);
}

.layout-section-headline {
    display: grid;
    justify-self: center;
    gap: clamp(0.625rem, 0.5rem + 0.625vw, 1.25rem);
    max-width: 1010px;
    text-align: center;
}

.flex-between-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.gap-auto {
    gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

.grid-cols-4-auto-preset {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

@media (max-width: 1439.98px) {
    .grid-cols-4-auto-preset {
        grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    }
}

::-webkit-scrollbar {
    width: 4px;
}

::-webkit-scrollbar-track {
    background: var(--color-accent-92);
}

::-webkit-scrollbar-thumb {
    background: var(--color-accent-47);
}

html {
    height: 100%;
}

body {
    display: flow-root;
    width: auto;
    min-height: 100vh;
    font-family: var(--font-family-base);
    font-weight: 400;
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
    line-height: 1.3;
    text-wrap: balance;
    color: var(--color-black-41);
    background: var(--color-white-100);
    overflow-x: hidden;
}

body.is-lock {
    overflow: hidden;
}

h1, .h1 {
    font-family: var(--font-family-accent);
    font-weight: 400;
    /*font-size: clamp(2.75rem, 1.8rem + 4.75vw, 7.5rem);*/
    font-size: clamp(2.75rem, 2.45rem + 1.5vw, 4.25rem);
    line-height: 1;
    color: var(--color-black-13);
    text-transform: uppercase;
}

h2, .h2 {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(2.125rem, 1.675rem + 2.25vw, 4.375rem);
    line-height: 1;
    color: var(--color-black-13);
    text-transform: uppercase;
}

h2.wp-block-heading, .h2.wp-block-heading {
    margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h3, .h3 {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(2rem, 1.65rem + 1.75vw, 3.75rem);
    line-height: 1.1;
    color: var(--color-black-13);
    text-transform: uppercase;
}

h3.wp-block-heading, .h3.wp-block-heading {
    margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h4, .h4 {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(2rem, 1.9rem + 0.5vw, 2.5rem);
    line-height: 1.1;
    color: var(--color-black-13);
    text-transform: uppercase;
}

h4.wp-block-heading, .h4.wp-block-heading {
    margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h5, .h5 {
    font-family: var(--font-family-accent);
    font-weight: 600;
    font-size: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
    line-height: 1.2;
    color: var(--color-black-13);
    text-transform: uppercase;
    font-family: var(--font-family-base);
}

h5.wp-block-heading, .h5.wp-block-heading {
    margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h6, .h6 {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1.375rem, 1.35rem + 0.125vw, 1.5rem);
    line-height: 1.2;
    color: var(--color-black-13);
    text-transform: uppercase;
}

h6.wp-block-heading, .h6.wp-block-heading {
    margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

.text-1 {
    font-weight: inherit;
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
    line-height: inherit;
}

a,
button,
label,
input,
textarea,
select,
svg * {
    transition: var(--ease-in);
}

a {
    color: inherit;
}

a[class] {
    text-decoration: none;
}

:focus-visible {
    outline: 2px dashed var(--color-white-100);
    outline-offset: 4px;
    transition-duration: 0s !important;
}

:focus-visible {
    outline: 2px dashed var(--color-accent-92);
    outline-offset: 4px;
    transition-duration: 0s !important;
}

a[aria-label],
button[aria-label] {
    position: relative;
}

:has(.swiper) {
    min-width: 0;
}

:has(.swiper) .swiper {
    width: 100%;
}

.content-hero {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: grid;
    min-height: 52vh;
    padding-block: 30px;
}

.content-hero:not(:has(.content-hero__background-image))::before {
    background: var(--color-black-16);
}

.content-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
}

.content-hero__background-image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-hero .container {
    display: grid;
}

.content-hero__inner {
    align-self: center;
    max-width: 1020px;
    margin-block: 20px clamp(3.75rem, 3.5rem + 1.25vw, 5rem);
}

.content-hero .title {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
    line-height: 1.3;
    font-family: var(--font-family-base);
    text-transform: unset;
    width: fit-content;
    padding: 10px 15px;
    border-radius: 2px;
    color: var(--color-white-100);
    background: rgba(255, 255, 255, 0.15);
}

.content-hero .title:has(+ .hero__headline, + button) {
    margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

.content-hero__headline {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.content-hero__headline:has(+ button) {
    margin-block-end: clamp(1.25rem, 1rem + 1.25vw, 2.5rem);
}

.content-hero__title {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(2.375rem, 1.95rem + 2.13vw, 4.5rem);
    line-height: 1;
    color: var(--color-black-13);
    text-transform: uppercase;
    color: var(--color-white-100);
}

.content-hero__description {
    display: flex;
    flex-direction: column;
    gap: 14px;
    counter-reset: counter;
    font-weight: inherit;
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
    line-height: inherit;
    color: var(--color-white-96);
}

.content-hero__description :is(ul, ol) {
    display: flex;
    flex-direction: column;
    gap: clamp(0.375rem, 0.325rem + 0.25vw, 0.625rem);
}

.content-hero__description :is(ul > li) {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.content-hero__description :is(ul > li)::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background: var(--color-accent-47);
}

.content-hero__description :is(ol > li) {
    display: flex;
    align-items: start;
    gap: 8px;
}

.content-hero__description :is(ol > li)::before {
    counter-increment: counter;
    content: counter(counter) ".";
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-accent-47);
}

.content-hero__description :is(ul > li)::before {
    background: var(--color-white-100);
}

.content-hero__description :is(ol > li)::before {
    background: var(--color-white-100);
}

body.is-lock .header {
    box-shadow: unset !important;
    background: var(--color-white-100) !important;
}

body.is-lock .header .logo {
    color: var(--color-black-13) !important;
}

body.is-lock .header .acf-contact-list__value {
    color: var(--color-black-13) !important;
}

.header {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    width: 100%;
    height: 90px;
    min-height: 82px;
    padding-block: 14px;
    background: var(--color-white-100);
}

.header:not([data-js-position-fixed]) {
    box-shadow: 0 5px 14px 0 rgba(0, 0, 0, 0.07);
    background: var(--color-white-100);
}

.header:not([data-js-position-fixed]) .sub-menu {
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.15);
    background: var(--color-white-100);
}

.header[data-js-position-fixed]:not(.is-active) {
    position: fixed;
    background: transparent;
}

.header[data-js-position-fixed].is-active {
    position: fixed;
}

.header[data-js-position-fixed].is-active .sub-menu {
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.15);
    background: var(--color-white-100);
}

.header[data-js-position-fixed]:not(.is-active) {
    position: fixed;
    background: transparent;
}

.header[data-js-position-fixed]:not(.is-active) .sub-menu {
    backdrop-filter: blur(30px);
    background: rgba(0, 0, 0, 0.45);
}

.header[data-js-position-fixed]:not(.is-active) .sub-menu .nav__item {
    color: var(--color-white-100);
}

.header[data-js-position-fixed]:not(.is-active) .logo {
    color: var(--color-white-100);
}

.header[data-js-position-fixed]:not(.is-active) .nav__item a {
    color: var(--color-white-100);
    background: transparent;
}

@media (any-hover: hover) {
    .header[data-js-position-fixed]:not(.is-active) .nav__item a:hover {
        background: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .header[data-js-position-fixed]:not(.is-active) .nav__item a:active {
        background: var(--color-accent-47);
    }
}

.header[data-js-position-fixed]:not(.is-active) .nav__item.active a {
    color: var(--color-accent-47);
    background: var(--color-accent-92);
}

.header[data-js-position-fixed]:not(.is-active) .acf-contact-list--phone .acf-contact-list__value {
    color: var(--color-white-100);
}

@media (any-hover: hover) {
    .header[data-js-position-fixed]:not(.is-active) .acf-contact-list--phone .acf-contact-list__value:hover {
        color: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .header[data-js-position-fixed]:not(.is-active) .acf-contact-list--phone .acf-contact-list__value:active {
        color: var(--color-accent-47);
    }
}

.header[data-js-position-fixed]:not(.is-active) .acf-contact-list--additional-info .acf-contact-list__value {
    color: var(--color-white-100);
}

.header[data-js-position-fixed]:not(.is-active) .header__callback-button {
    border-color: transparent;
}

@media (any-hover: hover) {
    .header[data-js-position-fixed]:not(.is-active) .header__callback-button:hover {
        color: var(--color-accent-47);
        background: var(--color-accent-92);
    }
}

@media (any-hover: none) {
    .header[data-js-position-fixed]:not(.is-active) .header__callback-button:active {
        color: var(--color-accent-47);
        background: var(--color-accent-92);
    }
}

.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(0.625rem, 0.5rem + 0.625vw, 1.25rem);
}

.header .nav .nav__list {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header .nav .nav__list .nav__icon {
    flex-shrink: 0;
    display: flex;
    width: 12px;
    height: 12px;
    color: currentColor;
}

.header .nav .nav__list .nav__icon svg {
    transition: var(--ease-in);
}

.header .nav .nav__list .nav__item {
    white-space: nowrap;
}

.header .nav .nav__list .nav__item.active a {
    color: var(--color-accent-47);
    background: var(--color-accent-92);
}

.header .nav .nav__list .nav__item.active a .nav__icon {
    color: currentColor;
}

.header .nav .nav__list .nav__item.active a svg {
    transform-origin: center;
    transform: scale(-1, -1);
}

@media (any-hover: hover) {
    .header .nav .nav__list .nav__item:hover a {
        color: var(--color-accent-47);
        background: var(--color-accent-92);
    }

    .header .nav .nav__list .nav__item:hover a .nav__icon {
        color: currentColor;
    }

    .header .nav .nav__list .nav__item:hover a .nav__icon svg {
        transform-origin: center;
        transform: scale(-1, -1);
    }
}

@media (any-hover: none) {
    .header .nav .nav__list .nav__item:active a {
        color: var(--color-accent-47);
        background: var(--color-accent-92);
    }

    .header .nav .nav__list .nav__item:active a .nav__icon {
        color: currentColor;
    }

    .header .nav .nav__list .nav__item:active a .nav__icon svg {
        transform-origin: center;
        transform: scale(-1, -1);
    }
}

@media (any-hover: hover) {
    .header .nav .nav__list .nav__item a:hover {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }

    .header .nav .nav__list .nav__item a:hover svg {
        transform-origin: center;
        transform: scale(-1, -1);
    }
}

@media (any-hover: none) {
    .header .nav .nav__list .nav__item a:active {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }

    .header .nav .nav__list .nav__item a:active svg {
        transform-origin: center;
        transform: scale(-1, -1);
    }
}

.header .nav .nav__list .nav__item a {
    display: block;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    padding: 8px 11px;
    border-radius: 3px;
    color: var(--color-black-13);
    background: var(--color-white-96);
}

.header .nav .nav__list .nav__item a:has(svg) {
    display: flex;
    align-items: center;
    gap: 4px;
}

.header .nav .nav__list .nav__item:has(.sub-menu) {
    position: relative;
    width: fit-content;
}

.header .nav .nav__list .nav__item:has(.sub-menu):hover .sub-menu {
    pointer-events: all;
    opacity: 1;
    visibility: visible;
}

.header .nav .nav__list .nav__item:has(.sub-menu)::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    height: 26px;
    width: 100%;
    opacity: 0;
}

.header .nav .nav__list .nav__item .sub-menu {
    position: absolute;
    z-index: 99;
    top: 40px;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: fit-content;
    min-width: 260px;
    padding: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
    border-radius: 2px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: var(--ease-in);
    list-style: none;
}

.header .nav .nav__list .nav__item .sub-menu .nav__item a {
    padding: unset;
    border-radius: unset;
    color: inherit;
    background: unset;
}

.header .nav .nav__list .nav__item .sub-menu .nav__item a:hover, .header .nav .nav__list .nav__item .sub-menu .nav__item a.active {
    color: var(--color-accent-47);
}

.header .nav .nav__list .nav__item .sub-menu .nav__link {
    position: relative;
    padding: unset;
}

.header .nav .nav__list .nav__item .sub-menu .nav__link svg path {
    color: var(--color-primary);
}

.header .nav .nav__list .nav__item .sub-menu .nav__item-prefix,
.header .nav .nav__list .nav__item .sub-menu .nav__item-suffix {
    display: none;
}

.header__content-wrapper {
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, -10.75rem + 13.3333333333vw, 5.25rem);
}

@media (max-width: 1279.98px) {
    .header__content-wrapper {
        display: none;
    }
}

.header__contact-list-wrapper {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 5px;
}

.header .acf-contact-list--phone .acf-contact-list__value {
    font-family: var(--font-family-accent);
    font-weight: 600;
    font-size: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
    line-height: 1.2;
    color: var(--color-black-13);
    text-transform: uppercase;
    font-family: var(--font-family-base);
}

@media (any-hover: hover) {
    .header .acf-contact-list--phone .acf-contact-list__value:hover {
        color: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .header .acf-contact-list--phone .acf-contact-list__value:active {
        color: var(--color-accent-47);
    }
}

.header .acf-contact-list--additional-info .acf-contact-list__value {
    font-weight: inherit;
    font-size: 14px;
    line-height: 1.2;
}

.header .acf-contact-list--additional-info .acf-contact-list__value::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    background: #27ae60;
}

.header__actions-wrapper {
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

.header .visible-breakpoint-1280 {
    display: flex;
    align-items: center;
    gap: clamp(0.625rem, 0.5rem + 0.625vw, 1.25rem);
}

.header__burger-button {
    position: relative;
    z-index: 100;
}

.error-page {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: grid;
    min-height: 94vh;
    padding-block: 40px;
}

.error-page::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.error-page__background-image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.error-page .container {
    display: grid;
}

.error-page__inner {
    align-self: center;
    display: flex;
    flex-direction: column;
    gap: clamp(1.875rem, 1.75rem + 0.625vw, 2.5rem);
    margin-block-end: 10vh;
}

.error-page__headline {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

.error-page__heading {
    font-family: var(--font-family-accent);
    font-weight: 600;
    font-size: clamp(4.5rem, 2.9rem + 8vw, 12.5rem);
    line-height: 1;
    text-transform: uppercase;
    color: var(--color-white-100);
}

.error-page__description {
    font-weight: inherit;
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
    line-height: inherit;
    color: var(--color-white-96);
}

.footer {
    padding-block: clamp(1.875rem, 1.5rem + 1.875vw, 3.75rem) 30px;
    background: var(--color-black-16);
}

.footer .container {
    display: flex;
    flex-direction: column;
    gap: clamp(1.875rem, 1.75rem + 0.625vw, 2.5rem);
}

.footer__navigation {
    --colums: 5;
    display: grid;
    grid-template-columns: repeat(var(--colums), 1fr);
    column-gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
    row-gap: 40px;
}

@media (max-width: 1279.98px) {
    .footer__navigation {
        --colums: 3;
    }
}

@media (max-width: 767.98px) {
    .footer__navigation {
        display: flex;
        flex-direction: column;
    }
}

.footer__navigation-column {
    display: flex;
    flex-direction: column;
    gap: clamp(0.625rem, 0.375rem + 1.25vw, 1.875rem);
}

.footer__navigation-name {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1.375rem, 1.35rem + 0.125vw, 1.5rem);
    line-height: 1.2;
    color: var(--color-black-13);
    text-transform: uppercase;
    width: fit-content;
    color: var(--color-white-96);
}

@media (any-hover: hover) {
    .footer__navigation a.footer__navigation-name:hover {
        color: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .footer__navigation a.footer__navigation-name:active {
        color: var(--color-accent-47);
    }
}

.footer__navigation .nav__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer__navigation .nav__item.active a {
    color: var(--color-accent-47);
}

.footer__navigation .nav__item a {
    color: var(--color-white-96);
}

@media (any-hover: hover) {
    .footer__navigation .nav__item a:hover {
        color: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .footer__navigation .nav__item a:active {
        color: var(--color-accent-47);
    }
}

.footer__navigation-column--services {
    min-width: 370px;
}

@media (max-width: 1439.98px) {
    .footer__navigation-column--services {
        min-width: unset;
    }
}

@media (max-width: 767.98px) {
    .footer__navigation-column--districts .nav__list, .footer__navigation-column--menu .nav__list {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

.footer .acf-contact-list__value {
    font-weight: 700;
    font-size: inherit;
    line-height: 1.3;
    color: var(--color-white-100);
}

@media (max-width: 767.98px) {
    .footer .acf-contact-list__value {
        font-weight: 400;
    }
}

.footer .copyright {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(0.625rem, 0.5rem + 0.625vw, 1.25rem);
    padding-block-start: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
    border-block-start: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--color-white-96);
}

@media (max-width: 767.98px) {
    .footer .copyright {
        flex-direction: column;
    }
}

@media (any-hover: hover) {
    .footer .copyright > a:hover {
        color: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .footer .copyright > a:active {
        color: var(--color-accent-47);
    }
}

.footer .copyright .privacy-policy-link {
    text-decoration: underline;
}

.footer .copyright__dev {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (any-hover: hover) {
    .footer .copyright__dev:hover span:before {
        animation-name: unset;
        transform: translateX(0);
    }
}

@media (any-hover: none) {
    .footer .copyright__dev:active span:before {
        animation-name: unset;
        transform: translateX(0);
    }
}

.footer .copyright__dev span {
    width: 111px;
    height: 17px;
    mask-image: url("../assets/static/icons/dev.svg");
    mask-origin: border-box;
    mask-size: contain;
    mask-repeat: no-repeat;
    background-color: var(--color-white-100);
    position: relative;
    cursor: pointer;
    vertical-align: sub;
    overflow: hidden;
}

.footer .copyright__dev span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: translateX(100%);
    transition: transform 0.7s ease-in;
    background: linear-gradient(90deg, #fe6604 10%, #ee0a76 30%, #ee0a76 60%, #fe6604 101%) repeat-x 0 0;
    background-size: 100px;
    animation-duration: 5s;
    animation-name: slideUp;
    animation-iteration-count: infinite;
    animation-delay: 3s;
}

@keyframes slideUp {
    0% {
        transform: translateX(-100%);
    }
    50% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(100%);
    }
}

.page {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: inherit;
}

.page__content {
    flex-grow: 1;
}

.page__content.is-privacy-policy {
    margin-block-end: clamp(7.5rem, 8.5rem + -5vw, 2.5rem);
}

.page__content.is-privacy-policy p {
    --paragraphMarginBottom: 15px;
    margin-block: 0;
}

.page__content.is-privacy-policy p:where(:not([class]):not(:last-child)) {
    margin-bottom: var(--paragraphMarginBottom);
}

@media (max-width: 575.98px) {
    .page__content.is-privacy-policy h1.page__title {
        font-size: 38px;
    }
}

.page__content h1.page__title {
    margin-block-end: clamp(2.5rem, 2.625rem + -0.625vw, 1.875rem);
}

.post-card {
    position: relative;
    overflow: hidden;
    max-width: 750px;
    border-radius: var(--border-radius-default);
}

@media (any-hover: hover) {
    .post-card:hover .post-card__image-wrapper img {
        scale: 1.1;
    }
}

@media (any-hover: none) {
    .post-card:active .post-card__image-wrapper img {
        scale: 1.1;
    }
}

.post-card--case {
    display: flex !important;
    flex-direction: column;
    background: var(--color-white-96);
}

.post-card--case .post-card__image-wrapper {
    height: clamp(12.5rem, 11.6875rem + 4.0625vw, 16.5625rem);
}

.post-card--case .post-card__inner {
    padding: 20px;
}

.post-card--case .post-card__headline {
    gap: 10px;
}

.post-card--article {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.post-card--article .post-card__image-wrapper {
    height: clamp(12.5rem, 10.5rem + 10vw, 22.5rem);
}

.post-card--article .post-card__headline {
    gap: 5px;
}

.post-card .post-card__image-wrapper {
    overflow: hidden;
    border-radius: var(--border-radius-default);
}

.post-card .post-card__image-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--ease-in);
}

.post-card__date {
    position: absolute;
    --position: clamp(0.625rem, 0.5rem + 0.625vw, 1.25rem);
    top: var(--position);
    left: var(--position);
    padding: 6px 10px;
    border-radius: var(--border-radius-default);
    background: var(--color-white-100);
}

.post-card__inner {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.post-card__headline {
    display: flex;
    flex-direction: column;
}

.post-card__name {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1.375rem, 1.35rem + 0.125vw, 1.5rem);
    line-height: 1.2;
    color: var(--color-black-13);
    text-transform: uppercase;
}

.post-card__description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: fit-content;
}

.article__date {
    width: fit-content;
    height: fit-content;
    border-radius: 2px;
    padding: 6px 10px;
    background: var(--color-white-96);
}

@media (max-width: 1439.98px) {
    .article__date {
        width: unset;
    }
}

.article__outer {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

@media (max-width: 1279.98px) {
    .article__outer {
        display: flex;
        flex-direction: column-reverse;
    }
}

.article__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

@media (max-width: 1439.98px) {
    .article__inner {
        display: flex;
        flex-direction: column;
        gap: unset;
    }
}

.article__wrapper {
    display: grid;
    gap: 30px;
    padding: clamp(1.25rem, 0.75rem + 2.5vw, 3.75rem);
    border-radius: var(--border-radius-default);
    background: var(--color-white-96);
}

.article .article-item {
    display: flex;
    gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
    padding-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
    border-block-end: 1px solid var(--color-accent-47);
}

.article .article-item:last-child:has(img) {
    border-block-end: none;
    padding-block-end: 0;
}

.article .article-item__content {
    display: flex;
    flex-direction: column;
    gap: 14px;
    counter-reset: counter;
}

.article .article-item__content :is(ul, ol) {
    display: flex;
    flex-direction: column;
    gap: clamp(0.375rem, 0.325rem + 0.25vw, 0.625rem);
}

.article .article-item__content :is(ul > li) {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.article .article-item__content :is(ul > li)::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background: var(--color-accent-47);
}

.article .article-item__content :is(ol > li) {
    display: flex;
    align-items: start;
    gap: 8px;
}

.article .article-item__content :is(ol > li)::before {
    counter-increment: counter;
    content: counter(counter) ".";
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-accent-47);
}

.article .article-item img {
    width: 100%;
    height: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: var(--border-radius-default);
}

.article .quote {
    gap: 20px;
}

.article .quote__icon {
    flex-shrink: 0;
    color: var(--color-accent-47);
}

.article .quote__icon svg {
    max-width: 26px;
    height: 24px;
}

.article .quote__icon svg [fill] {
    fill: currentColor;
}

.article .quote__icon svg [stroke] {
    stroke: currentColor;
}

.article .article-card {
    position: sticky;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: fit-content;
    padding: 20px;
    background: var(--color-white-96);
}

@media (max-width: 1279.98px) {
    .article .article-card {
        position: unset;
        top: unset;
    }
}

.article .article-card .author {
    display: flex;
    align-items: center;
    gap: 20px;
}

.article .article-card .author img,
.article .article-card .author svg {
    width: 80px;
    height: 80px;
    border-radius: var(--border-radius-default);
}

.article .article-card .author__headline {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.article .article-card .author__heading {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1.125rem, 1.1rem + 0.125vw, 1.25rem);
    line-height: 1.1;
    color: var(--color-black-13);
    text-transform: uppercase;
}

.article .article-card .author__description {
    font-weight: inherit;
    font-size: 14px;
    line-height: 1.2;
}

.article .article-card__description {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.article .article-card__description-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.article .article-card__description-list :is(ul > li) {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.article .article-card__description-list :is(ul > li)::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background: var(--color-accent-47);
}

.services__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(440px, 1fr));
    gap: clamp(0.625rem, 0.375rem + 1.25vw, 1.875rem);
}

@media (max-width: 991.98px) {
    .services__list {
        grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    }
}

.services .button {
    justify-self: center;
}

.sectors .sector-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-default);
}

.sectors .sector-card__link {
    display: flex;
    height: 230px;
    padding: 20px;
}

@media (any-hover: hover) {
    .sectors .sector-card:hover img {
        scale: 1.1;
    }
}

@media (any-hover: none) {
    .sectors .sector-card:active img {
        scale: 1.1;
    }
}

.sectors .sector-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background: var(--color-black-13);
}

.sectors .sector-card__name {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1.125rem, 1.1rem + 0.125vw, 1.25rem);
    line-height: 1.1;
    color: var(--color-black-13);
    text-transform: uppercase;
    align-self: end;
    color: var(--color-white-100);
}

.sectors .sector-card img {
    position: absolute;
    z-index: -2;
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    transition: var(--ease-in);
}

.service-card {
    position: relative;
    z-index: 1;
    overflow: hidden;
    max-width: 750px;
    min-height: clamp(12.5rem, 11.5rem + 5vw, 17.5rem);
    border-radius: var(--border-radius-default);
    background: var(--color-white-96);
}

@media (max-width: 991.98px) {
    .service-card {
        min-height: unset;
    }
}

@media (width > 992.98px) and (any-hover: hover) {
    .service-card:hover .service-card__image-wrapper::before {
        left: 0;
    }
}

@media (width > 992.98px) and (any-hover: none) {
    .service-card:active .service-card__image-wrapper::before {
        left: 0;
    }
}

.service-card__link {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    height: 100%;
    padding: 10px;
}

@media (max-width: 991.98px) {
    .service-card__link {
        flex-direction: column;
    }
}

.service-card__inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    min-width: 240px;
    height: 100%;
    padding: 10px;
}

.service-card__headline {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.service-card__name {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1.375rem, 1.35rem + 0.125vw, 1.5rem);
    line-height: 1.2;
    color: var(--color-black-13);
    text-transform: uppercase;
}

@media (max-width: 991.98px) {
    .service-card__name {
        color: var(--color-white-100);
    }
}

.service-card__description {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: fit-content;
}

@media (max-width: 991.98px) {
    .service-card__description {
        color: var(--color-white-100);
    }
}

.service-card__attrs {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1.375rem, 1.35rem + 0.125vw, 1.5rem);
    line-height: 1.2;
    color: var(--color-black-13);
    text-transform: uppercase;
}

@media (max-width: 991.98px) {
    .service-card__attrs {
        color: var(--color-white-100);
    }
}

.service-card__image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-default);
    width: 100%;
    height: 100%;
    max-width: 200px;
    min-width: 200px;
    max-height: 260px;
}

@media (max-width: 991.98px) {
    .service-card__image-wrapper {
        max-width: unset;
        max-height: unset;
        position: absolute;
        z-index: -2;
        inset: 0;
    }
}

.service-card__image-wrapper::before {
    content: "Подробнее →";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(129, 81, 157, 0.8);
    color: var(--color-white-100);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: left 0.3s ease;
    z-index: 2;
}

@media (max-width: 991.98px) {
    .service-card__image-wrapper::before {
        content: "";
        left: 0;
        background: rgba(129, 81, 157, 0.9);
    }
}

.service-card__image-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accordion-group {
    display: grid;
    row-gap: 10px;
    --accordionGroupCounterHeight: clamp(2rem, 1.775rem + 1.125vw, 3.125rem);
}

.accordion-group--has-counter {
    counter-reset: custom-counter;
    list-style: none;
}

.accordion-group--has-counter .accordion-group__item {
    counter-increment: custom-counter;
}

.accordion-group--has-counter .accordion-group__item::before {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(2rem, 1.9rem + 0.5vw, 2.5rem);
    line-height: 1.1;
    color: var(--color-black-13);
    text-transform: uppercase;
    content: counter(custom-counter, decimal-leading-zero);
    color: var(--color-accent-47);
}

.accordion-group--2-columns {
    column-gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

@media (width > 1279.98px) {
    .accordion-group--2-columns {
        column-count: 2;
    }
}

.accordion-group__item {
    break-inside: avoid-column;
    display: flex;
    align-items: baseline;
    gap: clamp(0.625rem, 0.375rem + 1.25vw, 1.875rem);
    padding: 10px;
    padding-inline-end: 20px;
    border-radius: var(--border-radius-default);
    border: 1px solid var(--color-white-88);
    background: var(--color-white-96);
}

@media (width > 1279.98px) {
    .accordion-group__item--last-column-item::after {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .accordion-group__item {
        flex-direction: column;
    }
}

.accordion-group__item:has(.accordion__details[open]) {
    background: var(--color-white-100);
}

.accordion-group__item:has(.accordion__details[open]) .icon-wrapper {
    background: var(--color-white-96);
}

.accordion-group__item .icon-wrapper {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: var(--accordionGroupCounterHeight);
    height: var(--accordionGroupCounterHeight);
    color: var(--color-black-16);
    border-radius: var(--border-radius-default);
    background: var(--color-white-100);
    cursor: pointer;
    outline: none;
    transition: var(--ease-in);
}

.accordion-group__item .icon-wrapper svg, .accordion-group__item .icon-wrapper img {
    width: 20px;
    height: 20px;
}

.accordion {
    width: 100%;
}

.accordion__details[open] .accordion__title::after {
    rotate: 0deg;
}

.accordion__details[open] + .accordion__content {
    grid-template-rows: 1fr;
}

.accordion__summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.accordion__summary::-webkit-details-marker {
    display: none;
}

.accordion__title {
    position: relative;
    display: flex;
    align-items: center;
    min-height: var(--accordionGroupCounterHeight);
    padding-block: clamp(0rem, -0.125rem + 0.625vw, 0.625rem);
    padding-inline-end: 40px;
}

.accordion__title::before, .accordion__title::after {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    content: "";
    right: 0;
    width: 14px;
    height: 2.5px;
    border-radius: var(--border-radius-default);
    background: var(--color-black-13);
    transition: var(--ease-in);
}

.accordion__title::after {
    rotate: 90deg;
}

.accordion__content {
    display: grid;
    grid-template-rows: 0fr;
    border-block-start: 1px solid var(--color-white-96);
    transition: var(--ease-in);
}

.accordion__content-inner {
    overflow: hidden;
}

.accordion__content-body {
    margin-block: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem) clamp(1.25rem, 1rem + 1.25vw, 2.5rem);
}

.acf-contact-list:not(:is(.acf-contact-list--social-media)) {
    display: flex;
    flex-direction: column;
}

.acf-contact-list:is(.acf-contact-list--phone, .acf-contact-list--email) .acf-contact-list__item a {
    display: block;
}

@media (any-hover: hover) {
    .acf-contact-list:is(.acf-contact-list--phone, .acf-contact-list--email) .acf-contact-list__item a:hover {
        color: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .acf-contact-list:is(.acf-contact-list--phone, .acf-contact-list--email) .acf-contact-list__item a:active {
        color: var(--color-accent-47);
    }
}

.acf-contact-list:is(.acf-contact-list--phone, .acf-contact-list--email) .acf-contact-list__value {
    white-space: nowrap;
}

.acf-contact-list:is(.acf-contact-list--account-info) .acf-contact-list__value {
    pointer-events: none;
    text-decoration: none;
}

.acf-contact-list:is(.acf-contact-list--account-data) .acf-contact-list__value:not(:has(a)) {
    pointer-events: none;
    text-decoration: none;
    color: inherit;
}

.acf-contact-list--social-media {
    display: flex;
    gap: 10px;
    width: fit-content;
    height: fit-content;
}

.acf-contact-list--social-media .acf-contact-list__item {
    flex-shrink: 0;
}

.acf-contact-list--social-media .acf-contact-list__link {
    position: relative;
    overflow: hidden;
    z-index: 1;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}

.acf-contact-list--outline .acf-contact-list__link {
    width: 50px;
    height: 50px;
    border-radius: 5px;
    background: var(--color-white-96);
}

@media (any-hover: hover) {
    .acf-contact-list--outline .acf-contact-list__link:hover {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }

    .acf-contact-list--outline .acf-contact-list__link:hover [fill] {
        fill: currentColor;
    }
}

@media (any-hover: none) {
    .acf-contact-list--outline .acf-contact-list__link:active {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }

    .acf-contact-list--outline .acf-contact-list__link:active [fill] {
        fill: currentColor;
    }
}

.acf-contact-list .style-svg {
    width: 24px;
    height: 24px;
}

.breadcrumb {
    margin-block: 20px;
}

.breadcrumb span[typeof=ListItem]:not(:first-child) {
    margin-inline-start: 4px;
}

.breadcrumb span[typeof=ListItem] {
    margin-inline-end: 4px;
}

.breadcrumb .search.current-item {
    margin-inline: 4px;
}

.breadcrumb .current-item {
    font-weight: 500;
    color: var(--color-accent-47);
}

.button {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    height: 50px;
    padding: 15px 20px;
    border: 1px solid transparent;
    border-radius: var(--border-radius-default);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    text-transform: none;
    text-decoration: none;
    vertical-align: baseline;
    transition: var(--ease-in);
    cursor: pointer;
    white-space: nowrap;
    outline: none;
    appearance: none;
    user-select: none;
}

.button[href^=http] {
    text-decoration: none;
}

@media (max-width: 575.98px) {
    .button:not([data-js-expandable-content-button]) {
        width: 100%;
    }
}

.button--size-l {
    padding-inline: 54px;
}

.button--read-more {
    height: unset;
    padding: unset;
}

.button--submit {
    width: 100%;
}

.button--accent {
    color: var(--color-white-100);
    background: var(--color-accent-47);
}

@media (any-hover: hover) {
    .button--accent:hover {
        color: var(--color-accent-47);
        background: var(--color-white-100);
    }
}

@media (any-hover: none) {
    .button--accent:active {
        color: var(--color-accent-47);
        background: var(--color-white-100);
    }
}

.button--outline {
    border: 1px solid var(--color-accent-47);
    color: var(--color-accent-47);
    background: var(--color-white-100);
}

@media (any-hover: hover) {
    .button--outline:hover {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .button--outline:active {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

.button:active {
    scale: 1.05;
}

.button:disabled {
    color: var(--color-black-41);
    border-color: var(--color-white-88);
    background: var(--color-white-88);
    pointer-events: none;
}

.burger-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    padding: 0;
    background-color: var(--color-white-100);
    border: 1px solid var(--color-accent-92);
    border-radius: var(--border-radius-default);
}

@media (any-hover: hover) {
    .burger-button:hover {
        background-color: var(--color-accent-92);
        border-color: transparent;
    }
}

@media (any-hover: none) {
    .burger-button:active {
        background-color: var(--color-accent-92);
        border-color: transparent;
    }
}

.burger-button.is-active .burger-button__line {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
}

.burger-button.is-active .burger-button__line--2 {
    stroke-dasharray: 1 60;
    stroke-dashoffset: -30;
}

.burger-button:not(.is-active) .burger-button__line--3 {
    stroke-dasharray: 30 207;
    stroke-dashoffset: -30;
}

.burger-button__line {
    fill: none;
    stroke: var(--color-black-13);
    stroke-width: 6;
    stroke-linecap: round;
    stroke-dasharray: 60 207;
    transition: stroke-dasharray var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1);
}

.burger-button__line--2 {
    stroke-dasharray: 60 60;
}

.fancybox__backdrop {
    backdrop-filter: blur(10px);
    background: rgba(22, 23, 25, 0.4) !important;
}

.form input,
.form textarea {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 250px;
    height: 50px;
    padding: 16px 25px;
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    cursor: pointer;
    outline: none;
    resize: none;
    font-weight: inherit;
    font-size: 14px;
    line-height: 1.2;
    color: var(--color-white-100);
    background: rgba(255, 255, 255, 0.1);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    caret-color: inherit;
}

.form input::placeholder,
.form textarea::placeholder {
    color: var(--color-white-100);
    transition: var(--ease-in);
}

.form input:focus, .form input:hover,
.form textarea:focus,
.form textarea:hover {
    border-color: var(--color-white-100);
    color: var(--color-accent-47);
    background: var(--color-white-100);
}

.form input:focus::placeholder, .form input:hover::placeholder,
.form textarea:focus::placeholder,
.form textarea:hover::placeholder {
    color: var(--color-accent-33);
}

.form input.error,
.form textarea.error {
    color: red !important;
    border: 1px solid red !important;
    transition: var(--ease-in);
}

.form input.error::placeholder,
.form textarea.error::placeholder {
    color: red !important;
    transition: var(--ease-in);
}

.form__personal-data {
    font-weight: inherit;
    font-size: 14px;
    line-height: 1.2;
}

.form__personal-data a {
    text-decoration: underline;
}

.form__inner {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

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

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

.form__personal-data {
    color: var(--color-white-100);
}

.logo {
    display: flex;
    max-height: 82px;
    width: fit-content;
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(1rem, 0.85rem + 0.75vw, 1.75rem);
    line-height: 1.1;
    color: var(--color-black-13);
    text-transform: uppercase;
}

@media (width > 1279.98px) {
    .logo {
        max-width: 175px;
    }
}

.modal {
    display: none;
}

.modal.fancybox__content {
    gap: 25px;
    max-width: 655px;
    padding: clamp(1.25rem, 1rem + 1.25vw, 2.5rem);
    background: var(--color-black-16);
}

.modal.fancybox__content > .f-button.is-close-btn {
    --f-button-width: 20px;
    --f-button-height: 20px;
    --f-button-color: var(--color-black-41);
    --f-button-hover-color: var(--color-accent-92);
    border: unset;
    border-radius: unset;
    position: absolute;
    top: 20px;
    right: 20px;
    opacity: unset;
}

.modal .f-button:focus-visible {
    box-shadow: unset;
}

.modal__headline {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.modal__heading {
    font-family: var(--font-family-accent);
    font-weight: 400;
    font-size: clamp(2rem, 1.65rem + 1.75vw, 3.75rem);
    line-height: 1.1;
    color: var(--color-black-13);
    text-transform: uppercase;
    color: var(--color-white-100);
}

.modal__subheading {
    color: var(--color-white-100);
}

[data-js-overlay-menu-aside] {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: fixed;
    top: 90px;
    left: 0;
    width: 320px;
    height: 100vh;
    padding: 20px;
    background: var(--color-white-100);
    transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
    transition: var(--ease-in);
    z-index: 100;
    overflow-y: auto;
}

[data-js-overlay-menu-aside].is-active {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
}

[data-js-overlay-menu-aside] .nav__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

[data-js-overlay-menu-aside] .nav__item {
    white-space: nowrap;
}

[data-js-overlay-menu-aside] .nav__item.active a {
    color: var(--color-accent-47);
    background: var(--color-accent-92);
}

@media (any-hover: hover) {
    [data-js-overlay-menu-aside] .nav__item:hover a {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    [data-js-overlay-menu-aside] .nav__item:active a {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

[data-js-overlay-menu-aside] .nav__item a {
    display: block;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    padding: 8px 11px;
    border-radius: 3px;
    color: var(--color-black-13);
    background: var(--color-white-96);
}

.menu-overlay-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    opacity: 0;
    visibility: hidden;
    transition: var(--ease-in);
    z-index: 98;
}

.menu-overlay-bg.is-active {
    opacity: 1;
    visibility: visible;
}

.slider-navigation, .pagination {
    display: flex;
    align-items: center;
    gap: 10px;
}

.slider-navigation__button,
.slider-navigation .prev,
.slider-navigation .next,
.slider-navigation .page-numbers, .pagination__button,
.pagination .prev,
.pagination .next,
.pagination .page-numbers {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: var(--color-accent-47);
    border-radius: var(--border-radius-default);
    border: 1px solid var(--color-accent-47);
    background: var(--color-white-100);
    cursor: pointer;
    outline: none;
    transition: var(--ease-in);
}

@media (any-hover: hover) {
    .slider-navigation__button:hover,
    .slider-navigation .prev:hover,
    .slider-navigation .next:hover,
    .slider-navigation .page-numbers:hover, .pagination__button:hover,
    .pagination .prev:hover,
    .pagination .next:hover,
    .pagination .page-numbers:hover {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .slider-navigation__button:active,
    .slider-navigation .prev:active,
    .slider-navigation .next:active,
    .slider-navigation .page-numbers:active, .pagination__button:active,
    .pagination .prev:active,
    .pagination .next:active,
    .pagination .page-numbers:active {
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

.slider-navigation__button.swiper-button-disabled, .slider-navigation__button.disabled,
.slider-navigation .prev.swiper-button-disabled,
.slider-navigation .prev.disabled,
.slider-navigation .next.swiper-button-disabled,
.slider-navigation .next.disabled,
.slider-navigation .page-numbers.swiper-button-disabled,
.slider-navigation .page-numbers.disabled, .pagination__button.swiper-button-disabled, .pagination__button.disabled,
.pagination .prev.swiper-button-disabled,
.pagination .prev.disabled,
.pagination .next.swiper-button-disabled,
.pagination .next.disabled,
.pagination .page-numbers.swiper-button-disabled,
.pagination .page-numbers.disabled {
    color: var(--color-black-41);
    border-color: var(--color-white-88);
    background: var(--color-white-88);
    pointer-events: none;
}

.slider-navigation__pagination, .pagination__pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    align-items: center;
    gap: 5px;
}

.slider-navigation__pagination-bullet, .pagination__pagination-bullet {
    border-radius: 2px;
    border: 1px solid var(--color-white-88);
    width: 10px;
    height: 10px;
    background: var(--color-white-100);
    opacity: unset;
    outline: none;
    transition: var(--ease-in);
}

.slider-navigation__pagination-bullet.is-active, .pagination__pagination-bullet.is-active {
    border-color: var(--color-accent-47);
    background: var(--color-accent-47);
}

.pagination {
    justify-self: center;
    gap: 40px;
}

.pagination__link {
    display: flex;
    align-items: center;
    gap: 5px;
}

.pagination__link .page-numbers {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    border: 1px solid var(--color-white-88);
}

@media (any-hover: hover) {
    .pagination__link .page-numbers:hover {
        border: 1px solid var(--color-accent-47);
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

@media (any-hover: none) {
    .pagination__link .page-numbers:active {
        border: 1px solid var(--color-accent-47);
        color: var(--color-white-100);
        background: var(--color-accent-47);
    }
}

.pagination__link .page-numbers.current {
    border: 1px solid var(--color-accent-47);
    color: var(--color-white-100);
    background: var(--color-accent-47);
}

/*# sourceMappingURL=app.css.map */

.article .article-item:has(table) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.article .article-item__content table {
    width: 100%;
    border-collapse: collapse;
    font-family: sans-serif;
    font-size: 14px;
}

.article .article-item__content th,
.article .article-item__content td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
    vertical-align: top;
}

.article .article-item__content thead th {
    background-color: #f9f9f9;
    font-weight: bold;
}

.article .article-item__content tr:nth-child(even) {
    background-color: #fefefe;
}

.article .article-item__content tr:nth-child(odd) {
    background-color: #f6f6f6;
}

@media (max-width: 768px) {
    .article .article-item__content table {
        font-size: 13px;
    }
}


form:not(:has(input[type="checkbox"]:checked)) .button.button--submit {
    pointer-events: none;
    opacity: 0.5;
}

.checkbox-wrapper {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 20px;
    user-select: none;
    font-family: sans-serif;
}

.custom-checkbox {
    display: none !important;
}

.checkmark {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 5px;
    position: relative;
    background: rgba(255, 255, 255, 0.1);
}

.custom-checkbox:checked + .checkmark::after {
    content: '';
    position: absolute;
    left: 10px;
    top: 2px;
    width: 8px;
    height: 18px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}