@charset "UTF-8";
@keyframes dropdown-display {
  0% {
    opacity: 0;
    transform: scale(0.98) translateY(-0.6em);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes dropdown-display-up {
  0% {
    opacity: 0;
    transform: scale(0.98) translateY(0.6em);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes loadingSpin {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes ss-valueIn {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes ss-valueOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(0);
    opacity: 0;
  }
}
@keyframes bounce {
  0%,
  to {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}
:root {
  --body-font-size: 16px;
  --body-font: 'Mulish', system-ui, -apple-system, Segoe UI, Roboto, Noto Sans,
    Ubuntu, Cantarell, Helvetica Neue, sans-serif;
  --body-font-alt: Georgia, Times, Times New Roman, serif;
  --body-line-height: 161%;
  --body-color: #0b0334;
  --body-background: #fff;
  --table-header-font-weight: 700;
  --table-cell-padding: 5px 10px;
  --heading-font-weight: 700;
  --heading-line-height: 1.2;
  --heading-margin: 0 0 1em;
  --paragraph-margin: 0 0 1em;
  --list-margin: 1em 0;
  --h1: 28px;
  --h2: 24px;
  --h3: 20px;
  --h4: 18px;
  --h5: 16px;
  --bold-font-weight: 700;
  --text-small: 14px;
  --main: var(--body-color);
  --red: #4d4d4d;
  --link-color: #203735;
  --link-color-hover: #37605c;
  --swiper-theme-color: var(--main);
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
}
@font-face {
  font-family: 'Mulish';
  src: url(../fonts/Mulish-Regular.woff2) format('woff2'),
    url(../fonts/mulish-regular.ttf) format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Mulish';
  src: url(../fonts/mulish-bold.woff2) format('woff2'),
    url(../fonts/mulish-bold.ttf) format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
aside,
details,
footer,
header,
main,
nav,
section {
  display: block;
}
hr,
img {
  border: 0;
}
hr {
  box-sizing: content-box;
  overflow: visible;
  display: block;
  height: 1px;
  margin: 30px 0;
  background: #dedede;
}
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
a {
  background-color: transparent;
  -webkit-tap-highlight-color: transparent;
}
abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: 700;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
button,
input,
optgroup {
  font-size: 100%;
  line-height: 1.15;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  margin: 0;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
[type='button'],
[type='reset'],
[type='submit'],
button {
  -webkit-appearance: button;
  -webkit-tap-highlight-color: transparent;
  outline: 0;
}
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring,
button:-moz-focusring {
  outline: 0;
}
fieldset {
  padding: 0;
}
legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}
[type='checkbox'],
[type='radio'],
legend {
  box-sizing: border-box;
  padding: 0;
}
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
[hidden],
template {
  display: none;
}
* {
  box-sizing: border-box;
}
body,
html {
  min-height: 100%;
}
body {
  font-family: var(--body-font);
  font-size: var(--body-font-size);
  line-height: var(--body-line-height);
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  min-width: 320px;
  margin: 0;
  padding: 0 0 45px;
  color: var(--body-color);
  background: var(--body-background);
  background: #eaeaea;
}
svg {
  max-height: 100%;
}
select:not([multiple]) {
  vertical-align: middle;
}
table {
  width: 100%;
  max-width: 100%;
  border-spacing: 0;
  border-collapse: separate;
}
td,
th {
  line-height: inherit;
  padding: var(--table-cell-padding);
}
th {
  font-weight: var(--table-header-font-weight);
  text-align: left;
  vertical-align: bottom;
}
button {
  cursor: pointer;
}
td {
  vertical-align: top;
}
a {
  text-decoration: underline;
  color: var(--link-color);
  outline: 0;
}
a:hover {
  text-decoration: none;
  color: var(--link-color-hover);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--heading-font-weight);
  line-height: var(--heading-line-height);
  margin: var(--heading-margin);
}
p {
  margin: var(--paragraph-margin);
}
p:last-child {
  margin-bottom: 0;
}
dl,
ol,
ul {
  margin: var(--list-margin);
}
ol {
  list-style: decimal;
}
h1 {
  font-size: var(--h1);
}
h2 {
  font-size: var(--h2);
}
h3 {
  font-size: var(--h3);
}
h4 {
  font-size: var(--h4);
}
h5 {
  font-size: var(--h5);
}
::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.hidden-box {
  display: none;
  visibility: hidden;
}
iframe {
  border: 0;
  outline: 0;
}
.videoWrapper {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
}
.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.text-center {
  text-align: center;
}
blockquote {
  font-size: 18px;
  font-weight: 500;
  font-style: normal;
  line-height: 189%;
  position: relative;
  max-width: 830px;
  margin: 42px 0;
  padding-left: 27px;
  color: #000;
}
@media screen and (min-width: 681px) {
  blockquote {
    margin: 28px 0;
  }
}
@media screen and (min-width: 1200px) {
  blockquote {
    margin: 48px 0;
  }
}
blockquote:after {
  content: '';
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 0;
  width: 3px;
  background: #000;
}
.icon-figure-3 {
  background: url(../images/sprite.svg?v1697124313362) 0 0 no-repeat;
  width: 226px;
  height: 278px;
  display: inline-block;
}
input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
select {
  height: auto;
}
input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
select,
textarea {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
  box-sizing: border-box;
  max-width: 100%;
  padding: 10px;
  transition: border-color 0.3s ease;
  color: #141414;
  border-radius: 5px;
  outline: 0;

  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}
input[type='email']::placeholder,
input[type='number']::placeholder,
input[type='password']::placeholder,
input[type='search']::placeholder,
input[type='tel']::placeholder,
input[type='text']::placeholder,
select::placeholder,
textarea::placeholder {
  font-weight: 400;
  color: #868686;
}
input[type='email']:focus,
input[type='number']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='tel']:focus,
input[type='text']:focus,
select:focus,
textarea:focus {
  border-color: #b1b1b1;
}
input[type='email'].error,
input[type='number'].error,
input[type='password'].error,
input[type='search'].error,
input[type='tel'].error,
input[type='text'].error,
select.error,
textarea.error {
  color: var(--red);
  border-color: var(--red);
}
input[type='email'].disabled,
input[type='email'][disabled],
input[type='email'][readonly],
input[type='number'].disabled,
input[type='number'][disabled],
input[type='number'][readonly],
input[type='password'].disabled,
input[type='password'][disabled],
input[type='password'][readonly],
input[type='search'].disabled,
input[type='search'][disabled],
input[type='search'][readonly],
input[type='tel'].disabled,
input[type='tel'][disabled],
input[type='tel'][readonly],
input[type='text'].disabled,
input[type='text'][disabled],
input[type='text'][readonly],
select.disabled,
select[disabled],
select[readonly],
textarea.disabled,
textarea[disabled],
textarea[readonly] {
  cursor: default;
  color: #939393;
  border-color: #bcbcbc;
  background-color: #f9f9f9;
}
select {
  padding-right: 35px;
  background-image: url(../images/select.svg);
  background-repeat: no-repeat;
  background-position: 100% 50%;
}
input[type='checkbox'],
input[type='radio'] {
  display: inline-block;
  vertical-align: middle;
}
textarea {
  overflow: auto;
  height: auto;
}
.error-message {
  order: 1;
  margin-top: 5px;
  color: var(--red);
}
.checkbox-style,
label.checkbox-style {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  outline: 0;
  -webkit-tap-highlight-color: transparent;
  flex-shrink: 0;
}
.checkbox-style > span,
label.checkbox-style > span {
  position: relative;
  display: inline-block;
  padding: 2px 0 2px 28px;
  vertical-align: top;
  color: #a7a8b1;
}
.checkbox-style > span:before,
label.checkbox-style > span:before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  transition: border-color 0.3s ease, background-color 0.3s ease;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  background: #fff;
  border-radius: 5px;
}
.checkbox-style > span:after,
label.checkbox-style > span:after {
  content: '';
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  transition: opacity 0.3s ease;
  opacity: 0;
  border-radius: 5px;
  background-image: url(../images/hero/checkbox.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
.checkbox-style input[type='checkbox'],
.radio-style input[type='radio'],
label.checkbox-style input[type='checkbox'],
label.radio-style input[type='radio'] {
  position: absolute;
  top: 0;
  left: -30px;
  width: 1px;
  height: 1px;
  outline: 0;
  -webkit-tap-highlight-color: transparent;
}
.checkbox-style input[type='checkbox']:checked ~ span:after,
label.checkbox-style input[type='checkbox']:checked ~ span:after {
  opacity: 1;
}
.checkbox-style input[type='checkbox'].disabled ~ span:after,
.checkbox-style input[type='checkbox'][disabled] ~ span:after,
label.checkbox-style input[type='checkbox'].disabled ~ span:after,
label.checkbox-style input[type='checkbox'][disabled] ~ span:after {
  background: #e3e3e3;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type='number'] {
  -moz-appearance: textfield;
}
.checkbox-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #18846152;
}
.checkbox-wrap__text {
  font-weight: 400;
  font-size: 14px;
  line-height: 120%;
  color: #000;
}
.radio-style > span,
label.radio-style > span {
  position: relative;
  width: 100%;
  font-weight: 700;
  font-size: 14px;
  line-height: 120%;
  text-align: start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  z-index: 2;
  cursor: pointer;
  padding: 0 10px;
}
.radio-style > span span,
label.radio-style > span span {
  color: #000;
  position: relative;
  z-index: 3;
  text-align: center;
}

.radio {
  border-radius: 10px;
  background: #fff;
}

.radio-style > span:after,
.radio-style > span:before,
label.radio-style > span:after,
label.radio-style > span:before {
  content: '';
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  cursor: pointer;
  padding: 10px;
}
.radio-style input[type='radio']:checked ~ span:after,
label.radio-style input[type='radio']:checked ~ span:after {
  opacity: 1;
  color: #fff;
  border-bottom: 2px solid #188461;
}
.radio-style input[type='radio']:checked ~ span span,
label.radio-style input[type='radio']:checked ~ span span {
  color: #000;
}
.radio {
  width: 100%;
  height: 37px;
  position: relative;
}
.radio--questions {
  width: auto;
  height: 24px;
}
.radio--questions:not(:last-child) {
  margin-bottom: 10px;
}
.radio--questions .radio-style > span,
.radio--questions label.radio-style > span {
  position: relative;
  width: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  z-index: 2;
  cursor: pointer;
  padding: 0 10px;
}
@media screen and (min-width: 1200px) {
  .radio--questions .radio-style > span,
  .radio--questions label.radio-style > span {
    display: inline-flex;
  }
}
.radio--questions .radio-style > span,
.radio--questions label.radio-style > span {
  font-weight: 400;
  font-size: 12px;
  line-height: 120%;
  color: #191919;
}
.radio--questions .radio-style > span span,
.radio--questions label.radio-style > span span {
  color: #000;
  position: relative;
  background: unset;
  -webkit-text-fill-color: unset;
  z-index: 3;
  text-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
}
.radio--questions .radio-style > span:after,
.radio--questions .radio-style > span:before,
.radio--questions label.radio-style > span:after,
.radio--questions label.radio-style > span:before {
  padding: 0;
}

.mb-10 {
  margin-bottom: 10px;
}

.form__row {
  position: relative;
}
.form__row:not(:last-child) {
  margin-bottom: 20px;
}
.form__row:first-child {
  margin-top: 0;
}
.form__input.active .form__error,
.form__row.active .form__error {
  margin-top: 10px;
  visibility: visible;
  opacity: 1;
  height: auto;
}
.form__row.active .form__input input {
  background: #ffeaea;
}
.form__input.active input::placeholder,
.form__row.active .form__input input::placeholder {
  font-weight: 400;
  color: #868686;
}
.form__row.active .radio-style > span:after,
.form__row.active .radio-style > span:before,
.form__row.active label.radio-style > span:after,
.form__row.active label.radio-style > span:before {
  opacity: 1;
  background: #ffefef;
  color: #ff2e37;
}
.form__row.active .radio-style > span span,
.form__row.active label.radio-style > span span {
  color: #ff2e37;
  background: unset;
  -webkit-text-fill-color: unset;
}
.form__row input[type='email'],
.form__row input[type='number'],
.form__row input[type='password'],
.form__row input[type='search'],
.form__row input[type='tel'],
.form__row input[type='text'],
.form__row select,
.form__row textarea {
  width: 100%;
  vertical-align: top;
}
.form__row > label:not(.checkbox-style) {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin: 0 0 10px;
  cursor: pointer;
  color: #a7a8b1;
}
.form__row > label:not(.checkbox-style) > span {
  order: 0;
}
.form__row > label:not(.checkbox-style) .error-message {
  margin-top: 0;
  margin-left: 10px;
}
.form__row > label:not(.checkbox-style) .error-message + span {
  color: var(--red);
}
.form__input {
  position: relative;
  z-index: 1;
  width: 100%;
}
.form__input input {
  width: 100%;
  padding-right: 35px;
}
.form__input.valid::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.79798 10.7374L4.00558 9.94509L1.9419 7.88135C1.62386 7.56326 1.62386 7.04441 1.9419 6.7263L2.15679 6.51148C2.47483 6.19339 2.9937 6.19339 3.31179 6.51148L4.79798 7.99762C5.11607 8.31571 5.63494 8.31573 5.95303 7.99762L10.688 3.26264C11.0061 2.94452 11.525 2.94452 11.8431 3.26264L12.0579 3.47745C12.376 3.79554 12.3761 4.31441 12.0579 4.6325L6.7454 9.94509L5.953 10.7374C5.63494 11.0555 5.11607 11.0555 4.79798 10.7374Z' fill='%2340BAAE'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
  z-index: 2;
}
.form__input.active input {
  background: #ffeaea;
}
.form__input--triple {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .form__input--triple {
    gap: 20px;
  }
}
@media screen and (min-width: 681px) {
  .form__input--triple input:last-child {
    min-width: 274px;
  }
}
.form__name {
  font-size: 12px;
  line-height: 120%;
  color: #000;
  margin-bottom: 10px;
}

@media screen and (max-width: 600px) {
  .form__name {
    font-size: 10px;
  }
}

.form__group {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (min-width: 1200px) {
  .form__group {
    gap: 20px;
  }
}
.form__hint {
  font-size: 12px;
  font-weight: 400;
  font-style: italic;
  position: relative;
  z-index: 2;
  margin: 5px 0 0;
  color: #444;
}
.form__error {
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  color: #4d4d4d;
  height: 0;
  opacity: 0;
  visibility: hidden;
  margin-top: 0;
}
.form__text {
  color: #0e0e0e;
}
.form__text,
.form__text .btn-text--light {
  font-weight: 400;
}
.form__about,
.form__text,
.form__title {
  font-size: 12px;
  line-height: 120%;
}

@media screen and (max-width: 600px) {
  .form__text,
  .form__about,
  .form__title {
    font-size: 10px;
  }
}

.form__about {
  font-weight: 400;
  text-align: left;
  color: #000;
  margin-top: 10px;
}
.form__title {
  font-weight: 700;
  margin-bottom: 10px;
  text-align: center;
  text-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 1200px) {
  .form__title {
    text-align: left;
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.form__wrap:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (min-width: 1200px) {
  .form__wrap:not(:last-child) {
    margin-bottom: 20px;
  }
}
.form-password {
  position: relative;
}
.form-password input[type='password'],
.form-password input[type='text'] {
  position: relative;
  z-index: 1;
  padding-right: 50px;
}
.form-password__button,
.form-password__button:after {
  position: absolute;
  z-index: 10;
  transition: opacity 0.3s ease;
}

.form-password__button {
  top: 0;
  right: 0;
  bottom: 0;
  box-sizing: border-box;
  width: 42px;
  padding: 0;
  cursor: pointer;
  vertical-align: middle;
  opacity: 0.3;
  border: 0;
  outline: 0;
  background: 0 0;
  -webkit-tap-highlight-color: transparent;
}
.b-btn,
.form-password__button i {
  position: relative;
  vertical-align: middle;
}
.form-password__button i {
  z-index: 1;
}
.form-password__button:after {
  content: '';
  top: 24px;
  left: 9px;
  display: block;
  width: 24px;
  height: 1px;
  transform: rotate(-30deg);
  border-top: 1px solid #fff;
  background: #000;
}
@media screen and (min-width: 1200px) {
  .form-password__button:hover {
    opacity: 1;
  }
}
.form-password__button.active {
  opacity: 1;
}
.form-password__button.active:after {
  opacity: 0;
}
.b-btn {
  line-height: 1.25;
  display: inline-flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  box-sizing: border-box;
  padding: 6px 20px;
  -webkit-user-select: none;
  user-select: none;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 20px;
  font-weight: 700;
  font-size: 24px;
  color: #fff;
  gap: 10px;
}
.b-btn.focus,
.b-btn:focus-within,
.b-btn:hover {
  outline: 0;
}
.b-btn.disabled,
.b-btn:disabled {
  cursor: default;
  opacity: 0.45;
  background: inherit;
  box-shadow: none;
}
.b-btn > svg {
  display: block;
  flex: 0 0 auto;
}
.b-btn--big {
  font-size: 18px;
  min-height: 59px;
  padding: 4px 30px;
}
.b-btn--small {
  font-size: 15px;
  min-height: 39px;
  padding: 4px 16px;
}
.b-btn--primary,
.b-btn--primary span {
  font-weight: 400;
  line-height: 120%;
  color: #fff;
}

.form--two .b-btn--primary:disabled {
  color: #868686;
}

.form--two .b-btn--primary:disabled span {
  color: #868686;
}

.b-btn--primary {
  padding: 15px 10px;
  font-size: 14px;
  font-weight: 400;
  width: 100%;
  min-width: 234px;
  width: auto;
  border-radius: 3px;
  background: #20ae80;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 600px) {
  .b-btn--primary,
  .google__btn {
    min-width: 134px !important;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 16px;
  }
}

@media screen and (min-width: 1200px) {
  .b-btn--primary {
    font-size: 14px;
    line-height: 120%;
  }
}
.b-btn--primary span {
  font-size: 14px;
  text-align: center;
  display: block;
}
@media screen and (min-width: 1200px) {
  .b-btn--primary span {
    font-size: 14px;
    line-height: 120%;
  }
}
.b-btn--secondary,
.b-btn--secondary span {
  font-weight: 700;
  line-height: 120%;
  text-align: center;
}
.b-btn--secondary {
  border: 0;
  border-radius: 10px;
  padding: 10px;
  font-size: 12px;
  color: #b1b1b1;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.b-btn--secondary span {
  font-size: 14px;
  color: #fff;
  display: block;
}
@media screen and (min-width: 1200px) {
  .b-btn--secondary span {
    font-size: 20px;
    line-height: 120%;
  }
}
.b-btn--loading:before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 10px;
  margin-left: -15px;
  transition: border 0.3s ease;
  animation: loadingSpin 1s infinite linear;
  vertical-align: middle;
  border-radius: 50%;
}
.b-btn--loading.outline:before {
  border: 3px solid rgba(0, 0, 0, 0.2);
  border-top-color: #000;
}
.b-btn--loading.outline:hover:before,
.b-btn--loading:before {
  border: 3px solid rgba(255, 255, 255, 0.6);
  border-top-color: #fff;
}
.b-btn--full-size {
  display: block;
  width: 100%;
}
.b-btn--full-size + .full-size {
  margin-right: 5px;
}
.b-btn + .b-btn {
  margin-left: 5px;
}
.b-btn-grouping {
  display: inline-flex;
}
.b-btn-grouping .b-btn {
  margin-right: 0;
  border-radius: 0;
}
.b-btn-grouping .b-btn:first-child {
  border-radius: 6pc 0 0 6pc;
}
.b-btn-grouping .b-btn:last-child {
  border-radius: 0 6pc 6pc 0;
}
.b-btn-grouping .b-btn.outline {
  z-index: 1;
  margin-left: -1px;
}
.b-btn-grouping .b-btn.outline:hover {
  z-index: 2;
}
.b-btn-grouping .b-btn.outline.active {
  z-index: 3;
}
.b-btn-grouping .b-btn.outline:first-child {
  margin-left: 0;
}
a.b-btn.disabled,
fieldset[disabled] a.b-btn {
  pointer-events: none;
}
input[type='button'].full-size,
input[type='reset'].full-size,
input[type='submit'].full-size {
  width: 100%;
}
:root {
  --ss-primary-color: #5897fb;
  --ss-bg-color: #fff;
  --ss-font-color: #4d4d4d;
  --ss-font-placeholder-color: #8d8d8d;
  --ss-disabled-color: #dcdee2;
  --ss-border-color: #dcdee2;
  --ss-highlight-color: #4d4d4d;
  --ss-success-color: #00b755;
  --ss-error-color: #4d4d4d;
  --ss-focus-color: #5897fb;
  --ss-main-height: 30px;
  --ss-content-height: 300px;
  --ss-spacing-l: 7px;
  --ss-spacing-m: 5px;
  --ss-spacing-s: 3px;
  --ss-animation-timing: 0.2s;
  --ss-border-radius: 10px;
}
.ss-hide {
  display: none !important;
}
.ss-main {
  display: flex;
  flex-direction: row;
  position: relative;
  -webkit-user-select: none;
  user-select: none;
  color: var(--ss-font-color);
  min-height: var(--ss-main-height);
  width: 100%;
  padding: var(--ss-spacing-s);
  cursor: pointer;
  border: 1px solid var(--ss-border-color);
  border-radius: var(--ss-border-radius);
  background-color: var(--ss-bg-color);
  outline: 0;
  box-sizing: border-box;
  transition: background-color var(--ss-animation-timing);
  overflow: hidden;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
}
.ss-content .ss-search input:focus,
.ss-main:focus {
  box-shadow: 0 0 5px var(--ss-focus-color);
}
.ss-main.ss-disabled {
  background-color: var(--ss-disabled-color);
  cursor: not-allowed;
}
.ss-main.ss-disabled .ss-values .ss-disabled {
  color: var(--ss-font-color);
}
.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete {
  cursor: not-allowed;
}
.ss-main .ss-values .ss-placeholder {
  display: flex;
  padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s)
    var(--ss-spacing-m);
  margin: auto 0;
  line-height: 1em;
  align-items: center;
  width: 100%;
  color: var(--ss-font-placeholder-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ss-main .ss-values .ss-max {
  display: flex;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  width: fit-content;
  font-size: 12px;
  color: var(--ss-bg-color);
  line-height: 1;
  padding: var(--ss-spacing-s) var(--ss-spacing-m);
  background-color: var(--ss-primary-color);
  border-radius: var(--ss-border-radius);
}
.ss-main .ss-values .ss-single {
  display: flex;
  margin: auto 0 auto var(--ss-spacing-s);
}
.ss-main .ss-values .ss-value,
.ss-main .ss-values .ss-value.ss-value-out {
  animation-duration: var(--ss-animation-timing);
  animation-timing-function: ease-out;
}
.ss-main .ss-values .ss-value {
  display: flex;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  width: fit-content;
  background-color: var(--ss-primary-color);
  border-radius: var(--ss-border-radius);
  animation-name: ss-valueIn;
  animation-fill-mode: both;
}
.ss-main .ss-values .ss-value.ss-value-out {
  animation-name: ss-valueOut;
}
.ss-main .ss-values .ss-value .ss-value-text {
  font-size: 12px;
  color: var(--ss-bg-color);
  line-height: 1;
  padding: var(--ss-spacing-s) var(--ss-spacing-m);
}
.ss-main .ss-values .ss-value .ss-value-delete {
  display: flex;
  align-items: center;
  padding: var(--ss-spacing-s) var(--ss-spacing-m);
  cursor: pointer;
  border-left: solid 1px var(--ss-bg-color);
  box-sizing: content-box;
}
.ss-main .ss-values .ss-value .ss-value-delete,
.ss-main .ss-values .ss-value .ss-value-delete svg {
  height: var(--ss-spacing-l);
  width: var(--ss-spacing-l);
}
.ss-main .ss-deselect svg path,
.ss-main .ss-values .ss-value .ss-value-delete svg path {
  fill: none;
  stroke: var(--ss-bg-color);
  stroke-width: 18;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ss-main .ss-deselect {
  justify-content: center;
  width: fit-content;
  height: auto;
  margin: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);
}
.ss-main .ss-deselect svg {
  width: 8px;
  height: 8px;
}
.ss-main .ss-deselect svg path {
  stroke: var(--ss-font-color);
  stroke-width: 20;
}
.ss-main .ss-arrow,
.ss-main .ss-deselect {
  flex: 0 1 auto;
  display: flex;
  align-items: center;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-closable
  .ss-arrow
  path,
.ss-main .ss-arrow path {
  fill: none;
  stroke: var(--ss-font-color);
  stroke-width: 18;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition-timing-function: ease-out;
  transition: var(--ss-animation-timing);
}
.ss-content {
  max-height: var(--ss-content-height);
  border: solid 1px var(--ss-border-color);
  background-color: var(--ss-bg-color);
}
.ss-content.ss-relative {
  position: relative;
  height: 100%;
}
.ss-content.ss-open-above {
  flex-direction: column-reverse;
  opacity: 1;
  transform: scaleY(1);
  transform-origin: center bottom;
  border-top-left-radius: var(--ss-border-radius);
  border-top-right-radius: var(--ss-border-radius);
}
.ss-content .ss-search {
  flex: 0 1 auto;
  display: flex;
  flex-direction: row;
  padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m)
    var(--ss-spacing-l);
}
.ss-content .ss-search input {
  display: inline-flex;
  font-size: inherit;
  line-height: inherit;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  padding: var(--ss-spacing-m) var(--ss-spacing-l);
  margin: 0;
  border: 1px solid var(--ss-border-color);
  border-radius: var(--ss-border-radius);
  background-color: var(--ss-bg-color);
  outline: 0;
  text-align: left;
  box-sizing: border-box;
}
.ss-content .ss-search input::placeholder {
  color: var(--ss-font-placeholder-color);
  vertical-align: middle;
}
.ss-content .ss-search .ss-addable {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  flex: 0 0 auto;
  height: auto;
  margin: 0 0 0 var(--ss-spacing-m);
  border: 1px solid var(--ss-border-color);
  border-radius: var(--ss-border-radius);
}
.ss-content .ss-search .ss-addable svg {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 1 auto;
  width: 12px;
  height: 12px;
  margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);
}
.ss-content .ss-search .ss-addable svg path {
  fill: none;
  stroke: var(--ss-font-color);
  stroke-width: 18;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ss-content .ss-list {
  flex: 1 1 auto;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
}
.ss-content .ss-list .ss-error {
  color: var(--ss-error-color);
  padding: var(--ss-spacing-l);
}
.ss-content .ss-list .ss-searching {
  color: var(--ss-font-color);
  padding: var(--ss-spacing-l);
}
.ss-content .ss-list .ss-optgroup.ss-close .ss-option {
  display: none !important;
}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m)
    var(--ss-spacing-l);
}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text {
  flex: 1 1 auto;
  font-weight: 700;
  color: var(--ss-font-color);
}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow) {
  cursor: pointer;
}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions {
  flex: 0 1 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--ss-spacing-m);
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  cursor: pointer;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall:hover {
  opacity: 0.5;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall.ss-selected
  svg
  path {
  stroke: var(--ss-error-color);
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall
  span {
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 60%;
  text-align: center;
  padding: 0 var(--ss-spacing-s) 0 0;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall
  svg {
  flex: 0 1 auto;
  width: 13px;
  height: 13px;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall
  svg
  path {
  fill: none;
  stroke: var(--ss-success-color);
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall
  svg:first-child {
  stroke-width: 5;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-selectall
  svg:last-child {
  stroke-width: 11;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-closable {
  flex: 0 1 auto;
  display: flex;
  flex-direction: row;
  cursor: pointer;
}
.ss-content
  .ss-list
  .ss-optgroup
  .ss-optgroup-label
  .ss-optgroup-actions
  .ss-closable
  .ss-arrow {
  flex: 1 1 auto;
  width: 10px;
  height: 10px;
}
.ss-content .ss-list .ss-optgroup .ss-option {
  padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s)
    calc(var(--ss-spacing-l) * 3);
}
.ss-content .ss-list .ss-option {
  padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m)
    var(--ss-spacing-l);
  color: var(--ss-font-color);
  display: flex;
  padding: 10px;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  color: #20ae80;
  border: 1px solid transparent;
  border-radius: 10px;
}
.ss-content .ss-list .ss-option:hover {
  color: var(--ss-bg-color);
  background-color: var(--ss-primary-color);
}
.ss-content .ss-list .ss-option.ss-highlighted,
.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected {
  color: var(--ss-bg-color);
  background-color: var(--ss-primary-color);
}
.ss-content .ss-list .ss-option.ss-disabled {
  cursor: not-allowed;
  background-color: var(--ss-disabled-color);
}
.ss-content .ss-list .ss-option.ss-disabled:hover {
  color: var(--ss-font-color);
}
.ss-content .ss-list .ss-option .ss-search-highlight {
  background-color: var(--ss-highlight-color);
}
.modal,
.modal-content {
  width: 100%;
  padding: 10px;
}
.modal {
  position: fixed;
  z-index: 8888;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  overflow-y: auto;
  align-items: normal;
  flex-flow: row nowrap;
  justify-content: normal;
  box-sizing: border-box;
  display: none;
}
.modal.active {
  display: flex;
}
.modal-content {
  border-radius: 10px;
  margin: auto;
  max-width: 608px;
  height: 417px;
  position: relative;
  background: #fff;
}
@media screen and (min-width: 1200px) {
  .modal-content {
    height: 517px;
    padding: 20px;
  }
}
.modal__head {
  display: flex;
  justify-content: space-between;
}
.modal-close {
  background: 0 0;
  border: 0;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: -40px;
  right: 0;
}
.modal__title {
  font-weight: 700;
  font-size: 14px;
  line-height: 120%;
  color: #0e0e0e;
  margin-bottom: 10px;
}

.btn-popup {
  margin-bottom: 20px;
}
.modal__wrap {
  max-height: 339px;
  overflow-y: auto;
  margin-bottom: 15px;
}
@media screen and (min-width: 1200px) {
  .modal__wrap {
    max-height: 417px;
  }
}
.modal__wrap::-webkit-scrollbar {
  width: 4px;
  height: 10px;
}
.modal__wrap::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 5px;
}
.modal__wrap::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}
.modal__group:not(:last-child) {
  margin-bottom: 15px;
}
.modal__buttons button,
.modal__name {
  font-weight: 400;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
.modal__name {
  margin-bottom: 10px;
  font-size: 16px;
  color: #0e0e0e;
}
.modal__buttons button,
.modal__text {
  font-size: 12px;
  line-height: 120%;
  color: #000;
}
.modal--contacts .modal__wrap {
  overflow-y: unset;
  max-height: unset;
}
.modal--contacts .modal-content {
  height: unset;
}
.modal--hier .modal__title {
  margin-bottom: 10px;
}
@media screen and (min-width: 1200px) {
  .modal--hier .modal__title {
    margin-bottom: 30px;
  }
}
.modal--achtung .modal-content {
  background-image: url(../images/hero/form-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.modal--achtung .modal__title {
  text-align: center;
  margin-bottom: 18px;
  font-weight: 700;
  font-size: 14px;
  line-height: 120%;
  background: linear-gradient(0deg, #83383a 0, #83383a 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 1200px) {
  .modal--achtung .modal__title {
    margin-bottom: 25px;
    font-size: 20px;
  }
}
.modal--achtung .modal__text,
.tab-btn span {
  background: linear-gradient(0deg, #83383a 0, #83383a 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.modal--achtung .modal__text {
  text-align: center;
  padding: 0 20px;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 1200px) {
  .modal--achtung .modal__text {
    margin-bottom: 25px;
  }
}
.modal--achtung .modal__text--unset {
  background: unset;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
}
.modal__buttons {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: center;
}
.modal__buttons button {
  background-color: transparent;
  padding: 0;
  border: 0;
  font-weight: 700;
  text-align: center;
}
.modal__text--head {
  border-bottom: 1px solid #b1b1b1;
  padding: 10px 0;
  margin-bottom: 15px;
}
.modal__subtext {
  font-weight: 400;
  font-size: 12px;
  line-height: 120%;
  color: #b1b1b1;
  margin-top: 10px;
}
.tab-buttons {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  flex-direction: column;
}
@media screen and (min-width: 1200px) {
  .tab-buttons {
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
  }
}
.tab-btn,
.tab-btn.active {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}
.tab-btn {
  cursor: pointer;
  text-align: center;
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 15px 10px;
  background: #fff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
.tab-btn span {
  font-weight: 700;
  font-size: 14px;
  line-height: 120%;
}
.tab-btn.active {
  background: #20ae80;
}
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}
.modal--tabs .modal-content {
  height: 626px;
}
@media screen and (min-width: 1200px) {
  .modal--tabs .modal-content {
    height: 517px;
  }
}
.modal--tabs .modal__wrap {
  max-height: 262px;
}
.page-wrapper {
  overflow-x: hidden;
}
.container {
  box-sizing: border-box;
  width: 1274px;
  max-width: 100%;
  margin: auto;
  padding: 0 12px;
}
.list-reset {
  padding: 0;
  list-style: none;
  margin: 0;
}
.scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
}
.hero {
  background-image: url(../images/hero/hero.jpg);
  background-repeat: repeat-x;
  background-size: auto;
  padding: 30px 0;
}
@media screen and (min-width: 1200px) {
  .hero {
    padding: 30px 0;
  }
}
.hero__wrapper {
  position: relative;
}
.hero__img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 148px;
}
@media screen and (min-width: 1200px) {
  .hero__img {
    width: 345px;
  }
}
.hero__text {
  font-weight: 600;
  font-size: 12px;
  line-height: 120%;
  text-transform: uppercase;
  color: #fe0000;
  margin-bottom: 10px;
  max-width: 172px;
}
@media screen and (min-width: 1200px) {
  .hero__text {
    font-size: 28px;
    line-height: 120%;
    margin-bottom: 15px;
    max-width: unset;
  }
}
.hero__title {
  font-weight: 800;
  font-size: 36px;
  line-height: 120%;
  text-transform: uppercase;
  background: linear-gradient(180deg, #fff 52.88%, #999 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 10px;
}
@media screen and (min-width: 1200px) {
  .hero__title {
    font-weight: 800;
    font-size: 110px;
    line-height: 120%;
  }
}
.date__text {
  font-weight: 500;
  font-size: 11px;
  line-height: 120%;
  color: #fff;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.29);
  display: inline-block;
  border: 1px solid #fe0000;
  border-radius: 10px;
  padding: 5px 10px;
}
@media screen and (min-width: 1200px) {
  .date__text {
    font-size: 16px;
  }
}
.date__img {
  border: 1px solid #ff6e00;
  border-radius: 10px;
  padding: 5px 10px;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.29);
}
.main {
  padding: 30px 0;
}
@media screen and (min-width: 1200px) {
  .main {
    padding: 80px 0;
  }
}
.main__wrapper {
  /*display: grid; */
  grid-template-columns: 1fr;
  grid-gap: 40px;
}
@media screen and (min-width: 1200px) {
  .main__wrapper {
    grid-template-columns: 1fr 1fr;
  }
}
.main__left {
  display: flex;
  gap: 20px;
}
@media screen and (min-width: 1200px) {
  .main__left {
    display: block;
  }
}
.main__img {
  width: 178px;
}
@media screen and (min-width: 1200px) {
  .main__img {
    width: 608px;
  }
}
.main__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ball {
  max-width: 155px;
}
.ball__text {
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  text-align: center;
  background: linear-gradient(0deg, #83383a 0, #83383a 100%);
  background-clip: text;
  margin-bottom: 10px;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 1200px) {
  .ball__text {
    font-size: 14px;
    line-height: 120%;
  }
}
.ball__img {
  width: 50px;
  height: 50px;
  margin: 0 auto;
  animation: bounce 1s infinite;
}
@media screen and (min-width: 1200px) {
  .ball__img {
    width: 81px;
    height: 81px;
  }
}
.form-wrapper {
  padding: 20px;
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fbfbfb;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 600px) {
  .form-wrapper {
    padding: 10px;
  }
}
.form-wrapper__title {
  font-weight: 700;
  font-size: 14px;
  line-height: 120%;
  color: #000;
  margin-bottom: 18px;
  text-transform: uppercase;
  text-align: center;
}
@media screen and (min-width: 1200px) {
  .form-wrapper__title {
    font-size: 20px;
    line-height: 120%;
    margin-bottom: 20px;
  }
}
.btn-text {
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  color: #000;
  padding: 0;
  border: 0;
  background-color: transparent;
}
.form--two .b-btn--primary,
.ss-content {
  flex-direction: column;
  width: 100%;
}
.ss-content {
  position: absolute;
  display: flex;
  height: auto;
  width: auto;
  max-height: none;
  box-sizing: border-box;
  transition: transform var(--ss-animation-timing),
    opacity var(--ss-animation-timing);
  opacity: 0;
  transform: scaleY(0);
  transform-origin: center top;
  overflow: hidden;
  z-index: 10000;
  background: #fff;
  padding: 8px;
  border: 1px solid #b1b1b1;
}
.ss-content .ss-list .ss-option.ss-highlighted,
.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected {
  background: #20ae80;
  color: #fff;
}
.ss-content .ss-list .ss-option:hover {
  background: #20ae80;
  color: #fff;
}
.ss-main .ss-arrow path {
  stroke: #bcbcbc;
}
.ss-main,
.ss-main.ss-open-below .ss-placeholder {
  color: var(--white-color);
}
.ss-main {
  padding: 9px 10px;
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}
.ss-content .ss-search input:focus,
.ss-main:focus {
  box-shadow: unset;
}
.ss-main.ss-open-above {
  border-top-left-radius: unset;
  border-top-right-radius: unset;
}
.ss-main.ss-open-above .ss-arrow path {
  fill: #83383a;
}
.ss-main .ss-arrow {
  justify-content: flex-end;
  width: 18px;
  height: 17px;
  margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);
}
.ss-content.ss-open-above {
  margin-bottom: 10px !important;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}
.ss-content.ss-open-below {
  opacity: 1;
  transform: scaleY(1);
  transform-origin: center top;
  border: 0;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}
.ss-main .ss-values {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--ss-spacing-m);
  flex: 1 1 100%;
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  color: #20ae80;
}
.ss-content .ss-list .ss-option:not(:last-child) {
  margin-bottom: 10px;
}
.questions {
  padding: 20px;
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fbfbfb;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
}
.security {
  display: flex;
  margin-bottom: 30px;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1200px) {
  .security {
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 20px;
  }
}
.questions__title,
.security__item {
  font-weight: 400;
  font-size: 17px;
  line-height: 120%;
  text-align: center;
}
.security__item {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 5px;
  padding: 10px 20px;
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 600px) {
  .security__item {
    font-size: 10px;
    padding: 5px;
  }
}

.questions__title {
  color: #000;
  margin-bottom: 23px;
  text-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 1200px) {
  .questions__title {
    font-size: 16px;
    line-height: 120%;
    font-weight: 700;
    color: #188461;
  }
}
.questions__title span {
  background: linear-gradient(0deg, #83383a 0, #83383a 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 1200px) {
  .form--questions .b-btn--primary {
    margin-top: 340px;
  }
}
.alert {
  padding: 10px 15px;
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 340px;
}

.alert__wrapper {
  text-align: left;
}

@media screen and (max-width: 600px) {
  .alert__wrapper {
    text-align: left;
    word-break: break-word;
  }
}

@media screen and (min-width: 1200px) {
  .alert {
    flex-direction: row;
  }
}
.alert__title {
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  color: #188461;
  margin-bottom: 5px;
}
@media screen and (min-width: 1200px) {
  .alert__title {
    text-align: left;
  }
}
.alert__about {
  font-weight: 400;
  font-size: 12px;
  line-height: 120%;
  color: #000;
  margin-bottom: 5px;
  text-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 1200px) {
  .alert__about {
    text-align: left;
  }
}
.alert__wrap {
  font-weight: 400;
  font-size: 12px;
  line-height: 120%;
  color: #000;
  text-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
}

@media screen and (min-width: 1200px) {
  .alert__wrap {
    text-align: left;
  }
}
.alert__txt {
  font-weight: 700;
  font-size: 16px;
  line-height: 120%;
  color: #188461;
  display: block;
  text-align: left;
  margin-bottom: 10px;
}
@media screen and (min-width: 1200px) {
  .alert__txt {
    display: inline;
    text-align: left;
    margin-bottom: 0;
  }
}
.footer {
  padding: 0 0 30px 0;
  background: #eaeaea;
}
@media screen and (min-width: 1200px) {
  .footer {
    padding: 0 0 50px 0;
  }
}
.footer__wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
}
.footer__text {
  font-weight: 400;
  font-size: 12px;
  line-height: 120%;
  text-align: center;
  color: #141414;
}
.footer__buttons button,
.footer__text button {
  padding: 0;
  border: 0;
  background-color: transparent;
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  color: #141414;
}
.footer__buttons {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (min-width: 1200px) {
  .footer__buttons {
    gap: 50px;
  }
}
.footer__buttons button {
  text-align: center;
}
.brand-disclaimer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #bcbcbc;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
  padding: 10px 12px;
  text-align: center;
  line-height: 120%;
}
.brand-disclaimer__text-second {
  border-radius: 0 0 3px 3px;
  border: 1px solid #bcbcbc;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  padding: 10px;
  font-size: 10px;
  color: #000;
  margin: 0 10px 0;
  text-align: center;
}
@media screen and (min-width: 1200px) {
  .brand-disclaimer {
    padding: 10px;
  }
}
.section {
  margin: 42px 0;
}
@media screen and (min-width: 681px) {
  .section {
    margin: 62px 0;
  }
}
@media screen and (min-width: 1200px) {
  .section {
    margin: 105px 0;
  }
}
.section__title {
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 134.7%;
  letter-spacing: 0.1em;
  color: #466562;
  margin-bottom: 45px;
}
@media screen and (min-width: 681px) {
  .section__title {
    margin-bottom: 54px;
  }
}
@media screen and (min-width: 1200px) {
  .section__title {
    margin-bottom: 74px;
  }
}
.b-btn--primary:disabled {
  cursor: not-allowed;
  pointer-events: none;
  transition: opacity 0.3s ease;
  color: #000;
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
}

.b-btn--third {
  font-size: 14px;
}

.b-btn--third {
  border-radius: 3px;
  border: 1px solid #20ae80;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  color: #20ae80;
  min-width: 200px;
  min-height: 47px;
  font-size: 14px;
  padding: 15px 40px;
}

@media screen and (max-width: 600px) {
  .b-btn--third {
    font-size: 10px;
    min-width: 150px;
    width: auto;
    padding: 15px 10px;
  }
}

.b-btn--primary:not(:disabled):hover {
  opacity: 1;
  filter: brightness(1.1);
}

input[type='date'] {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
  transition: border-color 0.3s ease;
  color: #83383a;
  border: 0;
  border-radius: 5px;
  outline: 0;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  background: #cccccc;
}

input[type='date']::placeholder {
  font-weight: 400;
  color: #868686;
}

input[type='date']:focus {
  border-color: #b1b1b1;
}

input[type='date'].error {
  color: var(--red);
  border-color: var(--red);
}

.bmr-team-img {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}

.bmr-team-img img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.relative-container {
  position: relative;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .relative-container {
    max-width: 900px; /* шире на ПК */
  }
}

.ticket-background {
  width: 100%;
  height: auto;
  display: block;
}

.jumping-ball-wrapper {
  position: absolute;
  top: 5%;
  left: 60%;
  width: 81px;
  height: 81px;
  animation: bounce 1.6s infinite;
  z-index: 10;
}

@media screen and (min-width: 1024px) {
  .jumping-ball-wrapper {
    width: 110px;
    height: 110px;
    top: 5%;
    left: 70%;
  }
}

.ball-image {
  width: 100%;
  height: auto;
  display: block;
}

.ball-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  pointer-events: none;
  width: 75%;
}

@media screen and (min-width: 1024px) {
  .ball-text {
    font-size: 14px;
  }
}

@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

.hero__title2 {
  font-weight: 800;
  font-size: 16px;
  line-height: 120%;
  text-transform: uppercase;
  background: linear-gradient(180deg, #fff 52.88%, #999 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0px;
}
@media screen and (min-width: 1200px) {
  .hero__title2 {
    font-weight: 800;
    font-size: 50px;
    line-height: 120%;
  }
}
.date__text {
  font-weight: 500;
  font-size: 11px;
  line-height: 120%;
  color: #fff;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.29);
  display: inline-block;
  border: 1px solid #fe0000;
  border-radius: 10px;
  padding: 5px 10px;
}
@media screen and (min-width: 1200px) {
  .date__text {
    font-size: 16px;
  }
}
.hero__title3 {
  font-weight: 800;
  font-size: 30px;
  line-height: 120%;
  text-transform: uppercase;
  background: linear-gradient(180deg, #fff 52.88%, #999 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0px;
}
@media screen and (min-width: 1200px) {
  .hero__title3 {
    font-weight: 800;
    font-size: 100px;
    line-height: 120%;
  }
}
.date__text {
  font-weight: 500;
  font-size: 11px;
  line-height: 120%;
  color: #fff;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.29);
  display: inline-block;
  border: 1px solid #fe0000;
  border-radius: 10px;
  padding: 5px 10px;
}
@media screen and (min-width: 1200px) {
  .date__text {
    font-size: 16px;
  }
}

.main {
  position: relative;
  overflow-x: hidden;
}

.main::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #eaeaea;
  background-size: cover;
  z-index: 0;
}

@media screen and (min-width: 768px) {
  .main::before {
    background: #eaeaea;
    background-size: cover;
  }
}

.main > .container {
  position: relative;
  z-index: 1;
}

.google_or {
  text-align: center;
  margin: 10px 0;
  text-transform: uppercase;
  font-size: 12px;
  color: #141414;
  position: relative;
  flex: 1;
}

.google_or::before,
.google_or::after {
  content: '';
  position: absolute;
  top: 44%;
  width: 25%;
  height: 1px;
  background: #000;
}

.google_or::before {
  left: 0;
}

.google_or::after {
  right: 0;
}
.google__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px;
  border-radius: 3px;
  background: #20ae80;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  font-weight: 400;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
  min-width: 234px;
  width: auto;

  gap: 10px;
}

.google__btn:hover {
  filter: brightness(0.95);
  cursor: pointer;
}

.google__btn a {
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

@media screen and (max-width: 600px) {
  .google__btn {
    font-size: 16px;
  }
}

.google__btn img {
  height: 20px;
  width: 20px;
}

.main {
  position: relative;
  overflow-x: hidden;
}

.main::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #eaeaea;
  background-size: cover;
  z-index: 0;
}

@media screen and (min-width: 768px) {
  .main::before {
    background: #eaeaea;
    background-size: cover;
  }
}

.main > .container {
  position: relative;
  z-index: 1;
}

.main--centered {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hidden {
  display: none !important;
}

.b-btn--primary[style*='display: none'] {
  visibility: hidden; /* невидима и не занимает место */
}

/* --- spacing & mobile Safari fix --- */
.b-btn--primary + .alert {
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .b-btn--primary + .alert {
    margin-top: 6rem;
  }
}

.form__input input {
  /* отменяем авто-zoom */
  font-size: 12px;
}

.form__title {
  /* от 20 px на самом маленьком экране до 26 px на очень широком */
  font-size: 20px;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .form__title {
    font-size: 28px;
  }
}

/* === PRELOADER === */
.preloader {
  position: fixed;
  inset: 0;
  background: #000; /* full black */
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  color: #fff;
  z-index: 10000; /* поверх всего */
  transition: opacity 0.35s ease;
}

/* Внутренний контейнер для центрирования всех элементов */
.preloader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.2rem; /* вертикальный шаг между элементами */
}

.preloader__msg {
  font-size: 1.25rem;
}
.preloader__count {
  font-size: 1rem;
  opacity: 0.75;
  margin-top: 0.25rem; /* небольшой отступ от сообщения */
}

.preloader__spinner {
  width: 290px;
  height: 290px; /* аккуратный размер */
  margin-top: 0.8rem;
  object-fit: contain;
}

.preloader--hide {
  opacity: 0;
  pointer-events: none;
}
/* =============== */

/* === DOB (MM / TT / JJJJ) — растянуть в одну линию и выровнять по всей ширине === */
.form__row .form__input--triple {
  width: 100%;
}

/* 1) Контейнер трёх полей — используем grid на всю ширину */
.form__row .form__input--triple .dob-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* MM / / TT / / JJJJ */
  align-items: center;
  column-gap: 10px;
  width: 100%;
}

/* 2) Сами инпуты — занимают всю ширину своей колонки (равномерно) */
.form__row .form__input--triple .dob-input {
  width: 100% !important; /* переопределяем прежние width:56px/84px */
  min-width: 0; /* разрешаем ужиматься внутри grid/flex */
  flex: 1 1 auto !important; /* на случай старого flex-лейаута */
}
.form__input--triple {
  position: relative;
  padding-right: 35px;
}
.form__input--triple.valid::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.79798 10.7374L4.00558 9.94509L1.9419 7.88135C1.62386 7.56326 1.62386 7.04441 1.9419 6.7263L2.15679 6.51148C2.47483 6.19339 2.9937 6.19339 3.31179 6.51148L4.79798 7.99762C5.11607 8.31571 5.63494 8.31573 5.95303 7.99762L10.688 3.26264C11.0061 2.94452 11.525 2.94452 11.8431 3.26264L12.0579 3.47745C12.376 3.79554 12.3761 4.31441 12.0579 4.6325L6.7454 9.94509L5.953 10.7374C5.63494 11.0555 5.11607 11.0555 4.79798 10.7374Z' fill='%2340BAAE'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
  z-index: 2;
}

/* год теперь такой же по ширине, как и остальные (равномерность) */
.form__row .form__input--triple .dob-input--yyyy {
  width: 100% !important;
  flex-basis: auto !important;
}

/* разделители «/» — фиксированной ширины, не прыгают */
.form__row .form__input--triple .dob-sep {
  width: 12px;
  text-align: center;
  opacity: 0.6;
}

/* более плотный зазор на очень узких экранах */
@media (max-width: 480px) {
  .form__row .form__input--triple .dob-grid {
    column-gap: 8px;
  }
}

/* iOS Safari: не зумить при фокусе на поле телефона */
@media (max-width: 1024px) {
  /* более специфичный селектор, чтобы перебить общий инпут-стиль */
  .form__row .form__input #phone {
    font-size: 16px !important; /* ключ к отключению зума на iOS */
    line-height: 1.25; /* чтобы высота строки осталась аккуратной */
  }
}

/* Доп. фильтр только для iOS WebKit, если хочешь ещё точнее таргетировать */
@supports (-webkit-touch-callout: none) {
  .form__row .form__input #phone {
    font-size: 16px !important;
  }
}

/* ===== Privacy Modal Styles ===== */
.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.modal.active {
  display: flex;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 0%);
  cursor: default;
}

.modal__content {
  position: relative;
  z-index: 10000;
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fbfbfb;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
  padding: 20px;
  width: 90%;
  max-width: 598px;
}

@media screen and (max-width: 600px) {
  .modal__content {
    padding: 10px;
  }
}

.color-red {
  color: #188461;
}
.fw-700 {
  font-weight: 700;
}

.mb-0 {
  margin-bottom: 0;
}
.mb-20 {
  margin-bottom: 20px;
}

.modal__title {
  font-size: 1.25rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 1rem;
  text-align: center;
}

@media screen and (max-width: 600px) {
  .modal__title {
    font-size: 14px;
  }
}

.modal__title__privacy {
  color: #141414;
  font-size: 12px;
  font-weight: 700;
}

.modal__body {
  margin-bottom: 1.3rem;
}

.modal__footer {
  text-align: center;
}

.modal__footer .btn {
  margin: 0.25rem;
}

.footer__buttons {
  display: flex;
  justify-content: center;
  gap: 50px;
}

.footer__buttons button {
  background: none;
  border: none;
  color: #188461;
  font-size: 12px;
  cursor: pointer;
  padding: 0;
}

@media screen and (max-width: 600px) {
  .footer__buttons button {
    font-size: 10px;
  }
}

.footer__buttons button:hover {
  text-decoration: none;
}

/* === Modal Overlay: light with blur === */
.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25); /* светлый прозрачный фон */
  backdrop-filter: blur(3px); /* лёгкий блюр под попапом */
  -webkit-backdrop-filter: blur(3px);
  cursor: default;
}

