@import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oxanium&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@700&display=swap');
:root {
  --gap: 20px;
  --gap-sm: 15px;
  --gap-xs: 10px;
  --gap-xxs: 5px;
  --gap-md: 30px;
  --gap-lg: 40px;
  --gap-xl: 50px;
  --fs-h1: 72px;
  --fs-h1-insert: 80px;
  --fs-h2: 48px;
  --fs-h2-insert: 60px;
  --fs-h3: 30px;
  --fs-h4: 24px;
  --fs-h5: 20px;
  --fs-h6: 18px;
  --fs-base: 16px;
  --fs-medium: 18px;
  --fs-small: 14px;
  --fs-xsmall: 13px;
  --fs-large: 24px;
  --fs-xlarge: 30px;
  --light-color: #ffffff;
  --gray-color: #676767;
  --blue-black-color: #1A162A;
  --dark-color: #222222;
  --black-color: #000000;
  --bg-muted: #091833;
  --grey: #E5E4E2;
  --primary: #0051ff;
  --green: #159546;
  --violet: #673147;
  --yello: #f8e602;
  --bordo: #64344c;
  --orange: #ff4700;
  --blue-dark: #133e7c;
  --blue-light: #39c4b6;
  --primary-light: #CBF6F4;
  --primary-light-2: #efac71;
  --secondary: #FEDFFA;
  --secondary-bold: #0A4500;
  --overlay-banner-bg: #222629;
  --base-body-background: #fff;
  --primary-inverse: #fff;
  --secondary-inverse: var(--dark-color);
  --text-font-family: "TTNorms", sans-serif;
  --base-font-family: 'Russo One', sans-serif;
  --font-weight-base: 500;
  --font-weight-light: 400;
  --add-font-family: 'Exo 2', sans-serif;
  --base-color: var(--gray-color);
  --base-title-color: var(--dark-color);
  --link-color: var(--primary);
  --hover-color: var(--primary);
  --line-height-base: 1.25;
  --line-height-medium: 1.3;
  --line-height-small: 1.2;
  --line-height-xsmall: 1.1;
  --border-radius: 20px;
  --border-radius-md: 25px;
  --border-radius-sm: 15px;
  --border-radius-xs: 10px;
  --base-border-color: var(--gray-color);
  --accent-color: var(--dark-color);
  --text-muted: #8E8E8E;
  --success: #00BA29;
  --success-inverse: #fff;
  --success300: #72D888;
  --info: #05C9E4;
  --success100: #f3ffde;
  --error: #D11D04;
  --gray-light: #B1B1B1;
  --control-border-radius: 10px;
  --control-bg: #fff;
  --control-focus-bg: #fff;
  --control-border-color: #fff;
  --control-px: 22px;
  --control-button-px: 34px;
  --control-line-height: 54px;
  --control-line-height-sm: 44px;
  --control-height: 56px;
  --section-padding-xs: 20px;
  --section-padding-sm: 40px;
  --section-padding: 70px;
  --section-padding-lg: 120px;
  --section-padding-xlg: 150px;
  --container-width: 1140px;
  --container-width-large: 1240px;
  --container-padding: 16px;
  --notification-bg: #fffceb;
  --box-shadow: 3px 4px 6px rgb(0 0 0 / 3%);
  --box-shadow-large: 2px 4px 30px 0 rgba(154, 154, 154, 0.25);
  --box-shadow-base: 4px 2px 6px 2px rgb(229, 229, 229, .5);
  --avatar-size: 54px;
  --icon-md: 32px;
  --btn-icon-md: 32px;
  --btn-icon-lg: 36px;
}
.some-element {
  font-family: var(--add-font-family);
}
@media (max-width: 1240px) {
  :root {
    --fs-h1: 48px;
    --fs-h1-insert: 60px;
    --fs-h2: 42px;
    --fs-h2-insert: 52px;
    --fs-h3: 26px;
    --fs-h4: 20px;
    --fs-h5: 18px;
    --fs-h6: 16px;
  }
}
@media (max-width: 1024px) {
  :root {
    --section-padding-xs: 16px;
    --section-padding-sm: 30px;
    --section-padding: 40px;
    --section-padding-lg: 100px;
    --section-padding-xlg: 120px;
  }
}
@media (max-width: 640px) {
  :root {
    --fs-h1: 36px;
    --fs-h1-insert: 50px;
    --fs-h2: 30px;
    --fs-h2-insert: 40px;
    --fs-h3: 24px;
    --fs-h4: 20px;
    --fs-h5: 18px;
    --section-padding-sm: 16px;
    --section-padding: 16px;
    --section-padding-lg: 80px;
    --section-padding-xlg: 100px;
  }
}
@font-face {
  font-family: "TTNorms";
  src: url("../fonts/TTNorms/TTNorms-Regular.woff2") format("woff2"), url("../fonts/TTNorms/TTNorms-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "TTNorms";
  src: url("../fonts/TTNorms/TTNorms-Medium.woff2") format("woff2"), url("../fonts/TTNorms/TTNorms-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
/*@font-face {*/
/*  font-family: "TTNorms";*/
/*  src: url("../fonts/TTNorms/TTNorms-Italic.woff2") format("woff2"), url("../fonts/TTNorms/TTNorms-Italic.woff") format("woff");*/
/*  font-weight: 400;*/
/*  font-style: italic;*/
/*}*/
/*@font-face {*/
/*  font-family: "Pacifico";*/
/*  src: url("../fonts/gost-type-a/gost-type-a-italic.woff2") format("woff2"), url("../fonts/gost-type-a/gost-type-a-italic.woff") format("woff");*/
/*  font-weight: 400;*/
/*  font-style: italic;*/
/*  font-display: swap;*/
/*}*/

/* Для другого шрифта например, стилистический — Pacifico */
@font-face {
  font-family: "Pacifico";
  src: url("https://fonts.gstatic.com/s/pacifico/v23/Fw7_XKMcK46eMq-z8Kxkr0E.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Pacifico";
  src: url("https://fonts.gstatic.com/s/pacifico/v23/Fw7_XKMcK46eMq-z8KxkU0E.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
}
/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  display: flow-root;
  box-sizing: border-box;
  padding-top: var(--section-padding);
  padding-bottom: var(--section-padding);
}
.uk-section-xsmall {
  padding-top: var(--section-padding-xs);
  padding-bottom: var(--section-padding-xs);
}
.uk-section-small {
  padding-top: var(--section-padding-sm);
  padding-bottom: var(--section-padding-sm);
}
.uk-section-large {
  padding-top: var(--section-padding-lg);
  padding-bottom: var(--section-padding-lg);
}
.uk-section-xlarge {
  padding-top: var(--section-padding-xlg);
  padding-bottom: var(--section-padding-xlg);
}
.uk-section:not(.uk-section-muted) {
  background: var(--base-body-background);
}
.uk-section > :last-child {
  margin-bottom: 0;
}
.uk-section-muted {
  background: var(--grey);
}
.uk-section-primary {
  background: var(--primary);
}
.uk-section-green {
  background: var(--green);
}
.uk-section-black {
  background: var(--black-color);
}
.uk-section-secondary {
  background: var(--secondary);
}
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container {
  display: flow-root;
  box-sizing: content-box;
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}
.uk-container-large {
  max-width: var(--container-width-large);
}
/* Phone landscape and bigger */
/* Tablet landscape and bigger */
@media (min-width: 641px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
/*
 * Remove margin from the last-child
 */
.uk-container > :last-child {
  margin-bottom: 0;
}
/*
 * Remove padding from nested containers
 */
.uk-container .uk-container {
  padding-left: 0;
  padding-right: 0;
}
/* Size modifier
 ========================================================================== */
.uk-container-expand {
  max-width: none;
}
/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
  margin-left: 0;
}
.uk-container-expand-right {
  margin-right: 0;
}
@media (min-width: 1024px) {
  .uk-container-expand-left, .uk-container-expand-right {
    max-width: calc(50% + (1200px / 2) - 40px);
  }
}
/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left, .uk-container-item-padding-remove-right {
  width: calc(100% + var(--container-padding));
}
.uk-container-item-padding-remove-left {
  margin-left: -var(--container-padding);
}
.uk-container-item-padding-remove-right {
  margin-right: -var(--container-padding);
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-item-padding-remove-left, .uk-container-item-padding-remove-right {
    width: calc(100% + 30px);
  }
  .uk-container-item-padding-remove-left {
    margin-left: -30px;
  }
  .uk-container-item-padding-remove-right {
    margin-right: -30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-container-item-padding-remove-left, .uk-container-item-padding-remove-right {
    width: calc(100% + 40px);
  }
  .uk-container-item-padding-remove-left {
    margin-left: -40px;
  }
  .uk-container-item-padding-remove-right {
    margin-right: -40px;
  }
}
/* ========================================================================
   Component: Grid
 ========================================================================== */
/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */
.uk-grid {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
}
/*
 * Grid cell
 * Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
 * Reset margin for e.g. paragraphs
 */
.uk-grid > * {
  margin: 0;
}
/*
 * Remove margin from the last-child
 */
.uk-grid > * > :last-child {
  margin-bottom: 0;
}
/* Gutter
 ========================================================================== */
/*
 * Default
 */
/* Horizontal */
.uk-grid {
  margin-left: calc(-1 * 40px);
}
.uk-grid > * {
  padding-left: 40px;
}
/* Vertical */
.uk-grid + .uk-grid, .uk-grid > .uk-grid-margin, * + .uk-grid-margin {
  margin-top: 40px;
}
/*
 * Small
 */
/* Horizontal */
.uk-grid-small, .uk-grid-column-small {
  margin-left: calc(-1 * var(--gap));
}
.uk-grid-small > *, .uk-grid-column-small > * {
  padding-left: var(--gap);
}
/* Vertical */
.uk-grid + .uk-grid-small, .uk-grid + .uk-grid-row-small, .uk-grid-small > .uk-grid-margin, .uk-grid-row-small > .uk-grid-margin, * + .uk-grid-margin-small {
  margin-top: var(--gap);
}
/*
 * Medium
 */
/* Horizontal */
.uk-grid-medium, .uk-grid-column-medium {
  margin-left: calc(-1 * 30px);
}
.uk-grid-medium > *, .uk-grid-column-medium > * {
  padding-left: 30px;
}
/* Vertical */
.uk-grid + .uk-grid-medium, .uk-grid + .uk-grid-row-medium, .uk-grid-medium > .uk-grid-margin, .uk-grid-row-medium > .uk-grid-margin, * + .uk-grid-margin-medium {
  margin-top: 30px;
}
/*
 * Large
 */
/* Horizontal */
.uk-grid-large, .uk-grid-column-large {
  margin-left: calc(-1 * 40px);
}
.uk-grid-large > *, .uk-grid-column-large > * {
  padding-left: 40px;
}
/* Vertical */
.uk-grid + .uk-grid-large, .uk-grid + .uk-grid-row-large, .uk-grid-large > .uk-grid-margin, .uk-grid-row-large > .uk-grid-margin, * + .uk-grid-margin-large {
  margin-top: 40px;
}
/* Desktop and bigger */
@media (min-width: 1240px) {
  /* Horizontal */
  /* Vertical */
  .uk-grid-large, .uk-grid-column-large {
    margin-left: calc(-1 * 70px);
  }
  .uk-grid-large > *, .uk-grid-column-large > * {
    padding-left: 70px;
  }
  .uk-grid + .uk-grid-large, .uk-grid + .uk-grid-row-large, .uk-grid-large > .uk-grid-margin, .uk-grid-row-large > .uk-grid-margin, * + .uk-grid-margin-large {
    margin-top: 70px;
  }
}
/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse, .uk-grid-column-collapse {
  margin-left: 0;
}
.uk-grid-collapse > *, .uk-grid-column-collapse > * {
  padding-left: 0;
}
/* Vertical */
.uk-grid + .uk-grid-collapse, .uk-grid + .uk-grid-row-collapse, .uk-grid-collapse > .uk-grid-margin, .uk-grid-row-collapse > .uk-grid-margin {
  margin-top: 0;
}
/* Divider
 ========================================================================== */
.uk-grid-divider > * {
  position: relative;
}
.uk-grid-divider > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid var(--base-border-color);
}
/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid var(--base-border-color);
}
/*
 * Default
 */
/* Horizontal */
.uk-grid-divider {
  margin-left: -60px;
}
.uk-grid-divider > * {
  padding-left: 60px;
}
.uk-grid-divider > :not(.uk-first-column)::before {
  left: 30px;
}
/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}
/* Desktop and bigger */
@media (min-width: 1240px) {
  /* Horizontal */
  /* Vertical */
  .uk-grid-divider {
    margin-left: -80px;
  }
  .uk-grid-divider > * {
    padding-left: 80px;
  }
  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 40px;
  }
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px;
  }
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px;
  }
}
/*
 * Small
 */
