:root {
  --content-offset: 4em;
  --c-body-bg: #000;
  --c-text: #fff;
  --c-turquoise: 26,188,156;
  --c-greensea: 22,160,133;
  --c-emerland: 46,204,113;
  --c-nephritis: 39,174,96;
  --c-peterriver: 52,152,219;
  --c-belizehole: 41,128,185;
  --c-amethyst: 155,89,182;
  --c-wisteria: 142,68,173;
  --c-wetasphalt: 52,73,94;
  --c-midnightblue: 44,62,80;
  --c-sunflower: 241,196,15;
  --c-orange: 243,156,18;
  --c-carrot: 230,126,34;
  --c-pumpkin: 211,84,0;
  --c-alizarin: 231,76,60;
  --c-pomegranate: 192,57,43;
  --c-clouds: 236,240,241;
  --c-silver: 189,195,199;
  --c-concrete: 149,165,166;
  --c-asbestos: 127,140,141;
  --c-w: 255,255,255;
  --c-w-i: 0,0,0;
  --c-b: 0,0,0;
  --c-b-i: 255,255,255;
  --c-g: var(--c-silver);
  --c-g-i: 0,0,0;
  --c-1: var(--c-alizarin);
  --c-1-i: 255,255,255;
  --c-2: var(--c-peterriver);
  --c-2-i: 255,255,255;
  --c-3: var(--c-emerland);
  --c-3-i: 255,255,255;
  --c-4: var(--c-sunflower);
  --c-4-i: 0,0,0;
  --c-5: var(--c-amethyst);
  --c-5-i: 255,255,255;
  --part: 4rem;
  --part-min: calc(var(--part) / 2);
  --part-big: calc(var(--part) * 2);
  --limit: auto;
  --p-limit: 4rem;
}

@font-face {
  font-family: Raleway-font;
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/Raleway-Bold.woff2") format("woff2");
}

@font-face {
  font-family: Raleway-font;
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/Raleway-Regular.woff2") format("woff2");
}

.body {
  font-family: "Raleway-font";
  font-style: normal;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  min-width: 320px;
  position: relative;
  background-color: var(--c-body-bg);
  color: var(--c-text);
  color-scheme: dark;
  overflow-x: hidden;
}

html {
  box-sizing: border-box;
}

body {
  margin: 0;
}

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

.btn-reset {
  padding: 0;
  margin: 0;
  background-color: rgba(0,0,0,0);
  border: none;
  cursor: pointer;
}

.link-reset {
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
}

