 html, body, div, span,
h1, h2, h3, h4, h5, h6, p,
a, img, ol, ul, li, menu {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

h1, h2 {
  font-size: inherit;
  font-weight: normal;
}

/* HTML5 display-role reset for older browsers */
footer, header, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  color: black;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@font-face {
  font-family: AndaleMono;
  src: url("../../fonts/AndaleMono.ttf");
}

@font-face {
  font-family: Montserrat;
  src: url("../../fonts/Montserrat-Medium.ttf");
}

@-webkit-keyframes prompt {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes prompt {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes headerMenuOpening {
  0% {
    height: 0;
    opacity: 0;
  }
  100% {
    height: unset;
    min-height: -webkit-fit-content !important;
    min-height: fit-content !important;
    opacity: 1;
  }
}

@keyframes headerMenuOpening {
  0% {
    height: 0;
    opacity: 0;
  }
  100% {
    height: unset;
    min-height: -webkit-fit-content !important;
    min-height: -moz-fit-content !important;
    min-height: fit-content !important;
    opacity: 1;
  }
}

@-webkit-keyframes headerOpening {
  0% {
    min-height: 0;
  }
  75% {
    min-height: 100%;
  }
  100% {
    height: 100%;
  }
}

@keyframes headerOpening {
  0% {
    min-height: 0;
  }
  75% {
    min-height: 100%;
  }
  100% {
    height: 100%;
  }
}

.df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

*[data-lang="eng"] {
  display: unset;
}

*[data-lang="ua"] {
  display: none;
}

html {
  font-size: 10px;
}

.wrapper {
  position: relative;
  max-width: 100%;
}

u {
  text-decoration: none;
}

.settings, #type-source, #type-loop, .hide, *[data-lang="ua"] {
  display: none;
}

.type-cursor {
  display: inline-block;
  -webkit-transform: translate(0, -10%);
          transform: translate(0, -10%);
  -webkit-animation: prompt .7s infinite;
          animation: prompt .7s infinite;
}

.header {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.2% 1.5%;
  font-size: 1.7vw;
  z-index: 4;
}

.header__menu--homepage, .header__menu-button, .header__menu-top {
  display: none;
}

.header__logo > a {
  text-transform: uppercase;
}

.header__logo *, .header__logo {
  font-family: AndaleMono;
}

.header__menu-button, .header__link {
  font-family: AndaleMono;
}

.header__link {
  text-transform: uppercase;
  -webkit-transition: color .3s;
  transition: color .3s;
}

.header__link--current {
  display: none;
}

.header__link:hover {
  -webkit-transition: color .3s;
  transition: color .3s;
}

.header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}

.header__list > li:not(li:last-child) {
  margin-right: 9%;
}

@media screen and (max-width: 830px) {
  .type-cursor {
    display: none;
  }
  .typed-cursor {
    display: none;
  }
  .open .header__logo,
  .open .header__menu-button {
    -webkit-animation: prompt 1s;
            animation: prompt 1s;
  }
  .header.open {
    position: fixed;
    top: 0;
    overflow-y: scroll;
    font-size: 5.3vmin;
    -webkit-animation: headerOpening .6s;
            animation: headerOpening .6s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
  .open > .header__menu {
    visibility: visible;
    -webkit-animation: headerMenuOpening 1s;
            animation: headerMenuOpening 1s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
  .open .header__logo,
  .open .spec-violet {
    color: black;
  }
  .header__text,
  .header__line,
  .header.open ~ *,
  .header__mobile-hidden,
  .header.open .header__logo > a:first-child ~ * {
    display: none;
  }
  .header__menu-button,
  .header__menu-top,
  .header__list,
  .header__link--current,
  .header__menu--homepage {
    display: block;
  }
  .header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 4.5% 5%;
    width: 100%;
    min-height: 0%;
    word-spacing: 20px;
    font-size: 5.3vw;
    -webkit-transition: min-height .3s;
    transition: min-height .3s;
  }
  .header__body {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .header__logo, .header__menu-button {
    letter-spacing: normal;
    word-spacing: normal;
  }
  .header:not(.open) > .header__menu {
    opacity: 0;
  }
  .header__menu {
    width: 100%;
    height: 0;
    visibility: hidden;
  }
  .header__menu--homepage {
    height: 0;
  }
  .header__menu-button {
    text-transform: uppercase;
  }
  .header__menu-top {
    margin: 10vmax 0;
    text-align: center;
  }
  .header__list > li {
    padding-bottom: 6vmax;
    margin-right: 0 !important;
  }
  .header__list > li:before {
    content: '->';
    font-family: AndaleMono;
    font-size: 12.8vmin;
  }
  .header__list a {
    margin-left: 0%;
  }
  .header__menu .header__link {
    font-size: 12.8vmin;
    letter-spacing: normal;
  }
  .header__menu .header__link--current {
    display: block;
  }
}

.main {
  text-transform: uppercase;
}

.k {
  width: 2%;
}

.k > svg {
  width: 100%;
  height: 100%;
}

.title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 4%;
  margin-bottom: 4%;
  font-size: 5.55vw;
  font-family: Montserrat;
}

.title__text {
  text-align: center;
}

.title__pic {
  width: 6.25vw;
  height: 5.55vw;
}

.title__pic:first-child {
  -webkit-transform: translate(0, -8%);
          transform: translate(0, -8%);
}

.title__pic:last-child {
  -webkit-transform: rotateY(180deg) translate(0, -8%);
          transform: rotateY(180deg) translate(0, -8%);
}

.team {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 0 1%;
}

.team__item {
  position: relative;
  margin-bottom: 2%;
  width: 22.4vw;
  height: 27vw;
  font-family: AndaleMono;
  overflow: hidden;
}

.team__item:hover img {
  visibility: visible;
}

.team__front::before, .team__back::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: inset -2px -2px 0px #262626, inset 2px 2px 0px #F0F0F0, inset -4px -4px 0px #7E7E7E;
          box-shadow: inset -2px -2px 0px #262626, inset 2px 2px 0px #F0F0F0, inset -4px -4px 0px #7E7E7E;
  z-index: 1;
}

.team__front::before {
  z-index: 2 !important;
}

.team__back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  min-height: 0;
  -webkit-transition: min-height .3s;
  transition: min-height .3s;
  background-color: black;
  color: white;
  z-index: 2;
}