/* Horizontal */
.uk-grid-divider.uk-grid-small, .uk-grid-divider.uk-grid-column-small {
  margin-left: calc(var(--gap) * 2);
}
.uk-grid-divider.uk-grid-small > *, .uk-grid-divider.uk-grid-column-small > * {
  padding-left: calc(var(--gap) * 2);
}
.uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before, .uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before {
  left: var(--gap);
}
/* Vertical */
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin, .uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin {
  margin-top: calc(var(--gap) * 2);
}
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
  top: -var(--gap);
  left: calc(var(--gap) * 2);
}
.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before {
  top: -var(--gap);
}
.uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before {
  left: calc(var(--gap) * 2);
}
/*
 * Medium
 */
/* Horizontal */
.uk-grid-divider.uk-grid-medium, .uk-grid-divider.uk-grid-column-medium {
  margin-left: -60px;
}
.uk-grid-divider.uk-grid-medium > *, .uk-grid-divider.uk-grid-column-medium > * {
  padding-left: 60px;
}
.uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before, .uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before {
  left: 30px;
}
/* Vertical */
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin, .uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}
.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
}
.uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before {
  left: 60px;
}
/*
 * Large
 */
/* Horizontal */
.uk-grid-divider.uk-grid-large, .uk-grid-divider.uk-grid-column-large {
  margin-left: -80px;
}
.uk-grid-divider.uk-grid-large > *, .uk-grid-divider.uk-grid-column-large > * {
  padding-left: 80px;
}
.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before, .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
  left: 40px;
}
/* Vertical */
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin, .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
  margin-top: 80px;
}
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
  left: 80px;
}
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
}
.uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
  left: 80px;
}
/* Desktop and bigger */
@media (min-width: 1240px) {
  /* Horizontal */
  /* Vertical */
  .uk-grid-divider.uk-grid-large, .uk-grid-divider.uk-grid-column-large {
    margin-left: -140px;
  }
  .uk-grid-divider.uk-grid-large > *, .uk-grid-divider.uk-grid-column-large > * {
    padding-left: 140px;
  }
  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before, .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
    left: 70px;
  }
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin, .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
    margin-top: 140px;
  }
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
    left: 140px;
  }
  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
  }
  .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
    left: 140px;
  }
}
/* Match child of a grid cell
 ========================================================================== */
/*
 * Behave like a block element
 * 1. Wrap into the next line
 * 2. Take the full width, at least 100%. Only if no class from the Width component is set.
 * 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
 */
.uk-grid-match > *, .uk-grid-item-match {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
}
.uk-grid-match > * > :not([class*="uk-width"]), .uk-grid-item-match > :not([class*="uk-width"]) {
  /* 2 */
  box-sizing: border-box;
  width: 100%;
  /* 3 */
  flex: auto;
}
/* ========================================================================
   Component: Breadcrumb
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 */
.uk-breadcrumb {
  display: inline;
  padding: 0;
  list-style: none;
}
/*
 * Space is allocated solely based on content dimensions: 0 0 auto
 */
.uk-breadcrumb > * {
  flex: none;
}
/* Items
 ========================================================================== */
.uk-breadcrumb > * {
  display: inline;
}
.uk-breadcrumb > * > * {
  display: inline;
  font-size: 1rem;
  color: var(--gray-color);
}
/* Hover + Focus */
.uk-breadcrumb > * > :hover, .uk-breadcrumb > * > :focus {
  color: var(--dark-color);
  text-decoration: none;
}
/* Disabled */
/* Active */
.uk-breadcrumb > :last-child > span, .uk-breadcrumb > :last-child > a:not([href]) {
  color: var(--dark-color);
}
/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  margin: 0 2px;
  font-size: 0.875rem;
  color: var(--gray-color);
}
.fw-bredcrumb-abs .uk-breadcrumb > * > * {
  color: rgba(255, 255, 255, 0.5);
}
.fw-bredcrumb-abs .uk-breadcrumb > * > :hover, .fw-bredcrumb-abs .uk-breadcrumb > * > :focus {
  color: #fff;
}
.fw-bredcrumb-abs .uk-breadcrumb > :last-child > span, .fw-bredcrumb-abs .uk-breadcrumb > :last-child > a:not([href]) {
  color: #fff;
}
.fw-bredcrumb-abs .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  color: rgba(255, 255, 255, 0.5);
}
/* ========================================================================
   Component: Slidenav
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-slidenav {
  padding: 5px 10px;
  color: var(--base-color);
  transition: color 0.1s ease-in-out;
}
/* Hover + Focus */
.uk-slidenav:hover, .uk-slidenav:focus {
  color: var(--base-color);
  outline: none;
}
/* OnClick */
.uk-slidenav:active {
  color: var(--base-color);
}
/* Icon modifier
 ========================================================================== */
