@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v4.0 | 20180602
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}

body {
  line-height: 1;
}

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

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  text-size-adjust: none;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-height: 100dvh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

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

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

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

input,
button,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
  padding: 0;
  color: inherit;
  background: none;
  border: none;
  outline: none;
}

textarea {
  resize: none;
}

mark {
  color: unset;
  background-color: unset;
}

summary {
  list-style: none;
}
summary ::-webkit-details-marker {
  display: none;
}
summary ::marker {
  display: none;
}

details summary::-webkit-details-marker {
  display: none;
}

@font-face {
  font-family: "Roboto Flex";
  src: url("/build/assets/RobotoFlex-Dh6gi1WO.woff2") format("woff2"), url("/build/assets/RobotoFlex-y202fuqy.woff") format("woff"), url("/build/assets/RobotoFlex-DJo2p2gK.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Tsars";
  src: url("/build/assets/Tsars-Dtc4QqKf.woff2") format("woff2"), url("/build/assets/Tsars-Ic-bQ5qK.woff") format("woff"), url("/build/assets/Tsars-BY9YLWSH.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/* Генерирует классы размеров шрифта */
.fs-10 {
  font-size: calc(1rem * 10 / 10);
}

.fs-11 {
  font-size: calc(1rem * 11 / 10);
}

.fs-12 {
  font-size: calc(1rem * 12 / 10);
}

.fs-13 {
  font-size: calc(1rem * 13 / 10);
}

.fs-14 {
  font-size: calc(1rem * 14 / 10);
}

.fs-15 {
  font-size: calc(1rem * 15 / 10);
}

.fs-16 {
  font-size: calc(1rem * 16 / 10);
}

.fs-17 {
  font-size: calc(1rem * 17 / 10);
}

.fs-18 {
  font-size: calc(1rem * 18 / 10);
}

.fs-19 {
  font-size: calc(1rem * 19 / 10);
}

.fs-20 {
  font-size: calc(1rem * 20 / 10);
}

/* Генерирует классы высоты блока */
.h1em {
  height: 1rem;
}

.h2em {
  height: 2rem;
}

.h3em {
  height: 3rem;
}

.h4em {
  height: 4rem;
}

.h5em {
  height: 5rem;
}

.h6em {
  height: 6rem;
}

.h7em {
  height: 7rem;
}

.h8em {
  height: 8rem;
}

.h9em {
  height: 9rem;
}

.h10em {
  height: 10rem;
}

.h11em {
  height: 11rem;
}

.h12em {
  height: 12rem;
}

.h13em {
  height: 13rem;
}

.h14em {
  height: 14rem;
}

.h15em {
  height: 15rem;
}

.h16em {
  height: 16rem;
}

.h17em {
  height: 17rem;
}

.h18em {
  height: 18rem;
}

.h19em {
  height: 19rem;
}

.h20em {
  height: 20rem;
}

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

.link {
  color: var(--blue);
}
.link.phone {
  white-space: nowrap;
}

:root {
  --easeInSine: cubic-bezier(0.12, 0, 0.39, 0);
  --easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
  --easeInOutSine: cubic-bezier(0.37, 0, 0.63, 1);
  --easeInQuad: cubic-bezier(0.11, 0, 0.5, 0);
  --easeOutQuad: cubic-bezier(0.5, 1, 0.89, 1);
  --easeInOutQuad: cubic-bezier(0.45, 0, 0.55, 1);
  --easeInCubic: cubic-bezier(0.32, 0, 0.67, 0);
  --easeOutCubic: cubic-bezier(0.33, 1, 0.68, 1);
  --easeInOutCubic: cubic-bezier(0.65, 0, 0.35, 1);
  --easeInQuart: cubic-bezier(0.5, 0, 0.75, 0);
  --easeOutQuart: cubic-bezier(0.25, 1, 0.5, 1);
  --easeInOutQuart: cubic-bezier(0.76, 0, 0.24, 1);
  --easeInQuint: cubic-bezier(0.64, 0, 0.78, 0);
  --easeOutQuint: cubic-bezier(0.22, 1, 0.36, 1);
  --easeInOutQuint: cubic-bezier(0.83, 0, 0.17, 1);
  --easeInCirc: cubic-bezier(0.55, 0, 1, 0.45);
  --easeOutCirc: cubic-bezier(0, 0.55, 0.45, 1);
  --easeInOutCirc: cubic-bezier(0.85, 0, 0.15, 1);
  --easeInExpo: cubic-bezier(0.7, 0, 0.84, 0);
  --easeOutExpo: cubic-bezier(0.16, 1, 0.3, 1);
  --easeInOutExpo: cubic-bezier(0.87, 0, 0.13, 1);
  --easeInBack: cubic-bezier(0.36, 0, 0.66, -0.56);
  --easeOutBack: cubic-bezier(0.34, 1.56, 0.64, 1);
  --easeInOutBack: cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

:root {
  /* colors */
  --white: #FFFFFF;
  --yellow: #FFBE00;
  --yellow-light: #F3CC5B;
  --grey: #919498;
  --grey-dark: #727881;
  --grey-light: #EDEDED;
  --grey-light-2: #F6F6F6;
  --black: #2F2F2F;
  --blue: #365BFF;
  --blue-light: #F2F4FF;
  --error: #FD3768;
  --error-light: #FFA8BE;
  --error-light-2: #FFE7E9;
  --success: #4ACC9B;
  --success-light: #B5F0DA;
  --success-light-2: #E6FDF3;
  --yellow-gradient: #F6F6F6, #FCCF4D;
  /* rulers */
  --M_T: 2rem;
  --M_R: 2rem;
  --M_L: 2rem;
  --M_B: 3rem;
  --M_HEADER: 6.6rem;
  --INDENT: 1.2rem;
  --ANIM_DUR_S: 0.3s;
  --ANIM_DUR_M: 0.5s;
  --ANIM_DUR_L: 1s;
  /* z rules */
  --z-menu: 10;
  --z-sidebar: 10;
  --z-popup: 11;
}

.custom {
  /** Для корректной работы pageTransition */
}

.default-enter {
  opacity: 0;
}
.default-enter-active {
  transition: opacity 0.5s ease;
}
.default-leave-active {
  z-index: 0;
  transition: opacity 0s ease 0.5s;
}

.fade-enter {
  opacity: 0;
}
.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s ease !important;
}
.fade-enter-from, .fade-leave-to {
  opacity: 0;
}
.fade-abs-enter {
  opacity: 0;
}
.fade-abs-enter-active, .fade-abs-leave-active {
  transition: opacity 0.6s ease !important;
}
.fade-abs-enter-from, .fade-abs-leave-to {
  opacity: 0;
}
.fade-abs-leave-active {
  top: 0 !important;
  position: absolute !important;
}

.opacity-page-transition-enter {
  opacity: 0;
}
.opacity-page-transition-enter-active {
  transition: opacity 0.6s ease-in !important;
}
.opacity-page-transition-leave-active {
  transition: opacity 0.4s ease-in-out !important;
}
.opacity-page-transition-enter-from, .opacity-page-transition-leave-to {
  opacity: 0;
}

.opacity200-enter-active, .opacity200-leave-active {
  opacity: 0;
  transition: opacity 0.2s;
}
.opacity200-enter-from, .opacity200-leave-to {
  opacity: 0;
}
.opacity200-enter-to, .opacity200-leave-from {
  opacity: 1;
}

.opacity300-enter-active, .opacity300-leave-active {
  opacity: 0;
  transition: opacity 0.3s;
}
.opacity300-enter-from, .opacity300-leave-to {
  opacity: 0;
}
.opacity300-enter-to, .opacity300-leave-from {
  opacity: 1;
}

.opacity400-enter-active, .opacity400-leave-active {
  opacity: 0;
  transition: opacity 0.4s;
}
.opacity400-enter-from, .opacity400-leave-to {
  opacity: 0;
}
.opacity400-enter-to, .opacity400-leave-from {
  opacity: 1;
}

.shift-left-enter {
  translate: 100vw;
}
.shift-left-enter-active, .shift-left-leave-active {
  transition: translate 0.7s var(--easeInOutQuad);
}
.shift-left-enter-to {
  translate: 0 0;
}
.shift-left-leave {
  translate: 0 0;
}
.shift-left-leave-to {
  translate: -100vw 0;
}

.popup-enter-from {
  translate: 0 100dvh;
}
.popup-enter-active, .popup-leave-active {
  transition: translate 0.7s var(--easeInOutQuad);
}
.popup-leave-to {
  translate: 0 -100dvh;
}

.popup-default-enter-from {
  translate: 0 100dvh;
}
.popup-default-enter-active, .popup-default-leave-active {
  transition: translate 0.7s var(--easeInOutQuad);
}
.popup-default-leave-to {
  translate: 0 100dvh;
}

.opacity-transition-enter-from {
  opacity: 0;
}
.opacity-transition-enter-active, .opacity-transition-leave-active {
  transition: opacity 0.3s var(--easeInOutQuad);
}
.opacity-transition-leave-to {
  opacity: 0;
}

[is-desktop] .popup-default-enter-from {
  translate: 100%;
}
[is-desktop] .popup-default-enter-active, [is-desktop] .popup-default-leave-active {
  transition: translate 0.7s var(--easeInOutQuad);
}
[is-desktop] .popup-default-leave-to {
  translate: 100%;
}

.shift-fade-top-enter-from {
  translate: 0 -1dvh;
  opacity: 0;
}
.shift-fade-top-enter-active, .shift-fade-top-leave-active {
  transition-duration: 0.5s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: translate, opacity;
}
.shift-fade-top-leave-to {
  translate: 0 -1dvh;
  opacity: 0;
}

.admin .title_h1 {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
}

.admin-button {
  border-radius: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-weight: 500;
  padding: 0 2rem;
  height: 6rem;
}
.admin-button .Iconer {
  max-width: 1.6rem;
  min-width: 1.6rem;
  max-height: 1.6rem;
  min-height: 1.6rem;
}
.admin-button_black {
  background-color: var(--black);
  color: var(--white);
}
.admin-button_yellow {
  height: 5rem;
  background-color: var(--yellow);
}
.admin-button_grey {
  background-color: var(--grey-light-2);
}
.admin-button_red {
  color: #FD3768;
  background-color: #FFE7E9;
}

.admin {
  font-size: 1.6rem;
}

.UiFormInput {
  position: relative;
  transition-delay: 0s;
  transition-duration: 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: margin;
}
.UiFormInput input, .UiFormInput textarea {
  width: 100%;
  border-radius: 1.6rem;
  background-color: var(--grey-light-2);
  border: none;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3rem;
  padding-left: 1.2rem;
  padding-right: 1.2rem;
  padding-top: 2.3rem;
  padding-bottom: 1.4rem;
  caret-color: transparent;
  transition-delay: 0.3s, 0s, 0s;
  transition-duration: 0s, 0.3s, 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: caret-color, outline-color, background-color;
  outline: 1px solid transparent;
  outline-offset: -1px;
}
.UiFormInput input:focus:not([readonly]), .UiFormInput textarea:focus:not([readonly]) {
  outline: 1px solid var(--blue);
  caret-color: currentColor;
  background-color: var(--white);
}
.UiFormInput input[data-type=password], .UiFormInput textarea[data-type=password] {
  padding-right: 5rem;
}
.UiFormInput textarea {
  height: 30dvh;
  padding-top: 3rem;
  line-height: 1.2;
}
.UiFormInput label {
  pointer-events: none;
  font-size: 1.2rem;
  font-weight: 500;
  position: absolute;
  left: 1.2rem;
  z-index: 1;
  color: var(--grey-dark);
  top: 1rem;
  translate: 0;
  transition-delay: 0s;
  transition-duration: 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: translate, top;
}
.UiFormInput:has(:placeholder-shown) label {
  top: 50%;
  translate: 0 -50%;
}
.UiFormInput:focus-within label {
  top: 1rem;
  translate: 0;
}
.UiFormInput:has(textarea)::after {
  content: "";
  height: 2.5rem;
  background-color: var(--grey-light-2);
  position: absolute;
  top: 1px;
  right: 1px;
  left: 1px;
  border-radius: 1.6rem 1.6rem 0 0;
  transition-duration: 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: background-color;
}
.UiFormInput:has(textarea:focus)::after {
  background-color: var(--white);
}
.UiFormInput:has(:placeholder-shown) label:has(~ textarea) {
  top: 2rem;
  translate: 0;
}
.UiFormInput:focus-within label:has(~ textarea) {
  top: 1rem;
  translate: 0;
}
.UiFormInput:has(.multiselect__single) label {
  top: 1rem;
  translate: 0;
}
.UiFormInput:has(.message.required) label::after {
  content: "*";
}
.UiFormInput:has([required]) label::after {
  content: "*";
}
.UiFormInput.disabled {
  pointer-events: none;
}
.UiFormInput.disabled input {
  color: var(--grey-dark);
}
.UiFormInput .password-toggle {
  color: var(--grey-dark);
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
}

.UiFormInput_code::after {
  display: none;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='18' viewBox='0 0 17 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 6.03844L8.50008 11.9614L3.00016 6.03844' stroke='%23919498' stroke-width='1.52305'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 2.5rem;
  right: 1rem;
  width: 1.2rem;
  aspect-ratio: 1/1;
}

.UiFormInputRadio {
  position: relative;
}
.UiFormInputRadio input {
  position: absolute;
  clip-path: inset(100%);
}
.UiFormInputRadio {
  transition-delay: 0s;
  transition-duration: 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: margin;
}

.UiFormInputRadio.table {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
  font-size: 1.2rem;
  font-weight: 500;
}
.UiFormInputRadio.table legend {
  padding: 0 1.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--grey-dark);
  margin-bottom: 1.3rem;
}
.UiFormInputRadio.table label {
  height: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.2rem;
  background-color: var(--grey-light-2);
  transition-delay: 0s;
  transition-duration: 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: background-color;
}
.UiFormInputRadio.table input:checked + label {
  background-color: var(--yellow);
}

.UiFormInputRadio.column {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.4rem;
  font-weight: 500;
}
.UiFormInputRadio.column legend {
  padding: 0 1.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--grey-dark);
  margin-bottom: 1.3rem;
}
.UiFormInputRadio.column label {
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: start;
  padding: 1.5rem;
  border-radius: 1.6rem;
  background-color: var(--grey-light-2);
  outline: 1px solid transparent;
  outline-offset: -1px;
  transition-delay: 0s;
  transition-duration: 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: background-color, outline-color;
  position: relative;
}
.UiFormInputRadio.column label::after, .UiFormInputRadio.column label::before {
  content: "";
  width: 1.6rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  translate: 0 -50%;
}
.UiFormInputRadio.column label::after {
  outline: 1px solid transparent;
  outline-offset: -1px;
  transition-delay: 0s;
  transition-duration: 0.5s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: outline-color;
}
.UiFormInputRadio.column label::before {
  background-color: var(--grey-light);
  transition-delay: 0s;
  transition-duration: 0.5s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: background-color, scale;
}
.UiFormInputRadio.column input:checked + label {
  background-color: transparent;
  outline-color: var(--grey-light-2);
}
.UiFormInputRadio.column input:checked + label::after {
  outline-color: var(--black);
}
.UiFormInputRadio.column input:checked + label::before {
  background-color: var(--black);
  scale: 0.6;
}

.UiFormInputRadio .message, .UiFormInput .message {
  opacity: 0;
  position: absolute;
  left: 1.2rem;
  bottom: 0rem;
  translate: 0 100%;
  font-size: 1rem;
  transition-delay: 0s;
  transition-duration: 0.3s;
  transition-timing-function: var(--easeInOutQuart);
  transition-property: opacity;
}
.UiFormInputRadio.error:not(:focus-within), .UiFormInput.error:not(:focus-within) {
  color: var(--error);
}
.UiFormInputRadio.error:not(:focus-within) input, .UiFormInput.error:not(:focus-within) input {
  outline-color: var(--error);
}
.UiFormInputRadio.error:not(:focus-within) .message, .UiFormInput.error:not(:focus-within) .message {
  opacity: 1;
}

:root {
  font-family: "Roboto Flex", sans-serif, serif;
}

*,
*::after,
*::before {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

* {
  -webkit-tap-highlight-color: transparent;
}
*::selection {
  color: var(--black);
  background-color: var(--yellow);
}
* ::-webkit-scrollbar {
  width: 0;
  display: none;
}
*:focus {
  outline: none;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
  scroll-behavior: smooth;
  color: var(--black);
}

html, body {
  margin: 0 !important;
  position: relative;
  width: 100%;
}
html #nprogress .bar::after, body #nprogress .bar::after {
  content: "";
  height: 100%;
  width: 100dvw;
  position: absolute;
  right: 0;
  z-index: -1;
  transform: translateX(100%);
  background-color: var(--black);
}