.team__back * {
  visibility: hidden;
  opacity: 0;
}

.team__open {
  min-height: 100%;
  -webkit-transition: min-height .3s;
  transition: min-height .3s;
}

.team__open * {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity .8s;
  transition: opacity .8s;
}

.team__front {
  height: 100%;
}

.team__title {
  margin-bottom: 2%;
  text-align: center;
}

.team__title img {
  width: .8vw;
  -webkit-transform: translate(0, 8%);
          transform: translate(0, 8%);
}

.team__params-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3% 0;
}

.team__params-item > .name {
  padding-right: .2vw;
}

.team .level {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.team .level > * {
  margin-right: 3px;
  width: 0.35vw;
  height: .7vw;
  border-radius: 1px;
  -webkit-transform: translate(0, 20%);
          transform: translate(0, 20%);
}

.team__front .team__button {
  z-index: 2;
}

.team__back .team__button {
  z-index: 1;
}

.team__button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 3%;
  font-size: 1.11vw;
}

.team__button > div {
  position: relative;
  padding: 2%;
  text-align: center;
}

.team__button > div:hover {
  cursor: pointer;
}

.team__button > div .svg {
  position: absolute;
  width: 15%;
}

.team__button > div .svg > svg {
  width: 100%;
  height: 100%;
}

.team__button > div .svg:nth-child(1) {
  top: 0;
  left: 0;
}

.team__button > div .svg:nth-child(2) {
  top: 0;
  right: 0;
}