/*
 * Previous
 */
/*
 * Next
 */
/* Size modifier
 ========================================================================== */
.uk-slidenav-large {
  padding: 10px 10px;
}
/* Container
 ========================================================================== */
.uk-slidenav-container {
  display: flex;
}
/* ========================================================================
   Component: Dotnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-dotnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */
.uk-dotnav > * {
  flex: none;
}
/* Items
 ========================================================================== */
/*
 * Items
 * 1. Hide text if present
 */
.uk-dotnav > * > * {
  display: block;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #eee;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
/* Hover + Focus */
.uk-dotnav > * > :hover, .uk-dotnav > * > :focus {
  background-color: #161616;
  outline: none;
  border-color: transparent;
}
/* OnClick */
.uk-dotnav > * > :active {
  background-color: #161616;
  border-color: transparent;
}
/* Active */
.uk-dotnav > .uk-active > * {
  background-color: #161616;
  border-color: transparent;
}
/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-dotnav-vertical {
  /* 1 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -12px;
}
/* 2 */
.uk-dotnav-vertical > * {
  padding-left: 0;
  padding-top: 12px;
}
/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*="uk-animation-"] {
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}
/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  animation-name: uk-fade;
  animation-duration: 0.8s;
  animation-timing-function: linear;
}
/*
 * Scale
 */
.uk-animation-scale-up {
  animation-name: uk-fade-scale-02;
}
.uk-animation-scale-down {
  animation-name: uk-fade-scale-18;
}
/*
 * Slide
 */
.uk-animation-slide-top {
  animation-name: uk-fade-top;
}
.uk-animation-slide-bottom {
  animation-name: uk-fade-bottom;
}
.uk-animation-slide-left {
  animation-name: uk-fade-left;
}
.uk-animation-slide-right {
  animation-name: uk-fade-right;
}
/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  animation-name: uk-fade-top-small;
}
.uk-animation-slide-bottom-small {
  animation-name: uk-fade-bottom-small;
}
.uk-animation-slide-left-small {
  animation-name: uk-fade-left-small;
}
.uk-animation-slide-right-small {
  animation-name: uk-fade-right-small;
}
/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  animation-name: uk-fade-top-medium;
}
.uk-animation-slide-bottom-medium {
  animation-name: uk-fade-bottom-medium;
}
.uk-animation-slide-left-medium {
  animation-name: uk-fade-left-medium;
}
.uk-animation-slide-right-medium {
  animation-name: uk-fade-right-medium;
}
/*
 * Kenburns
 */
.uk-animation-kenburns {
  animation-name: uk-scale-kenburns;
  animation-duration: 15s;
}
/*
 * Shake
 */
.uk-animation-shake {
  animation-name: uk-shake;
}
/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  animation-duration: 2s;
}
/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  animation-timing-function: ease-in;
}
/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  animation-duration: 0.1s;
}
/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*="uk-animation-"] {
  animation-name: none;
}
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}
/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
  outline: none;
}
/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
 * Slide Top
 */
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom
 */
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left
 */
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right
 */
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Small
 */
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Small
 */
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Small
 */
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Small
 */
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    transform: translateX(10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Top Medium
 */
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Bottom Medium
 */
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * Slide Left Medium
 */
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Slide Right Medium
 */
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/*
 * Scale Up
 */
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Scale Down
 */
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    transform: scale(1.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*
 * Kenburns
 */
@keyframes uk-scale-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
/*
 * Shake
 */
@keyframes uk-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-9px);
  }
  20% {
    transform: translateX(8px);
  }
  30% {
    transform: translateX(-7px);
  }
  40% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(-5px);
  }
  60% {
    transform: translateX(4px);
  }
  70% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
  90% {
    transform: translateX(-1px);
  }
}
/*
 * Stroke
 */
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*="uk-child-width"] > * {
  box-sizing: border-box;
  width: 100%;
}
.uk-child-width-1-2 > * {
  width: 50%;
}
.uk-child-width-1-3 > * {
  width: calc(100% * 1 / 3.001);
}
.uk-child-width-1-4 > * {
  width: 25%;
}
.uk-child-width-1-5 > * {
  width: 20%;
}
.uk-child-width-1-6 > * {
  width: calc(100% * 1 / 6.001);
}
.uk-child-width-auto > * {
  width: auto;
}
/*
 * 1. Reset the `min-width`, which is set to auto by default, because
 *    flex items won't shrink below their minimum intrinsic content size.
 *    Using `1px` instead of `0`, so items still wrap into the next line,
 *    if they have zero width and padding and the predecessor is 100% wide.
 */
