@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
 */
/**
 * 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;
}

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-grey-10: #f4f4f4;
  --color-grey-20: #c0c0c0;
  --color-grey-30: #8c8c8c;
  --color-grey-40: #5f5f5f;
  --color-grey-50: #484848;
  --color-grey-60: #3a3a3a;
  --color-grey-70: #2a2a2a;
  --color-grey-80: #1a1a1a;
  --color-accent-10: #fEf7d2;
  --color-accent-30: #fceb8d;
  --color-accent-50: #f9d71c;
  --radius-default: 0.25rem;
  --font-family-base: "Inter Tight", sans-serif;
  --container-width: clamp(80rem, 33.125rem + 52.0833333333vw, 95.625rem);
  --container-padding-x: 0.875rem;
  --section-padding-y: clamp(1.25rem, 0.75rem + 2.5vw, 3.75rem);
  --section-padding-x: clamp(1.25rem, 0.5rem + 3.75vw, 5rem);
  --section-offset-end: clamp(2.5rem, 1.625rem + 4.375vw, 6.875rem);
  --layout-gap: clamp(1.625rem, 1.575rem + 0.25vw, 1.875rem);
  --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;
}

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

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

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

.w-auto {
  width: auto;
}

.size-auto {
  width: auto;
  height: auto;
}

.w-px {
  width: 1px;
}

.size-px {
  width: 1px;
  height: 1px;
}

.w-full {
  width: 100%;
}

.size-full {
  width: 100%;
  height: 100%;
}

.w-screen {
  width: 100vw;
}

.size-screen {
  width: 100vw;
  height: 100vw;
}

.w-dvw {
  width: 100dvw;
}

.size-dvw {
  width: 100dvw;
  height: 100dvw;
}

.w-dvh {
  width: 100dvh;
}

.size-dvh {
  width: 100dvh;
  height: 100dvh;
}

.w-lvw {
  width: 100lvw;
}

.size-lvw {
  width: 100lvw;
  height: 100lvw;
}

.w-lvh {
  width: 100lvh;
}

.size-lvh {
  width: 100lvh;
  height: 100lvh;
}

.w-svw {
  width: 100svw;
}

.size-svw {
  width: 100svw;
  height: 100svw;
}

.w-svh {
  width: 100svh;
}

.size-svh {
  width: 100svh;
  height: 100svh;
}

.w-min {
  width: min-content;
}

.size-min {
  width: min-content;
  height: min-content;
}

.w-max {
  width: max-content;
}

.size-max {
  width: max-content;
  height: max-content;
}

.w-fit {
  width: fit-content;
}

.size-fit {
  width: fit-content;
  height: fit-content;
}

.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;
  }
}

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

.section {
  margin-block-end: var(--section-offset-end);
}
.section__headline {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: end;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  margin-block-end: clamp(1.625rem, 1.45rem + 0.875vw, 2.5rem);
}
@media (max-width: 991.98px) {
  .section__headline {
    display: flex;
    flex-direction: column;
    align-items: start;
  }
}
.section__description {
  font-weight: inherit;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.3;
}

.section-grid-layout-preset {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 30px;
}

.mx-auto {
  margin-inline: auto;
}

::selection {
  color: var(--color-accent-10);
}

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

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

html {
  height: 100%;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

[data-scroll-target] {
  scroll-margin-top: 90px;
}

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-grey-20);
  background: var(--color-grey-80);
  overflow-x: hidden;
}
body.is-lock {
  overflow: hidden;
}

h1, .h1 {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(2.125rem, 1.9rem + 1.125vw, 3.25rem);
  line-height: 1.1;
  color: var(--color-white);
}

h2, .h2 {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.875rem, 1.7rem + 0.875vw, 2.75rem);
  line-height: 1.1;
  color: var(--color-white);
}
h2.wp-block-heading, .h2.wp-block-heading {
  margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h3, .h3 {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.75rem, 1.7rem + 0.25vw, 2rem);
  line-height: 1.1;
  color: var(--color-white);
}
h3.wp-block-heading, .h3.wp-block-heading {
  margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h4, .h4 {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
  line-height: 1.2;
  color: var(--color-white);
}
h4.wp-block-heading, .h4.wp-block-heading {
  margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h5, .h5 {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.1;
  color: var(--color-white);
}
h5.wp-block-heading, .h5.wp-block-heading {
  margin-block-end: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}

h6, .h6 {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1.2;
  color: var(--color-white);
}
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: 1.3;
}

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-neutral-90);
  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%;
}

body.is-lock .header:not(.is-active) {
  background: var(--color-grey-80);
}

.header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 75px;
  padding-block: clamp(0.625rem, 0.55rem + 0.375vw, 1rem);
  background: var(--color-grey-80);
}
.header[data-js-position-fixed] {
  position: fixed;
}
.header[data-js-position-fixed]:not(.is-active) {
  background: transparent;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(1rem, 0.825rem + 0.875vw, 1.875rem);
}
.header__components-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(0.375rem, 0.0125rem + 1.8125vw, 2.1875rem);
  height: 50px;
  padding: 14px;
  margin-inline-start: auto;
  border: 1px solid var(--color-grey-50);
  border-radius: var(--radius-default);
}
@media (max-width: 1439.98px) {
  .header__components-wrapper.w-full {
    display: none;
  }
}
@media (max-width: 575.98px) {
  .header__components-wrapper {
    flex-direction: column;
    height: unset;
    padding: unset;
    border: unset;
  }
}
.header .header-contacts__item {
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 0.125rem + 0.625vw, 0.875rem);
}
.header .header-contacts__icon {
  width: 24px;
  height: 24px;
  color: var(--color-accent-50);
}
@media (max-width: 575.98px) {
  .header .header-contacts__icon {
    display: none;
  }
}
.header .header-contacts__icon [fill] {
  fill: currentColor;
}
.header .header-contacts__divider {
  width: 1px;
  height: 12px;
  background-color: var(--color-white);
}
@media (max-width: 575.98px) {
  .header .header-contacts__divider {
    display: none;
  }
}
.header .nav .nav__list {
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
.header .nav .nav__item {
  white-space: nowrap;
}
.header .nav .nav__item a {
  display: block;
  font-family: inherit;
  font-weight: 500;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1.2;
  color: var(--color-white);
  color: var(--color-white);
}
@media (any-hover: hover) {
  .header .nav .nav__item a:hover {
    color: var(--color-accent-50);
  }
}
@media (any-hover: none) {
  .header .nav .nav__item a:active {
    color: var(--color-accent-50);
  }
}
.header__actions-wrapper {
  display: flex;
  align-items: center;
  gap: clamp(1rem, -0.75rem + 2.1875vw, 1.875rem);
}
.header__contact-list-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 991.98px) {
  .header__contact-list-wrapper {
    display: none;
  }
}
@media (any-hover: hover) {
  .header .contact-list--social-media .contact-list__item:hover a {
    color: var(--color-accent-50);
  }
  .header .contact-list--social-media .contact-list__item:hover a [fill] {
    fill: currentColor;
  }
}
@media (any-hover: none) {
  .header .contact-list--social-media .contact-list__item:active a {
    color: var(--color-accent-50);
  }
  .header .contact-list--social-media .contact-list__item:active a [fill] {
    fill: currentColor;
  }
}
.header .contact-list--social-media .contact-list__item svg,
.header .contact-list--social-media .contact-list__item img {
  width: 30px;
  height: 30px;
}
.header .contact-list--phone a {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.1;
  color: var(--color-white);
}
@media (max-width: 575.98px) {
  .header__button.button {
    display: none;
  }
}
.header__burger-button {
  position: relative;
  z-index: 100;
}

.error-page {
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: grid;
  align-items: center;
  min-height: 532px;
  margin-block-end: var(--section-offset-end);
}
.error-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%);
}
.error-page img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius-default);
}
.error-page__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  --container-width: 1318px;
  width: min(var(--container-width), 100% - var(--container-padding-x) * 2);
  margin-inline: auto;
}
.error-page__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  max-width: 660px;
}
.error-page__headline {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.error-page__heading {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.875rem, 1.7rem + 0.875vw, 2.75rem);
  line-height: 1.1;
  color: var(--color-white);
}
.error-page__description {
  font-weight: inherit;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.3;
  color: var(--color-white);
}
.error-page__status {
  font-weight: 600;
  font-size: clamp(9.125rem, 7.325rem + 9vw, 18.125rem);
  line-height: 1.1;
  color: var(--color-accent-50);
}

.footer__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: clamp(1.25rem, 1rem + 1.25vw, 2.5rem);
  padding: clamp(1.25rem, 1rem + 1.25vw, 2.5rem);
  border-block-start: 1px solid var(--color-grey-50);
}
.footer__content-wrapper {
  display: flex;
  justify-content: space-between;
  gap: clamp(1.25rem, 0.25rem + 5vw, 6.25rem);
}
@media (max-width: 991.98px) {
  .footer__content-wrapper {
    display: flex;
    flex-direction: column;
  }
}
.footer__menu {
  display: grid;
  grid-template-columns: repeat(3, 220px);
  gap: 30px;
}
@media (max-width: 991.98px) {
  .footer__menu {
    display: flex;
    flex-direction: column;
  }
}
.footer__menu-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer__menu-col-name {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.1;
  color: var(--color-white);
}
.footer .nav__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 991.98px) {
  .footer .nav__list {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer__contacts .contact-list__value {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.1;
  color: var(--color-white);
}
.footer__extra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.625rem, 0.5rem + 0.625vw, 1.25rem);
  padding-block: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  margin-block-end: 20px;
  border-block: 1px solid var(--color-grey-50);
}
@media (max-width: 767.98px) {
  .footer__extra {
    flex-direction: column;
  }
}
.footer__extra > * {
  font-weight: inherit;
  font-size: 14px;
  line-height: inherit;
  color: var(--color-grey-30);
}
@media (any-hover: hover) {
  .footer__extra > a:hover {
    color: var(--color-accent-50);
  }
}
@media (any-hover: none) {
  .footer__extra > a:active {
    color: var(--color-accent-50);
  }
}
.footer__extra .dev {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (any-hover: hover) {
  .footer__extra .dev:hover span:before {
    animation-name: unset;
    transform: translateX(0);
  }
}
@media (any-hover: none) {
  .footer__extra .dev:active span:before {
    animation-name: unset;
    transform: translateX(0);
  }
}
.footer__extra .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-grey-30);
  position: relative;
  cursor: pointer;
  vertical-align: sub;
  overflow: hidden;
}
.footer__extra .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(2.5rem, 1.625rem + 4.375vw, 6.875rem);
}
.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: 28px;
  }
}
.page__content h1.page__title {
  margin-block-end: clamp(1.875rem, 1.75rem + 0.625vw, 2.5rem);
}

.services__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
.services__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
@media (max-width: 1439.98px) {
  .services__list {
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  }
}

.service-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--radius-default);
  background: var(--color-grey-70);
}
.service-card__category {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  padding: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
@media (any-hover: hover) {
  .service-card__category:hover .service-card__content > * {
    color: var(--color-accent-50);
  }
}
@media (any-hover: none) {
  .service-card__category:active .service-card__content > * {
    color: var(--color-accent-50);
  }
}
.service-card__category img {
  width: 100%;
  height: 100%;
  /*max-width: 200px;*/
  max-height: 170px;
  object-fit: cover;
  border-radius: var(--radius-default);
}
.service-card__name {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.1;
  color: var(--color-white);
}
.service-card__description {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: fit-content;
}
.service-card__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: var(--ease-in);
}
.service-card__subcategories {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
.service-card__subcategories a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 10px;
  border-radius: var(--radius-default);
  color: var(--color-white);
  background: var(--color-grey-80);
}
@media (any-hover: hover) {
  .service-card__subcategories a:hover {
    color: var(--color-grey-80);
    background: var(--color-accent-30);
  }
  .service-card__subcategories a:hover .service-card__arrow {
    color: var(--color-grey-80);
  }
}
@media (any-hover: none) {
  .service-card__subcategories a:active {
    color: var(--color-grey-80);
    background: var(--color-accent-30);
  }
  .service-card__subcategories a:active .service-card__arrow {
    color: var(--color-grey-80);
  }
}
.service-card__arrow {
  color: var(--color-accent-50);
}
.service-card__arrow [fill] {
  fill: currentColor;
}