/* === Center modal buttons === */
.modal__footer {
  text-align: center;
}

.modal__footer .b-btn--modal-primary,
.modal__footer .b-btn--modal-secondary {
  display: inline-block;
  min-width: 269px;
  min-height: 44px;
}

@media screen and (max-width: 600px) {
  .modal__footer .b-btn--modal-primary,
  .modal__footer .b-btn--modal-secondary {
    min-width: 153px;
    font-size: 10px;
    padding: 15px 10px;
  }
}

/* === Modal buttons style === */
.b-btn--modal-primary {
  border-radius: 3px;
  background: #20ae80;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  border: none;
  padding: 14px 32px;
  font-size: 12px;
  font-weight: 400;
  transition: all 0.2s ease;
}

.b-btn--modal-primary:hover {
  background: #9a4447;
}

.b-btn--modal-secondary {
  border-radius: 3px;
  border: 1px solid #20ae80;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  color: #20ae80;
  padding: 8px 18px;
  font-size: 12px;
  font-weight: 400;
  transition: all 0.2s ease;
}

.b-btn--modal-secondary:hover {
  border-color: #aaa;
}

/* === Footer modal links === */
.footer__buttons {
  display: flex;
  justify-content: center;
  gap: 50px;
}

/* ===== SPECIAL STYLE: Privacy Modal Background ===== */
.modal--privacy .modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  cursor: default;
  transition: backdrop-filter 0.3s ease, background 0.3s ease;
}