.uk-child-width-expand > :not([class*="uk-width"]) {
  flex: 1;
  /* 1 */
  min-width: 1px;
}
@media (min-width: 480px) {
  .uk-child-width-1-1\@xs > * {
    width: 100%;
  }
  .uk-child-width-1-2\@xs > * {
    width: 50%;
  }
  .uk-child-width-1-3\@xs > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@xs > * {
    width: 25%;
  }
  .uk-child-width-1-5\@xs > * {
    width: 20%;
  }
  .uk-child-width-1-6\@xs > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@xs > * {
    width: auto;
  }
  .uk-child-width-expand\@xs > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-child-width-1-1\@s > * {
    width: 100%;
  }
  .uk-child-width-1-2\@s > * {
    width: 50%;
  }
  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@s > * {
    width: 25%;
  }
  .uk-child-width-1-5\@s > * {
    width: 20%;
  }
  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@s > * {
    width: auto;
  }
  .uk-child-width-expand\@s > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  .uk-child-width-1-1\@m > * {
    width: 100%;
  }
  .uk-child-width-1-2\@m > * {
    width: 50%;
  }
  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@m > * {
    width: 25%;
  }
  .uk-child-width-1-5\@m > * {
    width: 20%;
  }
  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@m > * {
    width: auto;
  }
  .uk-child-width-expand\@m > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Desktop and bigger */
@media (min-width: 1240px) {
  .uk-child-width-1-1\@l > * {
    width: 100%;
  }
  .uk-child-width-1-2\@l > * {
    width: 50%;
  }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@l > * {
    width: 25%;
  }
  .uk-child-width-1-5\@l > * {
    width: 20%;
  }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@l > * {
    width: auto;
  }
  .uk-child-width-expand\@l > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Large screen and bigger */
@media (min-width: 1400px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%;
  }
  .uk-child-width-1-2\@xl > * {
    width: 50%;
  }
  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@xl > * {
    width: 25%;
  }
  .uk-child-width-1-5\@xl > * {
    width: 20%;
  }
  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@xl > * {
    width: auto;
  }
  .uk-child-width-expand\@xl > :not([class*="uk-width"]) {
    flex: 1;
    min-width: 1px;
  }
}
/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*="uk-width"] {
  box-sizing: border-box;
  width: 100%;
  /* 1 */
  max-width: 100%;
}
/* Halves */
.uk-width-1-2 {
  width: 50%;
}
/* Thirds */
.uk-width-1-3 {
  width: calc(100% * 1 / 3.001);
}
.uk-width-2-3 {
  width: calc(100% * 2 / 3.001);
}
/* Quarters */
.uk-width-1-4 {
  width: 25%;
}
.uk-width-3-4 {
  width: 75%;
}
/* Fifths */
.uk-width-1-5 {
  width: 20%;
}
.uk-width-2-5 {
  width: 40%;
}
.uk-width-3-5 {
  width: 60%;
}
.uk-width-4-5 {
  width: 80%;
}
/* Sixths */
.uk-width-1-6 {
  width: calc(100% * 1 / 6.001);
}
.uk-width-5-6 {
  width: calc(100% * 5 / 6.001);
}
/* Pixel */
.uk-width-small {
  width: 150px;
}
.uk-width-medium {
  width: 350px;
}
.uk-width-large {
  width: 450px;
}
.uk-width-xlarge {
  width: 600px;
}
.uk-width-2xlarge {
  width: 750px;
}
/* Auto */
.uk-width-auto {
  width: auto;
}
/* Expand */
.uk-width-expand {
  flex: 1;
  min-width: 1px;
}
/* Phone landscape and bigger */
@media (min-width: 640px) {
  /* Whole */
  /* Halves */
  /* Thirds */
  /* Quarters */
  /* Fifths */
  /* Sixths */
  /* Pixel */
  /* Auto */
  /* Expand */
  .uk-width-1-1\@s {
    width: 100%;
  }
  .uk-width-1-2\@s {
    width: 50%;
  }
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001);
  }
  .uk-width-1-4\@s {
    width: 25%;
  }
  .uk-width-3-4\@s {
    width: 75%;
  }
  .uk-width-1-5\@s {
    width: 20%;
  }
  .uk-width-2-5\@s {
    width: 40%;
  }
  .uk-width-3-5\@s {
    width: 60%;
  }
  .uk-width-4-5\@s {
    width: 80%;
  }
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001);
  }
  .uk-width-small\@s {
    width: 150px;
  }
  .uk-width-medium\@s {
    width: 350px;
  }
  .uk-width-large\@s {
    width: 450px;
  }
  .uk-width-xlarge\@s {
    width: 600px;
  }
  .uk-width-2xlarge\@s {
    width: 750px;
  }
  .uk-width-auto\@s {
    width: auto;
  }
  .uk-width-expand\@s {
    flex: 1;
    min-width: 1px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 1024px) {
  /* Whole */
  /* Halves */
  /* Thirds */
  /* Quarters */
  /* Fifths */
  /* Sixths */
  /* Pixel */
  /* Auto */
  /* Expand */
  .uk-width-1-1\@m {
    width: 100%;
  }
  .uk-width-1-2\@m {
    width: 50%;
  }
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001);
  }
  .uk-width-1-4\@m {
    width: 25%;
  }
  .uk-width-3-4\@m {
    width: 75%;
  }
  .uk-width-1-5\@m {
    width: 20%;
  }
  .uk-width-2-5\@m {
    width: 40%;
  }
  .uk-width-3-5\@m {
    width: 60%;
  }
  .uk-width-4-5\@m {
    width: 80%;
  }
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001);
  }
  .uk-width-small\@m {
    width: 150px;
  }
  .uk-width-medium\@m {
    width: 350px;
  }
  .uk-width-large\@m {
    width: 450px;
  }
  .uk-width-xlarge\@m {
    width: 600px;
  }
  .uk-width-2xlarge\@m {
    width: 750px;
  }
  .uk-width-auto\@m {
    width: auto;
  }
  .uk-width-expand\@m {
    flex: 1;
    min-width: 1px;
  }
}
/* Desktop and bigger */
@media (min-width: 1240px) {
  /* Whole */
  /* Halves */
  /* Thirds */
  /* Quarters */
  /* Fifths */
  /* Sixths */
  /* Pixel */
  /* Auto */
  /* Expand */
  .uk-width-1-1\@l {
    width: 100%;
  }
  .uk-width-1-2\@l {
    width: 50%;
  }
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001);
  }
  .uk-width-1-4\@l {
    width: 25%;
  }
  .uk-width-3-4\@l {
    width: 75%;
  }
  .uk-width-1-5\@l {
    width: 20%;
  }
  .uk-width-2-5\@l {
    width: 40%;
  }
  .uk-width-3-5\@l {
    width: 60%;
  }
  .uk-width-4-5\@l {
    width: 80%;
  }
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001);
  }
  .uk-width-small\@l {
    width: 150px;
  }
  .uk-width-medium\@l {
    width: 350px;
  }
  .uk-width-large\@l {
    width: 450px;
  }
  .uk-width-xlarge\@l {
    width: 600px;
  }
  .uk-width-2xlarge\@l {
    width: 750px;
  }
  .uk-width-auto\@l {
    width: auto;
  }
  .uk-width-expand\@l {
    flex: 1;
    min-width: 1px;
  }
}
/* Large screen and bigger */
@media (min-width: 1400px) {
  /* Whole */
  /* Halves */
  /* Thirds */
  /* Quarters */
  /* Fifths */
  /* Sixths */
  /* Pixel */
  /* Auto */
  /* Expand */
  .uk-width-1-1\@xl {
    width: 100%;
  }
  .uk-width-1-2\@xl {
    width: 50%;
  }
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001);
  }
  .uk-width-1-4\@xl {
    width: 25%;
  }
  .uk-width-3-4\@xl {
    width: 75%;
  }
  .uk-width-1-5\@xl {
    width: 20%;
  }
  .uk-width-2-5\@xl {
    width: 40%;
  }
  .uk-width-3-5\@xl {
    width: 60%;
  }
  .uk-width-4-5\@xl {
    width: 80%;
  }
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001);
  }
  .uk-width-small\@xl {
    width: 150px;
  }
  .uk-width-medium\@xl {
    width: 350px;
  }
  .uk-width-large\@xl {
    width: 450px;
  }
  .uk-width-xlarge\@xl {
    width: 600px;
  }
  .uk-width-2xlarge\@xl {
    width: 750px;
  }
  .uk-width-auto\@xl {
    width: auto;
  }
  .uk-width-expand\@xl {
    flex: 1;
    min-width: 1px;
  }
}
/* ========================================================================
   Component: Height
 ========================================================================== */
[class*="uk-height"] {
  box-sizing: border-box;
}
/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%;
}
/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh;
}
/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px;
}
.uk-height-medium {
  height: 300px;
}
.uk-height-large {
  height: 450px;
}
.uk-height-max-small {
  max-height: 150px;
}
.uk-height-max-medium {
  max-height: 300px;
}
.uk-height-max-large {
  max-height: 450px;
}
/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
iframe.uk-cover {
  pointer-events: none;
}
/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative;
}
/* ========================================================================
   Component: Background
 ========================================================================== */
/* Color
 ========================================================================== */
.uk-background-default {
  background-color: var(--bg-default);
}
.uk-background-muted {
  background-color: var(--bg-muted);
}
.uk-background-primary {
  background-color: var(--primary);
}
.uk-background-secondary {
  background-color: var(--secondary);
}
/* Size
 ========================================================================== */
.uk-background-cover, .uk-background-contain {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.uk-background-cover {
  background-size: cover;
}
.uk-background-contain {
  background-size: contain;
}
/* Position
 ========================================================================== */
.uk-background-top-left {
  background-position: 0 0;
}
.uk-background-top-center {
  background-position: 50% 0;
}
.uk-background-top-right {
  background-position: 100% 0;
}
.uk-background-center-left {
  background-position: 0 50%;
}
.uk-background-center-center {
  background-position: 50% 50%;
}
.uk-background-center-right {
  background-position: 100% 50%;
}
.uk-background-bottom-left {
  background-position: 0 100%;
}
.uk-background-bottom-center {
  background-position: 50% 100%;
}
.uk-background-bottom-right {
  background-position: 100% 100%;
}
/* Repeat
 ========================================================================== */
.uk-background-norepeat {
  background-repeat: no-repeat;
}
/* Attachment
 ========================================================================== */
/*
 * 1. Fix bug introduced in Chrome 67: the background image is not visible if any element on the page uses `translate3d`
 */
.uk-background-fixed {
  background-attachment: fixed;
  /* 1 */
  backface-visibility: hidden;
}
/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */
@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll;
  }
}
/* Image
 ========================================================================== */
/* Phone portrait and smaller */
@media (max-width: 639px) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 1023px) {
  .uk-background-image\@m {
    background-image: none !important;
  }
}
/* Tablet landscape and smaller */
@media (max-width: 1239px) {
  .uk-background-image\@l {
    background-image: none !important;
  }
}
/* Desktop and smaller */
@media (max-width: 1399px) {
  .uk-background-image\@xl {
    background-image: none !important;
  }
}
/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow if `max-width: 100%` is used inside position container.
 */
[class*="uk-position-top"], [class*="uk-position-bottom"], [class*="uk-position-left"], [class*="uk-position-right"], [class*="uk-position-center"] {
  position: absolute !important;
  /* 1 */
  max-width: 100%;
}
/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is wrong if the parent has padding. */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0;
}
.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0;
}
.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0;
}
.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0;
}
/* Corners
 ========================================================================== */
.uk-position-top-left {
  top: 0;
  left: 0;
}
.uk-position-top-right {
  top: 0;
  right: 0;
}
.uk-position-bottom-left {
  bottom: 0;
  left: 0;
}
.uk-position-bottom-right {
  bottom: 0;
  right: 0;
}
/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 1 */
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}
/* Vertical */
[class*="uk-position-center-left"], [class*="uk-position-center-right"] {
  top: 50%;
  transform: translateY(-50%);
}
.uk-position-center-left {
  left: 0;
}
.uk-position-center-right {
  right: 0;
}
.uk-position-center-left-out {
  right: 100%;
  width: max-content;
}
.uk-position-center-right-out {
  left: 100%;
  width: max-content;
}
/* Horizontal */
.uk-position-top-center, .uk-position-bottom-center {
  left: 50%;
  transform: translateX(-50%);
  /* 1 */
  width: max-content;
  max-width: 100%;
  box-sizing: border-box;
}
.uk-position-top-center {
  top: 0;
}
.uk-position-bottom-center {
  bottom: 0;
}
/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important;
}
.uk-position-absolute {
  position: absolute !important;
}
.uk-position-fixed {
  position: fixed !important;
}
.uk-position-z-index {
  z-index: 1;
}
/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  max-width: calc(100% - (var(--gap) * 2));
  margin: var(--gap);
}
.uk-position-small.uk-position-center {
  transform: translate(-50%, -50%) translate(-var(--gap), -var(--gap));
}
.uk-position-small[class*="uk-position-center-left"], .uk-position-small[class*="uk-position-center-right"] {
  transform: translateY(-50%) translateY(-var(--gap));
}
.uk-position-small.uk-position-top-center, .uk-position-small.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-var(--gap));
}
/*
 * Medium
 */