.projects__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
.projects__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
@media (max-width: 1279.98px) {
  .projects__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767.98px) {
  .projects__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.projects .slider__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.project-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  min-height: 320px;
  padding: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  border-radius: var(--radius-default);
  background: var(--color-grey-70);
}
.project-card__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
.project-card__content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.project-card__name {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
  line-height: 1.2;
  color: var(--color-white);
}
.project-card .list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.project-card .list__item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 10px;
  border-block: 1px solid var(--color-grey-50);
}
.project-card__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.project-card .price {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.project-card .price__prefix {
  font-weight: inherit;
  font-size: 14px;
  line-height: inherit;
}
.project-card .price__value {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
  line-height: 1.2;
  color: var(--color-white);
}
.project-card .price__value::after {
  content: " ₽";
}
.project-card__gallery {
  display: flex;
  gap: 1px;
}
.project-card__gallery a {
  position: relative;
  display: block;
  width: 100%;
  max-height: 275px;
  overflow: hidden;
  border-radius: var(--radius-default);
}
.project-card__gallery a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card__tag {
  position: absolute;
  bottom: 10px;
  left: 10px;
  min-width: 86px;
  padding: 10px 20px;
  text-align: center;
  border-radius: var(--radius-default);
  background: var(--color-grey-80);
}

.reviews__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
.reviews .slider__footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.reviews__wrapper {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
@media (max-width: 1279.98px) {
  .reviews__wrapper {
    display: flex;
    flex-direction: column;
  }
}
.reviews__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
.reviews .cta-card {
  position: sticky;
  top: 85px;
}
@media (max-width: 1279.98px) {
  .reviews .cta-card {
    position: unset;
    top: unset;
  }
}

.review-card {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  height: 100%;
  min-height: 400px;
  padding: 20px;
  border-radius: var(--radius-default);
  background: var(--color-grey-70);
}
@media (max-width: 991.98px) {
  .review-card {
    min-height: unset;
  }
}
.review-card__headline {
  display: flex;
  align-items: center;
  gap: 15px;
}
.review-card__headline img {
  max-width: 60px;
  max-height: 60px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius-default);
}
.review-card__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  border-radius: var(--radius-default);
  background: var(--color-grey-50);
}
.review-card__user-data {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.review-card__user-data-name {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.1;
  color: var(--color-white);
}
.review-card__user-data-date {
  font-weight: inherit;
  font-size: 14px;
  line-height: inherit;
}
.review-card__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-block-start: auto;
}
.review-card__textarea.show-more {
  display: -webkit-box;
  -webkit-line-clamp: 9;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: fit-content;
}

