@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@font-face {
  font-family: "TT Fors Trial";
  src: url("../fonts/TT Fors Trial Medium.eot");
  src: url("../fonts/TT Fors Trial Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/TT Fors Trial Medium.woff2") format("woff2"), url("../fonts/TT Fors Trial Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "TT Fors Trial";
  src: url("../fonts/TT Fors Trial Regular.eot");
  src: url("../fonts/TT Fors Trial Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/TT Fors Trial Regular.woff2") format("woff2"), url("../fonts/TT Fors Trial Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

:root {
  --font-family: "Inter", sans-serif;
  --second-family: "Montserrat", sans-serif;
  --black: #222;
  --gray: #585858;
  --t4: 1.07cqw;
  --t8: 2.13cqw;
  --t12: 3.2cqw;
  --t14: 3.73cqw;
  --t15: 4cqw;
  --t16: 4.27cqw;
  --t18: 4.8cqw;
  --t22: 5.87cqw;
  --t24: 6.4cqw;
  --t32: 8.53cqw;
  --t40: 10.67cqw;
  --t48: 12.8cqw;
  --t56: 14.93cqw;
  --t64: 17.07cqw; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 0.83cqw; }
  @media (max-width: 1023px) {
    html {
      font-size: var(--t16); } }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

html,
body {
  height: 100%;
  position: relative; }

body {
  font-family: var(--font-family);
  font-size: 0.83cqw;
  font-weight: 300;
  background: #efeeee;
  color: var(--gray); }
  @media (max-width: 1023px) {
    body {
      font-size: var(--t16); } }
  body.fixed {
    overflow: hidden; }

.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 2.08cqw; }
  @media (max-width: 1023px) {
    .container {
      padding: 0 var(--t16); } }

img {
  display: block; }

ul,
ol,
li,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0; }

a {
  display: inline-block;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  text-decoration: none;
  color: var(--gray); }

button:focus,
input:focus {
  outline: transparent; }

.main {
  padding-top: 5.26cqw; }
  @media (max-width: 1023px) {
    .main {
      padding-top: 12.27cqw; } }

.wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%; }
  .wrapper.overlay {
    position: relative; }
    .wrapper.overlay::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 16;
      background: rgba(36, 36, 36, 0.6); }

.content {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  min-width: 0; }

footer {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

button {
  padding: 0;
  margin: 0;
  border: 0;
  background-color: transparent;
  border-radius: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s; }

input,
textarea {
  border-radius: 0;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background-color: transparent; }

::-moz-selection {
  background-color: rgba(195, 40, 40, 0.5); }

::selection {
  background-color: rgba(195, 40, 40, 0.5); }

* {
  outline: none;
  scrollbar-width: thin; }

.blocks-gallery-grid {
  width: 100%; }

.blocks-gallery-item:last-child {
  margin-bottom: 0; }

.wp-block-gallery .blocks-gallery-item {
  margin-bottom: 0; }

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50px;
  padding: 0 2.08cqw;
  height: 2.92cqw;
  text-transform: uppercase;
  font-size: 0.73cqw;
  background: #c32828;
  color: #fff;
  -webkit-transition: background 0.3s, border 0.3s, color 0.3s;
  transition: background 0.3s, border 0.3s, color 0.3s; }
  @media (max-width: 1023px) {
    .btn {
      height: var(--t48);
      font-size: var(--t12);
      padding: 0 var(--t40);
      font-size: var(--t14); } }