.uk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}
.uk-position-medium.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}
.uk-position-medium[class*="uk-position-center-left"], .uk-position-medium[class*="uk-position-center-right"] {
  transform: translateY(-50%) translateY(-30px);
}
.uk-position-medium.uk-position-top-center, .uk-position-medium.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}
/*
 * Large
 */
.uk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px;
}
.uk-position-large.uk-position-center {
  transform: translate(-50%, -50%) translate(-30px, -30px);
}
.uk-position-large[class*="uk-position-center-left"], .uk-position-large[class*="uk-position-center-right"] {
  transform: translateY(-50%) translateY(-30px);
}
.uk-position-large.uk-position-top-center, .uk-position-large.uk-position-bottom-center {
  transform: translateX(-50%) translateX(-30px);
}
/* Desktop and bigger */
@media (min-width: 1240px) {
  .uk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px;
  }
  .uk-position-large.uk-position-center {
    transform: translate(-50%, -50%) translate(-50px, -50px);
  }
  .uk-position-large[class*="uk-position-center-left"], .uk-position-large[class*="uk-position-center-right"] {
    transform: translateY(-50%) translateY(-50px);
  }
  .uk-position-large.uk-position-top-center, .uk-position-large.uk-position-bottom-center {
    transform: translateX(-50%) translateX(-50px);
  }
}
/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-transition-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}
/*
 * Remove outline for `tabindex`
 */
.uk-transition-toggle:focus {
  outline: none;
}
/* Transitions
 ========================================================================== */
/*
 * The toggle is triggered on touch devices by two methods:
 * 1. Using `:focus` and tabindex
 * 2. Using `:hover` and a `touchstart` event listener registered on the document
 *    (Doesn't work on Surface touch devices)
 *
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
 *       therefore it's recommended to use an extra `div` for the transition.
 */
.uk-transition-fade, [class*="uk-transition-scale"], [class*="uk-transition-slide"] {
  transition: 0.3s ease-out;
  transition-property: opacity, transform, filter;
  opacity: 0;
}
/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade, .uk-transition-toggle:focus .uk-transition-fade, .uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1;
}
/*
 * Scale
 */
.uk-transition-scale-up {
  transform: scale(1, 1);
}
.uk-transition-scale-down {
  transform: scale(1.1, 1.1);
}
/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up, .uk-transition-toggle:focus .uk-transition-scale-up, .uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  transform: scale(1.1, 1.1);
}
.uk-transition-toggle:hover .uk-transition-scale-down, .uk-transition-toggle:focus .uk-transition-scale-down, .uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  transform: scale(1, 1);
}
/*
 * Slide
 */
.uk-transition-slide-top {
  transform: translateY(-100%);
}
.uk-transition-slide-bottom {
  transform: translateY(100%);
}
.uk-transition-slide-left {
  transform: translateX(-100%);
}
.uk-transition-slide-right {
  transform: translateX(100%);
}
.uk-transition-slide-top-small {
  transform: translateY(-10px);
}
.uk-transition-slide-bottom-small {
  transform: translateY(10px);
}
.uk-transition-slide-left-small {
  transform: translateX(-10px);
}
.uk-transition-slide-right-small {
  transform: translateX(10px);
}
.uk-transition-slide-top-medium {
  transform: translateY(-50px);
}
.uk-transition-slide-bottom-medium {
  transform: translateY(50px);
}
.uk-transition-slide-left-medium {
  transform: translateX(-50px);
}
.uk-transition-slide-right-medium {
  transform: translateX(50px);
}
/* Show */
.uk-transition-toggle:hover [class*="uk-transition-slide"], .uk-transition-toggle:focus [class*="uk-transition-slide"], .uk-transition-active.uk-active [class*="uk-transition-slide"] {
  opacity: 1;
  transform: translate(0, 0);
}
/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1;
}
/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  transition-duration: 0.7s;
}
/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden], .uk-hidden {
  display: none !important;
}
/* Phone landscape and bigger */
@media (min-width: 641px) {
  .uk-hidden\@s {
    display: none !important;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 1025px) {
  .uk-hidden\@m {
    display: none !important;
  }
}
/* Desktop and bigger */
@media (min-width: 1241px) {
  .uk-hidden\@l {
    display: none !important;
  }
}
/* Large screen and bigger */
@media (min-width: 1401px) {
  .uk-hidden\@xl {
    display: none !important;
  }
}
/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 640px) {
  .uk-visible\@s {
    display: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 1024px) {
  .uk-visible\@m {
    display: none !important;
  }
}
/* Tablet landscape and smaller */
@media (max-width: 1240px) {
  .uk-visible\@l {
    display: none !important;
  }
}
/* Desktop and smaller */
@media (max-width: 1400px) {
  .uk-visible\@xl {
    display: none !important;
  }
}
/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important;
}
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * Hidden
 * 1. The toggle is triggered on touch devices using `:focus` and tabindex
 * 2. The target stays visible if any element within receives focus through keyboard
 *    Doesn't work in Edge, yet.
 * 3. Can't use `display: none` nor `visibility: hidden` because both are not focusable.
 *
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  /* 3 */
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
/*
 * Invisible
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
  /* 3 */
  opacity: 0 !important;
}
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-visible-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}
/*
 * Remove outline for `tabindex`
 */
.uk-visible-toggle:focus {
  outline: none;
}
/* Touch
 ========================================================================== */
/*
 * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
 * Works on mobile browsers: Safari, Chrome and Android browser
 */
@media (pointer: coarse) {
  .uk-hidden-touch {
    display: none !important;
  }
}
/*
 * Hide if primary pointing device is accurate, e.g. mouse.
 * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
 * 2. Reset if supported
 */
/* 1 */
.uk-hidden-notouch {
  display: none !important;
}
@media (pointer: coarse) {
  .uk-hidden-notouch {
    display: block !important;
  }
}
html {
  font-family: var(--base-font-family);
  font-size: var(--fs-base);
  font-weight: var(--font-weight-base);
  line-height: var(--line-height-base);
  color: var(--base-color);
  background: var(--base-body-background);
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "liga" off, "lnum";
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
}
body.page-body {
  padding-top: 76px;
}
*::-webkit-scrollbar-track {
  box-shadow: none;
  border-radius: 2px;
}
*::-webkit-scrollbar {
  width: 4px;
  background: #F5F5F5;
}
*::-webkit-scrollbar-thumb {
  background: #C4C4C4;
  border-radius: 2px;
}
.banner-bg-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.fw-soc-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.fw-header {
  background-color: var(--base-body-background);
  height: 76px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1020;
}
.fw-header__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 26px;
  position: relative;
  height: 100%;
}
.fw-header__logo {
  color: var(--dark-color);
}
.fw-header__btns {
  margin-left: auto;
}
@media (max-width: 1024px) {
  .fw-header__btns .scl-link-m {
    display: none;
  }
}
@media (max-width: 640px) {
  .fw-header__btns .scl-link-s {
    display: none;
  }
}
@media (max-width: 640px) {
  .fw-header__wrap {
    gap: 15px;
  }
}
.fw-header.overlayBannerBg {
  background-color: var(--overlay-banner-bg);
}
.fw-header.overlayBannerBg .fw-header__logo {
  color: var(--light-color);
}
.fw-header.overlayBannerBg.white {
  background-color: var(--base-body-background);
}
.fw-header.overlayBannerBg.white .fw-header__logo {
  color: var(--dark-color);
}
.fw-header .hdr-phone-link {
  margin-right: 20px;
}
@media (max-width: 1024px) {
  .fw-header .hdr-phone-link {
    margin-right: auto;
  }
}
.fw-mainbanner__item {
  box-sizing: border-box;
  background-color: var(--primary);
  position: relative;
  overflow: hidden;
   height: 100vh;
}
.fw-mainbanner__content {
  position: relative;
  height: 80%;
  box-sizing: border-box;
  padding-top: 20vh;
}
.fw-mainbanner__content .main-content {
  width: 80%;
  z-index: 10;
  position: relative;
}
.fw-mainbanner__content .main-content:not([class*="w-"]) {
  max-width: 825px;
}
.fw-mainbanner__content .title {
  margin-bottom: var(--gap);
}
.fw-mainbanner__content h1, .fw-mainbanner__content .text {
  color: var(--primary-inverse);
}
.fw-mainbanner__content .text {
  margin-bottom: var(--gap-lg);
  font-family: var(--text-font-family);
}
.fw-mainbanner__content .btn {
  display: flex;
}
@media (min-width: 641px) {
  .fw-mainbanner__content .btn {
    gap: var(--gap);
  }
}
@media (max-width: 640px) {
  .fw-mainbanner__content .btn {
    flex-direction: column;
    align-items: center;
  }
  .fw-mainbanner__content .btn a + a {
    margin-top: 10px;
  }
}
.fw-mainbanner.parallax {
  position: fixed;
  top: 0;
  width: 100%;
}
.fw-mainbanner.parallax .fw-mainbanner__item {
  z-index: 100;
  height: 100vh;
}
.fw-mainbanner.parallax.inactive {
  position: absolute;
}
.fw-mainbanner.parallax .parimg {
  position: absolute;
  max-width: none;
  width: auto;
}
.fw-mainbanner.parallax .parimg.girl-robe {
  z-index: 1;
}

