@charset "UTF-8";
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

ul, ol {
  padding: 0; }

body, h1, h2, h3, h4, p, ul, ol, li, figure, figcaption, blockquote, dl, dd {
  margin: 0; }

body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5; }

ul, ol {
  list-style: none; }

a:not([class]) {
  text-decoration-skip-ink: auto; }

img {
  max-width: 100%;
  display: block; }

input, button, textarea, select {
  font: inherit; }

@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
         -o-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; } }

@font-face {
  font-family: 'Bebas Neue Pro';
  src: local("Bebas Neue Pro Light"), local("BebasNeuePro-Light"), url("../fonts/BebasNeuePro-Light.woff2") format("woff2"), url("../fonts/BebasNeuePro-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'Bebas Neue Pro';
  src: local("Bebas Neue Pro Regular"), local("BebasNeuePro-Regular"), url("../fonts/BebasNeuePro-Regular.woff2") format("woff2"), url("../fonts/BebasNeuePro-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'Bebas Neue Pro';
  src: local("Bebas Neue Pro Bold"), local("BebasNeuePro-Bold"), url("../fonts/BebasNeuePro-Bold.woff2") format("woff2"), url("../fonts/BebasNeuePro-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal; }

:root {
  --color-accent: #f33;
  --color-main: #303030;
  --hover: .4s cubic-bezier(.345,0,0,1);
  font-size: 62.5%;
  --indent: 2rem; }
  @media (min-width: 576px) and (max-width: 786px) {
    :root {
      font-size: 82.5%; } }
  @media (min-width: 787px) and (max-width: 991px) {
    :root {
      font-size: 100%; } }
  @media (min-width: 992px) and (max-width: 1199px) {
    :root {
      font-size: 47.5%; } }
  @media (min-width: 1200px) and (max-width: 1399px) {
    :root {
      font-size: 52.5%; } }
  @media (min-width: 1400px) and (max-width: 1599px) {
    :root {
      font-size: 57.5%; } }

*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}


body {
  font-family: 'Bebas Neue Pro', sans-serif;
  font-size: 1.6rem;
  line-height: 2.7rem;
  font-weight: normal;
  color: #fff;
  overflow-x: hidden;
  background: var(--color-main);
  letter-spacing: .1em; }
  @media (max-width: 991px) {
    body {
      padding: 9rem 0 0; } }

/*@media (max-height: 49vw) and (min-width: 992px) {*/
/*
@media (min-width: 992px) {
  body {
    padding: 13.6rem 0 0; }
}
*/
  body.no-scroll {
    overflow: hidden; }

a {
  color: inherit;
  text-decoration: none; }

h1 {
  margin: 0 0 1.6rem;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  text-transform: uppercase;
  letter-spacing: 0.12em; }
  h1 div:last-child {
    text-align: right; }
  @media (min-width: 992px) {
    h1 {
      font-size: 7.2rem;
      line-height: 1; } }

h2 {
  margin: 0 0 4rem;
  font-size: 3rem;
  font-weight: bold;
  line-height: 4rem;
  text-transform: uppercase;
  letter-spacing: 0.105em; }
  h2 div:last-child {
    text-align: right; }
  @media (min-width: 992px) {
    h2 {
      font-size: 6rem;
      line-height: 1; } }

@media (max-width: 991px) {
  h1, h2 {
    max-width: 30rem; } }

p {
  font-size: 1.4rem;
  line-height: 3rem; }
  p:not(:last-child) {
    margin: 0 0 3rem; }
  @media (min-width: 992px) {
    p {
      font-size: 1.8rem;
      line-height: 3.3rem; } }

.nav {
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase; }
  @media (max-width: 991px) {
    .nav {
      padding: 3rem 0 5rem; }
      .nav__item {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 12.5rem;
        height: 5rem; }
        .nav__item:not(:last-child) {
          margin: 0 0 2rem; }
        .nav__item.is-mark::before {
          height: .4rem;
          background: var(--color-accent); }
        .nav__item::before {
          content: '';
          position: absolute;
          bottom: -.5rem;
          right: 0;
          width: 12.5rem;
          height: .1rem;
          background: rgba(218, 218, 218, 0.2); } }
  @media (min-width: 992px) {
    .nav {
      position: absolute;
      bottom: .1rem;
      left: 0;
      width: 100%;
      -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
              transform: translateY(100%);
      -webkit-transform-origin: top center;
          -ms-transform-origin: top center;
              transform-origin: top center;
      height: 13.6rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      background: rgba(48, 48, 48, 0.9);
      margin: 0 auto;
      padding: 1.5rem 0;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover); }
      .nav:not(.is-active) {
        -webkit-transform: translateY(85%) scaleY(0.5);
            -ms-transform: translateY(85%) scaleY(0.5);
                transform: translateY(85%) scaleY(0.5);
        opacity: 0;
        pointer-events: none; }
      .nav.is-opacity {
        opacity: 0;
        pointer-events: none; }
      .nav__item {
        display: inline-block;
        width: 8.6rem;
        text-align: center;
        position: relative;
        height: 6rem;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .nav__item::after {
          content: '';
          position: absolute;
          width: -webkit-calc(100% + 3rem);
          width: calc(100% + 3rem);
          height: 100%;
          bottom: 0;
          left: 0;
          z-index: -1;
          border-bottom: 1px solid rgba(218, 218, 218, 0.2); }
        .nav__item:last-child::after {
          width: 100%; }
        .nav__item.is-mark::before {
          content: '';
          position: absolute;
          width: 100%;
          height: .4rem;
          bottom: 0;
          background: var(--color-accent); }
        .nav__item:not(:last-child) {
          margin: 0 3rem 0 0; }
        .nav__item::before {
          bottom: -.5rem;
          right: 0;
          width: 12.5rem;
          height: .1rem;
          background: rgba(218, 218, 218, 0.2); } }

.phone {
  display: block;
  margin: 3rem 0 0;
  font-size: 2.4rem;
  text-align: center; }
  @media (min-width: 992px) {
    .phone {
      margin: 0 6rem 0 auto; } }

.text1 {
  color: #dadada; }

.text2 {
  font-size: 1.6rem;
  font-weight: bold;
  text-transform: uppercase; }
  @media (min-width: 992px) {
    .text2 {
      font-size: 2rem;
      max-width: 26rem;
      margin: 0 0 6.5rem; } }

@media (min-width: 992px) {
  .section-grid {
    max-width: 68rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 3rem 10rem; }
  .btn {
    grid-column: 1 / 2;
    grid-row: 2 / 3; } }

.text3 {
  display: block;
  color: #dadada;
  width: -webkit-calc(100% - 6.5rem);
  width: calc(100% - 6.5rem);
  margin: 0 0 0 auto; }
  @media (min-width: 992px) {
    .text3 {
      grid-column: 2 / 3;
      grid-row: 1 / 3;
      margin: 0;
      width: 100%; } }

img {
  max-width: 100%; }

ul {
  list-style: none;
  margin: 0;
  padding: 0; }

button {
  background: none;
  border: none;
  color: inherit; }

input {
  outline: none;
  color: inherit; }

textarea {
  resize: none;
  outline: none;
  color: inherit; }

@media (max-width: 991px) {
  body.is-active {
    overflow: hidden;
    max-height: 100vh; } }

.logo {
  display: inline-block;
  font-size: 3rem;
  line-height: 1.68;
  font-weight: bold;
  text-transform: uppercase; }
  @media (min-width: 992px) {
    .logo {
      font-size: 2.4rem;
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0; } }

.menu {
  position: relative;
  width: 2.6rem;
  height: 2.6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media (min-width: 992px) {
    .menu {
      position: absolute;
      right: -webkit-calc((100vw - 132rem) / 2 + 84rem - 7rem);
      right: calc((100vw - 132rem) / 2 + 84rem - 7rem);
      right: -webkit-calc((100vw - 132rem) / 2 + 84rem - 11rem);
      right: calc((100vw - 132rem) / 2 + 84rem - 11rem);
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      cursor: pointer; }
      .menu::before {
        content: 'меню';
        font-size: 2.4rem;
        font-weight: bold;
        text-transform: uppercase;
        -webkit-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
                transform: translateX(-100%);
        position: absolute;
        left: -2rem; } }
  .menu__close {
    width: 2rem;
    height: 2rem;
    fill: #fff;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover); }
  .menu__item {
    width: .7rem;
    height: .7rem;
    background: #fff;
    position: absolute;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover); }
    .menu__item:nth-child(1) {
      top: 0;
      left: 0; }
    .menu__item:nth-child(2) {
      top: 0;
      right: 0; }
    .menu__item:nth-child(3) {
      bottom: 0;
      left: 0; }
    .menu__item:nth-child(4) {
      bottom: 0;
      right: 0; }
  .menu:not(.is-active) .menu__close {
    opacity: 0; }
  .menu.is-active .menu__item {
    opacity: 0; }
    .menu.is-active .menu__item:nth-child(1) {
      -webkit-transform: translate(-1rem, -1rem);
          -ms-transform: translate(-1rem, -1rem);
              transform: translate(-1rem, -1rem); }
    .menu.is-active .menu__item:nth-child(2) {
      -webkit-transform: translate(1rem, -1rem);
          -ms-transform: translate(1rem, -1rem);
              transform: translate(1rem, -1rem); }
    .menu.is-active .menu__item:nth-child(3) {
      -webkit-transform: translate(-1rem, 1rem);
          -ms-transform: translate(-1rem, 1rem);
              transform: translate(-1rem, 1rem); }
    .menu.is-active .menu__item:nth-child(4) {
      -webkit-transform: translate(1rem, 1rem);
          -ms-transform: translate(1rem, 1rem);
              transform: translate(1rem, 1rem); }

.header {
  position: relative;
  z-index: 21;
  top: 0;
  left: 0;
  width: 100%;
  padding: var(--indent);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #303030; }
  @media (max-width: 991px) {
    .header {
      position: fixed; } }
  @media (min-width: 992px) {
    .header {
      padding: 4rem -webkit-calc((100vw - 132rem) / 2);
      padding: 4rem calc((100vw - 132rem) / 2); } }
  @media (max-width: 991px) {
    .header__content {
      position: absolute;
      width: 100%;
      top: 9rem;
      left: 0;
      z-index: 10;
      background: var(--color-main);
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover);
      height: -webkit-calc(100vh - 9rem);
      height: calc(100vh - 9rem);
      overflow-y: auto;
      padding: 0 0 3rem; }
      .header__content:not(.is-active) {
        -webkit-transform: translate(-100%, 0);
            -ms-transform: translate(-100%, 0);
                transform: translate(-100%, 0); } }

  @media (min-width: 992px) {
    .header__content {
      display: contents; }
      .header__content .btn {
        margin-right: 0 !important;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
        .header__content .btn::before {
          position: 0;
          width: -webkit-calc(100% + ((100vw -  132rem) / 2));
          width: calc(100% + ((100vw -  132rem) / 2)); } }

@supports not (display: contents) {
  @media (min-width: 992px) {
    .header__content {
      display:flex;
      align-items:center;
    }
  }
}

.content {
  max-width: 37.5rem;
  z-index: 1; }

.section {
  position: relative;
  padding: 6rem var(--indent) 7rem; }
  @media (min-width: 992px) {
    .section {
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100vh;
      padding: 0 -webkit-calc((100vw - 132rem) / 2);
      padding: 0 calc((100vw - 132rem) / 2); }
      .section:first-of-type::before {
        position: absolute;
        content: 'Галерея';
        font-size: 24.6rem;
        font-weight: bold;
        line-height: 1;
        -webkit-transform: rotate(-90deg) translate(0, 100%);
            -ms-transform: rotate(-90deg) translate(0, 100%);
                transform: rotate(-90deg) translate(0, 100%);
        bottom: 20rem;
        right: -webkit-calc((100vw - 132rem) / 2 - 14rem);
        right: calc((100vw - 132rem) / 2 - 14rem);
        text-transform: uppercase;
        opacity: .05; }
      .section:first-of-type::after {
        content: '';
        width: 57rem;
        height: 18rem;
        background: url("../img/pattern.svg");
        position: absolute;
        bottom: 0;
        left: 0; }
      .section:nth-child(2)::after {
        content: '';
        width: 74rem;
        height: 13rem;
        background: url("../img/pattern.svg");
        position: absolute;
        bottom: 0;
        left: 0; }
      .section:last-child {
        background: var(--color-main); }
        .section:last-child::before {
          position: absolute;
          content: 'Контакты';
          font-size: 24.6rem;
          font-weight: bold;
          line-height: 1;
          -webkit-transform: rotate(-90deg) translate(0, 100%);
              -ms-transform: rotate(-90deg) translate(0, 100%);
                  transform: rotate(-90deg) translate(0, 100%);
          bottom: 27rem;
          right: -webkit-calc((100vw - 132rem) / 2 - 22rem);
          right: calc((100vw - 132rem) / 2 - 22rem);
          text-transform: uppercase;
          opacity: .05; }
        .section:last-child::after {
          content: '';
          width: 18rem;
          height: -webkit-calc(100vh - 30rem);
          height: calc(100vh - 30rem);
          position: absolute;
          bottom: 0;
          right: -webkit-calc((100vw - 132rem) / 2);
          right: calc((100vw - 132rem) / 2);
          background: var(--color-accent); }
        .section:last-child .content {
          position: relative;
          z-index: 2;
          max-width: 100%; }
      .section:nth-child(1) .content {
        max-width: 56rem; }
      .section:nth-child(2) .content {
        max-width: 66rem; }
      .section:nth-child(3) .content {
        max-width: 60rem; }
      .section:nth-child(4) .content {
        max-width: 62rem; } }

.bg1 {
  position: absolute;
  z-index: -1;
  right: 6.5rem;
  bottom: 16rem;
  height: 60rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: .2; }
  @media (min-width: 992px) {
    .bg1 {
      right: 0;
      bottom: 0;
      width: -webkit-calc(100vw - 40%);
      width: calc(100vw - 40%);
      height: -webkit-calc(100vh - 13rem);
      height: calc(100vh - 13rem);
      min-height: 76.5rem;
      opacity: .4; } }
  .bg1 img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center right;
       object-position: center right; }

.bg2 {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .2; }
  .bg2 img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center; }

.slider {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 16rem;
  height: 27rem; }
  .slider-wrapper {
    margin: 3.5rem 0 5rem;
    position: relative;
    z-index: 1;
    --position: 0; }
    @media (min-width: 992px) {
      .slider-wrapper {
        position: absolute;
        bottom: 0;
        right: -webkit-calc((100vw - 132rem) / 2);
        right: calc((100vw - 132rem) / 2); }
        .slider-wrapper::before {
          content: '';
          position: absolute;
          top: -10rem;
          left: -10rem;
          z-index: -1;
          display: block;
          width: 100%;
          height: 100%;
          background: var(--color-accent); } }
  @media (min-width: 992px) {
    .slider {
      max-width: 46rem;
      max-height: 78rem;
      height: 79.7vh;
      width: 47vh;
      overflow: hidden; } }
  .slider::before {
    content: '';
    position: absolute;
    top: -.7rem;
    left: -.9rem;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-accent); }
    @media (min-width: 992px) {
      .slider::before {
        display: none; } }
  .slider__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center; }
  .slider__item {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    background: #fff;
    margin: 0 2rem 0 0;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover); }
    @media (max-width: 991px) {
      .slider__item {
        -webkit-transform: translateX(-webkit-calc((-100% - 2rem) * var(--position)));
            -ms-transform: translateX(calc((-100% - 2rem) * var(--position)));
                transform: translateX(calc((-100% - 2rem) * var(--position))); }
        .slider__item:not(.is-active) {
          opacity: .6; } }
    @media (min-width: 992px) {
      .slider__item {
        -webkit-transform: translateX(-webkit-calc(-100% * var(--position)));
            -ms-transform: translateX(calc(-100% * var(--position)));
                transform: translateX(calc(-100% * var(--position)));
        margin: 0;
        position: relative;
        cursor: pointer; }
        .slider__item.is-active::after {
          opacity: 1; }
        .slider__item::after {
          display: block;
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 7rem;
          height: 7rem;
          -webkit-transition: var(--hover);
          -o-transition: var(--hover);
          transition: var(--hover);
          opacity: 0;
          background: center no-repeat url("/themes/landing/assets/img/zoom.svg") var(--color-accent);
          z-index: 1; } }
  .slider-dots {
    margin: 2rem 0 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (min-width: 992px) {
      .slider-dots {
        display: none; } }
    .slider-dots__item {
      width: .8rem;
      height: .8rem;
      background: #616161;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover); }
      .slider-dots__item:not(:last-child) {
        margin: 0 1.6rem 0 0; }
      .slider-dots__item.is-active {
        background: #fff; }
  .slider-ctrl {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(-webkit-calc(-100% - 10rem), -50%);
        -ms-transform: translate(calc(-100% - 10rem), -50%);
            transform: translate(calc(-100% - 10rem), -50%);
    font-size: 0; }
  .slider__info {
    font-size: 2.4rem;
    padding: 2.5rem; }
    .slider__info__current {
      font-size: 3.6rem; }
  .slider__left, .slider__right {
    width: 5.2rem;
    height: 5.2rem;
    background: #fff;
    padding: 1.4rem;
    position: absolute;
    bottom: 0;
    right: 0;
    cursor: pointer; }
  .slider__left {
    -webkit-transform: translate(0, 100%);
        -ms-transform: translate(0, 100%);
            transform: translate(0, 100%); }
  .slider__right {
    -webkit-transform: translate(100%, 0);
        -ms-transform: translate(100%, 0);
            transform: translate(100%, 0); }

.btn {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 5.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  text-transform: uppercase; }
  @media (min-width: 992px) {
    .btn {
      width: 26rem; } }
  .btn:not(:last-child) {
    margin: 0 0 2rem; }
    @media (min-width: 992px) {
      .btn:not(:last-child) {
        margin: 0 3rem 0 0; } }
  .btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    background: var(--color-accent);
    z-index: -1;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover);
    pointer-events: none; }
  .btn--1.is-disabled {
    pointer-events: none;
    color: rgba(255, 255, 255, 0.3); }
    .btn--1.is-disabled::before {
      background: #2c2c2c; }
  .btn--1::before {
    height: 100%; }
  @media (min-width: 992px) {
    .btn--1:hover::before {
      height: .3rem; } }
  .btn--2::before {
    height: .3rem; }
  @media (min-width: 992px) {
    .btn--2:hover::before {
      height: 100%; } }
  @media (min-width: 992px) {
    .btn {
      font-size: 2.7rem; } }

.btn1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 5.6rem;
  background: var(--color-accent); }
  @media (min-width: 992px) {
    .btn1 {
      width: 26rem; } }

@media (min-width: 992px) {
  .btn-group {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.copyright {
  margin: 16rem 0 0;
  font-size: 1.8rem;
  line-height: 3.3rem;
  color: #626262; }

.contacts {
  margin: 0 0 4rem;
  font-size: 1.8rem;
  font-weight: bold;
  text-transform: uppercase; }
  @media (min-width: 992px) {
    .contacts {
      font-size: 2.4rem; } }
  .contacts__item {
    position: relative;
    padding: 0 0 0 2rem; }
    .contacts__item:not(:last-child) {
      margin: 0 0 2rem; }
    .contacts__item::before {
      content: '';
      position: absolute;
      top: 1.2rem;
      left: 0;
      display: block;
      width: 2rem;
      height: .4rem;
      background: var(--color-accent);
      -webkit-transform: translateX(-100%);
          -ms-transform: translateX(-100%);
              transform: translateX(-100%); }
      @media (min-width: 992px) {
        .contacts__item::before {
          width: 6.7rem; } }
  .contacts__phone {
    font-size: 2.7rem;
    display: block; }
    .contacts__phone:not(:last-child) {
      margin: 0 0 1.5rem; }
    @media (min-width: 992px) {
      .contacts__phone {
        font-size: 3.6rem; } }

.color-accent {
  color: var(--color-accent); }

.play {
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.4rem;
  font-weight: bold;
  text-transform: uppercase;
  margin: 6.5rem 0 10rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media (min-width: 992px) {
    .play {
      position: absolute;
      right: -webkit-calc(100vw - 40% + .85rem);
      right: calc(100vw - 40% + .85rem);
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      font-size: 0;
      top: 13rem; } }
  .play__icon {
    width: 6.6rem;
    height: 6.6rem;
    margin: 0 0 0 2rem; }
    @media (min-width: 992px) {
      .play__icon {
        margin: 0;
        width: 7.5rem;
        height: 7.5rem; } }

.service {
  margin: 5rem 0; }
  @media (max-width: 991px) {
    .service {
      --position: 0; } }
  @media (min-width: 992px) {
    .service {
      position: absolute;
      top: 0;
      margin: 0;
      height: 100vh;
      left: -webkit-calc((100vw - 132rem) / 2 + 36rem);
      left: calc((100vw - 132rem) / 2 + 36rem);
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: var(--padding-top) 0 0;
      z-index: -1;
      --padding-top: 10rem;
      --height: 25rem; }
      .service::after {
        content: '';
        width: 74rem;
        height: 13rem;
        background: url("../img/pattern.svg");
        position: absolute;
        bottom: 0;
        left: 25rem;
        width: 68rem;
        height: -webkit-calc(100vh - 17rem);
        height: calc(100vh - 17rem);
        z-index: -1; } }
  .service__slider {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .service__item {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 21rem;
    height: 32rem;
    background: #fff;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover); }
    @media (max-width: 991px) {
      .service__item {
        -webkit-transform: translateX(-webkit-calc((-100% - 2rem) * var(--position)));
            -ms-transform: translateX(calc((-100% - 2rem) * var(--position)));
                transform: translateX(calc((-100% - 2rem) * var(--position))); } }
    .service__item:not(:last-child) {
      margin: 0 2rem 0 0; }
    @media (min-width: 992px) {
      .service__item {
        margin: 0;
        width: 23.5rem;
        height: var(--height);
        position: relative;
        -webkit-transition: var(--hover);
        -o-transition: var(--hover);
        transition: var(--hover);
        cursor: pointer; }
        .service__item:not(:last-child) {
          margin: 0; }
        .service__item:hover {
          background: var(--color-accent);
          color: #fff; }
          .service__item:hover .service__title {
            color: #fff; }
          .service__item:hover .service__img {
            fill: #fff; }
            .service__item:hover .service__img.is-dots {
              stroke: #fff; }
          .service__item:hover .service__description {
            background: var(--color-accent); } }
    .service__item::after {
      content: 'Подробнее и заказать';
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      background: var(--color-accent);
      width: 100%;
      height: 6rem;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover); }
      @media (min-width: 992px) {
        .service__item::after {
          display: none; } }
    .service__item:not(.is-active)::after {
      opacity: 0; }
  .service__main {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    height: 100%; }
  .service__title {
    font-size: 1.8rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #303030; }
    @media (min-width: 992px) {
      .service__title {
        font-size: 2rem;
        -webkit-transition: var(--hover);
        -o-transition: var(--hover);
        transition: var(--hover); } }
  .service__img {
    fill: #000;
    width: 8.4rem;
    height: 8.4rem;
    margin: 0 0 4rem;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover); }
    .service__img.is-dots {
      stroke: #a2a2a2; }
  .service-dots {
    margin: 2rem 0 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (min-width: 992px) {
      .service-dots {
        display: none; } }
    .service-dots__item {
      width: .8rem;
      height: .8rem;
      background: #616161;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover); }
      .service-dots__item:not(:last-child) {
        margin: 0 1.6rem 0 0; }
      .service-dots__item.is-active {
        background: #fff; }
  .service__description {
    display: none;
    overflow: hidden; }
  @media (min-width: 992px) {
    .service__description {
      position: absolute;
      background: #fff;
      width: 100%;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover);
      padding: 3rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .service__description__icon {
        display: block;
        width: 4.3rem;
        height: 4.3rem;
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; }
      .service__description__btn {
        font-size: 1.8rem;
        font-weight: bold;
        text-transform: uppercase;
        padding: .8rem 0;
        margin: 2rem 0;
        text-align: center;
        border-bottom: .2rem solid #fff; }
    .service__item:nth-child(odd) .service__description {
      bottom: 0.1rem;
      -webkit-transform: translateY(100%);
          -ms-transform: translateY(100%);
              transform: translateY(100%);
      height: -webkit-calc(50vh - var(--height) / 2 - var(--padding-top) / 2 + .1rem);
      height: calc(50vh - var(--height) / 2 - var(--padding-top) / 2 + .1rem); }
      .service__item:nth-child(odd) .service__description__icon {
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        margin: -2rem auto 0; }
    .service__item:nth-child(even) .service__description {
      top: .1rem;
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%);
      height: -webkit-calc(50vh - var(--height) / 2 + var(--padding-top) / 2 + .1rem);
      height: calc(50vh - var(--height) / 2 + var(--padding-top) / 2 + .1rem);
      height: -webkit-calc(50vh - var(--height) / 2 + var(--padding-top) / 2 - 13.5rem + .1rem);
      height: calc(50vh - var(--height) / 2 + var(--padding-top) / 2 - 13.5rem + .1rem);
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .service__item:nth-child(even) .service__description__icon {
        margin: 0 auto -2rem; } }

.ymaps-2-1-75-ground-pane {
  -webkit-filter: grayscale(100%) invert(1);
          filter: grayscale(100%) invert(1);
  position: relative; }

.ymaps-2-1-75-copyrights-pane {
  display: none; }

.ymaps-2-1-75-image {
  -webkit-animation: move 1.1s ease-in-out infinite;
          animation: move 1.1s ease-in-out infinite; }

@-webkit-keyframes move {
  0% {
    -webkit-transform: translateY(none);
            transform: translateY(none); }
  50% {
    -webkit-transform: translateY(-1.5rem);
            transform: translateY(-1.5rem); }
  100% {
    -webkit-transform: translateY(none);
            transform: translateY(none); } }

@keyframes move {
  0% {
    -webkit-transform: translateY(none);
            transform: translateY(none); }
  50% {
    -webkit-transform: translateY(-1.5rem);
            transform: translateY(-1.5rem); }
  100% {
    -webkit-transform: translateY(none);
            transform: translateY(none); } }

.map {
  position: relative; }
  @media (max-width: 991px) {
    .map {
      width: -webkit-calc(100% + -webkit-calc(var(--indent) * 2));
      width: calc(100% + calc(var(--indent) * 2));
      height: 100vw;
      max-height: 100vh;
      margin: 0 -webkit-calc(var(--indent) * -1) -2.8rem;
      margin: 0 calc(var(--indent) * -1) -2.8rem; } }
  @media (min-width: 992px) {
    .map {
      mix-blend-mode: screen;
      margin: 0;
      width: 100%;
      max-width: 97.5rem;
      height: 100vh;
      position: absolute;
      top: 0;
      right: -webkit-calc((100vw - 132rem) / 2 + 18rem);
      right: calc((100vw - 132rem) / 2 + 18rem);
      z-index: 1; } }
  .map__img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .map__img img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      z-index: -1; }

#map {
  width: 100%;
  height: 100%; }

.progress {
  display: none; }

/*@media (max-height: 49vw) and (min-width: 992px) {*/
/*
@media (min-width: 992px) {
  .wrapper {
    padding-top: 13.6rem; }
  .slider-wrapper {
    margin-bottom: 0; }
  .slider {
    width: 38rem;
    height: -webkit-calc(65rem);
    height: calc(65rem); }
  .header {
    position: fixed; }
  .bg1 {
    min-height: 80rem;
    height: 80rem; }
  .service {
    height: 80rem; }
  .section {
    overflow: hidden;
    height: 80rem; }
  .service__item:nth-child(odd) .service__description {
    height: -webkit-calc(40rem - var(--height) / 2 - var(--padding-top) / 2 + .1rem);
    height: calc(40rem - var(--height) / 2 - var(--padding-top) / 2 + .1rem); }
  .service__item:nth-child(even) .service__description {
    height: -webkit-calc(40rem - var(--height) / 2 + var(--padding-top) / 2 + .1rem);
    height: calc(40rem - var(--height) / 2 + var(--padding-top) / 2 + .1rem); }
  .section:last-child::after {
    height: 50rem; }
  .map {
    height: 80rem; } }
*/
/*@media (min-height: 50vw) and (min-width: 992px) {*/
@media (min-width: 992px) {
  .header {
    position: fixed; }
  .wrapper {
    padding: 0;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    --position: 0;
    scroll-behavior: smooth; }
  .section {
    overflow: hidden;
    height: 100vh;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover);
    -webkit-transform: translateY(-webkit-calc(-100% * var(--position)));
        -ms-transform: translateY(calc(-100% * var(--position)));
            transform: translateY(calc(-100% * var(--position))); }
  .slider-wrapper {
    margin: 0; }
  .slider {
    height: 75vh; }
  .progress {
    position: fixed;
    z-index: 20;
    top: 50%;
    left: -webkit-calc((100vw - 132rem) / 2 - 10rem);
    left: calc((100vw - 132rem) / 2 - 10rem);
    -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
    font-size: 0;
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .progress__info {
      font-size: 2.4rem; }
      .progress__info__current {
        font-size: 3.6rem; }
    .progress__dots {
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover);
      margin: 2rem 0 2.4rem; }
      .progress__dots.is-opacity {
        opacity: 0;
        pointer-events: none; }
      .progress__dots__item {
        width: .7rem;
        height: .7rem;
        background: #fff;
        -webkit-animation: blink 1.5s ease-out infinite;
                animation: blink 1.5s ease-out infinite; }
        .progress__dots__item:nth-child(2) {
          -webkit-animation-delay: .5s;
                  animation-delay: .5s; }
        .progress__dots__item:last-child {
          -webkit-animation-delay: 1s;
                  animation-delay: 1s; }
        .progress__dots__item:not(:last-child) {
          margin: 0 0 1.8rem; }
    .progress__icon {
      width: 3.6rem;
      height: 3.6rem;
      fill: #fff;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover); }
      .progress__icon.is-opacity {
        opacity: 0;
        pointer-events: none; } }

.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(44, 44, 44, 0.8);
  z-index: 25;
  overflow-y: auto;
  -webkit-transition: var(--hover);
  -o-transition: var(--hover);
  transition: var(--hover); }
  .popup:not(:target) {
    opacity: 0;
    pointer-events: none; }
  .popup__img {
    margin: 0 auto;
    max-height: -webkit-calc(100vh - 16.4rem);
    max-height: calc(100vh - 16.4rem); }
  .popup__close {
    display: block;
    margin: 3rem auto 3rem;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover);
    cursor: pointer;
    width: 3rem;
    height: 3rem;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
    @media (min-width: 992px) {
      .popup__close {
        width: 5.5rem;
        height: 5.5rem;
        margin: 6rem auto 4.9rem; } }
    .popup__close__icon {
      width: 100%;
      height: 100%;
      fill: #fff; }
    .popup__close:hover {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
  .popup__content {
    margin: 0 auto;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    text-align: center;
    max-width: 55rem;
    width: 100%;
    color: #3f3f3f;
    background: #fff;
    padding: 6rem var(--indent);
    font-size: 1.4rem; }
    @media (min-width: 992px) {
      .popup__content {
        padding: 9rem 6.5rem;
        font-size: 1.8rem; } }
  .popup__text {
    line-height: 2rem; }
    @media (min-width: 992px) {
      .popup__text {
        line-height: 3rem; } }
  .popup__caption {
    text-transform: uppercase;
    font-size: 3.4rem;
    font-weight: bold;
    margin: 0 0 2rem; }
    @media (min-width: 992px) {
      .popup__caption {
        font-size: 6rem;
        margin: 0 0 5rem; } }
  .popup__btn {
    width: 100%;
    font-size: 2rem;
    color: #fff;
    height: 5.4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: var(--color-accent);
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: .08em;
    cursor: pointer; }
    @media (min-width: 992px) {
      .popup__btn {
        font-size: 2.7rem;
        height: 6.8rem; } }

.field {
  width: 100%;
  height: 3rem;
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #3f3f3f;
  color: inherit;
  font-size: 1.8rem;
  margin: 0 0 4.5rem; }
  @media (min-width: 992px) {
    .field {
      height: 5rem;
      font-size: 2rem;
      margin: 0 0 7rem; } }
  .field__icon {
    width: 3rem;
    height: 3rem;
    background: var(--color-accent);
    fill: #fff;
    padding: .5rem; }
    @media (min-width: 992px) {
      .field__icon {
        width: 5rem;
        height: 5rem;
        padding: 1rem; } }
  .field__input {
    width: 100%;
    border: none;
    background: transparent;
    padding: 0 1.5rem;
    border-bottom: 1px solid #6f6f6f; }
    @media (min-width: 992px) {
      .field__input {
        padding: 0 4rem; } }
    .field__input::-webkit-input-placeholder {
      color: #3f3f3f;
      color: inherit; }
    .field__input::-moz-placeholder {
      color: #3f3f3f;
      color: inherit; }
    .field__input::-ms-input-placeholder {
      color: #3f3f3f;
      color: inherit; }
    .field__input::placeholder {
      color: #3f3f3f;
      color: inherit; }

.form {
  margin: 3rem 0; }
  @media (min-width: 992px) {
    .form {
      margin: 5rem 0; } }
  .form + .popup__text {
    color: #6d6d6d; }

.link {
  text-decoration: underline; }

@-webkit-keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: .2; }
  100% {
    opacity: 1; } }

@keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: .2; }
  100% {
    opacity: 1; } }

.services {
  padding: 0 var(--indent); }

.sidebar {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 2.4rem; }
  /*@media (min-height: 50vw) and (min-width: 992px) {*/
  @media (min-width: 992px) {
    .sidebar {
      position: fixed;
      z-index: 20;
      top: 50%;
      left: -webkit-calc((100vw - 132rem) / 2);
      left: calc((100vw - 132rem) / 2);
      /*-webkit-transform: translate(0, -50%);*/
      /*    -ms-transform: translate(0, -50%);*/
      /*        transform: translate(0, -50%);*/
      -webkit-transform: translate(0, calc(-50% + 6.8rem));
          -ms-transform: translate(0, calc(-50% + 6.8rem));
              transform: translate(0, calc(-50% + 6.8rem));
    }
  }

  .sidebar__nav {
    max-width: 36rem; }
  .sidebar__caption {
    font-size: 3.6rem;
    margin: 0 0 6rem; }
    @media (min-width: 992px) {
      .sidebar__caption {
        font-size: 7.2rem; } }
  .sidebar__sub {
    font-size: 2rem;
    margin: 3rem 0 -1rem; }

    @media (min-width: 992px) {
      .sidebar__sub {
        max-width: 17rem;
      }
    }

    .sidebar__sub-item {
      padding: 0 0 0 3.5rem;
      position: relative; }
      .sidebar__sub-item::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        display: block;
        width: .8rem;
        height: .8rem;
        background: #000;
        background: var(--color-accent);
        z-index: -1;
        -webkit-transition: var(--hover);
        -o-transition: var(--hover);
        transition: var(--hover); }
      .sidebar__sub-item.is-active::before {
        width: 100%; }
      .sidebar__sub-item:not(:last-child) {
        margin: 0 0 1rem; }
  .sidebar-point:not(.sidebar__sub-item)::before {
    content: '';
    position: absolute;
    top: -.6rem;
    left: 0;
    display: block;
    width: .4rem;
    height: 4rem;
    background: #000;
    background: var(--color-accent);
    z-index: -1;
    -webkit-transition: var(--hover);
    -o-transition: var(--hover);
    transition: var(--hover); }
  .sidebar-point:not(.sidebar__sub-item).is-active::before {
    width: 100%; }
  .sidebar-point:not(.sidebar__sub-item)__link {
    height: 3.9rem; }
  .sidebar__item {
    position: relative;
    padding: 0 0 0 3.5rem; }
    .sidebar__item:not(:last-child) {
      margin: 0 0 4.5rem; }

@media (min-width: 992px) {
  .services {
    --position: 0; }
    .services::before {
      content: '';
      width: -webkit-calc((100vw - 75rem) / 2);
      width: calc((100vw - 75rem) / 2);
      height: -webkit-calc(100vh - 30rem);
      height: calc(100vh - 30rem);
      background: 50rem url("../img/pattern.svg");
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: -1;
      -webkit-clip-path: polygon(50% 0%, 100% 0, 100% 100%, 0 100%, 0 45%, 50% 45%);
              clip-path: polygon(50% 0%, 100% 0, 100% 100%, 0 100%, 0 45%, 50% 45%); } }

/*@media (max-height: 49vw) and (min-width: 992px) {*/
/*
@media (min-width: 992px) {
  .services::before {
    position: fixed;
  }
}
*/

.services__bg {
  object-fit: cover;
  object-position: center;
  display: none; }
  @media (min-width: 992px) {
    .services__bg {
      display: block;
      width: 75rem;
      height: 100vh;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      z-index: -1;
      opacity: .2; } }

/*@media (max-height: 49vw) and (min-width: 992px) {*/
/*
@media (min-width: 992px) {
  .services__bg {
    position: fixed;
  }
}
*/

.services__item {
  padding: 7rem 0; }


/*@media (max-height: 49vw) and (min-width: 992px) {*/
/*
@media (min-width: 992px) {
  .services {
    padding: 0 -webkit-calc((100vw - 132rem) / 2) 0;
    padding: 0 calc((100vw - 132rem) / 2) 0;
  }
  .services__wrapper {
    padding: 0 0 0 33.5rem;
  }
}
*/

  /*@media (min-height: 50vw) and (min-width: 992px) {*/
  @media (min-width: 992px) {
    .services__item {
      height: 100vh;
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0 -webkit-calc((100vw - 132rem) / 2) 0;
      padding: 0 calc((100vw - 132rem) / 2) 0;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover);
      -webkit-transform: translateY(-webkit-calc(-100% * var(--position)));
          -ms-transform: translateY(calc(-100% * var(--position)));
              transform: translateY(calc(-100% * var(--position))); } }


@media (min-width: 992px) {
  .services__content {
    max-width: 85rem;
    padding: 0 7.5rem 0 0;
    -webkit-transform: translate(0, 6.8rem);
        -ms-transform: translate(0, 6.8rem);
            transform: translate(0, 6.8rem);
  }
}

.services p {
  line-height: 3.3rem;
  font-weight: 300; }

.services .h3, .services .h4,
.services h3, .services h4 {
  font-size: 2.7rem;
  line-height: 3.6rem;
  margin: 0 0 1.5rem;
  text-transform: uppercase; }
  @media (min-width: 992px) {
    .services .h3, .services .h4,
    .services h3, .services h4 {
      font-size: 3rem;
      margin: 0 0 2.5rem; } }

.services .h4, .services h4 {
  position: relative; }
  @media (max-width: 991px) {
    .services .h4, .services h4 {
      padding: 0 0 0 2rem; }
      .services .h4::before, .services h4::before {
        content: '';
        display: block;
        width: .8rem;
        height: .8rem;
        background: var(--color-accent);
        position: absolute;
        left: 0;
        top: 1.3rem; } }

.vacancy {
  position: relative;
  padding: 2rem;
  background: #303030; }
  @media (min-width: 992px) {
    .vacancy {
      padding: 3rem; } }
  .vacancy:not(:last-child) {
    margin: 0 0 3rem; }
  .vacancy__title {
    font-size: 3.6rem;
    font-weight: bold;
    text-transform: uppercase;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 3.5rem 0 3.5rem 2rem; }
    @media (min-width: 992px) {
      .vacancy__title {
        padding: 6.5rem 0 2.5rem; } }
    .vacancy__title::after {
      content: attr(data-count);
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 0 .7rem;
      height: 3.5rem;
      min-width: 3.5rem;
      background: var(--color-accent);
      font-size: 2.4rem;
      margin: 0 0 0 2rem; }
    .vacancy__title.mobile {
      background: #303030; }
  .vacancy__name {
    font-size: 2.7rem;
    line-height: 3.6rem;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0 0 1em; }
    @media (min-width: 992px) {
      .vacancy__name {
        font-size: 3rem;
        line-height: 4rem; } }
  .vacancy__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-weight: 300;
    font-size: 1.6rem;
    width: 17.5rem;
    height: 4.8rem;
    border: .1rem solid #545454;
    margin: 0 0 3rem; }
    @media (min-width: 992px) {
      .vacancy__link {
        font-size: 2rem;
        width: auto;
        height: auto;
        display: inline-block;
        border-left: none;
        border-right: none;
        border-top: none; } }
  @media (min-width: 992px) {
    .vacancy__top {
      display: -webkit-flex;
      display: -ms-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .vacancy__top__group {
        text-align: right;
        margin: 0 0 0 6rem; } }
  .vacancy__price {
    font-size: 2.7rem;
    font-weight: bold;
    text-transform: uppercase; }
    @media (min-width: 992px) {
      .vacancy__price {
        font-size: 3rem;
        margin: 0 0 1.5rem; } }
  .vacancy__plus {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 6.3rem;
    height: 6.3rem;
    background: var(--color-accent);
    color: #fff; }
    @media (min-width: 992px) {
      .vacancy__plus {
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0; } }
    .vacancy__plus-wrapper {
      position: absolute;
      bottom: 0;
      right: 0;
      cursor: pointer;
      overflow: hidden;
      z-index: 1; }
      @media (min-width: 992px) {
        .vacancy__plus-wrapper {
          width: -webkit-calc(6.8rem + 19rem);
          width: calc(6.8rem + 19rem);
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: end;
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end; }
          .vacancy__plus-wrapper::before {
            content: 'Откликнуться';
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center;
            width: 100%;
            background: var(--color-accent);
            font-size: 2.4rem;
            font-weight: bold;
            text-transform: uppercase;
            -webkit-transition: color .15s .15s ease-in-out, -webkit-transform .15s ease-in-out;
            transition: color .15s .15s ease-in-out, -webkit-transform .15s ease-in-out;
            -o-transition: color .15s .15s ease-in-out, transform .15s ease-in-out;
            transition: color .15s .15s ease-in-out, transform .15s ease-in-out;
            transition: color .15s .15s ease-in-out, transform .15s ease-in-out, -webkit-transform .15s ease-in-out;
            z-index: -1; } }
    .vacancy__plus-wrapper:not(:hover)::before {
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%);
      color: transparent;
      -webkit-transition: color .15s ease-in-out, -webkit-transform .15s .15s ease-in-out;
      transition: color .15s ease-in-out, -webkit-transform .15s .15s ease-in-out;
      -o-transition: color .15s ease-in-out, transform .15s .15s ease-in-out;
      transition: color .15s ease-in-out, transform .15s .15s ease-in-out;
      transition: color .15s ease-in-out, transform .15s .15s ease-in-out, -webkit-transform .15s .15s ease-in-out; }
    .vacancy__plus-wrapper:hover .vacancy__plus__icon {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
    @media (min-width: 992px) {
      .vacancy__plus {
        width: 6.8rem;
        height: 6.8rem; } }
    .vacancy__plus__icon {
      width: 2.4rem;
      height: 2.4rem;
      fill: #fff;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover); }
      @media (min-width: 992px) {
        .vacancy__plus__icon {
          width: 2.5rem;
          height: 2.5rem; } }
  .vacancy__text {
    margin: 0 0 4.5rem; }
    @media (min-width: 992px) {
      .vacancy__text {
        margin: 0; } }
  .vacancy p {
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 2.4rem; }
    @media (min-width: 992px) {
      .vacancy p {
        font-size: 1.8rem;
        line-height: 1.4rem; } }

@media (min-width: 992px) {
  .vacancy__description p {
    font-size: 1.8rem;
    font-weight: 300;
    line-height: 3.3rem; } }

.vacancy__filter {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-gap: 3rem;
  margin: 3rem 0 0; }
  @media (min-width: 992px) {
    .vacancy__filter {
      grid-template-columns: repeat(2, 1fr) 10rem; } }
  @media (max-width: 991px) {
    .vacancy__filter-wrapper {
      padding: 2rem 2rem 5rem; } }

.select {
  width: 100%;
  height: 5rem;
  font-size: 2rem;
  background: #303030;
  color: #fff;
  padding: 0 2rem; }

.filter {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media (max-width: 991px) {
    .filter {
      grid-row: 1 / 2; } }
  .filter__icon {
    width: 1.6rem;
    height: 1.6rem;
    fill: #fff;
    cursor: pointer; }
  .filter__close {
    margin: 0 0 0 1.5rem; }

.description {
  margin: 0 0 5rem; }
  .description p {
    font-size: 1.6rem;
    font-weight: bold; }

.vacancy-preview {
  padding: 4.5rem 2rem; }
  @media (min-width: 992px) {
    .vacancy-preview {
      padding: 0;
      max-width: 20rem;
      margin: 0 6rem 0 0;
      position: -webkit-sticky;
      position: sticky;
      left: 0;
      position: fixed;
      left: -webkit-calc((100vw - 132rem) / 2);
      left: calc((100vw - 132rem) / 2);
      top: -webkit-calc(50% + 6.8rem);
      top: calc(50% + 6.8rem);
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }

.vacancy-bg {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: .2; }
  .vacancy-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center; }

@media (min-width: 992px) {
  .vacancy-main {
    max-width: 85rem;
    padding: 0 0 0;
    -ms-overflow-style: none; }
    .vacancy-main::-webkit-scrollbar {
      width: 0; } }

.vacancy-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  @media (min-width: 992px) {
    .vacancy-wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 30rem -webkit-calc((100vw - 132rem) / 2) 9rem;
      padding: 30rem calc((100vw - 132rem) / 2) 9rem;
      width: 100vw;
      min-height: 100vh;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }

.file {
  text-align: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 5rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.file__label {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  pointer-events: none; }

.file__input {
  display: none; }

.file__icon {
  width: 4.5rem;
  height: 4.5rem;
  margin: 0 2.5rem 0 0;
  cursor: pointer;
  pointer-events: all;
  position: relative; }

.file__icon__svg, .file__icon__svg-checked {
  fill: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: var(--hover);
  -o-transition: var(--hover);
  transition: var(--hover); }

.file__icon__svg {
  width: 4.5rem;
  height: 4.5rem; }

.file__icon__svg-checked {
  opacity: 0;
  width: 4.5rem;
  height: 4.5rem; }

.file__text {
  position: relative;
  width: 100%;
  cursor: pointer;
  pointer-events: all; }

.file__text__info {
  font-size: 2.4rem;
  font-weight: bold;
  color: #3f3f3f;
  -webkit-transition: var(--hover);
  -o-transition: var(--hover);
  transition: var(--hover); }
  @media (max-width: 991px) {
    .file__text__info {
      font-size: 2rem; } }

.file__text__name {
  font-size: 2.4rem;
  font-weight: bold;
  color: #3f3f3f;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: var(--hover);
  -o-transition: var(--hover);
  transition: var(--hover);
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }

.file__clear {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 0 0 1rem;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: var(--hover);
  -o-transition: var(--hover);
  transition: var(--hover); }

.file__clear__icon {
  width: 1.9rem;
  height: 1.9rem;
  fill: #3f3f3f;
  -webkit-transition: var(--hover);
  -o-transition: var(--hover);
  transition: var(--hover); }

.file__clear:hover .file__clear__icon {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.file.is-filling .file__icon__svg {
  opacity: 0; }

.file.is-filling .file__icon__svg-checked {
  opacity: 1; }

.file.is-filling .file__text__header {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }

.file.is-filling .file__text__info {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%); }

.file.is-filling .file__text__name {
  opacity: 1;
  pointer-events: all; }

.file.is-filling .file__clear {
  opacity: 1;
  pointer-events: all; }

.login {
  padding: 2rem 2rem 6.5rem; }
  @media (min-width: 992px) {
    .login {
      position: relative;
      min-height: 100vh;
      padding: 20rem -webkit-calc((100vw - 132rem) / 2) 7rem;
      padding: 20rem calc((100vw - 132rem) / 2) 7rem; }
      .login::after {
        content: '';
        width: 57rem;
        height: 18rem;
        background: url("../img/pattern.svg");
        position: absolute;
        bottom: 0;
        left: -webkit-calc((100vw - 132rem) / 2 + (132rem - 46rem));
        left: calc((100vw - 132rem) / 2 + (132rem - 46rem)); } }
  @media (min-width: 992px) {
    .login__content {
      max-width: 46rem;
      margin: 0 0 0 auto;
      text-align: center; } }
  .login__item.is-active {
    -webkit-animation: emergence .5s ease-in-out;
            animation: emergence .5s ease-in-out; }
  .login__item:not(.is-active) {
    display: none; }
  .login .slider-wrapper {
    width: 47vh;
    position: absolute;
    left: -webkit-calc((100vw - 132rem) / 2);
    left: calc((100vw - 132rem) / 2); }

.tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-bottom: .1rem solid #424242;
  cursor: pointer;
  margin: 0 0 6rem;
  height: 4.5rem;
  font-size: 1.8rem;
  font-weight: bold; }
  @media (min-width: 992px) {
    .tab {
      height: 7.4rem;
      font-size: 2.4rem; } }
  .tab:hover .tab__item::before {
    height: 0; }
  .tab__item {
    position: relative;
    width: 50%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .tab__item::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: 100%;
      background: var(--color-accent);
      z-index: -1;
      height: 0;
      -webkit-transition: var(--hover);
      -o-transition: var(--hover);
      transition: var(--hover); }
    .tab__item.is-active::before {
      height: 100%; }
    .tab__item:hover::before {
      height: 100% !important; }

@-webkit-keyframes emergence {
  0% {
    opacity: 0; }
  100% {
    opacity: 100%; } }

@keyframes emergence {
  0% {
    opacity: 0; }
  100% {
    opacity: 100%; } }

@media (min-width: 992px) {
  .mobile {
    display: none; } }

@media (max-width: 991px) {
  .desktop {
    display: none; } }


/* --- CUSTOM */
.text-left{
    text-align: left !important;
}