/* Можно немного подправить z-index для уверенности */
.modal--privacy {
  z-index: 9999;
}

.form__name_main_button {
  font-weight: 400;
  font-size: 12px;
  line-height: 120%;
  color: #000;
  margin-bottom: 10px;
}

.form__buttons {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  align-items: center;
}

.form__buttons button {
  border-radius: 3px;
  border: 1px solid #bcbcbc;
  background: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  padding: 12px 16px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-weight: 700;
  max-width: 642px;
  width: 100%;
  color: #188461;
}

.form__buttons button:hover {
  background: #f3f3f3;
}

.form__buttons button.active {
  background: #83383a;
  color: #fff;
  border-color: #83383a;
}

.mw-257 {
  min-width: 200px;
  font-size: 14px;
  min-height: 37px;
}

@media screen and (max-width: 600px) {
  .mw-257 {
    min-width: 150px;
    width: auto;
    padding: 15px 10px;
    font-size: 10px;
  }
}

.mw-179 {
  max-width: 179px;
}

.buttons-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

@media screen and (max-width: 600px) {
  .buttons-container {
    gap: 10px;
  }
}

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

.form--questions {
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__footer-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.hr {
  width: 100%;
  height: 1px;
  background: #bcbcbc;
  margin-top: 20px;
  margin-bottom: 20px;
}

.hr-main {
  width: 100%;
  height: 1px;
  background: #bcbcbc;
  margin: 0 0 40px 0;
}

@media screen and (max-width: 600px) {
  .hr-main {
    margin: 0 0 20px 0;
  }
}

.brand-disclaimer__text {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}

.google {
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.w100 {
  width: 100%;
}

  /* DOB (Geburtstag) field: light-red highlight for invalid parts */
  .dob-input.error {
    background: rgba(255, 0, 0, 0.08);
    border-color: rgba(255, 0, 0, 0.25);
  }

  /* Required marker for checkbox */
  .required-mark {
    color: #d00;
    margin-left: 4px;
  }

  /* Checkbox required error */
  #checkbox-error { display: none; }
  #checkbox-row.error #checkbox-error { display: block; }

  #checkbox-row.error .checkbox-wrap {
    background: rgba(255, 0, 0, 0.06);
    outline: 2px solid rgba(255, 0, 0, 0.18);
    border-radius: 10px;
    padding: 6px;
  }

/* Prevent iOS Safari auto-zoom on form fields (needs >=16px font-size) */
@supports (-webkit-touch-callout: none) {
  input[type='email'],
  input[type='number'],
  input[type='password'],
  input[type='search'],
  input[type='tel'],
  input[type='text'],
  select,
  textarea {
    font-size: 16px;
  }
}

/* ==========================================================
   Winner-Ticker (nahtlose Laufzeile, max. ~1cm Höhe) — SLOW + MIN SPACING
   ========================================================== */

.winner-ticker {
  position: relative;
  height: 34px;                 /* чуть тоньше (~1см визуально) */
  margin: 4px 0;                /* минимальные отступы от блоков */
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0, 0, 0, 0.10);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
}

