@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/preloader
 * Usage: @import '~Components/layout/preloader/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: 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: panel-welcome
 * Usage: @import '~Components/panel-welcome/style';
 */
/* Component: btn
 * Usage: @import '~Components/btn/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: flip-panel
 * Usage: @import '~Components/flip-panel/style';
 */
.flip-panel {
  perspective: 814px; }
  .flip-panel__side {
    width: 100%;
    height: 100%;
    background-color: rgba(28, 31, 41, 0.5);
    transition: transform 400ms ease-out, opacity 100ms ease 50ms; }
  .flip-panel__front {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transform-style: preserve-3d;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%; }
  .flip-panel__back {
    transform: rotateY(-180deg);
    position: relative;
    z-index: 0;
    opacity: 0; }
  .flip-panel__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    width: 100%;
    height: 100%; }
  .flip-panel__panel {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }

.flip-panel_state_flipped .flip-panel__side {
  transition: transform 400ms ease-out, opacity 200ms ease 200ms; }

.flip-panel_state_flipped .flip-panel__front {
  transform: rotateY(180deg);
  z-index: 0;
  opacity: 0; }

.flip-panel_state_flipped .flip-panel__back {
  transform: rotateY(0deg);
  z-index: 1;
  opacity: 1; }

.flip-panel-toggler {
  transition: opacity 180ms; }

.flip-panel-toggler_hidden {
  opacity: 0;
  pointer-events: none; }

/* 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: sign-in-form
 * Usage: @import '~Components/sign-in-form/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: checkbox
 * Usage: @import '~Components/checkbox/style';
 */
.checkbox {
  display: -ms-flexbox;
  display: flex; }
  .checkbox__control {
    display: none; }
  .checkbox__pseudo-control {
    width: 20px;
    height: 20px;
    position: relative;
    background-color: #0548be;
    border-radius: 3px; }
    .checkbox__pseudo-control::before {
      display: none;
      margin-left: 1px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #fff; }
  .checkbox__label {
    margin-left: 10px;
    position: relative;
    top: -1px;
    font-size: 16px;
    line-height: 24px; }
  .checkbox__control:checked + .checkbox__pseudo-control::before {
    display: block; }

/* Component: radio-group
 * Usage: @import '~Components/radio-group/style';
 */
/* Component: radio
 * Usage: @import '~Components/radio/style';
 */
.radio {
  display: -ms-flexbox;
  display: flex; }
  .radio__control {
    display: none; }
  .radio__pseudo-control {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff; }
    .radio__pseudo-control::after {
      content: "";
      display: block;
      width: 2px;
      height: 2px;
      border-radius: 50%;
      background-color: #0548be;
      opacity: 0;
      transition: width 0s, height 0s, opacity 0s; }
  .radio__label {
    margin-left: 10px;
    font-size: 16px; }
  .radio__control:checked + .radio__pseudo-control::after {
    width: 8px;
    height: 8px;
    opacity: 1;
    transition: width 150ms, height 150ms, opacity 150ms; }

.radio-group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }
  .radio-group__title {
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      .radio-group__title {
        margin-bottom: 5px; } }
    @media screen and (min-width: 768px) and (max-width: 1199px) {
      .radio-group__title {
        margin-bottom: 5px; } }
  .radio-group__wrapper {
    display: -ms-flexbox;
    display: flex; }
  .radio-group__radio {
    margin-right: 30px; }
    .radio-group__radio:last-child {
      margin-right: 0; }

.radio-group_align_center {
  text-align: center; }
  .radio-group_align_center .radio-group__wrapper {
    -ms-flex-pack: center;
        justify-content: center; }

.sign-in-form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }
  .sign-in-form__login {
    margin-bottom: 17px; }
  .sign-in-form__pwd {
    margin-bottom: 25px; }
  .sign-in-form__antibot-checkbox, .sign-in-form__antibot-radio-group {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center; }
  .sign-in-form__antibot-checkbox {
    margin-bottom: 15px; }
  @media screen and (max-width: 767px) and (orientation: landscape) {
    .sign-in-form .textfield__wrapper {
      width: 220px; } }

/* 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; }

/* 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; } }

.panel-welcome {
  width: 380px;
  height: 410px;
  color: #fff; }
  @media screen and (max-width: 767px) {
    .panel-welcome {
      width: 300px; } }
  @media screen and (min-width: 768px) and (max-width: 1199px) {
    .panel-welcome {
      width: 348px; } }
  .panel-welcome__user {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    padding: 35px 0;
    text-align: center; }
  .panel-welcome__user-avatar {
    margin-bottom: 25px; }
  .panel-welcome__user-name {
    margin-bottom: 10px;
    font-size: 28px;
    font-weight: 500;
    line-height: 34px; }
    @media screen and (max-width: 767px) {
      .panel-welcome__user-name {
        font-size: 21px;
        line-height: 28px; } }
  .panel-welcome__lead-text {
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 24px; }
    @media screen and (max-width: 767px) {
      .panel-welcome__lead-text {
        font-size: 14px;
        line-height: 24px; } }

/* Component: combo-slider
 * Usage: @import '~Components/combo-slider/style';
 */
.copyright {
  padding-top: 8px;
  font-size: 0;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .copyright {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center;
      text-align: center;
      font-size: 14px; } }
  .copyright__name, .copyright__company, .copyright__year {
    font-size: 16px;
    font-weight: 300; }
  @media screen and (max-width: 767px) {
    .copyright__name {
      width: 100%; } }
  .copyright__company::before, .copyright__company::after {
    content: "|";
    display: inline-block;
    padding: 0 4px; }
  @media screen and (max-width: 767px) {
    .copyright__company::before {
      display: none; } }

.copyright_color_white {
  color: #fff; }

.page-welcome {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  height: 100vh;
  background-color: #0a0f33; }
  .page-welcome__background {
    position: fixed;
    width: 100%;
    height: 100vh;
    overflow: hidden; }
  .page-welcome__top {
    -ms-flex-item-align: end;
        align-self: flex-end;
    padding: 20px 20px 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page-welcome__top {
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center; } }
  .page-welcome__flip-panel {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    margin-top: -10vh;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page-welcome__flip-panel {
        padding: 10px 0 5px;
        margin-top: 0; } }
  .page-welcome__copyright {
    width: 100%;
    position: relative;
    text-align: center;
    padding-bottom: 10px; }
    @media screen and (max-width: 767px) {
      .page-welcome__copyright {
        padding-bottom: 15px; } }