.btn-second {
  background-color: transparent;
  color: var(--black);
  border: 1px solid #cecdcd; }

.section-head {
  margin-bottom: 2.5cqw;
  text-align: center; }
  @media (max-width: 1023px) {
    .section-head {
      margin-bottom: var(--t32); } }
  .section-head h2 {
    font-family: var(--second-family);
    font-weight: 500;
    font-size: 1.88cqw;
    color: var(--black);
    margin-bottom: 0.83cqw; }
    @media (max-width: 1023px) {
      .section-head h2 {
        font-size: var(--t24);
        margin-bottom: var(--t16); }
        .section-head h2 br {
          display: none; } }
  .section-head p {
    line-height: 140%;
    font-size: 1.09cqw; }
    @media (max-width: 1023px) {
      .section-head p {
        font-size: var(--t14); }
        .section-head p br {
          display: none; } }

.title {
  padding-left: 1.25cqw;
  font-weight: 300;
  font-size: 0.94cqw;
  text-transform: uppercase;
  color: var(--black);
  position: relative;
  margin-bottom: 2.5cqw; }
  @media (max-width: 1023px) {
    .title {
      margin-bottom: var(--t24);
      font-size: var(--t14);
      padding-left: var(--t16); } }
  .title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.63cqw;
    height: 0.63cqw;
    background-color: var(--black);
    border-radius: 50%; }
    @media (max-width: 1023px) {
      .title::before {
        width: var(--t8);
        height: var(--t8); } }

h1 {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: 2.08cqw;
  color: var(--black);
  margin-bottom: 2.5cqw; }
  @media (max-width: 1023px) {
    h1 {
      font-size: var(--t24);
      margin-bottom: var(--t24); } }

.breadcrumbs {
  margin-bottom: 2.92cqw;
  font-size: 0.73cqw;
  padding-top: 2.08cqw; }
  @media (max-width: 1023px) {
    .breadcrumbs {
      padding-top: var(--t32);
      font-size: var(--t14);
      margin-bottom: var(--t40); } }
  .breadcrumbs ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.83cqw; }
    @media (max-width: 1023px) {
      .breadcrumbs ul {
        gap: var(--t8); } }
    .breadcrumbs ul li:not(:last-child) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 0.83cqw; }
      @media (max-width: 1023px) {
        .breadcrumbs ul li:not(:last-child) {
          gap: var(--t8); } }
      .breadcrumbs ul li:not(:last-child)::after {
        content: "";
        display: block;
        width: 0.73cqw;
        height: 1px;
        background-color: var(--black); }
        @media (max-width: 1023px) {
          .breadcrumbs ul li:not(:last-child)::after {
            width: var(--t12); } }
    .breadcrumbs ul a {
      color: var(--black);
      -webkit-transition: all 0.3s;
      transition: all 0.3s; }