@media (min-width: 1025px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 560px;
    left: -265px;
    width: 430px;
  }

  .fw-mainbanner.parallax .parimg.fdm {
    top: 440px;
    left: 350px;
    width: 1160px;
  }

}

@media (min-width: 1481px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 495px;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    top: 1px;
  }

}
@media (max-width: 1480px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 550px;
    width: 300px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 920px;
    top: 130px;
    left: 50%;
  }
}
@media (max-width: 1024px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 400px;
    width: 400px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 830px;
    top: 120px;
    left: 40%;
  }
}
@media (max-width: 1024px) and (orientation: landscape){
  .fw-mainbanner.parallax .parimg.cat {
    top: 400px;
    width: 250px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 440px;
    top: 280px;
    left: 40%;
  }
}
@media (max-width: 1000px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 600px;
    width: 400px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 830px;
    top: 330px;
    left: 40%;
  }
}
@media (max-width: 1000px) and (orientation: landscape){
  .fw-mainbanner.parallax .parimg.cat {
    top: 140px;
    width: 250px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 460px;
    top: 3px;
    left: 40%;
  }
}
@media (max-width: 900px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 590px;
    width: 300px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 600px;
    top: 400px;
    left: 50%;
  }
}
@media (max-width: 900px) and (orientation: landscape){
  .fw-mainbanner.parallax .parimg.cat {
    top: 140px;
    width: 200px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 410px;
    top: 2px;
    left: 40%;
  }
}
@media (max-width: 768px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 590px;
    width: 300px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 600px;
    top: 400px;
    left: 40%;
  }
}
@media (max-width: 768px) and (orientation: landscape){
  .fw-mainbanner.parallax .parimg.cat {
    top: 125px;
    width: 200px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 390px;
    top: 2px;
    left: 40%;
  }
}
@media (max-width: 600px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 560px;
    width: 150px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 370px;
    top: 410px;
    left: 40%;
  }
}
@media (max-width: 600px) and (orientation: landscape){
  .fw-mainbanner.parallax .parimg.cat {
    top: 180px;
    width: 150px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 370px;
    top: 50px;
    left: 40%;
  }
}

@media (max-width: 400px) {
  .fw-mainbanner.parallax .parimg.cat {
    top: 500px;
    width: 150px;
    bottom: 5%;
    left: 3%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 520px;
    top: 240px;
    left: 40%;
  }
}

/*@media (min-width: 3000px) {*/
/* .fw-mainbanner.parallax .parimg.cat {*/
/*    top: 100%;*/
/*    width: 3000px;*/
/*    bottom: 5%;*/
/*    !*left: -30%;*!*/
/*  }*/
/*  .fw-mainbanner.parallax .parimg.fdm {*/
/*    width: 1800px;*/
/*    !*top: 3000px;*!*/
/*    !*left: 50%;*!*/
/*  }*/
/*}*/
@media (min-width: 2560px) {
 .fw-mainbanner.parallax .parimg.cat {
    top: 740px;
    width: 740px;
    bottom: 5%;
    left: -50%;
  }
  .fw-mainbanner.parallax .parimg.fdm {
    width: 1600px;
    top: 180px;
    left: 50%;
  }
  .fw-mainbanner.parallax .parimg.material {
    bottom: -30px;
    left: 20%;
    height: 42vh;
  }
}