.seo__inner {
  display: flex;
}
.seo__inner > div {
  display: flex;
  flex-direction: column;
  gap: 14px;
  counter-reset: counter;
}
.seo__inner > div :is(ul, ol) {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.seo__inner > div :is(ul > li) {
  display: flex;
  align-items: center;
  gap: 8px;
}
.seo__inner > div :is(ul > li)::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 50%;
  width: 4px;
  height: 4px;
  background: var(--color-accent-50);
}
.seo__inner > div :is(ol > li) {
  display: flex;
  align-items: start;
  gap: 8px;
}
.seo__inner > div :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-45);
}
.seo__inner:has(> :nth-child(2)) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
}
@media (max-width: 991.98px) {
  .seo__inner:has(> :nth-child(2)) {
    display: flex;
    flex-direction: column;
  }
}

.s-service-card__inner {
  padding: clamp(1.25rem, 0.75rem + 2.5vw, 3.75rem);
  border-radius: var(--radius-default);
  background: var(--color-grey-70);
}
.s-service-card__inner:has(img) {
  display: grid;
  grid-template-columns: clamp(28.75rem, 18.3275862069rem + 16.8103448276vw, 38.5rem) auto;
  gap: clamp(1.875rem, 1.7rem + 0.875vw, 2.75rem);
}
@media (max-width: 991.98px) {
  .s-service-card__inner:has(img) {
    display: flex;
    flex-direction: column;
  }
}
.s-service-card img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 356px;
  min-height: 356px;
  object-fit: cover;
  border-radius: var(--radius-default);
}
.s-service-card__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.s-service-card__headline {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.s-service-card__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: 1.3;
}
.s-service-card__description :is(ul, ol) {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.s-service-card__description :is(ul > li) {
  display: flex;
  align-items: center;
  gap: 8px;
}
.s-service-card__description :is(ul > li)::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  border-radius: 50%;
  width: 4px;
  height: 4px;
  background: var(--color-accent-50);
}
.s-service-card__description :is(ol > li) {
  display: flex;
  align-items: start;
  gap: 8px;
}
.s-service-card__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-45);
}
.s-service-card__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.s-service-card__price {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.s-service-card__price-prefix {
  font-weight: inherit;
  font-size: 14px;
  line-height: inherit;
}
.s-service-card__price-value {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
  line-height: 1.2;
  color: var(--color-white);
}
.s-service-card__price-value::after {
  content: " ₽";
}

.cta-card {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 1rem + 1.25vw, 2.5rem);
  height: fit-content;
  padding: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  border-radius: var(--radius-default);
  background: var(--color-accent-50);
}
.cta-card__headline {
  display: flex;
  flex-direction: column;
  gap: clamp(0.625rem, 0.5625rem + 0.3125vw, 0.9375rem);
}
.cta-card__heading {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
  line-height: 1.2;
  color: var(--color-white);
  color: var(--color-grey-80);
}
.cta-card__description {
  color: var(--color-grey-80);
}