.header-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media (max-width: 1023px) {
    .header-body {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }

.header__logo {
  padding-top: 0.63cqw;
  padding-bottom: 0.63cqw;
  padding-right: 2.08cqw;
  border-right: 1px solid #cecdcd; }
  @media (max-width: 1023px) {
    .header__logo {
      padding-top: var(--t12);
      padding-bottom: var(--t12);
      padding-right: var(--t16); } }
  .header__logo img {
    height: 1.67cqw; }
    @media (max-width: 1023px) {
      .header__logo img {
        height: var(--t18); } }

.header__btn {
  display: none; }
  @media (max-width: 1023px) {
    .header__btn {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: var(--t24);
      height: var(--t24); } }

.header__menu {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media (max-width: 1023px) {
    .header__menu {
      display: none; } }
  .header__menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    gap: 1.67cqw; }
  .header__menu a {
    color: var(--black); }

.header__tel {
  border-left: 1px solid #cecdcd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 2.08cqw; }
  @media (max-width: 1023px) {
    .header__tel {
      padding: 0;
      gap: var(--t16);
      border: none;
      margin-left: auto;
      margin-right: var(--t16); } }
  .header__tel a {
    color: var(--black); }
    @media (max-width: 1023px) {
      .header__tel a {
        border: 1px solid #cecdcd;
        padding: 0;
        width: var(--t32);
        height: var(--t32);
        border-radius: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  @media (max-width: 1023px) {
    .header__tel p {
      display: none; } }
  .header__tel svg {
    display: none; }
    @media (max-width: 1023px) {
      .header__tel svg {
        display: block;
        width: var(--t16);
        height: var(--t16); } }

header {
  background: #efeeee;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 15;
  border-bottom: 1px solid #cecdcd; }

.header-top {
  font-size: 0.73cqw; }
  @media (max-width: 1023px) {
    .header-top {
      display: none; } }
  .header-top ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.67cqw; }
  .header-top .container {
    border-bottom: 1px solid #cecdcd;
    padding-top: 0.63cqw;
    padding-bottom: 0.63cqw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }

.modal {
  display: none;
  background: #efeeee;
  border-radius: 0.83cqw;
  padding: 2.08cqw;
  max-width: 28.13cqw;
  width: 100%; }
  @media (max-width: 1023px) {
    .modal {
      border-radius: var(--t16);
      max-width: 100%;
      padding: var(--t24) var(--t16); } }
  .modal .btn {
    width: 100%; }
  .modal h2 {
    font-weight: 500;
    color: var(--black);
    font-size: 1.25cqw; }
    .modal h2:not(:last-child) {
      margin-bottom: 0.42cqw; }
      @media (max-width: 1023px) {
        .modal h2:not(:last-child) {
          margin-bottom: var(--t8); } }
    @media (max-width: 1023px) {
      .modal h2 {
        font-size: var(--t24); } }
  .modal .checkmark {
    border: 1px solid #cecdcd; }
  .modal .input input,
  .modal .textarea textarea {
    border: 1px solid #cecdcd;
    color: var(--black); }
  .modal .checkbox-container {
    color: var(--gray); }
    .modal .checkbox-container a {
      color: var(--black); }
  .modal .checkbox-container .checkmark:after {
    background-image: url(../img/icon-checkbox-black.svg); }

.fancybox__content > .f-button.is-close-btn {
  width: 1.67cqw;
  height: 1.67cqw;
  top: -2.08cqw; }
  @media (max-width: 1023px) {
    .fancybox__content > .f-button.is-close-btn {
      width: var(--t32);
      height: var(--t32); }
      .fancybox__content > .f-button.is-close-btn svg {
        width: var(--t16);
        height: var(--t16); } }

.modal__head {
  margin-bottom: 1.25cqw; }
  @media (max-width: 1023px) {
    .modal__head {
      margin-bottom: var(--t24); } }
  .modal__head p {
    line-height: 140%;
    color: var(--gray); }
    @media (max-width: 1023px) {
      .modal__head p {
        font-size: var(--t14); } }

.modal-menu {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  transition-property: transform, opacity, -webkit-transform;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  height: 100%;
  width: 100cqw;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  background: #efeeee;
  max-width: 100%;
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  z-index: 25;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .modal-menu .scroll-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    padding: var(--t32) var(--t16);
    overflow: auto; }
  .modal-menu nav {
    margin-bottom: var(--t48); }

.modal-bottom {
  margin-top: auto;
  padding-top: var(--t32);
  border-top: 1px solid #cecdcd; }
  .modal-bottom a {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--black); }
  .modal-bottom a:first-child {
    font-size: var(--t24);
    margin-bottom: var(--t16); }
  .modal-bottom a:last-child {
    font-size: var(--t18); }

.modal-menu:not(.open) {
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  opacity: 0; }

.modal-menu__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: var(--t48); }

.modal-menu img {
  height: var(--t24); }

.modal-menu .icon-close {
  width: var(--t48);
  height: var(--t48);
  border: 1px solid #cecdcd;
  border-radius: 50%;
  display: block;
  position: relative;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.modal-menu .icon-close:before,
.modal-menu .icon-close:after {
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 1px;
  width: var(--t18);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #222;
  transition: all 0.3s; }

.modal-menu .icon-close:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.modal-menu .icon-close:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.modal-menu__list {
  list-style: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }
  .modal-menu__list a {
    color: var(--black);
    font-size: var(--t18); }

.modal-menu__list > li:not(:last-child) {
  margin-bottom: var(--t24); }

#modal-partner h4 {
  font-family: var(--second-family);
  font-weight: 500;
  font-size: 0.83cqw;
  color: var(--black);
  margin-bottom: 0.63cqw; }
  @media (max-width: 1023px) {
    #modal-partner h4 {
      font-size: var(--t16);
      margin-bottom: var(--t12); } }

#modal-partner .modal-filter__row {
  margin-bottom: 1.25cqw; }
  @media (max-width: 1023px) {
    #modal-partner .modal-filter__row {
      margin-bottom: var(--t24); } }
  #modal-partner .modal-filter__row .checkbox-container {
    margin-bottom: 0;
    font-size: 0.83cqw;
    padding-left: 1.67cqw; }
    @media (max-width: 1023px) {
      #modal-partner .modal-filter__row .checkbox-container {
        font-size: var(--t14);
        padding-left: var(--t24); } }
  #modal-partner .modal-filter__row .checkbox-container input:checked ~ .checkmark {
    background-color: var(--black);
    border-color: var(--black); }
  #modal-partner .modal-filter__row .checkmark {
    width: 0.94cqw;
    height: 0.94cqw;
    border-radius: 50%; }
    @media (max-width: 1023px) {
      #modal-partner .modal-filter__row .checkmark {
        top: 0.53cqw;
        width: var(--t16);
        height: var(--t16); } }
    #modal-partner .modal-filter__row .checkmark::after {
      background-image: none !important;
      width: 0.21cqw;
      height: 0.21cqw;
      border-radius: 50%;
      background-color: #fff;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      left: 0px;
      right: 0;
      margin: 0 auto; }
      @media (max-width: 1023px) {
        #modal-partner .modal-filter__row .checkmark::after {
          width: var(--t4);
          height: var(--t4); } }