.list-reset {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fieldset-reset {
  padding: 0;
  margin: 0;
  border: none;
}

.input-reset {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: none;
  border-radius: 0;
  background-color: #fff;
  box-sizing: border-box;
}

.input-reset::-webkit-search-decoration,
.input-reset::-webkit-search-cancel-button,
.input-reset::-webkit-search-results-button,
.input-reset::-webkit-search-results-decoration {
  display: none;
}

p,
a,
button,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
figure,
figcaption,
blockqoute,
dl,
dd {
  margin: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  padding: 0;
}

address {
  font-style: normal;
}

img {
  width: auto;
  object-fit: contain;
  /*aspect-ratio: 4/3;*/
  /*display: block;*/
  /*max-width: 100%;*/
  /*-o-object-fit: contain;*/
  /*   object-fit: contain;*/
}



button,
a {
  color: inherit;
}

fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

input,
button,
textarea,
select {
  font: inherit;
}

input,
textarea {
  color: inherit;
  outline: none;
}

svg {
  fill: currentColor;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Raleway-font";
  font-weight: 700;
  margin: 1rem 0;
}

::-moz-placeholder {
  color: #666;
}

::placeholder {
  color: #666;
}


input[class]:focus:required:invalid,
textarea[class]:focus:required:invalid {
  border-color: red;
}

input[class]:required:valid,
textarea[class]:required:valid {
  border-color: green;
}

.fullWidth,
.full-width,
.fWidth,
.f-width,
.fullW,
.full-w {
  width: 100%;
}

.textBold,
.tBold,
.text-bold,
.t-bold,
.bold {
  font-weight: 700;
}

.section__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.image-wrap,
.image-wrapper {
  position: relative;
  max-width: 100%;
  width: 100%;
  padding-bottom: 56.25%;
}

.image-wrap .image,
.image-wrap .photo,
.image-wrap .avatar,
.image-wrap .user-photo,
.image-wrapper .image,
.image-wrapper .photo,
.image-wrapper .avatar,
.image-wrapper .user-photo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.visually-hidden {
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  position: absolute;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(0 0 0 0);
}

.full-hidden {
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  font-size: 0;
  position: absolute;
  left: -1000px;
  right: -1000px;
  border: 0;
  -webkit-clip-path: inset(100%);
          clip-path: inset(100%);
  clip: rect(0 0 0 0);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  white-space: nowrap;
  overflow: hidden;
}

.dis-none,
.d-none,
.d-n,
.dn,
.disNone,
.dNone,
.display-none,
.none {
  display: none !important;
}

.container-fluid {
  max-width: 100%;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

.container,
.limit {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 4rem;
}

.stop-scroll {
  position: fixed;
  top: var(--top-position);
  left: 0;
  height: 100vh;
  width: 100vw;
  padding-right: var(--scroll-width);
  overflow: hidden;
}

.page {
  display: flex;
  flex-direction: column;
}

.page__main {
  min-height: 100%;
  flex: 1 1 auto;
}

.section {
  min-width: 0;
}

.video {
  position: relative;
  padding-bottom: 56.25%;
  max-width: 100%;
  width: 100%;
  height: auto;
}

.video .video__iframe,
.video .video__player {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: none;
  -o-object-fit: cover;
     object-fit: cover;
}

button,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 18.75rem;
  width: 100%;
  padding: 1rem 3rem;
  line-height: 1;
  border-style: solid;
  border-width: 1px;
  border-color: rgb(var(--c-w));
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}

.btn-empty {
  background-color: rgba(0,0,0,0);
  color: rgb(var(--c-w));
  transition: color .3s ease,background-color .3s ease,border-color .3s ease,opacity .3s ease;
}

.btn-empty:focus-visible {
  outline: 1px dashed rgb(var(--c-w));
}

.btn-empty:hover {
  background-color: rgb(var(--c-w));
  border-color: rgba(0,0,0,0);
  color: rgb(var(--c-b));
  opacity: 1;
}

.btn-empty:active {
  opacity: .75;
}

input:not([type=radio]):not([type=checkbox]),
textarea {
  width: 100%;
  background-color: rgba(0,0,0,0);
  color: rgb(var(--c-w));
}

input:not([type=radio]):not([type=checkbox])::-moz-placeholder, textarea::-moz-placeholder {
  color: rgb(var(--c-w));
}

input:not([type=radio]):not([type=checkbox])::placeholder,
textarea::placeholder {
  color: rgb(var(--c-w));
}

input:not([type=radio]):not([type=checkbox]),
textarea,
select {
  padding: 1rem;
  border-style: solid;
  border-width: 1px;
  border-color: rgb(var(--c-w));
}

.form__button {
  max-width: 100%;
  height: 100%;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.float-right {
  float: right;
  margin-left: 3rem;
}

.float-left {
  float: left;
  margin-right: 3rem;
}

.clear {
  clear: both;
}

.underline {
  text-decoration: underline;
}

.border-bottom {
  border-bottom: 1px solid rgba(var(--c-w));
}

.line-height-1-2 {
  line-height: 1.2;
}

.line-height-1-4 {
  line-height: 1.4;
}

.line-height-1-6 {
  line-height: 1.6;
}

.line-height-1-8 {
  line-height: 1.8;
}

.grid {
  display: grid;
}

.cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.cols-2-768 {
  grid-template-columns: repeat(2, 1fr);
}

.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.g-gap-1 {
  grid-gap: 1rem;
}

.g-gap-2 {
  grid-gap: 2rem;
}

.flex {
  display: flex;
}

.fx-wrap-y {
  flex-wrap: wrap;
}

.fx-wrap-n {
  flex-wrap: nowrap;
}

.fx-direct-column {
  flex-direction: column;
}

.flex-direction-row {
  flex-direction: row;
}

.inline-flex {
  display: inline-flex;
}

.align-items-start {
  align-items: flex-start;
}

.align-items-center {
  align-items: center;
}

.justify-content-center {
  justify-content: center;
}

.inline-block {
  display: inline-block;
}

.gap-1 {
  gap: 1rem;
}

.gap-2 {
  gap: 2rem;
}

.gap-3 {
  gap: 3rem;
}

.m-0 {
  margin: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.m-1 {
  margin: 1rem;
}

.p-1 {
  padding: 1rem;
}

.m-2 {
  margin: 2rem;
}

.p-2 {
  padding: 2rem;
}

.m-3 {
  margin: 3rem;
}

.p-3 {
  padding: 3rem;
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: 1rem;
}

.mt-2 {
  margin-top: 2rem;
}

.mt-3 {
  margin-top: 3rem;
}

.mt-4 {
  margin-top: 4rem;
}

.pt-1 {
  padding-top: 1rem;
}

.pt-2 {
  padding-top: 2rem;
}

.pt-3 {
  padding-top: 3rem;
}

.mr-1 {
  margin-right: 1rem;
}

.mr-2 {
  margin-right: 2rem;
}

.mr-3 {
  margin-right: 3rem;
}

.pr-1 {
  padding-right: 1rem;
}

.pr-2 {
  padding-right: 2rem;
}

.pr-3 {
  padding-right: 3rem;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: 1rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.mb-3 {
  margin-bottom: 3rem;
}

.mb-4 {
  margin-bottom: 4rem;
}

.pb-1 {
  padding-bottom: 1rem;
}

.pb-2 {
  padding-bottom: 2rem;
}

.pb-3 {
  padding-bottom: 3rem;
}

.ml-1 {
  margin-left: 1rem;
}

.ml-2 {
  margin-left: 2rem;
}

.ml-3 {
  margin-left: 3rem;
}

.pl-1 {
  padding-left: 1rem;
}

.pl-2 {
  padding-left: 2rem;
}

.pl-3 {
  padding-left: 3rem;
}

.mv-1 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.mv-2 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.mv-3 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.pv-1 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.pv-2 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pv-3 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.mh-1 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.mh-2 {
  margin-left: 2rem;
  margin-right: 2rem;
}

.mh-3 {
  margin-left: 3rem;
  margin-right: 3rem;
}

.ph-1 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.ph-2 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.ph-3 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.margin-h {
  margin: 1rem 0;
}

.margin-w {
  margin: 0 1rem;
}

.padding-h {
  padding: 1rem 0;
}

.padding-w {
  padding: 0 1rem;
}

.title-h1 {
  font-size: 32px;
  text-transform: uppercase;
}

.title-h2 {
  font-size: 24px;
}

.title-h3 {
  font-size: 20px;
}

.content {
  /*margin: var(--content-offset) 0;*/
  color: rgb(var(--c-w));
}

.content p {
  margin: 1rem 0;
  color: white;
}

.content p:last-of-type {
  margin-bottom: 0;
}

.content p:first-of-type {
  margin-top: 0;
  margin-bottom: 1rem;
}

.content ul li {
  margin-bottom: 1rem;
}

.content ul li:last-child {
  margin-bottom: 0;
}

.content .table-wrapper {
  overflow-x: auto;
}

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

.content table tr {
  width: 100%;
}

.content table td,
.content table th {
  padding: .5rem;
  border-style: solid;
  border-width: 1px;
  border-color: rgb(var(--c-w));
  color: rgb(var(--c-w));
}

.content table td p,
.content table th p {
  margin: 0;
}

.content a {
  text-decoration: underline;

}

.content a:focus-visible {
  outline: 1px dashed rgb(var(--c-w));
  outline-offset: 2px;
  border-color: rgba(0,0,0,0);
}

.content a:hover {
  /*opacity: .75;*/
}

.content a:active {
  opacity: 1;
}

.page-menu {
  flex-wrap: wrap;
  align-items: center;
  color: rgb(var(--c-w));
}

.tabs {
  position: relative;
}

.tabs .tabs__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.tabs .tabs__item {
  flex-grow: 1;
  margin-bottom: 0;
}

.tabs .tabs__btn {
  max-width: 100%;
}

.tabs .tabs__btn--active {
  background-color: rgb(var(--c-w));
  color: rgb(var(--c-b));
  border-color: rgba(0,0,0,0);
  pointer-events: none;
}

/*.tabs .tabs__contents {*/
/*  overflow: hidden;*/
/*}*/

/*.tabs .tabs__content {*/
/*  display: block;*/
/*  height: 0;*/
/*  visibility: hidden;*/
/*  opacity: 0;*/
/*  overflow: hidden;*/
/*  transform: translateX(-150%);*/
/*  transition: .3s ease;*/
/*}*/

/*.tabs .tabs__content--active {*/
/*  height: auto;*/
/*  opacity: 1;*/
/*  visibility: visible;*/
/*  transform: translateX(0);*/
/*}*/

.tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.tags li {
  margin: 0;
}

.tags a {
  display: inline-block;
  padding: 6px;
  border: 1px solid rgba(var(--c-w));
  border-radius: 10px;
  /*text-decoration: none;*/
}

.uslugi>div {
  max-width: 190px;
  width: 100%;
  border: 1px solid rgba(var(--c-w));
  overflow: hidden;
}

.uslugi a {
  border: none;
}

.uslugi span {
  display: block;
  margin-top: auto;
}

.gallery img {
  aspect-ratio: 432/288;
}

.nav {
  color: rgb(var(--c-w));
}

.nav .nav__arrow {
  display: none;
}

.nav .nav__list {
  display: grid;
  grid-auto-flow: column;
  grid-gap: 1rem;
  justify-content: space-between;
}

.nav .nav__list li:hover>.nav__sublist {
  visibility: visible;
  opacity: 1;
  pointer-events: unset;
  -webkit-user-select: unset;
     -moz-user-select: unset;
          user-select: unset;
  transform: rotateX(0deg);
}

.nav .nav__item {
  padding: 1rem 0;
}

.nav .nav__sublist {
  position: absolute;
  top: 56px;
  z-index: 5;
  visibility: hidden;
  opacity: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  border-top: 1px solid rgba(255,255,255,.3);
  border-right: 1px solid rgba(255,255,255,.3);
  border-left: 1px solid rgba(255,255,255,.3);
  transform-origin: 0 0;
  transform: rotateX(-90deg);
  transition: .3s linear;
}

.nav .nav__sublist:hover {
  pointer-events: auto;
}

.nav .nav__sublist li {
  position: relative;
}

.nav .nav__sublist a {
  display: block;
  padding: 10px 20px;
  border-bottom: 1px solid rgba(255,255,255,.3);
  background-color: rgba(var(--c-b), 0.7);
  white-space: nowrap;
}

.nav .nav__sublist .nav__sublist {
  position: absolute;
  top: 0;
  left: 100%;
  transition: .3s linear;
}

.nav .nav__item--with-sublist a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav .nav__item--with-sublist>a:after {
  content: "▼";
  margin-left: 10px;
  font-size: 12px;
  transition: all .3s ease;
}

.nav .nav__item--with-sublist:hover>a:after,
.nav .nav__item--with-sublist.is-active>a:after {
  transform: rotate(180deg);
}

.mobile.menu .nav .nav__list {
  grid-auto-flow: row;
  grid-gap: 1rem;
}

.mobile.menu .nav .nav__item {
  padding: 0;
}

.mobile.menu .nav .nav__item--with-sublist {
  position: relative;
  padding-right: 20px;
}

.mobile.menu .nav .nav__item--with-sublist>a {
  margin-right: 20px;
}

.mobile.menu .nav .nav__arrow {
  position: absolute;
  top: 10px;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  margin: 0;
  border: none;
  background-color: rgba(0,0,0,0);
  font-size: 12px;
  transition: all .3s ease;
}

.mobile.menu .nav .nav__arrow.is-active {
  transform: rotate(180deg);
}

.mobile.menu .nav .nav__item--with-sublist.is-active .nav__sublist {
  display: grid;
  grid-auto-flow: row;
  grid-gap: 1rem;
  opacity: 1;
}

.mobile.menu .nav .nav__item--with-sublist a:after {
  display: none;
}

.mobile.menu .nav .nav__sublist {
  position: static;
  top: auto;
  z-index: unset;
  display: none;
  opacity: 0;
  margin-top: 1rem;
  visibility: unset;
  opacity: 1;
  -webkit-user-select: unset;
     -moz-user-select: unset;
          user-select: unset;
  pointer-events: unset;
  border: none;
  transform-origin: unset;
  transform: none;
  transition: all .3s linear;
}

.mobile.menu .nav .nav__sublist.is-active {
  display: grid;
  grid-auto-flow: row;
  grid-gap: 1rem;
  opacity: 1;
}

.mobile.menu .nav .nav__sublist a {
  padding: 0;
  border: none;
  background-color: rgba(var(--c-b), 0.7);
  white-space: nowrap;
}

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the Hippocratic License 2.1 - http://firstdonoharm.dev
 *
 * Copyright (c) 2022 Animate.css
 */

:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}

.animate__animated {
  animation-duration: 1s;
  animation-duration: var(--animate-duration);
  animation-fill-mode: both;
}

.animate__animated.animate__infinite {
  animation-iteration-count: infinite;
}

.animate__animated.animate__repeat-1 {
  animation-iteration-count: 1;
  animation-iteration-count: var(--animate-repeat);
}

.animate__animated.animate__repeat-2 {
  animation-iteration-count: 2;
  animation-iteration-count: calc(var(--animate-repeat)*2);
}

.animate__animated.animate__repeat-3 {
  animation-iteration-count: 3;
  animation-iteration-count: calc(var(--animate-repeat)*3);
}

.animate__animated.animate__delay-1s {
  animation-delay: 1s;
  animation-delay: var(--animate-delay);
}

.animate__animated.animate__delay-2s {
  animation-delay: 2s;
  animation-delay: calc(var(--animate-delay)*2);
}

.animate__animated.animate__delay-3s {
  animation-delay: 3s;
  animation-delay: calc(var(--animate-delay)*3);
}

.animate__animated.animate__delay-4s {
  animation-delay: 4s;
  animation-delay: calc(var(--animate-delay)*4);
}

.animate__animated.animate__delay-5s {
  animation-delay: 5s;
  animation-delay: calc(var(--animate-delay)*5);
}

.animate__animated.animate__faster {
  animation-duration: .5s;
  animation-duration: calc(var(--animate-duration)/2);
}

.animate__animated.animate__fast {
  animation-duration: .8s;
  animation-duration: calc(var(--animate-duration)*.8);
}

.animate__animated.animate__slow {
  animation-duration: 2s;
  animation-duration: calc(var(--animate-duration)*2);
}

.animate__animated.animate__slower {
  animation-duration: 3s;
  animation-duration: calc(var(--animate-duration)*3);
}

@keyframes bounce {
  0%, 20%, 53%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translateZ(0);
  }

  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    transform: translateZ(0) scaleY(0.95);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  90% {
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}

.animate__bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}

@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.animate__flash {
  animation-name: flash;
}

@keyframes pulse {
  0% {
    transform: scaleX(1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    transform: scaleX(1);
  }
}

.animate__pulse {
  animation-name: pulse;
  animation-timing-function: ease-in-out;
}

@keyframes rubberBand {
  0% {
    transform: scaleX(1);
  }

  30% {
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    transform: scaleX(1);
  }
}

.animate__rubberBand {
  animation-name: rubberBand;
}

@keyframes shakeX {
  0%, to {
    transform: translateZ(0);
  }

  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}

.animate__shakeX {
  animation-name: shakeX;
}

@keyframes shakeY {
  0%, to {
    transform: translateZ(0);
  }

  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(0, -10px, 0);
  }

  20%, 40%, 60%, 80% {
    transform: translate3d(0, 10px, 0);
  }
}

.animate__shakeY {
  animation-name: shakeY;
}

@keyframes headShake {
  0% {
    transform: translateX(0);
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    transform: translateX(0);
  }
}

.animate__headShake {
  animation-name: headShake;
  animation-timing-function: ease-in-out;
}

@keyframes swing {
  20% {
    transform: rotate(15deg);
  }

  40% {
    transform: rotate(-10deg);
  }

  60% {
    transform: rotate(5deg);
  }

  80% {
    transform: rotate(-5deg);
  }

  to {
    transform: rotate(0deg);
  }
}

.animate__swing {
  animation-name: swing;
  transform-origin: top center;
}

@keyframes tada {
  0% {
    transform: scaleX(1);
  }

  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
  }

  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
  }

  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
  }

  to {
    transform: scaleX(1);
  }
}