.price__list {
  display: grid;
  gap: 15px clamp(0.9375rem, -0.0646551724rem + 1.6163793103vw, 1.875rem);
  /*padding: var(--section-padding-y);*/
  padding: 10px 20px;
  border-radius: var(--radius-default);
  background: var(--color-grey-70);
}
@media (max-width: 991.98px) {
  .price__list {
    display: flex;
    flex-direction: column;
  }
}
.price__list:has(> :nth-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.price__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*gap: 10px;*/
  /*padding-block-end: clamp(0.625rem, 0.5625rem + 0.3125vw, 0.9375rem);*/
  padding-block-end: 8px;
  border-block-end: 1px solid var(--color-grey-50);
  cursor: pointer;
}
@media (max-width: 575.98px) {
  .price__item {
    flex-direction: column;
    align-items: start;
  }
}
@media (any-hover: hover) {
  .price__item:hover .price__item-arrow {
    background: var(--color-accent-30);
  }
  .price__item:hover .price__key,
  .price__item:hover .price__value {
    color: var(--color-accent-50);
  }
}
@media (any-hover: none) {
  .price__item:active .price__item-arrow {
    background: var(--color-accent-30);
  }
  .price__item:active .price__key,
  .price__item:active .price__value {
    color: var(--color-accent-50);
  }
}
.price__value-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(0.625rem, 0.375rem + 1.25vw, 1.875rem);
}
@media (max-width: 575.98px) {
  .price__value-wrapper {
    width: 100%;
  }
}
.price__item-arrow {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: clamp(2.375rem, 2.1rem + 1.375vw, 3.75rem);
  height: clamp(2.375rem, 2.1rem + 1.375vw, 3.75rem);
  border-radius: var(--radius-default);
  color: var(--color-grey-80);
  background: var(--color-accent-50);
  transition: var(--ease-in);
}
.price__item-arrow [stroke] {
  stroke: currentColor;
}
.price__value {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1.2;
  color: var(--color-white);
  white-space: nowrap;
}