.text-content {
  font-size: 16px;
  line-height: 1.625;
  color: #000; }

.text-content h1,
.text-content h2,
.text-content h3,
.text-content h4,
.text-content h5,
.text-content h6 {
  line-height: normal;
  color: #000;
  font-weight: 400; }

.text-content h1 {
  margin-bottom: 25px;
  line-height: 1.625;
  font-size: 21px; }

.text-content h2 {
  font-size: 18px;
  margin-bottom: 25px;
  line-height: 1.625; }

.text-content h3 {
  font-size: 16px;
  margin-bottom: 30px;
  line-height: 1.625; }

.text-content h4,
.text-content h5,
.text-content h6 {
  font-size: 14px;
  margin-bottom: 30px; }

.text-content a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #121212; }

.text-content span {
  color: #454545; }

.text-content p:not(:last-child) {
  margin-bottom: 30px; }

.text-content table {
  border-collapse: collapse;
  width: 100%; }

.text-content table:not(:last-child) {
  margin-bottom: 30px; }

.text-content table th,
.text-content table td {
  border: 1px solid #242424;
  font-size: 16px;
  padding: 15px 25px; }

.text-content table th {
  font-weight: normal;
  text-align: left;
  background-color: #2d3642;
  color: #fff;
  border-top: none;
  border-left: none;
  text-align: center; }
  .text-content table th:last-child {
    border-right-color: #2d3642; }

.text-content table td {
  color: #606060;
  -webkit-transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
          transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  text-align: center; }

.text-content ul:not(:last-child),
.text-content ol:not(:last-child) {
  margin-bottom: 30px; }

.text-content ul {
  list-style: none; }
  .text-content ul ul {
    margin-top: 30px;
    margin-bottom: 30px; }

.text-content ul > li,
.text-content ol > li {
  position: relative;
  padding-left: 44px; }
  .text-content ul > li:not(:last-child),
  .text-content ol > li:not(:last-child) {
    margin-bottom: 8px; }

.text-content ul > li:before {
  height: 1px;
  width: 25px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 13px;
  background: #121212; }

.text-content ol {
  counter-reset: listCounter; }
  .text-content ol li::marker {
    font-size: 0; }

.text-content ol > li:before {
  counter-increment: listCounter;
  content: counter(listCounter) ".";
  position: absolute;
  top: 0;
  left: 0;
  color: #000; }

.text-content img {
  max-width: 100%;
  margin-bottom: 30px; }

.text-content figure {
  margin: 0 0 30px;
  padding: 0; }

.text-content figure img {
  margin-bottom: 0;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto; }

.text-content li.blocks-gallery-item {
  padding-left: 0; }

.text-content li.blocks-gallery-item::before {
  display: none;
  padding-left: 0; }

.input-wrapper {
  position: relative; }

.input-wrapper label.error {
  position: absolute;
  left: 0;
  top: calc(100% + 3px);
  color: #ee4130;
  font-size: 13px;
  line-height: 0.73cqw;
  white-space: nowrap;
  display: none !important; }

.input-wrapper.checkbox-input label.error {
  left: 42px; }

.input-wrapper.error input {
  border-color: #c32828; }

.input-wrapper.error textarea {
  border: 1px solid #c32828; }

.input-wrapper.error input:focus,
.input-wrapper.error textarea:focus {
  border-color: #c32828; }

.input,
.textarea {
  position: relative;
  margin-bottom: 0.63cqw;
  width: 100%;
  color: #fff; }
  @media (max-width: 1023px) {
    .input,
    .textarea {
      margin-bottom: var(--t12); } }

.input input,
.textarea textarea {
  -webkit-transition-property: border-color;
  transition-property: border-color;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
          transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  resize: none;
  width: 100%;
  font-size: 0.83cqw;
  color: #fff; }
  @media (max-width: 1023px) {
    .input input,
    .textarea textarea {
      font-size: var(--t14); } }

.input input::-ms-clear,
.textarea textarea::-ms-clear {
  display: none; }

.input input:focus,
.textarea textarea:focus {
  border-color: #121212; }

.input input,
.textarea input {
  border: 1px solid #121212;
  height: 2.92cqw;
  padding: 0 1.25cqw;
  font-weight: 300;
  border-radius: 50px;
  font-size: 0.83cqw; }
  .input input::-webkit-input-placeholder, .textarea input::-webkit-input-placeholder {
    color: var(--gray) !important; }
  .input input::-moz-placeholder, .textarea input::-moz-placeholder {
    color: var(--gray) !important; }
  .input input:-ms-input-placeholder, .textarea input:-ms-input-placeholder {
    color: var(--gray) !important; }
  .input input::-ms-input-placeholder, .textarea input::-ms-input-placeholder {
    color: var(--gray) !important; }
  .input input::placeholder,
  .textarea input::placeholder {
    color: var(--gray) !important; }
    @media (max-width: 1023px) {
      .input input::-webkit-input-placeholder, .textarea input::-webkit-input-placeholder {
        font-size: var(--t14); }
      .input input::-moz-placeholder, .textarea input::-moz-placeholder {
        font-size: var(--t14); }
      .input input:-ms-input-placeholder, .textarea input:-ms-input-placeholder {
        font-size: var(--t14); }
      .input input::-ms-input-placeholder, .textarea input::-ms-input-placeholder {
        font-size: var(--t14); }
      .input input::placeholder,
      .textarea input::placeholder {
        font-size: var(--t14); } }
  @media (max-width: 1023px) {
    .input input,
    .textarea input {
      padding: 0 var(--t16);
      height: var(--t48);
      font-size: var(--t16); } }

.input textarea,
.textarea textarea {
  border: 1px solid #121212;
  padding: 1.04cqw;
  border-radius: 0.83cqw;
  height: 8.85cqw; }
  @media (max-width: 1023px) {
    .input textarea,
    .textarea textarea {
      height: 37.33cqw;
      border-radius: var(--t16);
      padding: var(--t16); } }

.input .input-label,
.textarea .input-label {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
          transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  position: absolute;
  left: 1.25cqw;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #c5c4c4; }
  @media (max-width: 1023px) {
    .input .input-label,
    .textarea .input-label {
      left: var(--t16);
      font-size: var(--t14); } }

.textarea .input-label {
  left: 1.25cqw;
  top: 1.15cqw;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; }
  @media (max-width: 1023px) {
    .textarea .input-label {
      left: var(--t16);
      top: var(--t22); } }

.input:not(.empty) .input-label {
  font-size: 0; }

.textarea:not(.empty) .input-label {
  font-size: 0; }

.checkbox-container {
  display: block;
  position: relative;
  padding-left: 2.08cqw;
  margin-bottom: 1.25cqw;
  cursor: pointer;
  line-height: 140%;
  font-size: 0.73cqw;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #c5c4c4; }
  @media (max-width: 1023px) {
    .checkbox-container {
      font-size: var(--t14);
      padding-left: var(--t32);
      margin-bottom: var(--t16); } }
  .checkbox-container.error {
    display: block !important; }
  .checkbox-container a {
    color: #fff;
    display: inline; }

.checkbox-container input {
  cursor: pointer;
  position: absolute;
  opacity: 0;
  height: 0;
  width: 0; }

.checkmark {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  height: 1.25cqw;
  width: 1.25cqw;
  border: 1px solid #434343;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 0.21cqw; }
  @media (max-width: 1023px) {
    .checkmark {
      width: var(--t16);
      height: var(--t16);
      -webkit-transform: translate(0);
          -ms-transform: translate(0);
              transform: translate(0);
      top: var(--t4);
      border-radius: 0.8cqw; } }

.checkmark:after {
  content: "";
  position: absolute;
  display: none; }

.checkbox-container input:checked ~ .checkmark:after {
  display: block; }

.checkbox-container .checkmark:after {
  height: 1.25cqw;
  width: 1.25cqw;
  background-size: 50% 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/icon-checkbox.svg);
  top: -1px; }
  @media (max-width: 1023px) {
    .checkbox-container .checkmark:after {
      width: var(--t16);
      height: var(--t16); } }

#agreement-error {
  position: absolute;
  left: 0;
  top: calc(100% + 7px);
  color: #ee4130;
  font-size: 13px;
  line-height: 0.73cqw;
  white-space: nowrap; }

/* --- Планшет 768-1023 -------------------------------------------------------
   Вёрстка сделана целиком в vw без rem: макет линейно ужимается вместе с окном,
   и на 768 базовый кегль падал до 6.4px. Лечим двумя ходами:
   1) vw заменены на cqw, а body объявлен контейнером — масштаб теперь задаётся
      шириной контейнера, а не окна (побочно уходит и старая ловушка vw, который
      считал ширину вместе с полосой прокрутки, из-за чего макет был на 10px шире);
   2) на планшете отдаём мобильную раскладку (брейкпоинт 767 -> 1023 в CSS И в
      main.js, там он был зашит трижды) и держим сцену в 560px, иначе мобильный
      макет, рассчитанный на 375, раздувается вдвое: база 32.8px вместо 16.
   Диапазон 1024+ не тронут: там макет прежний.
   --------------------------------------------------------------------------- */
body { container-type: inline-size; }

@media (max-width: 1023px) {
  /* Мобильный макет нарисован под 375. Без ограничителя он растёт вместе с
     окном: на 767 база доходила до 32.8px, на 1023 была бы 43.7. Держим сцену
     не шире 560 — дальше растут только поля по бокам, а не буквы. */
  body { max-width: 560px; margin: 0 auto; }
}

@media (min-width: 560px) and (max-width: 1023px) {
  /* html лежит вне body, контейнера у него нет, и cqw там падает обратно к
     ширине окна. Как только сцена упёрлась в 560, корень надо прибить руками:
     4.27cqw от 560 = 23.91px. Ниже 560 сцена равна окну и считается сама. */
  :root { --t16: 23.91px; }
}