.winner-ticker__viewport {
  height: 100%;
  overflow: hidden;
}

.winner-ticker__track {
  height: 100%;
  display: flex;
  width: max-content;
  will-change: transform;
  animation: winner-marquee 70s linear infinite; /* медленнее */
}

.winner-ticker:hover .winner-ticker__track {
  animation-play-state: paused;
}

.winner-ticker__content {
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;

  /* было много воздуха — делаем компактно */
  padding: 0 8px;
  gap: 6px;

  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  color: #141414;
}

.winner-ticker__label {
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.winner-ticker__item {
  font-weight: 700;
}

.winner-ticker__sep {
  opacity: 0.45;
  padding: 0 3px;
}

/* “Исчезает” у краёв — уже и мягче */
.winner-ticker::before,
.winner-ticker::after {
  content: "";
  position: absolute;
  top: 0;
  width: 26px;                  /* было 44px */
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.winner-ticker::before {
  left: 0;
  background: linear-gradient(to right, rgba(255,255,255,0.95), rgba(255,255,255,0));
}

.winner-ticker::after {
  right: 0;
  background: linear-gradient(to left, rgba(255,255,255,0.95), rgba(255,255,255,0));
}

@keyframes winner-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .winner-ticker__track {
    animation: none;
    transform: none;
  }
}

/* Desktop grid placement (чтобы форма осталась справа) */
@media screen and (min-width: 1200px) {
  .relative-container { grid-column: 1; grid-row: 1; }
  .form-wrapper { grid-column: 2; grid-row: 1; }
  .winner-ticker { grid-column: 1 / -1; grid-row: 2; margin: 6px 0 0; }
}

/* Winners strip (unique version of winner-ticker) */
.winners-strip {
  --badge-w: 100px;
  position: relative;
  height: 34px;
  margin: 4px 0;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.82);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0, 0, 0, 0.10);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
}