.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: inherit;
  font-weight: 600;
  font-size: clamp(1.25rem, 1.2rem + 0.25vw, 1.5rem);
  line-height: 1.2;
  color: var(--color-white);
  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);
}

.contact-list:not(:is(.contact-list--social-media)) {
  display: flex;
  flex-direction: column;
}
.contact-list:is(.contact-list--phone, .contact-list--email) .contact-list__item a {
  display: block;
  color: var(--color-white);
}
@media (any-hover: hover) {
  .contact-list:is(.contact-list--phone, .contact-list--email) .contact-list__item a:hover {
    color: var(--color-accent-50);
  }
}
@media (any-hover: none) {
  .contact-list:is(.contact-list--phone, .contact-list--email) .contact-list__item a:active {
    color: var(--color-accent-50);
  }
}
.contact-list:is(.contact-list--phone, .contact-list--email) .contact-list__value {
  white-space: nowrap;
}
.contact-list:is(.contact-list--account-info) .contact-list__value {
  pointer-events: none;
  text-decoration: none;
}
.contact-list:is(.contact-list--account-data) .contact-list__value:not(:has(a)) {
  pointer-events: none;
  text-decoration: none;
}
.contact-list--social-media {
  display: flex;
  gap: 10px;
  width: fit-content;
  height: fit-content;
}
.contact-list--social-media .contact-list__item {
  flex-shrink: 0;
}
.contact-list--social-media .contact-list__link {
  position: relative;
  overflow: hidden;
  z-index: 1;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.contact-list--outline .contact-list__link {
  width: 60px;
  height: 60px;
  border: 1px solid var(--color-grey-50);
  border-radius: var(--radius-default);
  background: var(--color-grey-70);
}
@media (any-hover: hover) {
  .contact-list--outline .contact-list__link:hover {
    color: var(--color-grey-80);
    background: var(--color-accent-50);
  }
  .contact-list--outline .contact-list__link:hover [fill] {
    fill: currentColor;
  }
  .contact-list--outline .contact-list__link:hover [stroke] {
    fill: currentColor;
  }
}
@media (any-hover: none) {
  .contact-list--outline .contact-list__link:active {
    color: var(--color-grey-80);
    background: var(--color-accent-50);
  }
  .contact-list--outline .contact-list__link:active [fill] {
    fill: currentColor;
  }
  .contact-list--outline .contact-list__link:active [stroke] {
    fill: currentColor;
  }
}
.contact-list svg,
.contact-list img {
  width: 30px;
  height: 30px;
}
.contact-list--fixed {
  z-index: 100;
  display: flex;
  position: fixed;
  bottom: 42%;
  right: 8px;
  flex-direction: column;
  gap: 10px;
}
.contact-list--fixed .contact-list__link {
  width: 50px;
  height: 50px;
  border-radius: var(--radius-default);
  background: var(--color-white);
}
@media (max-width: 991.98px) {
  .contact-list--fixed {
    bottom: 6%;
  }
}

.breadcrumb {
  margin-block: 20px;
  font-size: 14px;
}
.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 {
  color: var(--color-accent-50);
}

.button {
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: fit-content;
  height: clamp(3.125rem, 3rem + 0.625vw, 3.75rem);
  padding: 22px;
  border: 1px solid transparent;
  border-radius: var(--radius-default);
  font-family: inherit;
  font-weight: 500;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1;
  color: var(--color-white);
  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-expand-button], [data-js-content-button], .button--w-full) {
    width: 100%;
  }
}
.button--w-full {
  width: 100%;
  margin-inline: auto;
}
.button:not([data-js-expand-button]):active {
  scale: 1.02;
}
.button--expand {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1.2;
  color: var(--color-white);
  color: var(--color-accent-45);
}
@media (any-hover: hover) {
  .button--expand:hover {
    color: var(--color-accent-20);
  }
}
@media (any-hover: none) {
  .button--expand:active {
    color: var(--color-accent-20);
  }
}
.button--submit {
  width: 100%;
  color: var(--color-white);
  background: var(--color-grey-80);
}
.button--accent {
  padding: 18px 25px;
  color: var(--color-grey-80);
  background: var(--color-accent-50);
}
@media (any-hover: hover) {
  .button--accent:hover {
    background: var(--color-accent-30);
  }
}
@media (any-hover: none) {
  .button--accent:active {
    background: var(--color-accent-30);
  }
}
.button--outline {
  border-color: var(--color-accent-50);
  color: var(--color-white);
  background: var(--color-grey-80);
}
@media (any-hover: hover) {
  .button--outline:hover {
    color: var(--color-grey-80);
    border-color: var(--color-accent-30);
    background: var(--color-accent-30);
  }
}
@media (any-hover: none) {
  .button--outline:active {
    color: var(--color-grey-80);
    border-color: var(--color-accent-30);
    background: var(--color-accent-30);
  }
}
.button:disabled {
  border-color: transparent;
  background: var(--color-grey-70);
  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-accent-50);
  border: 1px solid transparent;
  border-radius: var(--radius-default);
}
@media (any-hover: hover) {
  .burger-button:hover {
    background-color: var(--color-accent-30);
    border-color: transparent;
  }
}
@media (any-hover: none) {
  .burger-button:active {
    background-color: var(--color-accent-30);
    border-color: transparent;
  }
}
.burger-button:active {
  scale: 1.05;
}
.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-grey-80);
  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 {
  --fancybox-bg: rgba(26, 26, 26, .8);
  background: var(--fancybox-bg);
}