@media (max-width: 1024px) {
  .fw-mainbanner__content .title {
    margin-bottom: 14px;
  }
  .fw-mainbanner__content .text {
    margin-bottom: var(--gap-md);
  }
}
@media (max-width: 640px) {
  .fw-mainbanner__content {
    padding-top: 115px;
  }
  .fw-mainbanner__content .main-content {
    text-align: center;
    margin: 0 auto;
  }
  .fw-mainbanner__content .title {
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .fw-bredcrumb-abs + .fw-mainbanner .fw-mainbanner__content {
    padding-top: 142px;
  }
}

.fw-mainbanner.parallax .parimg.p3dprint {
  top: 55%;
  bottom: -45px;
  right: -3vw;
  height: 50.87vh;
}

.fw-mainbanner.parallax .parimg.techno {
  top: 20vw;
  /*bottom: -75px;*/
  right: 0vw;
  height: 56.665vh;
}

.fw-mainbanner.parallax .parimg.material {
  bottom: -240px;
  right: 0vw;
  height: 70.5375vh;
}


@media (max-width: 1024px) {
  .fw-mainbanner.parallax .parimg.p3dprint {
    top: 60%;
    left: 0px;
    height: 50.87vh;
  }
  .fw-mainbanner.parallax .parimg.techno {
    top: 60%;
    left: 25%;
    margin-left: 0px;
    height: 50.87vh;
  }
  .fw-mainbanner.parallax .parimg.material {
    bottom: -125px;
    right: 3vw;
  }
}
@media (max-width: 640px) {
  .fw-mainbanner.parallax .parimg.p3dprint {
    /*right: 14%;*/
    position: absolute;
    left: 50%;
    /*margin-left: -80px;*/
    margin-left: -16.435vh; /* половина ширины, с минусом */
    height: 30.87vh;
    width: 32.87vh;
    top: 80%;
  }
  .fw-mainbanner.parallax .parimg.techno {
      position: absolute;
     left: 50%;
    width: 244.56px;
    margin-left: -122.28px;
    height: 30.87vh;
    top: 80%
  }
  .fw-mainbanner.parallax .parimg.material {
    bottom: -30px;
    right: 7%;
    height: 42vh;
  }
}


@media (max-width: 380px) {
  .fw-mainbanner.parallax .parimg.p3dprint {
    position: absolute;
    left: 50%;
    height: 20.87vh;
    width: 180.56px;
    margin-left: -90.28px;
    top: 93%;
  }
   .fw-mainbanner.parallax .parimg.techno {
    position: absolute;
    left: 50%;
    margin-left: -95px;
    top: 80%;
    height: 30.87vh;
     width: 200.55px;
     margin-left: -100.27px;
  }
}


@media (orientation: landscape) and (max-width: 1023px) {
  .fw-mainbanner.parallax .parimg.p3dprint,
  .fw-mainbanner.parallax .parimg.techno {
    top: 65%;

    left: 70%; /* прижмёт изображение к правому краю */
    /* Можно дополнительно указать: margin: 0; или оставить как есть */
  }

  /*.fw-mainbanner__item {*/
  /*  height: 58% !important;*/
  /*}*/
}

.main-menu-top {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: var(--gap);
  font-weight: var(--font-weight-base);
  font-family: var(--base-font-family);
}
.main-menu-top .main-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--dark-color);
  transition: 0.1s;
  cursor: pointer;
}
.main-menu-top .main-menu-item:hover {
  color: var(--gray-color);
}
.main-menu-top .main-menu-item.active {
  color: var(--gray-color);
}
.main-menu-top .main-menu-item.active .l-icon {
  transform: rotate(180deg);
}
.mainMenuSubOverlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1010;
  display: none;
}
.mainMenuSubOverlay.open {
  display: block;
}
.main-menu-sub-inner {
  box-sizing: border-box;
}
.main-menu-sub__item {
  height: 100%;
  overflow: auto;
  box-sizing: border-box;
}
.main-menu-sub__item-head {
  padding-bottom: var(--gap);
  margin-bottom: var(--gap-md);
  border-bottom: 1px solid #EAEAEA;
}
.main-menu-sub__item-head a {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--dark-color);
  font-size: var(--fs-medium);
  line-height: var(--line-height-xsmall);
}
.main-menu-sub .sub-item-inner__item {
  width: 220px;
  margin-bottom: 26px;
}
.main-menu-sub .sub-item-inner__item:nth-child(2) {
  margin-bottom: 0;
}
.main-menu-sub .sub-item-inner__item .sub-title {
  padding: var(--gap-xs);
  font-size: var(--fs-medium);
  line-height: var(--line-height-xsmall);
  color: var(--dark-color);
}
.main-menu-sub .sub-item-inner__item .sub-list {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.main-menu-sub .sub-item-inner__item .sub-list > a {
  width: 100%;
  box-sizing: border-box;
  padding: var(--gap-xs);
  border-radius: 9px;
  color: var(--gray-color);
  font-size: var(--fs-small);
  line-height: var(--line-height-small);
  background: transparent;
  position: relative;
  padding-right: 20px;
}
.main-menu-sub .sub-item-inner__item .sub-list > a:hover {
  color: #fff; /* белый цвет при наведении */
}
.main-menu-sub .sub-item-inner__item .sub-list > a .sticker {
  font-size: 9px;
  line-height: 9px;
  text-transform: uppercase;
  padding: 4px 7px;
  border-radius: 19px;
  background: #F6D1E9;
  position: relative;
  left: 7px;
}
.main-menu-sub .sub-item-inner__item .sub-list > a::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  right: var(--gap-xs);
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.1s;
  background: center no-repeat;
  background-image: url("data:image/svg+xml,<svg width='17' height='18' viewBox='0 0 17 18' fill='none' xmlns='http://www.w3.org/2000/svg' data-svg='arrow-right-circle'><circle cx='8.5' cy='9' r='8' stroke='rgb(34, 34, 34)'></circle><path d='M4.38034 9.21243L12.1939 9.21243M12.1939 9.21243L8.3372 13.0691M12.1939 9.21243L8.3372 5.35575' stroke='rgb(34, 34, 34)'></path></svg>");
}
.main-menu-sub .sub-item-inner__item .sub-list > a:hover {
  background: var(--primary);
}
.main-menu-sub .sub-item-inner__item .sub-list > a:hover::after {
  opacity: 1;
}
.main-menu-sub__promo {
  flex: 0 0 244px;
  width: 244px;
}
.main-menu-sub__promo .uk-slider-items {
  margin-left: -20px;
}
.main-menu-sub__promo .uk-slider-items > * {
  padding-left: 20px;
}
.main-menu-sub__promo .uk-dotnav {
  margin-top: 7px;
}
.main-menu-sub .promo-card {
  background-color: var(--bg-muted);
  padding: 16px;
  border-radius: var(--border-radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  width: 244px;
  min-height: 334px;
  box-sizing: border-box;
  height: 100%;
}
.main-menu-sub .promo-card__img {
  display: flex;
  justify-content: center;
  border-radius: var(--border-radius);
  overflow: hidden;
}
.main-menu-sub .promo-card__img img {
  max-width: none;
}
.main-menu-sub .promo-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.main-menu-sub .promo-card__body .name {
  display: block;
  color: var(--dark-color);
  margin-bottom: 26px;
}
.main-menu-sub .promo-card__body .name:hover {
  color: var();
}
.main-menu-sub .promo-card__body .fw-btn {
  margin-top: auto;
  width: 100%;
}
@media (min-width: 641px) {
  .main-menu-sub .sub-item-inner {
    column-count: 2;
    column-gap: 50px;
    min-height: 250px;
    margin-top: -26px;
  }
  .main-menu-sub .sub-item-inner__item {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    position: relative;
    margin-bottom: 0 !important;
    padding-top: 26px;
  }
}
@media (min-width: 1025px) {
  .fw-main-menu {
    height: 100%;
  }
  .main-menu-top {
    height: 100%;
  }
  .main-menu-top li {
    height: 45%;
  }
  .fw-header.overlayBannerBg:not(.white) .main-menu-item {
    color: var(--light-color);
  }
  .fw-header.overlayBannerBg:not(.white) .main-menu-item:hover {
    color: rgba(255, 255, 255, 0.5);
  }
  .fw-header.overlayBannerBg:not(.white) .main-menu-item.active {
    color: rgba(255, 255, 255, 0.5);
  }
  .main-menu-sub {
    position: absolute;
    display: none;
    padding-top: 10px;
    display: none;
  }
  .main-menu-sub-inner {
    display: flex;
    gap: var(--gap);
    background-color: #fff;
    border-radius: var(--border-radius);
    padding: var(--gap-lg) var(--gap-xl) var(--gap-lg) var(--gap-lg);
  }
  .main-menu-sub__item {
    flex: 1;
    min-width: 1px;
    display: none;
  }
  .main-menu-sub__item.open {
    display: block;
  }
  .main-menu-sub .sub-item-inner {
    width: max-content;
  }
  .main-menu-sub.open {
    display: block;
  }
}
@media (min-width: 1241px) {
  .main-menu-sub {
    left: -50px;
    right: -50px;
    top: 100%;
  }
  .main-menu-sub-inner {
    height: 455px;
  }
}
@media (max-width: 1240px) {
  .main-menu-sub {
    left: -10px;
    right: -10px;
    padding: 10px 10px;
  }
}
@media (max-width: 1024px) {
  .fw-main-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 76px;
    background-color: #fff;
    padding: var(--gap-md) var(--gap-lg) var(--gap-lg);
    flex-direction: column;
    justify-content: space-between;
    display: none;
  }
  .fw-main-menu.open {
    display: flex;
  }
  .main-menu-top {
    align-items: flex-start;
    flex-direction: column;
  }
  .main-menu-top .main-menu-item {
    justify-content: space-between;
    width: 100%;
    font-size: var(--fs-medium);
  }
  .main-menu-top .main-menu-item .l-icon {
    transform: rotate(-90deg);
  }
  .main-menu-top .main-menu-item.active {
    color: var(--dark-color);
  }
  .main-menu-top .main-menu-item.active .l-icon {
    transform: rotate(-90deg);
  }
  .main-menu-sub {
    padding: 0 0;
  }
  .main-menu-sub__item {
    position: absolute;
    top: 0;
    left: 100vw;
    width: 100%;
    background: #fff;
    z-index: 1;
    height: 100%;
    overflow: auto;
    transition: all 0.2s ease;
    padding: var(--gap-md) var(--gap) var(--gap-xl);
  }
  .main-menu-sub__item.open {
    left: 0;
  }
  .main-menu-sub__promo {
    flex: none;
    width: auto;
  }
  .main-menu-sub__promo .uk-slider-container {
    overflow: visible !important;
  }
  .main-menu-sub .promo-card__body .name {
    font-size: var(--fs-small);
  }
}
@media (max-width: 640px) {
  .fw-main-menu {
    padding: var(--gap) var(--container-padding);
  }
  .main-menu-sub__item-head {
    margin-bottom: var(--gap);
  }
  .main-menu-sub__item {
    padding: var(--gap) 16px var(--gap-xl);
  }
  .main-menu-sub .sub-item-inner {
    display: flex;
    flex-direction: column;
  }
  .main-menu-sub .sub-item-inner__item .sub-title {
    padding-left: 25px;
    position: relative;
  }
  .main-menu-sub .sub-item-inner__item .sub-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: center no-repeat;
    background-image: url('data:image/svg+xml,<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg" data-svg="chevron-down"><path d="M1 1.5L6.5 6.5L12 1.5" stroke="rgb(34, 34, 34)" stroke-width=" 1.5"></path></svg>');
    width: 13px;
    height: 40px;
  }
  .main-menu-sub .sub-item-inner__item .sub-list {
    padding-left: 15px;
  }
  .main-menu-sub .sub-item-inner__item:not(.open) .sub-list {
    display: none;
  }
  .main-menu-sub .sub-item-inner__item.open .sub-title::before {
    transform: rotate(180deg);
  }
  .main-menu-sub .sub-item-inner .item-popular {
    order: 1;
  }
}
:root {
  --btn-light-hover: #e1e1e1;
}
.fw-btn {
  margin: 0;
  overflow: visible;
  color: inherit;
  white-space: nowrap;
  -webkit-appearance: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: var(--gap-xs);
  box-sizing: border-box;
  padding: 0 34px;
  vertical-align: middle;
  height: 56px;
  text-align: center;
  text-decoration: none;
  position: relative;
  text-transform: none;
  border: 2px solid transparent;
  border-radius: var(--control-border-radius);
  font-size: var(--fs-medium);
  font-weight: 500;
  user-select: none;
}
.fw-btn:hover {
  text-decoration: none;
}
.fw-btn-sm {
  padding: 0 24px;
  line-height: var(--control-line-height-sm);
  height: 46px;
}
.fw-btn-wide {
  min-width: 262px;
}
.fw-btn-light {
  background-color: #fff;
  color: var(--dark-color);
}
.fw-btn-light:hover, .fw-btn-light:active {
  background-color: var(--btn-light-hover);
  color: var(--dark-color);
}
.fw-btn-light-border {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
.fw-btn-light-border:hover, .fw-btn-light-border:active {
  border-color: rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.5);
}
.fw-btn-dark, .fw-btn-primary {
  background-color: var(--dark-color);
  border-color: var(--dark-color);
  color: #fff;
}
.fw-btn-dark:hover, .fw-btn-primary:hover, .fw-btn-dark:active, .fw-btn-primary:active {
  background-color: var(--gray-color);
  border-color: var(--gray-color);
  color: #fff;
}
.fw-btn-dark-border {
  background: transparent;
  border-color: var(--dark-color);
  color: var(--dark-color);
}
.fw-btn-dark-border:hover, .fw-btn-dark-border:active {
  border-color: var(--gray-color);
  color: var(--gray-color);
}
@media (max-width: 1024px) {
  .fw-btn {
    font-size: var(--fs-base);
  }
}
.fw-btn:not(:disabled) {
  cursor: pointer;
}
.fw-btn::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.fw-btn-social {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  box-sizing: border-box;
  color: var(--dark-color);
  border: 2px solid var(--dark-color);
  border-radius: var(--control-border-radius);
}
.fw-btn-social-text {
  width: auto;
  padding: 0 10px;
}
.fw-btn-social.reverse {
  color: #fff;
  background-color: var(--dark-color);
  border-color: var(--dark-color);
}
@media (min-width: 1025px) {
  .fw-btn-social:hover, .fw-btn-social:active {
    border-color: var(--gray-color);
    color: var(--gray-color);
    text-decoration: none;
  }
}
.hdr-phone-link {
  color: var(--dark-color);
}
@media (min-width: 1025px) {
  .hdr-phone-link:hover, .hdr-phone-link:active {
    color: var(--gray-color);
    text-decoration: none;
  }
}
.fw-header.overlayBannerBg:not(.white) .fw-btn-social {
  color: var(--light-color);
  border-color: var(--light-color);
}
@media (min-width: 1025px) {
  .fw-header.overlayBannerBg:not(.white) .fw-btn-social:hover, .fw-header.overlayBannerBg:not(.white) .fw-btn-social:active {
    border-color: rgba(255, 255, 255, 0.5);
    color: rgba(255, 255, 255, 0.5);
  }
}
@media (min-width: 1025px) {
  .fw-header.overlayBannerBg:not(.white) .hdr-phone-link {
    color: var(--light-color);
  }
  .fw-header.overlayBannerBg:not(.white) .hdr-phone-link:hover, .fw-header.overlayBannerBg:not(.white) .hdr-phone-link:active {
    color: rgba(255, 255, 255, 0.5);
  }
}
a {
  text-decoration: none;
  text-underline-offset: 7px;
  transition: 0.2s;
}
a:hover {
  text-decoration: none;
}
a:active, a:hover {
  outline: none;
}
.link {
  font-size: var(--fs-small);
  line-height: var(--line-height-small);
}
article a:not([class]) {
  color: var(--hover-color);
  border-bottom: 1px solid transparent;
  transition: 0.3s;
}
article a:not([class]):hover {
  text-decoration: none;
  border-bottom: 1px solid var(--hover-color);
}
.fw-link-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--black-color);
  font-size: var(--fs-medium);
  line-height: var(--line-height-xsmall);
}
.fw-link-more:hover {
  color: var(--gray-color);
}
@media (max-width: 1024px) {
  .fw-link-more {
    font-size: var(--fs-base);
  }
}
.fw-link-dark {
  color: var(--dark-color);
}
.fw-link-dark:hover {
  color: var(--light-color);
}
.fw-link-light {
  color: var(--light-color);
}
.fw-link-light:hover {
  color: var(--dark-color);
}
.fw-link {
  color: var(--link-color);
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
}
.fw-link:hover {
  color: var(--hover-color);
  border-color: inherit;
}
.fw-link-bbs {
  border-bottom: 1px solid;
  text-decoration: none;
}
.fw-link-bbs:hover {
  text-decoration: none;
}
.fw-link-bbds {
  border-bottom: 1px dashed;
  text-decoration: none;
}
.fw-link-bbds:hover {
  text-decoration: none;
}
.fw-link-bbdt {
  border-bottom: 1px dotted;
  text-decoration: none;
}
.fw-link-bbdt:hover {
  text-decoration: none;
}
.fw-link-text-primary {
  color: var(--base-color);
}
.fw-link-text-primary:hover {
  color: var(--primary);
}
.fw-link-gray-primary {
  color: #a1a1a1;
}
.fw-link-gray-primary:hover {
  color: var(--primary);
}
.fw-read-more {
  color: var(--primary);
  font-weight: 600;
  border: 0;
}
.fw-read-more span {
  transition: transform 0.3s;
}
.fw-read-more:hover {
  text-decoration: none;
  color: var(--accent-color);
}
.fw-read-more:hover span, .fw-read-more:hover .fw-link-arrow-right {
  transform: translateX(3px);
}
.fw-read-more:hover .span-inverse, .fw-read-more:hover .fw-link-arrow-left {
  transform: translateX(-3px);
}
.fw-link-secondary {
  color: var(--secondary);
}
.fw-link-text-secondary {
  color: var(--base-color);
}
.fw-link-text-secondary:hover {
  color: var(--secondary);
}
.fw-link-text-white {
  color: var(--base-color);
}
.fw-link-text-white:hover {
  color: #fff;
}
.fw-link-light-primary {
  color: #fff;
}
.fw-link-light-primary:hover {
  color: var(--primary);
}
.fw-link-light-secondary {
  color: #fff;
}
.fw-link-light-secondary:hover {
  color: var(--secondary);
}
.fw-link-nodecor {
  text-decoration: none;
}
.fw-link-nodecor:hover {
  text-decoration: none;
}
.fw-link-parent {
  display: inline-flex;
  padding: 6px 16px;
  font-size: var(--fs-xsmall);
  font-weight: 400;
  line-height: var(--line-height-medium);
  border-radius: var(--border-radius-xs);
  color: var(--gray-color);
  border: 1px solid var(--gray-color);
}
.fw-link-parent:hover {
  color: var(--dark-color);
  border-color: var(--dark-color);
}
h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: var(--base-font-family);
  color: var(--base-title-color);
  font-weight: var(--font-weight-base);
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 26px;
}