.animate__tada {
  animation-name: tada;
}

@keyframes wobble {
  0% {
    transform: translateZ(0);
  }

  15% {
    transform: translate3d(-25%, 0, 0) rotate(-5deg);
  }

  30% {
    transform: translate3d(20%, 0, 0) rotate(3deg);
  }

  45% {
    transform: translate3d(-15%, 0, 0) rotate(-3deg);
  }

  60% {
    transform: translate3d(10%, 0, 0) rotate(2deg);
  }

  75% {
    transform: translate3d(-5%, 0, 0) rotate(-1deg);
  }

  to {
    transform: translateZ(0);
  }
}

.animate__wobble {
  animation-name: wobble;
}

@keyframes jello {
  0%, 11.1%, to {
    transform: translateZ(0);
  }

  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.animate__jello {
  animation-name: jello;
  transform-origin: center;
}

@keyframes heartBeat {
  0% {
    transform: scale(1);
  }

  14% {
    transform: scale(1.3);
  }

  28% {
    transform: scale(1);
  }

  42% {
    transform: scale(1.3);
  }

  70% {
    transform: scale(1);
  }
}

.animate__heartBeat {
  animation-duration: 1.3s;
  animation-duration: calc(var(--animate-duration)*1.3);
  animation-name: heartBeat;
  animation-timing-function: ease-in-out;
}

@keyframes backInDown {
  0% {
    opacity: .7;
    transform: translateY(-1200px) scale(0.7);
  }

  80% {
    opacity: .7;
    transform: translateY(0) scale(0.7);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate__backInDown {
  animation-name: backInDown;
}

@keyframes backInLeft {
  0% {
    opacity: .7;
    transform: translateX(-2000px) scale(0.7);
  }

  80% {
    opacity: .7;
    transform: translateX(0) scale(0.7);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate__backInLeft {
  animation-name: backInLeft;
}

@keyframes backInRight {
  0% {
    opacity: .7;
    transform: translateX(2000px) scale(0.7);
  }

  80% {
    opacity: .7;
    transform: translateX(0) scale(0.7);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate__backInRight {
  animation-name: backInRight;
}

@keyframes backInUp {
  0% {
    opacity: .7;
    transform: translateY(1200px) scale(0.7);
  }

  80% {
    opacity: .7;
    transform: translateY(0) scale(0.7);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate__backInUp {
  animation-name: backInUp;
}

@keyframes backOutDown {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  20% {
    opacity: .7;
    transform: translateY(0) scale(0.7);
  }

  to {
    opacity: .7;
    transform: translateY(700px) scale(0.7);
  }
}

.animate__backOutDown {
  animation-name: backOutDown;
}

@keyframes backOutLeft {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  20% {
    opacity: .7;
    transform: translateX(0) scale(0.7);
  }

  to {
    opacity: .7;
    transform: translateX(-2000px) scale(0.7);
  }
}

.animate__backOutLeft {
  animation-name: backOutLeft;
}

@keyframes backOutRight {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  20% {
    opacity: .7;
    transform: translateX(0) scale(0.7);
  }

  to {
    opacity: .7;
    transform: translateX(2000px) scale(0.7);
  }
}

.animate__backOutRight {
  animation-name: backOutRight;
}

@keyframes backOutUp {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  20% {
    opacity: .7;
    transform: translateY(0) scale(0.7);
  }

  to {
    opacity: .7;
    transform: translateY(-700px) scale(0.7);
  }
}

.animate__backOutUp {
  animation-name: backOutUp;
}

@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

.animate__bounceIn {
  animation-duration: .75s;
  animation-duration: calc(var(--animate-duration)*.75);
  animation-name: bounceIn;
}

@keyframes bounceInDown {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    transform: translateZ(0);
  }
}

.animate__bounceInDown {
  animation-name: bounceInDown;
}

@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translateZ(0);
  }
}

.animate__bounceInLeft {
  animation-name: bounceInLeft;
}

@keyframes bounceInRight {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translateZ(0);
  }
}

.animate__bounceInRight {
  animation-name: bounceInRight;
}

@keyframes bounceInUp {
  0%, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    transform: translateZ(0);
  }
}

.animate__bounceInUp {
  animation-name: bounceInUp;
}

@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

.animate__bounceOut {
  animation-duration: .75s;
  animation-duration: calc(var(--animate-duration)*.75);
  animation-name: bounceOut;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}

.animate__bounceOutDown {
  animation-name: bounceOutDown;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}

.animate__bounceOutLeft {
  animation-name: bounceOutLeft;
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}

.animate__bounceOutRight {
  animation-name: bounceOutRight;
}

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}

.animate__bounceOutUp {
  animation-name: bounceOutUp;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.animate__fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInDownBig {
  animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInRightBig {
  animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInUpBig {
  animation-name: fadeInUpBig;
}

@keyframes fadeInTopLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInTopLeft {
  animation-name: fadeInTopLeft;
}

@keyframes fadeInTopRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInTopRight {
  animation-name: fadeInTopRight;
}

@keyframes fadeInBottomLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInBottomLeft {
  animation-name: fadeInBottomLeft;
}

@keyframes fadeInBottomRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInBottomRight {
  animation-name: fadeInBottomRight;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.animate__fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

.animate__fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.animate__fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}

.animate__fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.animate__fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}

.animate__fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.animate__fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}

.animate__fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.animate__fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@keyframes fadeOutTopLeft {
  0% {
    opacity: 1;
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
}

.animate__fadeOutTopLeft {
  animation-name: fadeOutTopLeft;
}

@keyframes fadeOutTopRight {
  0% {
    opacity: 1;
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
}

.animate__fadeOutTopRight {
  animation-name: fadeOutTopRight;
}

@keyframes fadeOutBottomRight {
  0% {
    opacity: 1;
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
}

.animate__fadeOutBottomRight {
  animation-name: fadeOutBottomRight;
}

@keyframes fadeOutBottomLeft {
  0% {
    opacity: 1;
    transform: translateZ(0);
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
}

.animate__fadeOutBottomLeft {
  animation-name: fadeOutBottomLeft;
}

@keyframes flip {
  0% {
    animation-timing-function: ease-out;
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
  }

  40% {
    animation-timing-function: ease-out;
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
  }

  50% {
    animation-timing-function: ease-in;
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
  }

  80% {
    animation-timing-function: ease-in;
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translateZ(0) rotateY(0deg);
  }

  to {
    animation-timing-function: ease-in;
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
  }
}

.animate__animated.animate__flip {
  animation-name: flip;
  backface-visibility: visible;
}

@keyframes flipInX {
  0% {
    animation-timing-function: ease-in;
    opacity: 0;
    transform: perspective(400px) rotateX(90deg);
  }

  40% {
    animation-timing-function: ease-in;
    transform: perspective(400px) rotateX(-20deg);
  }

  60% {
    opacity: 1;
    transform: perspective(400px) rotateX(10deg);
  }

  80% {
    transform: perspective(400px) rotateX(-5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.animate__flipInX {
  animation-name: flipInX;
  backface-visibility: visible !important;
}

@keyframes flipInY {
  0% {
    animation-timing-function: ease-in;
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
  }

  40% {
    animation-timing-function: ease-in;
    transform: perspective(400px) rotateY(-20deg);
  }

  60% {
    opacity: 1;
    transform: perspective(400px) rotateY(10deg);
  }

  80% {
    transform: perspective(400px) rotateY(-5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.animate__flipInY {
  animation-name: flipInY;
  backface-visibility: visible !important;
}

@keyframes flipOutX {
  0% {
    transform: perspective(400px);
  }

  30% {
    opacity: 1;
    transform: perspective(400px) rotateX(-20deg);
  }

  to {
    opacity: 0;
    transform: perspective(400px) rotateX(90deg);
  }
}

.animate__flipOutX {
  animation-duration: .75s;
  animation-duration: calc(var(--animate-duration)*.75);
  animation-name: flipOutX;
  backface-visibility: visible !important;
}

@keyframes flipOutY {
  0% {
    transform: perspective(400px);
  }

  30% {
    opacity: 1;
    transform: perspective(400px) rotateY(-15deg);
  }

  to {
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
  }
}

.animate__flipOutY {
  animation-duration: .75s;
  animation-duration: calc(var(--animate-duration)*.75);
  animation-name: flipOutY;
  backface-visibility: visible !important;
}

@keyframes lightSpeedInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0) skewX(-30deg);
  }

  60% {
    opacity: 1;
    transform: skewX(20deg);
  }

  80% {
    transform: skewX(-5deg);
  }

  to {
    transform: translateZ(0);
  }
}

.animate__lightSpeedInRight {
  animation-name: lightSpeedInRight;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) skewX(30deg);
  }

  60% {
    opacity: 1;
    transform: skewX(-20deg);
  }

  80% {
    transform: skewX(5deg);
  }

  to {
    transform: translateZ(0);
  }
}

.animate__lightSpeedInLeft {
  animation-name: lightSpeedInLeft;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedOutRight {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) skewX(30deg);
  }
}

.animate__lightSpeedOutRight {
  animation-name: lightSpeedOutRight;
  animation-timing-function: ease-in;
}

@keyframes lightSpeedOutLeft {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
  }
}

.animate__lightSpeedOutLeft {
  animation-name: lightSpeedOutLeft;
  animation-timing-function: ease-in;
}

@keyframes rotateIn {
  0% {
    opacity: 0;
    transform: rotate(-200deg);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__rotateIn {
  animation-name: rotateIn;
  transform-origin: center;
}

@keyframes rotateInDownLeft {
  0% {
    opacity: 0;
    transform: rotate(-45deg);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__rotateInDownLeft {
  animation-name: rotateInDownLeft;
  transform-origin: left bottom;
}

@keyframes rotateInDownRight {
  0% {
    opacity: 0;
    transform: rotate(45deg);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__rotateInDownRight {
  animation-name: rotateInDownRight;
  transform-origin: right bottom;
}

@keyframes rotateInUpLeft {
  0% {
    opacity: 0;
    transform: rotate(45deg);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__rotateInUpLeft {
  animation-name: rotateInUpLeft;
  transform-origin: left bottom;
}

@keyframes rotateInUpRight {
  0% {
    opacity: 0;
    transform: rotate(-90deg);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__rotateInUpRight {
  animation-name: rotateInUpRight;
  transform-origin: right bottom;
}

@keyframes rotateOut {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: rotate(200deg);
  }
}

.animate__rotateOut {
  animation-name: rotateOut;
  transform-origin: center;
}

@keyframes rotateOutDownLeft {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: rotate(45deg);
  }
}

.animate__rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
  transform-origin: left bottom;
}

@keyframes rotateOutDownRight {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: rotate(-45deg);
  }
}

.animate__rotateOutDownRight {
  animation-name: rotateOutDownRight;
  transform-origin: right bottom;
}

@keyframes rotateOutUpLeft {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: rotate(-45deg);
  }
}

.animate__rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
  transform-origin: left bottom;
}

@keyframes rotateOutUpRight {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: rotate(90deg);
  }
}

.animate__rotateOutUpRight {
  animation-name: rotateOutUpRight;
  transform-origin: right bottom;
}

@keyframes hinge {
  0% {
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    animation-timing-function: ease-in-out;
    transform: rotate(80deg);
  }

  40%, 80% {
    animation-timing-function: ease-in-out;
    opacity: 1;
    transform: rotate(60deg);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 700px, 0);
  }
}

.animate__hinge {
  animation-duration: 2s;
  animation-duration: calc(var(--animate-duration)*2);
  animation-name: hinge;
  transform-origin: top left;
}

@keyframes jackInTheBox {
  0% {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }

  50% {
    transform: rotate(-10deg);
  }

  70% {
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate__jackInTheBox {
  animation-name: jackInTheBox;
}

@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate(-120deg);
  }

  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__rollIn {
  animation-name: rollIn;
}

@keyframes rollOut {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate(120deg);
  }
}

.animate__rollOut {
  animation-name: rollOut;
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

.animate__zoomIn {
  animation-name: zoomIn;
}

@keyframes zoomInDown {
  0% {
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
  }

  60% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  }
}

.animate__zoomInDown {
  animation-name: zoomInDown;
}

@keyframes zoomInLeft {
  0% {
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
  }

  60% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
  }
}

.animate__zoomInLeft {
  animation-name: zoomInLeft;
}

@keyframes zoomInRight {
  0% {
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
  }

  60% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
  }
}

.animate__zoomInRight {
  animation-name: zoomInRight;
}

@keyframes zoomInUp {
  0% {
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
  }

  60% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  }
}

.animate__zoomInUp {
  animation-name: zoomInUp;
}

@keyframes zoomOut {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

.animate__zoomOut {
  animation-name: zoomOut;
}

@keyframes zoomOutDown {
  40% {
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
  }

  to {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
  }
}

.animate__zoomOutDown {
  animation-name: zoomOutDown;
  transform-origin: center bottom;
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}

.animate__zoomOutLeft {
  animation-name: zoomOutLeft;
  transform-origin: left center;
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}

.animate__zoomOutRight {
  animation-name: zoomOutRight;
  transform-origin: right center;
}

@keyframes zoomOutUp {
  40% {
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
  }

  to {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
  }
}

.animate__zoomOutUp {
  animation-name: zoomOutUp;
  transform-origin: center bottom;
}

@keyframes slideInDown {
  0% {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translateZ(0);
  }
}

.animate__slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translateZ(0);
  }
}

.animate__slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translateZ(0);
  }
}

.animate__slideInRight {
  animation-name: slideInRight;
}

@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translateZ(0);
  }
}

.animate__slideInUp {
  animation-name: slideInUp;
}

@keyframes slideOutDown {
  0% {
    transform: translateZ(0);
  }

  to {
    transform: translate3d(0, 100%, 0);
    visibility: hidden;
  }
}

.animate__slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  0% {
    transform: translateZ(0);
  }

  to {
    transform: translate3d(-100%, 0, 0);
    visibility: hidden;
  }
}