.form:not(:is(.form--service)) {
  border-radius: var(--radius-default);
  background: var(--color-accent-50);
}
.form:not(:is(.form--service)) input, .form:not(:is(.form--service)) textarea {
  border: 1px solid var(--color-grey-80);
  color: var(--color-grey-80);
  background: transparent;
}
.form:not(:is(.form--service)) input::placeholder, .form:not(:is(.form--service)) textarea::placeholder {
  color: var(--color-grey-80);
}
.form--service {
  background: var(--color-grey-80);
}
.form--service input {
  color: var(--color-white);
  background: rgba(255, 255, 255, 0.2);
}
.form--service input::placeholder {
  color: var(--color-white);
}
.form--service input:focus, .form--service input:hover {
  color: var(--color-grey-80);
}
.form--service input:focus::placeholder, .form--service input:hover::placeholder {
  color: var(--color-grey-80);
}
.form--service .select {
  color: var(--color-white);
  background: rgba(255, 255, 255, 0.2);
}
.form--service .select::placeholder {
  color: var(--color-white);
}
.form--service .form__personal-data {
  font-weight: inherit;
  font-size: 14px;
  line-height: inherit;
  font-size: 13px;
}
@media (max-width: 575.98px) {
  .form--service .form__personal-data {
    text-align: center;
  }
}
.form--service .form__personal-data > * {
  color: var(--color-grey-20);
}
.form__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  height: 100%;
}
.form__group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.form input,
.form textarea {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 200px;
  height: clamp(3.125rem, 3rem + 0.625vw, 3.75rem);
  padding: 26px 24px;
  border-radius: var(--radius-default);
  cursor: pointer;
  outline: none;
  resize: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  caret-color: inherit;
}
.form input::placeholder,
.form textarea::placeholder {
  transition: var(--ease-in);
}
.form input:focus, .form input:hover,
.form textarea:focus,
.form textarea:hover {
  background: var(--color-white);
}
.form input.error,
.form textarea.error {
  color: #f00 !important;
  border: 1px solid #f00 !important;
  transition: var(--ease-in);
}
.form input.error::placeholder,
.form textarea.error::placeholder {
  color: #f00 !important;
  transition: var(--ease-in);
}
.form__control[type=number]::-webkit-outer-spin-button, .form__control[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.form__control[type=number] {
  -moz-appearance: textfield;
}
.form__footer {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.form__personal-data {
  font-weight: inherit;
  font-size: 14px;
  line-height: inherit;
}
@media (max-width: 575.98px) {
  .form__personal-data {
    text-align: center;
  }
}
.form__personal-data span {
  transition: var(--ease-in);
}
.form__personal-data > * {
  color: var(--color-grey-80);
}
.form__personal-data a {
  text-decoration: underline;
}
.form .file {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 10px;
  height: fit-content;
}
.form .file #file {
  display: none;
}
.form .file label {
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 10px;
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1.2;
  color: var(--color-white);
  color: var(--color-grey-80);
}
.form .file__upload-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.form .file__item {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--color-grey-80);
}
.form .file__item-delete {
  cursor: pointer;
}
.form .file__item-delete svg {
  width: 12px;
  height: 12px;
  color: var(--color-grey-80);
}
.form .file__item-delete svg [fill] {
  color: currentColor;
}
.form .form__checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.form .form__checkbox--hero .form__checkbox-check {
  border-color: var(--color-grey-10);
}
.form .form__checkbox--hero .form__checkbox-check:before {
  background-color: var(--color-accent-50);
}
.form .form__checkbox-check {
  width: 20px;
  height: 20px;
  border-radius: var(--radius-default);
  border: 1px solid var(--color-grey-80);
  background: transparent;
  flex-shrink: 0;
  position: relative;
  transition: var(--ease-in);
}
.form .form__checkbox-check::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
  height: 16px;
  background-color: var(--color-grey-80);
  mask-image: url("../assets/static/icons/check-form.svg");
  mask-repeat: no-repeat;
  mask-position: right top;
  mask-size: contain;
  opacity: 0;
  transition: var(--ease-in);
}
.form .form__checkbox input {
  display: none;
}
.form .form__checkbox input:checked + .form__checkbox-check::before {
  opacity: 1;
}
.form .form__checkbox input.error + .form__checkbox-check {
  border-color: #f00;
}
.form .form__checkbox input.error + .form__checkbox-check + .form__personal-data {
  color: #f00;
}
.form .form__checkbox input.error + .form__checkbox-check + .form__personal-data > * {
  color: #f00;
}