h4, .h4 {
  font-family: var(--base-font-family);
  color: var(--primary-inverse);
  font-weight: var(--font-weight-base);
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 26px;
}
h1 > span:not([class*="title-info-"]), h2 > span:not([class*="title-info-"]), .h2 > span:not([class*="title-info-"]), h3 > span:not([class*="title-info-"]), .h3 > span:not([class*="title-info-"]), h4 > span:not([class*="title-info-"]), .h4 > span:not([class*="title-info-"]), h5 > span:not([class*="title-info-"]), .h5 > span:not([class*="title-info-"]), h6 > span:not([class*="title-info-"]), .h6 > span:not([class*="title-info-"]) {
  font-family: var(--add-font-family);
  line-height: 0.7;
  font-style: italic;
  font-weight: 400;
}
h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a, h6 a, .h6 a {
  color: inherit;
}
h1 a:hover, h2 a:hover, .h2 a:hover, h3 a:hover, .h3 a:hover, h4 a:hover, .h4 a:hover, h5 a:hover, .h5 a:hover, h6 a:hover, .h6 a:hover {
  color: inherit;
}
@media (max-width: 640px) {
  h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    margin-bottom: var(--gap);
  }
}
h1 {
  font-size: var(--fs-h1);
  line-height: 0.95;
}
h1 > span:not([class*="title-info-"]) {
  font-size: var(--fs-h1-insert);
}
h2, .h2 {
  font-size: var(--fs-h2);
}
h2 > span:not([class*="title-info-"]), .h2 > span:not([class*="title-info-"]) {
  font-size: var(--fs-h2-insert);
}
h3, .h3 {
  font-size: var(--fs-h3);
  font-family: var(--base-font-family);
}
h4, .h4 {
  font-size: var(--fs-h4);
}
h5, .h5 {
  font-size: var(--fs-h5);
}
h6, .h6 {
  font-size: var(--fs-h6);
}
.fw-title {
  display: flex;
  align-items: center;
  font-family: var(--text-font-family);
}
.fw-title-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.fw-title-center + .fw-title-line {
  margin-left: auto;
  margin-right: auto;
}
.fw-title h1, .fw-title h2, .fw-title h3, .fw-title h4, .fw-title h5, .fw-title h6, .fw-title a {
  margin-bottom: 0;
}
.fw-title-line {
  margin-bottom: var(--gap-md);
}
.fw-title-mb {
  margin-bottom: var(--gap-md);
}
@media (max-width: 480px) {
  .fw-title-mb {
    margin-bottom: var(--gap);
  }
}
.fw-footer-title {
  font-weight: 600;
  font-size: var(--fs-h6);
  margin-bottom: var(--gap-xs);
}
/*# sourceMappingURL=main.min.map */