@font-face {
  font-family: 'Sansus Webissimo';
  src: url(../fonts/SansusWebissimo.woff) format("woff"), url(../fonts/SansusWebissimo.ttf) format("truetype"); }

@font-face {
  font-family: 'icomoon';
  src: url(../fonts/icomoon.ttf) format("truetype"), url(../fonts/icomoon.woff) format("woff");
  font-weight: 400;
  font-style: normal; }

[class^="icomoon-icon-"],
[class*=" icomoon-icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icomoon-icon-portf-arrow-up::before {
  content: "\E900"; }

.icomoon-icon-portf-arrow-down::before {
  content: "\E901"; }

* {
  box-sizing: border-box; }
  *:focus {
    outline: 0 none; }

html {
  height: 100%; }

body {
  min-width: 320px;
  height: 100%;
  color: #474b57;
  font-size: 16px;
  font-family: 'Roboto', sans-serif;
  line-height: 24px;
  position: relative; }

button {
  margin: 0;
  outline: 0 none;
  font-family: 'Roboto', sans-serif; }

/* Component: layout/base
 * Usage: @import '~Components/layout/base/style';
 */
/* Component: preloader
 * Usage: @import '~Components/preloader/style';
 */
.preloader {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #183669;
  transition: background-color 400; }
  .preloader__spinner {
    width: 150px;
    height: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .preloader__animation {
    width: 150px;
    height: 150px;
    position: relative;
    animation: spin 2s linear infinite; }
    .preloader__animation, .preloader__animation::before, .preloader__animation::after {
      content: "";
      display: block;
      position: absolute;
      border: 3px solid transparent;
      border-top-color: #fff;
      border-radius: 50%; }
    .preloader__animation::before {
      top: 13px;
      right: 13px;
      bottom: 13px;
      left: 13px;
      animation: spin 1.5s linear infinite; }
    .preloader__animation::after {
      top: 5px;
      right: 5px;
      bottom: 5px;
      left: 5px;
      animation: spin 3s linear infinite; }
  .preloader__percents {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff; }

@keyframes spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

/* Component: social
 * Usage: @import '~Components/social/style';
 */
.social {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
      align-items: baseline;
  padding: 0;
  list-style: none; }
  .social__item {
    margin-right: 10px; }
    .social__item:last-child {
      margin-right: 0; }
  .social__link {
    display: block;
    padding: 10px;
    position: relative;
    fill: #fff;
    transition: all 180ms ease-out; }
    .social__link::after {
      content: '';
      position: absolute;
      z-index: 2;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .social__link:hover {
      fill: #004cd1; }
  .social__icon {
    display: block;
    position: relative;
    z-index: 1; }
    .social__icon_vk {
      width: 31px; }
    .social__icon_github {
      width: 26px;
      position: relative;
      top: 1px; }
    .social__icon_in {
      width: 24px; }

.social_color_blue .social__link {
  fill: rgba(0, 76, 209, 0.7); }
  .social_color_blue .social__link:hover {
    fill: #004cd1; }

@media screen and (max-width: 767px) {
  .social_xs-size_small .social__icon_vk {
    width: 24px; }
  .social_xs-size_small .social__icon_github {
    width: 21px; }
  .social_xs-size_small .social__icon_in {
    width: 19px; } }

/* Component: hamburger
 * Usage: @import '~Components/hamburger/style';
 */
.hamburger {
  background-color: transparent;
  border: 0 none;
  padding: 0;
  width: 40px;
  height: 35px;
  top: 28px;
  right: 30px;
  z-index: 2;
  transition-timing-function: linear;
  transition-duration: .15s;
  transition-property: opacity,filter;
  cursor: pointer; }
  @media screen and (max-width: 767px) {
    .hamburger {
      width: 26px;
      height: 23px; } }
  .hamburger__wrapper {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 35px; }
    @media screen and (max-width: 767px) {
      .hamburger__wrapper {
        width: 26px;
        height: 23px; } }
  .hamburger__inner {
    top: 50%;
    display: block;
    margin-top: -2px;
    position: absolute;
    width: 40px;
    height: 5px;
    border-radius: 4px;
    background-color: #fff;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    transition-duration: .3s; }
    .hamburger__inner::before, .hamburger__inner::after {
      content: '';
      display: block;
      position: absolute;
      width: 40px;
      height: 5px;
      border-radius: 4px;
      background-color: #fff;
      transition-delay: .1s;
      transition-timing-function: linear;
      transition-duration: 0s;
      transition-property: top,opacity; }
    .hamburger__inner::before {
      top: -15px; }
    .hamburger__inner::after {
      bottom: -15px; }
    @media screen and (max-width: 767px) {
      .hamburger__inner {
        width: 26px;
        height: 3px; }
        .hamburger__inner::before, .hamburger__inner::after {
          width: 26px;
          height: 3px; }
        .hamburger__inner::before {
          top: -10px; }
        .hamburger__inner::after {
          bottom: -10px; } }
  .hamburger__icon {
    fill: #fff; }

.hamburger_state_cross .hamburger__inner {
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: rotate(765deg); }
  .hamburger_state_cross .hamburger__inner::before {
    top: 0;
    opacity: 0; }
  .hamburger_state_cross .hamburger__inner::after {
    bottom: 0;
    transform: rotate(90deg); }

/* Component: menu
 * Usage: @import '~Components/menu/style';
 */
/* Component: nav
 * Usage: @import '~Components/nav/style';
 */

/* Component: footer
 * Usage: @import '~Components/footer/style';
 */
.footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  color: #fff;
  font-weight: 300; }
  @media screen and (max-width: 767px) {
    .footer {
      font-size: 14px;
      position: static; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .footer {
      font-size: 14px; } }
  .footer__main {
    padding-bottom: 21px;
    background-color: rgba(28, 31, 41, 0.85); }
    @media screen and (max-width: 767px) {
      .footer__main {
        padding: 0 10px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .footer__main {
        padding: 0 25px; } }
  .footer__wrapper {
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 767px) {
      .footer__wrapper {
        -ms-flex-direction: column;
            flex-direction: column; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .footer__wrapper {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
  .footer__info {
    width: 34.83333%;
    padding: 27px 30px 0; }
    @media screen and (max-width: 767px) {
      .footer__info {
        width: 100%;
        padding: 14px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        text-align: center; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .footer__info {
        width: 100%;
        padding: 25px 0 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        text-align: center; } }
    @media screen and (min-width: 1800px) {
      .footer__info {
        width: 33.33333%;
        padding: 28px 30px 0; } }
  .footer__nav {
    width: 38.91667%;
    padding: 28px 31px 0 32px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .footer__nav {
        width: 100%;
        padding: 5px 0 15px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        font-size: 14px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .footer__nav {
        width: auto;
        padding: 0;
        font-size: 14px; } }
    @media screen and (min-width: 1800px) {
      .footer__nav {
        width: 33.33333%;
        padding: 30px 30px 0 30px; } }
    .footer__nav::before {
      content: "";
      display: block;
      width: 1px;
      height: 87px;
      background-color: rgba(255, 255, 255, 0.2);
      position: absolute;
      top: 30px;
      left: 0; }
      @media screen and (max-width: 767px) {
        .footer__nav::before {
          display: none; } }
      @media screen and (min-width: 768px) and (max-width: 1199px) {
        .footer__nav::before {
          display: none; } }
    .footer__nav .nav {
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        .footer__nav .nav {
          margin: 15px 0 10px; } }
      @media screen and (min-width: 768px) and (max-width: 1199px) {
        .footer__nav .nav {
          margin-bottom: 0; } }
      @media screen and (min-width: 1800px) {
        .footer__nav .nav {
          margin-bottom: 25px; } }
    .footer__nav .nav__list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: baseline;
          align-items: baseline;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (max-width: 767px) and (orientation: landscape) {
        .footer__nav .nav__list {
          -ms-flex-pack: distribute;
              justify-content: space-around; } }
      @media screen and (min-width: 1800px) {
        .footer__nav .nav__list {
          -ms-flex-pack: start;
              justify-content: flex-start; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .footer__nav .nav__item {
        margin-right: 30px; } }
    @media screen and (min-width: 1800px) {
      .footer__nav .nav__item {
        margin-right: 40px; } }
    .footer__nav .nav__link {
      color: #fff;
      font-weight: 500; }
      @media screen and (min-width: 768px) and (max-width: 1199px) {
        .footer__nav .nav__link {
          display: block;
          padding: 14px 0; } }
    @media screen and (max-width: 767px) {
      .footer__nav .social {
        -ms-flex-pack: center;
            justify-content: center; } }
    .footer__nav .social__link {
      margin-left: -10px;
      opacity: .5; }
      .footer__nav .social__link:hover {
        fill: #004cd1; }
        @media screen and (max-width: 767px) {
          .footer__nav .social__link:hover {
            fill: #fff;
            opacity: 1; } }
  .footer__contacts {
    width: 26.25%;
    padding: 26px 0 0 31px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .footer__contacts {
        width: 100%;
        padding: 15px 0;
        text-align: center; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .footer__contacts {
        width: auto;
        padding: 12px 0 22px;
        text-align: right; } }
    @media screen and (min-width: 1800px) {
      .footer__contacts {
        width: 33.33333%;
        padding: 25px 0 0 30px; } }
    .footer__contacts::before {
      content: "";
      display: block;
      width: 1px;
      height: 87px;
      background-color: rgba(255, 255, 255, 0.2);
      position: absolute;
      top: 30px;
      left: 0; }
      @media screen and (max-width: 767px) {
        .footer__contacts::before {
          display: none; } }
      @media screen and (min-width: 768px) and (max-width: 1199px) {
        .footer__contacts::before {
          display: none; } }
    .footer__contacts .contacts__link {
      color: #fff;
      font-weight: 300;
      text-decoration: none; }
  .footer__copyright {
    padding: 8px;
    background-color: rgba(8, 60, 150, 0.85);
    color: #fff;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .footer__copyright {
        padding: 10px;
        background-color: rgba(0, 76, 209, 0.85); } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .footer__copyright {
        font-size: 14px; } }

.layout-base {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  min-height: 100%;
  position: relative; }
  .layout-base__top-rail {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 100%;
    padding: 20px;
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    pointer-events: none; }
    @media screen and (max-width: 767px) {
      .layout-base__top-rail {
        padding: 9px; } }
  .layout-base__top-rail .hamburger {
    right: 20px;
    top: 20px; }
  .layout-base__social, .layout-base__menu {
    pointer-events: all; }
  .layout-base__content {
    background-color: #0a0f33;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .layout-base__footer {
    position: relative;
    z-index: 20; }

/* Component: menu
 * Usage: @import '~Components/menu/style';
 */
/* Component: nav
 * Usage: @import '~Components/nav/style';
 */
.nav__link {
  text-decoration: none; }

.nav_layout_inline .nav__list {
  display: -ms-flexbox;
  display: flex; }

.nav_layout_inline .nav__item {
  -ms-flex-positive: 1;
      flex-grow: 1; }

.nav_spacers_white .nav__item {
  position: relative; }
  .nav_spacers_white .nav__item::before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -1px;
    background-color: rgba(222, 227, 231, 0.5); }
  .nav_spacers_white .nav__item:first-child::before {
    display: none; }

.nav__item_width_50 {
  width: 50%; }

.nav__item_style_button {
  padding: 0; }
  .nav__item_style_button .nav__link {
    display: block;
    width: 100%;
    padding: 10px;
    border: 0 none;
    background-color: transparent;
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer; }

@media screen and (max-width: 767px) {
  .nav__item_xs-width_auto {
    width: auto; } }

.menu {
  pointer-events: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .menu::before, .menu::after {
    content: '';
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    background-color: rgba(24, 54, 105, 0.87); }
  .menu::before {
    left: 0;
    transform: translate3d(-100%, 0, 0); }
  .menu::after {
    right: 0;
    transform: translate3d(100%, 0, 0); }
  .menu__nav {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 10; }
    .menu__nav .nav__list {
      width: 100%;
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
    .menu__nav .nav__item {
      margin-bottom: 90px;
      opacity: 0; }
      @media screen and (max-width: 767px) {
        .menu__nav .nav__item {
          margin-bottom: 50px; } }
      @media screen and (min-width: 768px) and (max-width: 1199px) {
        .menu__nav .nav__item {
          margin-bottom: 100px; } }
      .menu__nav .nav__item:last-child {
        margin-bottom: 0; }
      .menu__nav .nav__item_state_active {
        position: relative; }
        .menu__nav .nav__item_state_active::after {
          content: '';
          display: block;
          width: 89px;
          height: 3px;
          position: absolute;
          top: 100%;
          margin-top: 30px;
          left: 50%;
          transform: translateX(-50%);
          background-color: #fff;
          opacity: 0; }
        @media screen and (max-width: 767px) {
          .menu__nav .nav__item_state_active::after {
            margin-top: 20px; } }
    .menu__nav .nav__link {
      color: #fff;
      font-family: 'Sansus Webissimo', sans-serif;
      font-size: 63px;
      line-height: 24px;
      text-transform: uppercase; }
      @media screen and (max-width: 767px) {
        .menu__nav .nav__link {
          font-size: 35px; } }
      @media screen and (min-width: 768px) and (max-width: 1199px) {
        .menu__nav .nav__link {
          font-size: 49px; } }

.menu-toggler {
  position: absolute;
  z-index: 1001; }

.menu .nav__item_state_active::after {
  transition: opacity 180ms linear 0ms; }

.menu .nav__item:nth-child(1) {
  transition: opacity 180ms linear 0ms; }

.menu .nav__item:nth-child(2) {
  transition: opacity 180ms linear 0ms; }

.menu .nav__item:nth-child(3) {
  transition: opacity 180ms linear 0ms; }

.menu .nav__item:nth-child(4) {
  transition: opacity 180ms linear 0ms; }

.menu::before, .menu::after {
  transition: transform 180ms linear 180ms; }

.menu_state_active::before, .menu_state_active::after {
  transition: transform 180ms linear 0ms; }

.menu_state_active .nav__item:nth-child(1) {
  transition: opacity 180ms linear 180ms; }

.menu_state_active .nav__item:nth-child(2) {
  transition: opacity 180ms linear 260ms; }

.menu_state_active .nav__item:nth-child(3) {
  transition: opacity 180ms linear 340ms; }

.menu_state_active .nav__item:nth-child(4) {
  transition: opacity 180ms linear 420ms; }

.menu_state_active .nav__item_state_active::after {
  transition: opacity 180ms linear 500ms; }

.menu_state_active {
  pointer-events: all; }
  .menu_state_active::before {
    transform: translate3d(0, 0, 0); }
  .menu_state_active::after {
    transform: translate3d(0, 0, 0); }
  .menu_state_active .nav__item {
    opacity: 1; }
  .menu_state_active .nav__item_state_active::after {
    opacity: 1; }

/* Component: blog
 * Usage: @import '~Components/blog/style';
 */
@media screen and (max-width: 767px) and (orientation: landscape) {
  .background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; } }

.background__media {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0; }

.background .video-background__image {
  width: 1199px;
  position: absolute;
  top: 0;
  right: 50%;
  transform: translateX(50%); }
  @media screen and (max-width: 767px) {
    .background .video-background__image {
      height: 75vh;
      width: auto;
      transform: translateX(180px);
      right: 0; } }
  @media screen and (max-width: 767px) and (orientation: landscape) {
    .background .video-background__image {
      width: 100%;
      height: auto;
      transform: translateX(0); } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .background .video-background__image {
      min-width: 1366px; } }
  @media screen and (min-width: 1200px) and (max-width: 1799px) {
    .background .video-background__image {
      width: 100%; } }
  @media screen and (min-width: 1800px) {
    .background .video-background__image {
      width: 100%; } }
  @media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1.5) {
    .background .video-background__image {
      width: 1992px;
      right: auto;
      left: 0;
      transform: translateX(-920px); } }
  @media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1.5) {
    .background .video-background__image {
      width: 100%;
      min-width: 1680px; } }

.background .video-background__video {
  position: absolute;
  left: -10px;
  right: -10px;
  top: -10px;
  bottom: -10px;
  width: 1940px;
  height: 1100px; }

.background__mountains {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0; }

.background__mountains-image {
  width: 1580px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); }
  @media screen and (max-width: 767px) {
    .background__mountains-image {
      width: auto;
      height: 90vh; } }
  @media screen and (max-width: 767px) and (orientation: landscape) {
    .background__mountains-image {
      width: 100%;
      height: auto;
      bottom: -15px; } }
  @media screen and (min-width: 1200px) and (max-width: 1799px) {
    .background__mountains-image {
      width: 100%; } }
  @media screen and (min-width: 1800px) {
    .background__mountains-image {
      width: 100%; } }
  @media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1.5) {
    .background__mountains-image {
      width: 1920px; } }

.background_embedded .background__media {
  width: 100%;
  position: static;
  overflow: hidden; }

.background_embedded .video-background__video {
  width: 104vw;
  height: auto;
  margin-left: -2vw;
  margin-top: -15px;
  position: static; }

.background_embedded .video-background__image {
  width: 100%;
  position: static; }

/* Component: parallax
 * Usage: @import '~Components/parallax/style';
 */
/* Component: btn-arrow
 * Usage: @import '~Components/btn-arrow/style';
 */
.btn-arrow {
  display: block;
  width: 44px;
  background-color: transparent;
  border: 0 none; }
  @media screen and (max-width: 767px) {
    .btn-arrow {
      width: 27px; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .btn-arrow {
      width: 27px; } }
  .btn-arrow__icon {
    display: block;
    fill: rgba(255, 255, 255, 0.7); }

.btn-arrow_direction_to-top .btn-arrow__icon {
  transform: scale(-1); }

/* Component: video-background
 * Usage: @import '~Components/video-background/style';
 */
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .video-background__video {
    width: 110%;
    position: relative;
    top: -5%;
    left: -5%; } }

@media screen and (max-width: 767px) {
  .video-background__image {
    height: calc(100vh - 92px); } }

@media screen and (max-width: 767px) and (orientation: landscape) {
  .video-background__image {
    height: 100vh; } }

@media screen and (min-width: 768px) and (max-width: 1199px) and (orientation: portrait) {
  .video-background__image {
    height: 50vh; } }

@media screen and (min-width: 768px) and (max-width: 1199px) and (orientation: landscape) {
  .video-background__image {
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); } }

/* Component: avatar
 * Usage: @import '~Components/avatar/style';
 */
.avatar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-positive: 0;
      flex-grow: 0;
  width: 141px;
  height: 141px;
  border-radius: 50%;
  overflow: hidden; }
  .avatar__img {
    display: block;
    width: 100%; }

.avatar_size_small {
  width: 77px;
  height: 77px; }

@media screen and (max-width: 767px) {
  .avatar_size_small {
    width: 51px;
    height: 51px; } }

.parallax {
  height: 790px;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .parallax {
      height: 100vh; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .parallax {
      height: 505px; } }
  .parallax__mountains {
    width: 2000px;
    margin-left: -1000px;
    position: absolute;
    z-index: 1;
    bottom: -10%;
    left: 50%; }
    @media screen and (max-width: 767px) {
      .parallax__mountains {
        width: 1400px;
        margin-left: -700px;
        bottom: -15%; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax__mountains {
        width: 840px;
        margin-left: -420px;
        bottom: -12%; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .parallax__mountains {
        width: 1400px;
        margin-left: -700px;
        bottom: -20%; } }
  .parallax__stars {
    max-width: 460px;
    width: 460px;
    margin-left: -250px;
    position: absolute;
    z-index: 2;
    top: 119px;
    left: 50%;
    transition: margin-top 100ms;
    fill: #fff;
    stroke: #fff;
    opacity: .07; }
    @media screen and (max-width: 767px) {
      .parallax__stars {
        width: 281px;
        top: 17.42958vh;
        margin-left: -150px; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax__stars {
        top: 25px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .parallax__stars {
        width: 281px;
        top: 99px;
        margin-left: -150px; } }
  .parallax__panel {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    width: 100%;
    position: absolute;
    z-index: 3;
    top: 153px;
    left: 0;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .parallax__panel {
        top: 19.71831vh; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax__panel {
        top: 48px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .parallax__panel {
        top: 116px; } }
  .parallax__avatar {
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax__avatar {
        margin-bottom: 15px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .parallax__avatar {
        margin-bottom: 15px; } }
  .parallax__heading {
    margin-bottom: 15px;
    font-size: 35px;
    font-weight: 500;
    line-height: 34px; }
    @media screen and (max-width: 767px) {
      .parallax__heading {
        padding: 0 20px;
        margin-bottom: 5px;
        font-size: 21px;
        line-height: 28px; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax__heading {
        display: none; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .parallax__heading {
        margin-bottom: 5px; } }
  .parallax__text {
    padding: 0 20px;
    font-size: 16px;
    line-height: 24px; }
    @media screen and (max-width: 767px) {
      .parallax__text {
        font-size: 14px;
        line-height: 24px; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax__text {
        display: none; } }
  .parallax__anchor-link {
    margin-top: 118px; }
    @media screen and (max-width: 767px) {
      .parallax__anchor-link {
        margin-top: 92px; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax__anchor-link {
        display: none; } }

.parallax_type_inner-pages {
  height: 410px; }
  @media screen and (max-width: 767px) {
    .parallax_type_inner-pages {
      height: 100vh; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .parallax_type_inner-pages {
      height: 505px; } }
  .parallax_type_inner-pages .parallax__mountains {
    bottom: -60%; }
    @media screen and (max-width: 767px) {
      .parallax_type_inner-pages .parallax__mountains {
        bottom: -15%; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax_type_inner-pages .parallax__mountains {
        bottom: -20%;
        width: 840px;
        margin-left: -420px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .parallax_type_inner-pages .parallax__mountains {
        bottom: -20%; } }
  .parallax_type_inner-pages .parallax__stars {
    top: 59px; }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax_type_inner-pages .parallax__stars {
        top: 25px; } }
  .parallax_type_inner-pages .parallax__panel {
    top: 82px; }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax_type_inner-pages .parallax__panel {
        top: 48px; } }
  .parallax_type_inner-pages .parallax__heading {
    color: #fff;
    font-family: 'Sansus Webissimo', sans-serif;
    font-size: 63px;
    line-height: 56px; }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax_type_inner-pages .parallax__heading {
        display: inline-block; } }
  @media screen and (max-width: 767px) and (orientation: landscape) {
    .parallax_type_inner-pages .parallax__text {
      display: inline-block; } }
  .parallax_type_inner-pages .parallax__anchor-link {
    display: none;
    margin-top: 20px; }
    @media screen and (max-width: 767px) {
      .parallax_type_inner-pages .parallax__anchor-link {
        display: block;
        margin-top: 92px; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .parallax_type_inner-pages .parallax__anchor-link {
        display: none; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .parallax_type_inner-pages .parallax__anchor-link {
        display: block;
        margin-top: 118px; } }

/* Component: ribbon
 * Usage: @import '~Components/ribbon/style';
 */
.ribbon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  width: 1920px;
  margin-top: -172px;
  position: absolute;
  z-index: 1;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none; }
  .ribbon__col {
    width: 50%; }
  .ribbon .ribbon__triangle {
    fill: #faf8f0; }

.ribbon_theme_dark .ribbon__triangle {
  fill: rgba(13, 17, 32, 0.85); }

.ribbon_theme_striped .ribbon__triangle_side_left {
  fill: #f2f0e8; }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .ribbon_theme_striped .ribbon__triangle_side_left {
      fill: #f2f0e8; } }

.ribbon_theme_striped .ribbon__triangle_side_right {
  fill: #f4f5f0; }
  @media screen and (max-width: 767px) {
    .ribbon_theme_striped .ribbon__triangle_side_right {
      fill: #f2f0e8; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .ribbon_theme_striped .ribbon__triangle_side_right {
      fill: #f2f0e8; } }

/* Component: carousel
 * Usage: @import '~Components/carousel/style';
 */
.carousel {
  position: relative;
  overflow: hidden; }
  .carousel__item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    height: 100%;
    position: absolute; }
  .carousel__img {
    display: block;
    max-width: 100%;
    max-height: 100%; }

/* Component: combo-slider
 * Usage: @import '~Components/combo-slider/style';
 */
/* Component: text-fx
 * Usage: @import '~Components/text-fx/style';
 */
.text-fx_chars-one-by-one .text-fx__item {
  opacity: 0; }

.text-fx_chars-one-by-one.text-fx_active .text-fx__item {
  opacity: 1; }

/* Component: btn
 * Usage: @import '~Components/btn/style';
 */

.combo-slider {
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  background-color: #f2f0e8;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .combo-slider__main-slider {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-order: 2;
        order: 2;
    width: 50%;
    height: 69.94681vh;
    background-color: #e3e2de; }
    .combo-slider__main-slider .carousel__item {
      left: 0; }
    @media screen and (max-width: 767px) {
      .combo-slider__main-slider {
        -ms-flex-order: 1;
            order: 1;
        width: 100%;
        height: 45.29617vh; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .combo-slider__main-slider {
        -ms-flex-order: 1;
            order: 1;
        width: 100%;
        height: 52.87474vh; } }
  .combo-slider__slide-info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-order: 1;
        order: 1;
    width: 50%;
    height: 100vh; }
    .combo-slider__slide-info_state_active .combo-slider__work-techs,
    .combo-slider__slide-info_state_active .combo-slider__slide-links {
      opacity: 1;
      transition: opacity 400ms; }
    @media screen and (max-width: 767px) {
      .combo-slider__slide-info {
        -ms-flex-order: 2;
            order: 2;
        width: 100%;
        height: 38.32753vh;
        box-sizing: border-box; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .combo-slider__slide-info {
        -ms-flex-order: 2;
            order: 2;
        width: 100%;
        height: 26.1807vh;
        box-sizing: border-box; } }
  .combo-slider__slide-title {
    max-width: 380px;
    position: relative;
    font-family: 'Sansus Webissimo', sans-serif;
    font-size: 35px;
    line-height: 34px;
    text-align: center;
    text-transform: uppercase; }
    .combo-slider__slide-title::after {
      content: "";
      display: block;
      width: 56px;
      height: 3px;
      margin: 15px auto 25px;
      background-color: #474b57; }
      @media screen and (max-width: 767px) and (orientation: landscape) {
        .combo-slider__slide-title::after {
          margin: 5px auto; } }
    @media screen and (max-width: 767px) {
      .combo-slider__slide-title {
        max-width: 90%;
        font-size: 26px;
        line-height: 26px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .combo-slider__slide-title {
        max-width: 90%; } }
  .combo-slider__work-techs {
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    margin: 0 0 55px;
    color: #083c96;
    font-size: 16px;
    list-style: none;
    text-transform: uppercase; }
    @media screen and (max-width: 767px) {
      .combo-slider__work-techs {
        display: block;
        width: 100%;
        padding: 0 30px;
        margin: 0 0 20px;
        font-size: 14px;
        font-weight: 500;
        text-align: center; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .combo-slider__work-techs {
        margin: 0 0 25px; } }
    @media screen and (max-width: 767px) and (orientation: landscape) {
      .combo-slider__work-techs {
        margin: 0; } }
  .combo-slider__work-tech::after {
    content: ",";
    padding-right: 5px; }
  .combo-slider__work-tech:last-child::after {
    display: none; }
  @media screen and (max-width: 767px) {
    .combo-slider__work-tech {
      display: inline-block;
      white-space: nowrap; } }
  .combo-slider__work-techs, .combo-slider__slide-links {
    opacity: 0;
    transition: opacity 0s; }
  .combo-slider__slide-links {
    display: -ms-flexbox;
    display: flex; }
  .combo-slider__slide-github-link {
    margin-left: 5px; }
  .combo-slider__nav {
    width: 50%;
    height: 30.05319vh;
    margin-top: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-order: 3;
        order: 3; }
    @media screen and (max-width: 767px) {
      .combo-slider__nav {
        -ms-flex-order: 3;
            order: 3;
        width: 100%;
        height: 16.37631vh; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .combo-slider__nav {
        -ms-flex-order: 3;
            order: 3;
        width: 100%;
        height: 20.94456vh; } }
  .combo-slider__nav-btn {
    width: 50%;
    padding: 0;
    position: relative;
    background-color: transparent;
    border: 0 none;
    overflow: hidden;
    cursor: pointer; }
    .combo-slider__nav-btn::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      z-index: 10;
      top: 0;
      left: 0; }
    .combo-slider__nav-btn_slider_prev::after {
      background-color: rgba(170, 171, 183, 0.7); }
    .combo-slider__nav-btn_slider_next::after {
      background-color: rgba(126, 127, 138, 0.7); }
  .combo-slider__nav-icon {
    margin: -.5em 0 0 -.5em;
    position: absolute;
    z-index: 11;
    top: 50%;
    left: 50%;
    color: #fff;
    font-size: 26px;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.16);
    transition: transform 0s; }
  .combo-slider__nav-slider.carousel {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0; }
    .combo-slider__nav-slider.carousel .carousel__img {
      height: 110%;
      min-width: 100%;
      min-height: 100%;
      max-width: none;
      max-height: none;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  .combo-slider__thumb {
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .combo-slider__current-slide {
    display: block;
    max-width: 100%;
    max-height: 100%; }
    @media screen and (max-width: 767px) {
      .combo-slider__current-slide {
        width: auto; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .combo-slider__current-slide {
        width: auto; } }

/* Component: btn
 * Usage: @import '~Components/btn/style';
 */

/* Component: blur
 * Usage: @import '~Components/blur/style';
 */
.blur {
  position: relative;
  overflow: hidden; }
  .blur__bg {
    position: absolute;
    width: 100%;
    height: 100%; }
  .blur__img {
    width: 2067px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-1033.5px); }
  .blur__panel-wrapper {
    width: 380px;
    height: 457px;
    margin: 0 auto;
    position: relative;
    overflow: hidden; }
  .blur__panel {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/works.jpg) no-repeat;
    filter: blur(2px); }

@media screen and (max-width: 767px) {
  .blur__img {
    width: 2315px;
    transform: translateX(-1107px); }
  .blur__panel-wrapper {
    width: 300px;
    height: 420px; } }

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .blur__panel-wrapper {
    width: 348px;
    height: 461px; } }

/* Component: quotes
 * Usage: @import '~Components/quotes/style';
 */
/* Component: quote
 * Usage: @import '~Components/quote/style';
 */
.quote {
  font-style: italic;
  font-size: 16px;
  line-height: 24px; }
  .quote__img {
    width: 77px;
    height: 77px;
    margin: 0 auto 17px; }
    @media screen and (max-width: 767px) {
      .quote__img {
        margin-bottom: 15px; } }
  .quote__text {
    margin-bottom: 18px;
    position: relative; }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .quote__text {
        font-size: 14px; } }
    .quote__text::before {
      content: "";
      display: block;
      width: 75px;
      height: 61px;
      position: absolute;
      left: 0;
      top: -25px;
      background-image: url(../images/quote.png); }
  .quote__author, .quote__author-detail {
    display: block;
    text-align: center; }
  .quote__author {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px; }

.quote_color_white {
  color: #fff; }

.quotes {
  position: relative; }
  .quotes__heading-bg-img {
    fill: #fff;
    stroke: #fff;
    opacity: .15;
    position: absolute;
    z-index: 1;
    width: 174px;
    left: 50%;
    transform: translateX(-50%) rotate(25deg);
    top: 22px; }
    @media screen and (max-width: 767px) {
      .quotes__heading-bg-img {
        width: 75px;
        top: 20px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .quotes__heading-bg-img {
        top: 7px; } }
  .quotes__heading {
    width: 510px;
    padding: 57px 0 64px;
    margin: 0 auto;
    color: #fff;
    font-size: 63px;
    font-family: 'Sansus Webissimo', sans-serif;
    line-height: 66px;
    text-align: center;
    text-transform: uppercase; }
    @media screen and (max-width: 767px) {
      .quotes__heading {
        width: 300px;
        padding: 30px 0;
        font-size: 35px;
        line-height: 42px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .quotes__heading {
        width: 320px;
        padding-bottom: 23px;
        font-size: 49px;
        line-height: 56px; } }
  .quotes__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
    @media screen and (max-width: 767px) {
      .quotes__list {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding: 0 10px; } }
  .quotes__item {
    width: 380px;
    margin: 0 10px; }
    @media screen and (max-width: 767px) {
      .quotes__item {
        width: 300px;
        margin: 0 10px 45px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .quotes__item {
        margin: 0 20px; } }

/* Component: panel-contact
 * Usage: @import '~Components/panel-contact/style';
 */
/* Component: panel
 * Usage: @import '~Components/panel/style';
 */
.panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  position: relative; }
  .panel__heading {
    padding: 30px;
    color: #fff;
    font-family: 'Sansus Webissimo', sans-serif;
    font-size: 35px;
    line-height: 34px;
    text-align: center;
    text-transform: uppercase; }
    @media screen and (max-width: 767px) {
      .panel__heading {
        padding: 30px 20px;
        font-size: 30px; } }
  .panel__content {
    padding: 0 30px; }
    @media screen and (max-width: 767px) {
      .panel__content {
        padding: 0 20px; } }
  .panel__buttons {
    display: -ms-flexbox;
    display: flex;
    margin-top: auto; }
  .panel__button, .panel__button.btn {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    border-left: 1px solid rgba(222, 227, 231, 0.5); }
    .panel__button:first-child, .panel__button.btn:first-child {
      border-left: 0 none; }

/* Component: btn
 * Usage: @import '~Components/btn/style';
 */

/* Component: combo-slider
 * Usage: @import '~Components/combo-slider/style';
 */
/* Component: textfield
 * Usage: @import '~Components/textfield/style';
 */
.textfield {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  width: 100%; }
  .textfield__wrapper {
    position: relative;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .textfield__addon {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: 45px;
    height: 45px;
    background-color: #f0efe9; }
  .textfield__addon-icon {
    margin: auto;
    color: #c4cbcd;
    font-size: 18px; }
  .textfield__control {
    width: 100%;
    height: 45px;
    line-height: 45px;
    padding: 0 15px;
    border: 0 none;
    border-radius: 0;
    color: #373e42;
    font-family: 'Roboto', sans-serif;
    font-size: 16px; }
    .textfield__control:focus {
      outline: 0 none; }
  .textfield__measure {
    padding-left: 1em; }
  .textfield__label {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-right: 10px;
    font-weight: 400; }
  .textfield ::-webkit-input-placeholder {
    color: rgba(55, 62, 66, 0.5); }
  .textfield ::-moz-placeholder {
    color: rgba(55, 62, 66, 0.5); }
  .textfield :-moz-placeholder {
    color: rgba(55, 62, 66, 0.5); }
  .textfield :-ms-input-placeholder {
    color: rgba(55, 62, 66, 0.5); }

.textfield.textfield_state_error .textfield__addon-icon {
  color: #e44845; }

.textfield.textfield_state_error .textfield__control {
  outline: 1px solid #e44845; }

.textfield.textfield_state_error .textfield__error-message {
  padding: 10px 20px;
  margin-top: 13px;
  position: absolute;
  z-index: 100;
  top: 100%;
  left: 0;
  border-radius: 4px;
  background-color: #e44845;
  color: #fff;
  font-weight: 500; }
  .textfield.textfield_state_error .textfield__error-message::before, .textfield.textfield_state_error .textfield__error-message::after {
    content: "";
    display: block;
    position: absolute; }
  .textfield.textfield_state_error .textfield__error-message::before {
    width: 10px;
    height: 10px;
    top: -4px;
    right: 50%;
    margin-right: -5px;
    background-color: #e44845;
    transform: rotate(-45deg); }
  .textfield.textfield_state_error .textfield__error-message::after {
    content: "";
    width: 20px;
    height: 13px;
    top: 0;
    right: 50%;
    margin-right: -10px;
    background-color: #e44845; }

.textfield.textfield_state_correct .textfield__addon-icon {
  color: #0548be; }

.textfield_theme_transparent .textfield__control {
  background-color: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.6);
  color: #fff; }

.textfield_theme_transparent ::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_theme_transparent ::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_theme_transparent :-moz-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_theme_transparent :-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_color_white .textfield__control {
  color: #fff; }

.textfield_color_white ::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_color_white ::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_color_white :-moz-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_color_white :-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textfield_bg_white .textfield__control {
  background-color: #fff; }

.textfield_size_small .textfield__control {
  height: 32px;
  line-height: 32px;
  width: 46px;
  font-size: 14px;
  padding: 0 10px;
  text-align: center; }

.textfield_size_small .textfield__control_corners_rounded {
  border-radius: 4px; }

.textfield__control_corners_rounded {
  border-radius: 5px; }

@media screen and (max-width: 767px) {
  .textfield__control {
    height: 40px;
    padding: 0 20px;
    font-size: 14px;
    line-height: 40px; }
  .textfield__addon {
    width: 40px;
    height: 40px; }
  .textfield__label {
    width: 50%; }
  .textfield_size_small .textfield__control {
    padding: 0 10px; } }

/* Component: textarea
 * Usage: @import '~Components/textarea/style';
 */
.textarea {
  display: block; }
  .textarea__wrapper {
    display: block;
    position: relative; }
  .textarea__control {
    display: block;
    width: 100%;
    padding: 10px 15px;
    height: 130px;
    resize: none;
    border: 0 none;
    color: rgba(55, 62, 66, 0.5);
    font-family: 'Roboto', sans-serif;
    font-size: 16px; }
  .textarea ::-webkit-input-placeholder {
    color: rgba(55, 62, 66, 0.5); }
  .textarea ::-moz-placeholder {
    color: rgba(55, 62, 66, 0.5); }
  .textarea :-moz-placeholder {
    color: rgba(55, 62, 66, 0.5); }
  .textarea :-ms-input-placeholder {
    color: rgba(55, 62, 66, 0.5); }

.textarea.textarea_state_error .textarea__control {
  outline: 1px solid #e44845; }

.textarea.textarea_state_error .textarea__error-message {
  padding: 10px 20px;
  margin-top: 13px;
  position: absolute;
  z-index: 100;
  top: 100%;
  left: 0;
  border-radius: 4px;
  background-color: #e44845;
  color: #fff;
  font-weight: 500; }
  .textarea.textarea_state_error .textarea__error-message::before, .textarea.textarea_state_error .textarea__error-message::after {
    content: "";
    display: block;
    position: absolute; }
  .textarea.textarea_state_error .textarea__error-message::before {
    width: 10px;
    height: 10px;
    top: -4px;
    right: 50%;
    margin-right: -5px;
    background-color: #e44845;
    transform: rotate(-45deg); }
  .textarea.textarea_state_error .textarea__error-message::after {
    content: "";
    width: 20px;
    height: 13px;
    top: 0;
    right: 50%;
    margin-right: -10px;
    background-color: #e44845; }

.textarea_theme_transparent .textarea__control {
  background-color: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.6);
  color: #fff; }

.textarea_theme_transparent ::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textarea_theme_transparent ::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textarea_theme_transparent :-moz-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textarea_theme_transparent :-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5); }

.textarea_color_white .textarea__control {
  color: #fff; }

.textarea__control_corners_rounded {
  border-radius: 5px; }

@media screen and (max-width: 767px) {
  .textarea__control {
    height: 138px;
    font-size: 14px;
    padding: 15px 20px; } }

/* Component: form-message
 * Usage: @import '~Components/form-message/style';
 */
/* Component: btn
 * Usage: @import '~Components/btn/style';
 */
.btn {
  display: inline-block;
  padding: 13px;
  border: 1px solid transparent;
  background-color: transparent;
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 180ms ease-out, background-color 180ms ease-out; }
  .btn__icon-before {
    margin-right: 5px; }

.btn_color_blue {
  background-color: #004cd1;
  color: #fff; }
  .no-touchevents .btn_color_blue:hover {
    background-color: rgba(4, 62, 163, 0.85); }

.btn_color_default {
  border-color: #474b57;
  background-color: transparent;
  color: #474b57; }
  .btn_color_default .btn__text {
    color: #474b57; }
  .no-touchevents .btn_color_default:hover {
    background-color: rgba(0, 0, 0, 0.035); }

.btn_color_glass-white {
  border: 1px solid #fff;
  color: #fff; }
  .no-touchevents .btn_color_glass-white:hover {
    border-color: #083c96;
    background-color: #083c96; }

.btn_color_transparent {
  color: rgba(255, 255, 255, 0.5);
  transition: color 180ms ease-out; }
  .no-touchevents .btn_color_transparent:hover {
    color: white; }

.btn_size_large {
  padding: 13px 28px; }

.btn_size_small {
  padding: 9px 11px; }

.btn_corners_rounded {
  border-radius: 5px; }
  .btn_corners_rounded.btn_size_small {
    border-radius: 4px; }

.form-message {
  display: none;
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .form-message__body {
    width: 280px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 14px 20px 20px;
    -ms-flex-align: center;
        align-items: center;
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: center; }
  .form-message__text {
    margin-bottom: 14px; }

.form-message_active {
  display: block; }
  .form-message_active .form-message__body {
    color: #e44845; }

.contact-form__field {
  margin-bottom: 20px; }

.panel-contact {
  width: 380px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.03); }
  @media screen and (max-width: 767px) {
    .panel-contact {
      width: 300px; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .panel-contact {
      width: 348px; } }
  .panel-contact__body {
    padding: 35px 20px 0; }
  .panel-contact__heading {
    position: relative;
    color: #fff;
    font-family: 'Sansus Webissimo', sans-serif;
    font-size: 35px;
    line-height: 34px;
    text-align: center;
    text-transform: uppercase; }
    @media screen and (max-width: 767px) {
      .panel-contact__heading {
        font-size: 26px;
        line-height: 22px; } }
    .panel-contact__heading::after {
      content: "";
      display: block;
      width: 89px;
      height: 3px;
      margin: 28px auto 30px;
      background-color: #fff; }
      @media screen and (max-width: 767px) {
        .panel-contact__heading::after {
          margin: 17px auto 20px; } }
  .panel-contact .panel__button,
  .panel-contact .panel__button.btn {
    width: 50%;
    border-left: 0 none; }

.page-works {
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .page-works .parallax {
      height: 640px; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .page-works .parallax__mountains {
      bottom: -12%; } }
  .page-works__ribbon {
    width: 100%;
    overflow: hidden; }
    .page-works__ribbon .ribbon {
      transform: translate(-50%, -180px); }
      @media screen and (max-width: 767px) {
        .page-works__ribbon .ribbon {
          transform: translate(-50%, -92px); } }
      @media screen and (min-width: 768px) and (max-width: 1199px) {
        .page-works__ribbon .ribbon {
          transform: translate(-50%, -135px); } }
  .page-works__title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    height: 180px;
    margin-top: -180px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page-works__title {
        height: 92px;
        margin-top: -92px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .page-works__title {
        height: 135px;
        margin-top: -135px; } }
  .page-works__title-stars {
    width: 240px;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    margin-left: -10px;
    transform: translate(-50%, -50%) rotate(-170deg);
    opacity: .15;
    fill: #fff;
    stroke: #fff; }
    @media screen and (max-width: 767px) {
      .page-works__title-stars {
        width: 120px;
        top: -5px;
        transform: translate(-50%, 0) rotate(-170deg); } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .page-works__title-stars {
        width: 170px;
        top: auto;
        transform: translate(-50%, 0) rotate(-170deg); } }
  .page-works__title-text {
    position: relative;
    z-index: 2;
    color: #fff;
    font-family: 'Sansus Webissimo', sans-serif;
    font-size: 63px;
    line-height: 56px;
    text-transform: uppercase; }
    @media screen and (max-width: 767px) {
      .page-works__title-text {
        font-size: 35px;
        line-height: 42px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .page-works__title-text {
        font-size: 49px;
        line-height: 52px; } }
  .page-works__slider {
    position: relative;
    z-index: 1; }
  .page-works__blur {
    padding-bottom: 190px;
    position: relative;
    z-index: 3; }
    @media screen and (max-width: 767px) {
      .page-works__blur {
        padding-bottom: 0; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .page-works__blur {
        padding-bottom: 240px; } }
  .page-works__quotes {
    padding-bottom: 65px; }
    @media screen and (max-width: 767px) {
      .page-works__quotes {
        padding-bottom: 0; } }
  .page-works__contact {
    padding-bottom: 50px; }
  .page-works__to-top {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    padding-bottom: 50px;
    position: relative; }