.logo {
  display: flex;
  max-width: 166px;
  max-height: 36px;
}
.logo img {
  width: 100%;
  height: 100%;
  max-width: 166px;
  max-height: 36px;
  object-fit: contain;
}

.modal {
  display: none;
}
.modal.fancybox__content {
  gap: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  max-width: 500px;
  padding: clamp(1.25rem, 1rem + 1.25vw, 2.5rem) clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  border-radius: var(--radius-default);
  background: var(--color-accent-50);
}
.modal.fancybox__content > .f-button.is-close-btn {
  --f-button-width: 24px;
  --f-button-height: 24px;
  --f-button-color: var(--color-grey-40);
  --f-button-hover-color: var(--color-grey-80);
  border: unset;
  border-radius: unset;
  position: absolute;
  top: 20px;
  right: 20px;
  opacity: unset;
  transition: var(--ease-in);
}
.modal .f-button:focus-visible {
  box-shadow: unset;
}
.modal__headline {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: center;
}
.modal__heading {
  font-family: inherit;
  font-weight: 600;
  font-size: clamp(1.75rem, 1.7rem + 0.25vw, 2rem);
  line-height: 1.1;
  color: var(--color-white);
  color: var(--color-grey-80);
}
.modal__subheading {
  color: var(--color-grey-80);
}
.modal.overflow-content .overflow-content__text {
  margin-block-start: 14px;
  color: var(--color-grey-80);
}

[data-js-overlay-menu-aside] {
  display: flex;
  flex-direction: column;
  gap: 30px;
  position: fixed;
  top: 75px;
  left: 0;
  width: 320px;
  height: calc(var(--vh, 1vh) * 100 - 75px);
  padding: 20px;
  background: inherit;
  transform: translateX(-100%);
  opacity: 0;
  visibility: hidden;
  transition: var(--ease-in);
  z-index: 100;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
[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 a {
  font-family: inherit;
  font-weight: 500;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1.2;
  color: var(--color-white);
  display: block;
  padding: 10px;
  border-radius: var(--radius-default);
  color: var(--color-white);
  background: var(--color-grey-70);
}
[data-js-overlay-menu-aside] .contact-list--phone a,
[data-js-overlay-menu-aside] .contact-list--email a {
  font-family: inherit;
  font-weight: 500;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1;
  color: var(--color-white);
}

.menu-overlay-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(26, 26, 26, 0.5);
  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: 60px;
  height: 60px;
  border-radius: var(--radius-default);
  border: 1px solid var(--color-accent-50);
  color: var(--color-white);
  background: transparent;
  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-grey-80);
    border-color: var(--color-accent-30);
    background: var(--color-accent-30);
  }
  .slider-navigation__button:hover [stroke],
  .slider-navigation .prev:hover [stroke],
  .slider-navigation .next:hover [stroke],
  .slider-navigation .page-numbers:hover [stroke], .pagination__button:hover [stroke],
  .pagination .prev:hover [stroke],
  .pagination .next:hover [stroke],
  .pagination .page-numbers:hover [stroke] {
    stroke: currentColor;
  }
}
@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-grey-80);
    border-color: var(--color-accent-30);
    background: var(--color-accent-30);
  }
  .slider-navigation__button:active [stroke],
  .slider-navigation .prev:active [stroke],
  .slider-navigation .next:active [stroke],
  .slider-navigation .page-numbers:active [stroke], .pagination__button:active [stroke],
  .pagination .prev:active [stroke],
  .pagination .next:active [stroke],
  .pagination .page-numbers:active [stroke] {
    stroke: currentColor;
  }
}
.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 {
  border-color: transparent;
  background: var(--color-grey-70);
  pointer-events: none;
}
.slider-navigation__button.swiper-button-disabled [stroke], .slider-navigation__button.disabled [stroke],
.slider-navigation .prev.swiper-button-disabled [stroke],
.slider-navigation .prev.disabled [stroke],
.slider-navigation .next.swiper-button-disabled [stroke],
.slider-navigation .next.disabled [stroke],
.slider-navigation .page-numbers.swiper-button-disabled [stroke],
.slider-navigation .page-numbers.disabled [stroke], .pagination__button.swiper-button-disabled [stroke], .pagination__button.disabled [stroke],
.pagination .prev.swiper-button-disabled [stroke],
.pagination .prev.disabled [stroke],
.pagination .next.swiper-button-disabled [stroke],
.pagination .next.disabled [stroke],
.pagination .page-numbers.swiper-button-disabled [stroke],
.pagination .page-numbers.disabled [stroke] {
  stroke: var(--color-grey-40);
}
.slider-navigation__pagination, .pagination__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  align-items: center;
  gap: 4px;
}
.slider-navigation__pagination-bullet, .pagination__pagination-bullet {
  border-radius: 10px;
  width: 20px;
  height: 3px;
  background: var(--color-neutral-96);
  opacity: unset;
  outline: none;
  transition: var(--ease-in);
}
.slider-navigation__pagination-bullet.is-active, .pagination__pagination-bullet.is-active {
  height: 5px;
  background: var(--color-accent-20);
}