.team__button > div .svg:nth-child(2) > svg {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.team__button > div .svg:nth-child(3) {
  right: 0;
  bottom: 0;
}

.team__button > div .svg:nth-child(3) > svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.team__button > div .svg:nth-child(4) {
  bottom: 0;
  left: 0;
}

.team__button > div .svg:nth-child(4) > svg {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.team__item:hover .team__gif img:last-child {
  visibility: visible;
}

.team__gif {
  width: 100%;
  height: 23.6vw;
  position: relative;
  z-index: 1;
}

.team__gif > img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.team__gif > img:last-child {
  visibility: hidden;
}

.team__name {
  padding: 4% 0;
  width: 100%;
  font-size: 1.4vw;
  text-align: center;
  color: white;
  background-color: black;
}

.team__info {
  padding: 0 11%;
  margin-top: 30%;
  text-align: center;
  font-size: 0.83vw;
  line-height: 1.2;
}

.team .inner {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.team .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.team__link {
  position: relative;
  margin: 0 3.5% 5% 0;
  padding: 1.5% 2%;
  z-index: 100;
}

.team__link > a {
  font-size: 0.83vw;
  color: white;
}

.team__link:last-child {
  margin-right: 0;
}

.team__link:hover {
  cursor: pointer;
  border-color: white;
  -webkit-transition: border-color .3s;
  transition: border-color .3s;
}

.team__link:hover > a {
  color: #3FED41;
  -webkit-transition: color .3s;
  transition: color .3s;
}

.content {
  margin-top: 5%;
  padding: 0 7%;
  font-size: 32px;
  font-family: Montserrat;
  text-align: justify;
}

.content__text {
  margin: 2% 0;
  line-height: 1.3;
}

.content__text img {
  width: 28px;
}

.btn {
  font-family: Montserrat;
  display: block;
  margin: 8% auto;
  padding: 1% 1.4%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 3.333vw;
  background: #C3C3C3;
  -webkit-box-shadow: inset -2px -2px 0px #262626, inset 2px 2px 0px #F0F0F0, inset -4px -4px 0px #7E7E7E;
          box-shadow: inset -2px -2px 0px #262626, inset 2px 2px 0px #F0F0F0, inset -4px -4px 0px #7E7E7E;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn:hover {
  background-color: #838383;
  -webkit-box-shadow: inset 2px 2px 2px 0 black;
          box-shadow: inset 2px 2px 2px 0 black;
  -webkit-transition: all .3s;
  transition: all .3s;
}

@media screen and (max-width: 1500px) {
  .team__params-item > .level > * {
    margin-right: 2px;
  }
}

@media screen and (max-width: 830px) {
  .title {
    padding: 6% 5% 0;
    margin-bottom: 6%;
    font-size: 8.53vw;
  }
  .title__pic {
    width: 12vw;
    height: 12vw;
  }
  .title__text {
    line-height: 1.4;
    width: 75%;
  }
  .title__pic:first-child {
    -webkit-transform: translate(0, 35%);
            transform: translate(0, 35%);
  }
  .title__pic:last-child {
    -webkit-transform: rotateY(180deg) translate(0, 35%);
            transform: rotateY(180deg) translate(0, 35%);
  }
  .team {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .team__gif {
    height: 91.2vw;
  }
  .team__item {
    width: 85.9vw;
    height: 104vw;
    margin-bottom: 4%;
  }
  /*.team__item:nth-child(8) .team__gif {*/
  /*  height: 81vw;*/
  /*}*/
  .team__button {
    font-size: 4.26vw;
  }
  .team__title img {
    width: 3vw;
  }
  .team .level {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .team .level > * {
    margin-right: 2px;
    width: 1.066vw;
    height: 2.4vw;
    -webkit-transform: translate(0, 30%);
            transform: translate(0, 30%);
  }
  .team .team__params-item > .name {
    padding-right: .4vw;
  }
  .team__name {
    font-size: 5.33vw;
  }
  .team__info, .team__link a {
    font-size: 3.2vw;
  }
  .content {
    margin-top: 15%;
  }
  .content__text {
    margin: 8% 0;
    font-size: 18px;
  }
  .content__text img {
    width: 15px;
  }
  .btn {
    cursor: pointer;
    margin: 12% auto 14%;
    padding: 2.5% 5%;
    font-size: 8.533vw;
  }
}

.footer {
  position: relative;
  width: 100%;
}

.footer__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin: 0 auto;
  padding: 1.7vh;
  width: 60%;
}

.footer__item {
  z-index: 3;
}

.footer__item a {
  font-family: AndaleMono;
  font-size: 2.222vw;
  text-transform: uppercase;
  -webkit-transition: color .3s;
  transition: color .3s;
}

.footer__item a:hover {
  -webkit-transition: color .3s;
  transition: color .3s;
}

.footer--contacts .footer__item a {
  font-size: 3.628vh;
}

@media screen and (max-width: 1050px) {
  .footer--contacts .footer__item a {
    font-size: 3vw;
  }
}

@media screen and (max-width: 830px) {
  .footer__body {
    padding: 2vh 0 10%;
    width: 87%;
  }
  .footer .footer__item > a, .footer--contacts .footer__item a {
    font-size: 4.26vw;
  }
}

.app-dialog {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
}

.app-dialog * {
  font-family: AndaleMono;
}

.app-dialog__body {
  width: 70%;
  padding: 2.5%;
  border-radius: 8px;
  font-size: 1.6vw;
  z-index: 10;
  color: white;
}

.app-dialog__overlay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}

label {
  position: relative;
}

form {
  line-height: 1.5;
  text-transform: uppercase;
}

form > .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.app-dialog__message, input, select {
  font-size: 2.222vw;
}

input[type="datetime-local"] {
  font-size: 1.7vw;
}

.placeholder {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 20px;
  text-transform: uppercase;
}

input, select {
  width: 20vw;
  border: 0;
  border-radius: 0;
}

input:focus {
  outline: none;
}

input[type="submit"] {
  cursor: pointer;
  display: block;
  margin: 8% auto 0;
  width: 50%;
  text-transform: uppercase;
  text-decoration: underline;
}

#close-button {
  cursor: pointer;
  padding: 1% 2%;
  font-size: 1.6vw;
  border: 0;
  background-color: transparent;
}

@media screen and (max-width: 830px) {
  #close-button {
    margin-bottom: 10%;
  }
  .app__dialog .title {
    display: block;
  }
  .app__dialog .title, #close-button,
  input, input[type="datetime-local"], label > .placeholder, select {
    font-size: 5.333vmin;
  }
  .app-dialog__body {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    height: 100%;
    overflow: scroll;
    border-radius: 0;
  }
  .app-dialog__message {
    display: none;
  }
  form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  form > .container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  label, input, .placeholder, select {
    display: block;
  }
  label:not(label[for="button"]) {
    margin: 0 auto 7vmax;
  }
  label:not(label[for="button"]):hover .placeholder {
    display: none;
  }
  label[for="button"] {
    margin-bottom: 5vh;
  }
  input, select {
    margin: 0 auto;
    width: 80%;
    text-align: center;
  }
  input:not(input[type="submit"]), select {
    padding: 1.9vmin;
    border-bottom: 2px solid #6261F8;
  }
  input[type="submit"] {
    margin-top: 5%;
    width: 100%;
    font-size: 6.4vmin;
  }
}