.winners-strip__viewport {
  height: 100%;
  overflow: hidden;
}

/* fixed badge on the left */
.winners-strip__badge {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: var(--badge-w);
  display: flex;
  align-items: center;
  padding: 0 10px;

  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #141414;
  opacity: 0.92;

  z-index: 3;
  background: rgba(255, 255, 255, 0.96);
  border-right: 1px solid rgba(0,0,0,0.08);
}

/* the moving track passes UNDER the badge */
.winners-strip__track {
  height: 100%;
  display: flex;
  width: max-content;
  will-change: transform;
  animation: winners-marquee 70s linear infinite;
}

.winners-strip:hover .winners-strip__track {
  animation-play-state: paused;
}

.winners-strip__line {
  height: 100%;
  display: flex;
  align-items: center;
  white-space: nowrap;
  padding: 0 8px;
  gap: 6px;

  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  color: #141414;
}

/* spacer so first item starts AFTER the fixed badge,
   but during the loop items go "under" it */
.winners-strip__pad {
  display: inline-block;
  width: var(--badge-w);
  flex: 0 0 var(--badge-w);
}

.winners-strip__name { font-weight: 700; }
.winners-strip__dot  { opacity: 0.45; padding: 0 3px; }

/* optional soft fade edges (keeps your current behavior idea) */
.winners-strip::before,
.winners-strip::after {
  content: "";
  position: absolute;
  top: 0;
  width: 26px;
  height: 100%;
  z-index: 4;
  pointer-events: none;
}

.winners-strip::before {
  left: 0;
  background: linear-gradient(to right, rgba(255,255,255,0.95), rgba(255,255,255,0));
}

.winners-strip::after {
  right: 0;
  background: linear-gradient(to left, rgba(255,255,255,0.95), rgba(255,255,255,0));
}

@keyframes winners-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .winners-strip__track {
    animation: none;
    transform: none;
  }
}