.pagination {
  justify-self: center;
  gap: 40px;
  margin-block-start: clamp(1.25rem, 1rem + 1.25vw, 2.5rem);
}
.pagination__link {
  display: flex;
  align-items: center;
  gap: 5px;
}
.pagination__link .page-numbers {
  width: 30px;
  height: 30px;
  border: 1px solid transparent;
}
@media (any-hover: hover) {
  .pagination__link .page-numbers:hover {
    border: 1px solid var(--color-accent-50);
    color: var(--color-grey-80);
    background: var(--color-accent-50);
  }
}
@media (any-hover: none) {
  .pagination__link .page-numbers:active {
    border: 1px solid var(--color-accent-50);
    color: var(--color-grey-80);
    background: var(--color-accent-50);
  }
}
.pagination__link .page-numbers.current {
  font-weight: inherit;
  font-size: 14px;
  line-height: inherit;
  color: var(--color-grey-80);
  background: var(--color-accent-50);
}

.read-more-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  position: relative;
  cursor: pointer;
  overflow: hidden;
  font-family: inherit;
  font-weight: 500;
  font-size: clamp(1rem, 1rem + 0vw, 1rem);
  line-height: 1;
  color: var(--color-white);
  color: var(--color-accent-50);
  transition: var(--ease-in);
}
.read-more-btn:hover {
  color: var(--color-accent-30);
}

.select {
  --selectButtonArrowIconUrl: url("../assets/static/icons/arrow-down.svg");
  --selectButtonArrowIconSize: clamp(1.5rem, 1.55rem + -0.25vw, 1.25rem);
  --selectButtonGapX: clamp(0.375rem, 0.4rem + -0.125vw, 0.25rem);
  --selectButtonPaddingX: clamp(0.75rem, 0.8rem + -0.25vw, 0.5rem);
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 200px;
  border-radius: var(--radius-default);
  cursor: pointer;
  outline: none;
  resize: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  caret-color: inherit;
  flex-shrink: 0;
}
.select::placeholder {
  transition: var(--ease-in);
}
.select__original-control, .select__button {
  min-width: 94px;
}
.select__original-control {
  appearance: none;
  padding-left: var(--selectButtonPaddingX);
  padding-right: calc(var(--selectButtonArrowIconSize) + var(--selectButtonPaddingX) + var(--selectButtonGapX));
  background-image: var(--selectButtonArrowIconUrl);
  background-position: calc(100% - var(--selectButtonPaddingX)) 50%;
  background-size: var(--selectButtonArrowIconSize);
  background-repeat: no-repeat;
  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;
}
.select__original-control:disabled + .select__body {
  border-color: transparent;
  background: var(--color-grey-70);
  pointer-events: none;
}
.select__original-control:disabled + .select__body * {
  pointer-events: none;
}
.select__body {
  position: relative;
  width: 100%;
}
.select__button, .select__option {
  user-select: none;
  cursor: pointer;
  height: clamp(3.125rem, 3rem + 0.625vw, 3.75rem);
  padding: 26px 24px;
}
.select__button *, .select__option * {
  pointer-events: none;
}
.select__button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: var(--selectButtonGapX);
  transition-duration: var(--transition-duration);
}
.select__button::after {
  width: var(--selectButtonArrowIconSize);
  height: var(--selectButtonArrowIconSize);
  content: "";
  background: var(--selectButtonArrowIconUrl) center/contain no-repeat;
  transition-duration: inherit;
}
.select__button.is-expanded::after {
  rotate: 180deg;
}
.select__dropdown {
  position: absolute;
  z-index: 10;
  display: grid;
  row-gap: 4px;
  width: 100%;
  max-height: 250px;
  overflow-y: auto;
  overscroll-behavior: none;
  padding: 14PX;
  color: var(--color-grey-80);
  background-color: var(--color-white);
  border-radius: var(--radius-default);
  transition-duration: var(--transition-duration);
}
.select__dropdown.is-on-the-left-side {
  left: 0;
  transform-origin: 0 0;
}
.select__dropdown.is-on-the-right-side {
  right: 0;
  transform-origin: 100% 0;
}
.select__dropdown:not(.is-expanded) {
  opacity: 0;
  visibility: hidden;
  scale: 0;
}
.select__option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 10px;
  padding: 10px;
  border: var(--radius-default);
  border-radius: inherit;
}
.select__option.is-selected::after {
  content: "✔";
}

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