.animate__slideOutLeft {
  animation-name: slideOutLeft;
}

@keyframes slideOutRight {
  0% {
    transform: translateZ(0);
  }

  to {
    transform: translate3d(100%, 0, 0);
    visibility: hidden;
  }
}

.animate__slideOutRight {
  animation-name: slideOutRight;
}

@keyframes slideOutUp {
  0% {
    transform: translateZ(0);
  }

  to {
    transform: translate3d(0, -100%, 0);
    visibility: hidden;
  }
}

.animate__slideOutUp {
  animation-name: slideOutUp;
}

.header {
  color: rgb(var(--c-w));
}

.header button,
.header .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 18.75rem;
  width: 100%;
  padding: 1rem 3rem;
  line-height: 1;
  border-style: solid;
  border-width: 1px;
  border-color: rgb(var(--c-w));
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}

.header .btn-empty {
  background-color: rgba(0,0,0,0);
  color: rgb(var(--c-w));
  transition: color .3s ease,background-color .3s ease,border-color .3s ease,opacity .3s ease;
}

.header .btn-empty:focus-visible {
  outline: 1px dashed rgb(var(--c-w));
}

.header .btn-empty:hover {
  background-color: rgb(var(--c-w));
  border-color: rgba(0,0,0,0);
  color: rgb(var(--c-b));
  opacity: 1;
}

.header .btn-empty:active {
  opacity: .75;
}

.limit {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--limit);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--p-limit);
  padding-right: var(--p-limit);
}

.top__grid {
  display: grid;
  grid-gap: 2rem;
  grid-template-columns: 1fr 8rem 1fr;
}

.pv-1 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.bg-b-70 {
  background-color: rgba(var(--c-b), 0.7);
}

@media (min-width: 36.06em) {
  .fx-basis-50-576>* {
    flex-basis: 50%;
  }

  .align-items-center-576 {
    align-items: center;
  }
  .content .table {
    min-width: 500px;
  }
}

@media (min-width: 48.06em) {
  .fx-basis-50-768>* {
    flex-basis: 50%;
  }

  .align-items-center-768 {
    align-items: center;
  }

  .top .nav__button {
    display: none;
  }

  .nav__info {
    display: none;
  }
}

@media (min-width: 180.06em) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 2rem 0;
  }

  input:not([type=radio]):not([type=checkbox]),
  textarea,
  select {
    padding: 2rem;
    border-width: 2px;
  }

  .g-gap-1 {
    grid-gap: 2rem;
  }

  .g-gap-2 {
    grid-gap: 4rem;
  }

  .gap-1 {
    gap: 2rem;
  }

  .gap-2 {
    gap: 4rem;
  }

  .gap-3 {
    gap: 6rem;
  }

  .m-1 {
    margin: 2rem;
  }

  .p-1 {
    padding: 2rem;
  }

  .m-2 {
    margin: 4rem;
  }

  .p-2 {
    padding: 4rem;
  }

  .m-3 {
    margin: 6rem;
  }

  .p-3 {
    padding: 6rem;
  }

  .mt-1 {
    margin-top: 2rem;
  }

  .mt-2 {
    margin-top: 4rem;
  }

  .mt-3 {
    margin-top: 6rem;
  }

  .mt-4 {
    margin-top: 8rem;
  }

  .pt-1 {
    padding-top: 2rem;
  }

  .pt-2 {
    padding-top: 4rem;
  }

  .pt-3 {
    padding-top: 6rem;
  }

  .mr-1 {
    margin-right: 2rem;
  }

  .mr-2 {
    margin-right: 4rem;
  }

  .mr-3 {
    margin-right: 6rem;
  }

  .pr-1 {
    padding-right: 2rem;
  }

  .pr-2 {
    padding-right: 4rem;
  }

  .pr-3 {
    padding-right: 6rem;
  }

  .mb-1 {
    margin-bottom: 2rem;
  }

  .mb-2 {
    margin-bottom: 4rem;
  }

  .mb-3 {
    margin-bottom: 6rem;
  }

  .mb-4 {
    margin-bottom: 8rem;
  }

  .pb-1 {
    padding-bottom: 2rem;
  }

  .pb-2 {
    padding-bottom: 4rem;
  }

  .pb-3 {
    padding-bottom: 6rem;
  }

  .ml-1 {
    margin-left: 2rem;
  }

  .ml-2 {
    margin-left: 4rem;
  }

  .ml-3 {
    margin-left: 6rem;
  }

  .pl-1 {
    padding-left: 2rem;
  }

  .pl-2 {
    padding-left: 4rem;
  }

  .pl-3 {
    padding-left: 6rem;
  }

  .mv-1 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .mv-2 {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }

  .mv-3 {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  .pv-1 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .pv-2 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .pv-3 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .mh-1 {
    margin-left: 2rem;
    margin-right: 2rem;
  }

  .mh-2 {
    margin-left: 4rem;
    margin-right: 4rem;
  }

  .mh-3 {
    margin-left: 6rem;
    margin-right: 6rem;
  }

  .ph-1 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .ph-2 {
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .ph-3 {
    padding-left: 6rem;
    padding-right: 6rem;
  }

  .margin-h {
    margin: 2rem 0;
  }

  .margin-w {
    margin: 0 2rem;
  }

  .padding-h {
    padding: 2rem 0;
  }

  .padding-w {
    padding: 0 2rem;
  }

  .content p {
    margin: 2rem 0;
  }

  .content p:first-of-type {
    margin-bottom: 2rem;
  }

  .content a:focus-visible {
    outline: 2px dashed rgb(var(--c-w));
    outline-offset: 4px;
  }
}

@media (min-width: 240.06em) {
  .body {
    font-size: 32px;
  }

  button,
  .btn {
    max-width: 37.5rem;
    padding: 2rem 6rem;
    border-width: 2px;
  }

  .float-right {
    margin-left: 6rem;
  }

  .float-left {
    margin-right: 6rem;
  }

  .title-h1 {
    font-size: 128px;
  }

  .title-h2 {
    font-size: 96px;
  }

  .title-h3 {
    font-size: 36px;
  }

  .content table td,
  .content table th {
    padding: 1rem;
  }

  .tags {
    gap: 16px;
  }

  .uslugi>div {
    max-width: 380px;
  }

  .header button,
  .header .btn {
    max-width: 37.5rem;
    padding: 2rem 6rem;
    border-width: 2px;
  }
}

@media (min-width: 3840.96px) {
  .tags a {
    padding: 12px;
  }
}

@media (max-width: 50em) {
  .cols-3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 48em) {
  .container,
  .limit {
    padding: 0 2rem;
  }

  .cols-2-768 {
    grid-template-columns: repeat(1, 1fr);
  }

  .fx-direct-column-768 {
    flex-direction: column;
  }

  .top__grid {
    grid-template-columns: 8rem 1fr;
  }
}

@media (max-width: 36em) {
  .container,
  .limit {
    padding: 0.5rem 1rem;
  }

  .cols-2 {
    grid-template-columns: repeat(1, 1fr);
  }

  .cols-3 {
    grid-template-columns: repeat(1, 1fr);
  }

  .cols-4 {
    grid-template-columns: repeat(1, 1fr);
  }

  .flex {
    flex-direction: column;
  }

  .fx-direct-column-576 {
    flex-direction: column;
  }

  .page-menu {
    flex-direction: row;
  }
}

@media (max-width: 22em) {
  .content img {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

@media (min-width: 120.06em)and (max-width: 240em) {
  .body {
    font-size: calc(1rem + (32 - 16) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  button,
  .btn {
    max-width: calc(18.75rem + (600 - 300) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  button,
  .btn {
    padding-top: calc(1rem + (32 - 16) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  button,
  .btn {
    padding-bottom: calc(1rem + (32 - 16) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  button,
  .btn {
    padding-right: calc(3rem + (96 - 48) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  button,
  .btn {
    padding-left: calc(3rem + (96 - 48) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  button,
  .btn {
    border-width: calc(1px + (2 - 1) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  input:not([type=radio]):not([type=checkbox]),
  textarea,
  select {
    padding: calc(1rem + (32 - 16) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .float-right {
    margin-left: calc(0.1875rem + (6 - 3) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .float-left {
    margin-right: calc(0.1875rem + (6 - 3) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .title-h1 {
    font-size: calc(64px + (128 - 64) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .title-h2 {
    font-size: calc(48px + (96 - 48) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .title-h3 {
    font-size: calc(24px + (36 - 24) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .content table td,
  .content table th {
    padding: calc(0.5rem + (16 - 8) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .tags {
    gap: calc(8px + (16 - 8) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .tags a {
    padding: calc(6px + (12 - 6) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .uslugi>div {
    max-width: calc(190px + (380 - 190) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .header button,
  .header .btn {
    max-width: calc(18.75rem + (600 - 300) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .header button,
  .header .btn {
    padding-top: calc(1rem + (32 - 16) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .header button,
  .header .btn {
    padding-bottom: calc(1rem + (32 - 16) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .header button,
  .header .btn {
    padding-right: calc(3rem + (96 - 48) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .header button,
  .header .btn {
    padding-left: calc(3rem + (96 - 48) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }

  .header button,
  .header .btn {
    border-width: calc(1px + (2 - 1) * ((100vw - 1920.96px) / (3840 - 1920.96)));
  }
}

@media (min-width: 20em)and (max-width: 120em) {
  .title-h1 {
    font-size: calc(32px + (64 - 32) * ((100vw - 320px) / (1920 - 320)));
  }

  .title-h2 {
    font-size: calc(24px + (48 - 28) * ((100vw - 320px) / (1920 - 320)));
  }

  .title-h3 {
    font-size: calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320)));
  }
}

@media (prefers-reduced-motion: reduce),print {
  .animate__animated {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }

  .animate__animated[class*=Out] {
    opacity: 0;
  }
}