@font-face {
  font-family: 'NeueFrutigerWorldW05-Light';
  src: url("../fonts/NeueFrutigerWorldW05-Light.woff2") format("woff2"), url("../fonts/NeueFrutigerWorldW05-Light.woff") format("woff");
}

@font-face {
  font-family: 'NeueFrutigerWorldW05-bold';
  src: url("../fonts/NeueFrutigerWorldW05-Bold.woff2") format("woff2"), url("../fonts/NeueFrutigerWorldW05-Bold.woff") format("woff");
}

/* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none !important;
}

a {
  background-color: transparent;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  padding: 0;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}

input[type='search'] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

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

td,
th {
  padding: 0;
}

html {
  box-sizing: border-box;
  overflow-y: scroll;
}

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

@-moz-viewport {
  width: device-width;
}

@-ms-viewport {
  width: device-width;
}

@-o-viewport {
  width: device-width;
}

@-webkit-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

html {
  font-size: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  line-height: 1.625;
  color: #373a3c;
  background-color: #fff;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

abbr[title],
abbr[data-original-title] {
  cursor: help;
}

ol,
ul,
dl {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

pre {
  margin: 0;
}

img {
  vertical-align: middle;
}

[role='button'] {
  cursor: pointer;
}

a,
area,
button,
[role='button'],
input,
label,
select,
summary,
textarea {
  touch-action: manipulation;
}

th {
  text-align: left;
}

label {
  display: inline-block;
  margin: 0;
}

input,
button,
select,
textarea {
  margin: 0;
  line-height: inherit;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  border: 0;
}

input[type='search'] {
  box-sizing: inherit;
  -webkit-appearance: none;
}

body {
  overflow-x: hidden;
  overflow-y: hidden;
}

.layout {
  display: flex;
  flex-direction: row;
  min-height: 100%;
  min-height: 100vh;
  position: relative;
  max-width: 6832px;
  max-height: 3840px;
  width: 100%;
}

.layout .main {
  display: flex;
  flex-direction: row;
  flex: 0 1 auto;
  width: 100%;
}

.layout .main::after {
  content: '';
  display: block;
  height: 0px;
  visibility: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  line-height: 1.3;
}

h1 {
  font-family: "NeueFrutigerWorldW05-Light";
  color: #fff;
  font-weight: normal;
  line-height: 1.2;
  font-size: 160px;
  max-width: 100%;
  margin-left: 10%;
}

@media screen and (max-width: 3840px) {
  h1 {
    font-size: 100px;
  }
}

@media screen and (max-width: 1921px) {
  h1 {
    font-size: 46px;
  }
}

@media screen and (max-width: 1441px) {
  h1 {
    font-size: 36px;
  }
}

@media screen and (max-width: 1032px) {
  h1 {
    font-size: 27px;
  }
}

@media screen and (max-width: 900px) {
  h1 {
    font-size: 18px;
  }
}

h1.intro {
  max-width: 1400px;
  margin: 0 auto;
}

@media screen and (max-width: 3840px) {
  h1.intro {
    font-size: 100px;
    max-width: 834px;
  }
}

@media screen and (max-width: 1921px) {
  h1.intro {
    max-width: 390px;
    font-size: 46px;
  }
}

@media screen and (max-width: 1441px) {
  h1.intro {
    max-width: 320px;
    font-size: 36px;
  }
}

@media screen and (max-width: 900px) {
  h1.intro {
    font-size: 20px;
    max-width: 178px;
  }
}

h1 span.bold {
  font-family: "NeueFrutigerWorldW05-bold";
}

h2 {
  font-size: 2.125rem;
  font-weight: 700;
}

p {
  margin: 0;
}

.lead {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.4;
}

@media (min-width: 670px) {
  .lead {
    font-size: 2rem;
  }
}

a:focus,
button:focus,
input:focus {
  outline: 5px solid #fc6767;
}

.js-focus-visible :focus:not(.focus-visible) {
  outline: none;
}

[tabindex='-1']:focus {
  outline: none !important;
}

.sr-skip-link:focus {
  outline: none;
}

a:focus:hover {
  outline: none;
}

.u-mt0 {
  margin-top: 0 !important;
}

.u-mt1 {
  margin-top: 1rem !important;
}

.u-mt2 {
  margin-top: 2rem !important;
}

.u-mt3 {
  margin-top: 3rem !important;
}

.u-mt4 {
  margin-top: 4rem !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-mb1 {
  margin-bottom: 1rem !important;
}

.u-mb2 {
  margin-bottom: 2rem !important;
}

.u-mb3 {
  margin-bottom: 3rem !important;
}

.u-mb4 {
  margin-bottom: 4rem !important;
}

.u-align-left {
  text-align: left !important;
}

.u-align-center {
  text-align: center !important;
}

.u-align-right {
  text-align: right !important;
}

@media (min-width: 670px) {
  .u-mobile-only {
    display: none !important;
  }
}

@media (min-width: 940px) {
  .u-tablet-only {
    display: none !important;
  }
}

@media (max-width: 939px) {
  .u-desktop-only {
    display: none !important;
  }
}

@media not print {
  .u-print-only {
    display: none !important;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.sr-skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

.sr-skip-link:active, .sr-skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.sr-skip-link:focus {
  position: absolute;
  z-index: 9999;
  left: 50%;
  top: 0;
  font-size: 1rem;
  transform: translateX(-50%);
  background-color: #373a3c;
  color: #fff;
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 1rem 1.5rem;
  outline: 0;
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01s !important;
    transition-duration: 0.01s !important;
  }
}

.header {
  padding: 2rem 0;
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav__menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  background-color: #fff;
}

.nav__link {
  display: block;
  padding: 0.5em 1em;
}

.nav__toggle {
  border: 0;
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
}

@media (max-width: 939px) {
  .nav.is-open .nav__menu {
    display: block;
  }
}

@media (min-width: 940px) {
  .nav__toggle {
    display: none;
  }
  .nav__menu {
    display: flex;
    position: static;
    background-color: transparent;
  }
}

.footer {
  font-size: 0.875rem;
  padding: 2rem 0;
  background-color: #f7f7f9;
}

.footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.icon {
  display: inline-block;
  font-size: 1.5em;
  height: 1em;
  width: 1em;
  vertical-align: middle;
  fill: currentColor;
  pointer-events: none;
}

.menuicon {
  display: block;
  width: 18px;
  height: 16px;
  position: relative;
  transform: rotate(0deg);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  margin: 0 auto;
}

.menuicon__bar {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  width: 100%;
  background-color: currentColor;
  transform: rotate(0deg);
  transition: transform 0.25s ease-in-out;
}

.menuicon__bar:nth-child(1) {
  top: 0px;
}

.menuicon__bar:nth-child(2), .menuicon__bar:nth-child(3) {
  top: 50%;
}

.menuicon__bar:nth-child(4) {
  top: 100%;
}

.is-open .menuicon {
  top: 2px;
  transform: rotate(-180deg);
}

.is-open .menuicon .menuicon__bar:nth-child(1), .is-open .menuicon .menuicon__bar:nth-child(4) {
  width: 0;
  top: 50%;
  left: 50%;
}

.is-open .menuicon .menuicon__bar:nth-child(2) {
  transform: rotate(45deg);
}

.is-open .menuicon .menuicon__bar:nth-child(3) {
  transform: rotate(-45deg);
}

/*!
 * 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: 0.1s;
  --animate-repeat: 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }
  .animate__animated[class*='Out'] {
    opacity: 0;
  }
}

/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}

@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}

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

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}

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

.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

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

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX;
}

@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}

@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}

.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

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

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

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

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg);
  }
}

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg);
  }
}

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

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

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

/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown;
}

@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft;
}

@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight;
}

@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp;
}

/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}

@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown;
}

@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}

@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft;
}

@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}

@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight;
}

@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}

@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp;
}

/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

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

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

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

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}

.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

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

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

.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

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

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

.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}

.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

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

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

.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

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

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

.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

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

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

.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft;
}

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

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

.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight;
}

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

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

.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft;
}

@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight;
}

/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}

@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}

.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft;
}

@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}

@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}

.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight;
}

@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}

@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}

.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight;
}

@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}

@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}

.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft;
}

/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

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

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

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

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

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

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

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

/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

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

@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

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

@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}

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

/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

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

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

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

/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

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

/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

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

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

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

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

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

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}

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

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

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

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

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

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

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

/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

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

.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

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

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

.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

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

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

.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

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

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

.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: '';
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

html {
  overflow-x: hidden;
  overflow-y: hidden;
  background: #000;
}

body {
  background: #000;
  color: #fff;
  font-size: 70px;
  font-family: "NeueFrutigerWorldW05-Light";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.screen-section {
  width: 33.33%;
  position: relative;
  z-index: 1;
}

.screen-section:last-child {
  margin-right: 0;
}

#background-video {
  position: absolute;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 0;
}

#background-video video {
  object-fit: cover;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}

.switch-button {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 800px;
  height: 800px;
}

.switch-button a {
  display: flex;
  width: 800px;
  height: 800px;
}

.roll-up {
  position: relative;
  bottom: 0;
  animation: slideUp 0.8s;
  margin-right: 21px;
  animation-timing-function: ease-in;
  animation-direction: alternate;
}

@media screen and (max-width: 3840px) {
  .roll-up {
    margin-right: 0;
  }
}

@media screen and (max-width: 1921px) {
  .roll-up {
    margin-right: 0;
  }
}

@media screen and (max-width: 1441px) {
  .roll-up {
    margin-right: 0;
  }
}

.roll-up-two {
  position: relative;
  bottom: 0;
  animation: slideUp 0.6s;
  animation-timing-function: ease-in;
  animation-direction: alternate;
  margin-right: 40px;
  margin-left: 20px;
}

@media screen and (max-width: 1921px) {
  .roll-up-two {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media screen and (max-width: 1921px) {
  .roll-up-two {
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 1441px) {
  .roll-up-two {
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 900px) {
  .roll-up-two {
    margin-left: 5px;
    margin-right: 5px;
  }
}

.roll-up-three {
  position: relative;
  bottom: 0;
  animation: slideUp 0.8s;
  animation-timing-function: ease-in;
  animation-direction: alternate;
  margin-right: 40px;
}

@media screen and (max-width: 3840px) {
  .roll-up-three {
    margin-left: 0;
    margin-right: 20px;
  }
}

@media screen and (max-width: 1921px) {
  .roll-up-three {
    margin-left: 0;
    margin-right: 10px;
  }
}

@media screen and (max-width: 1441px) {
  .roll-up-three {
    margin-left: 0;
    margin-right: 10px;
  }
}

@media screen and (max-width: 900px) {
  .roll-up-three {
    margin-right: 5px;
  }
}

.roll-up-four {
  position: relative;
  bottom: 0;
  animation: slideUp 1s;
  animation-timing-function: ease-in;
  animation-direction: alternate;
  margin-right: 40px;
}

@media screen and (max-width: 3840px) {
  .roll-up-four {
    margin-left: 0;
    margin-right: 20px;
  }
}

@media screen and (max-width: 1921px) {
  .roll-up-four {
    margin-left: 0;
    margin-right: 10px;
  }
}

@media screen and (max-width: 1441px) {
  .roll-up-four {
    margin-left: 0;
    margin-right: 10px;
  }
}

@media screen and (max-width: 900px) {
  .roll-up-four {
    margin-right: 5px;
  }
}

.roll-up-five {
  position: relative;
  bottom: 0;
  animation: slideUp 1.2s;
  animation-timing-function: ease-in;
  animation-direction: alternate;
}

.roll-up-fast {
  position: relative;
  bottom: 0;
  animation: slideUp 0.1s;
  animation-timing-function: ease-in;
  animation-iteration-count: 15;
}

.roll-down {
  position: relative;
  top: 0;
  animation: slideDown 0.5s;
  animation-timing-function: ease-in;
  margin-right: 40px;
}

@media screen and (max-width: 3840px) {
  .roll-down {
    margin-right: 0;
  }
}

@media screen and (max-width: 1921px) {
  .roll-down {
    margin-right: 0;
  }
}

@media screen and (max-width: 1441px) {
  .roll-down {
    margin-right: 10px;
  }
}

@keyframes counter {
  0% {
    top: 0;
  }
  100% {
    top: -1047%;
  }
}

@keyframes countersmall {
  0% {
    top: 0;
  }
  100% {
    top: -760%;
  }
}

@keyframes counterlarge {
  0% {
    top: 0;
  }
  100% {
    top: -1418%;
  }
}

@keyframes countervlarge {
  0% {
    top: 0;
  }
  100% {
    top: -1316%;
  }
}

.counter {
  height: 185px;
  overflow: hidden;
  position: relative;
  display: inline-block;
  text-align: center;
  font-family: "NeueFrutigerWorldW05-bold";
  color: #fff;
  font-weight: normal;
  line-height: 1.2;
  margin-right: 40px;
}

@media screen and (max-width: 3840px) {
  .counter {
    height: 92px;
    margin-right: 20px;
  }
}

@media screen and (max-width: 1921px) {
  .counter {
    height: 40px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 1441px) {
  .counter {
    height: 35px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 900px) {
  .counter {
    margin-right: 5px;
  }
}

.counter ul {
  animation: counter 2s;
  position: relative;
  font-size: 160px;
  top: -1047%;
}

@media screen and (max-width: 1441px) {
  .counter ul li {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 3840px) {
  .counter ul {
    font-size: 100px;
    top: -1316%;
    animation: countervlarge 2s;
  }
}

@media screen and (max-width: 1921px) {
  .counter ul {
    font-size: 46px;
    top: -1418%;
    animation: counterlarge 2s;
  }
}

@media screen and (max-width: 1441px) {
  .counter ul {
    font-size: 36px;
    top: -1226%;
  }
}

@media screen and (max-width: 900px) {
  .counter ul {
    animation: countersmall 2s;
    font-size: 20px;
    top: -760%;
  }
}

.roller {
  height: 185px;
  line-height: 11rem;
  position: relative;
  overflow: hidden;
  width: 100%;
}

@media screen and (max-width: 3840px) {
  .roller {
    height: 120px;
  }
}

@media screen and (max-width: 1921px) {
  .roller {
    height: 52px;
  }
}

@media screen and (max-width: 1441px) {
  .roller {
    height: 40px;
  }
}

@media screen and (max-width: 900px) {
  .roller {
    height: 28px;
  }
}

.roller.center {
  justify-content: center;
  display: flex;
  align-items: center;
}

.roller.between {
  display: flex;
  align-items: center;
  justify-content: center;
}

@keyframes slideDown {
  0% {
    top: -100%;
  }
  25% {
    top: -50%;
  }
  50% {
    top: 0%;
  }
  75% {
    top: 0;
  }
  100% {
    top: 0;
  }
}

@keyframes slideUpFast {
  0% {
    bottom: -100%;
  }
  20% {
    bottom: -75%;
  }
  40% {
    bottom: -50%;
  }
  60% {
    bottom: -0%;
  }
  80% {
    bottom: 50%;
  }
  100% {
    bottom: 100%;
  }
}

@keyframes slideUp {
  0% {
    animation-delay: 0.5s;
    bottom: -100%;
  }
  20% {
    bottom: -100%;
  }
  40% {
    bottom: -100%;
  }
  60% {
    bottom: -100%;
  }
  80% {
    bottom: -50%;
  }
  90% {
    bottom: 10%;
  }
  100% {
    bottom: 0%;
  }
}

@keyframes slideUpTwo {
  0% {
    bottom: -100%;
  }
  20% {
    bottom: -100%;
  }
  40% {
    bottom: -100%;
  }
  60% {
    bottom: -100%;
  }
  80% {
    bottom: -100%;
  }
  90% {
    bottom: -50%;
  }
  100% {
    bottom: 0%;
  }
}

@keyframes slideUpThree {
  0% {
    bottom: -100%;
  }
  20% {
    bottom: -100%;
  }
  40% {
    bottom: -100%;
  }
  60% {
    bottom: -100%;
  }
  80% {
    bottom: -100%;
  }
  90% {
    bottom: -100%;
  }
  95% {
    bottom: -50%;
  }
  100% {
    bottom: 0%;
  }
}

@keyframes slideUpFour {
  0% {
    bottom: -100%;
  }
  20% {
    bottom: -100%;
  }
  40% {
    bottom: -100%;
  }
  60% {
    bottom: -100%;
  }
  80% {
    bottom: -100%;
  }
  90% {
    bottom: -100%;
  }
  95% {
    bottom: -100%;
  }
  97% {
    bottom: -50%;
  }
  100% {
    bottom: 0%;
  }
}

@keyframes slide {
  0% {
    bottom: 0;
  }
  25% {
    bottom: -4rem;
  }
  50% {
    bottom: -8rem;
  }
  75% {
    bottom: -12.25rem;
  }
}

.left-content-new {
  margin-top: 0;
}

.left-content {
  margin-top: 153px;
}

@media screen and (max-width: 3840px) {
  .left-content {
    margin-top: 150px;
  }
}

@media screen and (max-width: 1921px) {
  .left-content {
    margin-top: 80px;
  }
}

@media screen and (max-width: 1441px) {
  .left-content {
    margin-top: 80px;
    margin-left: 0;
  }
}

@media screen and (max-width: 1032px) {
  .left-content {
    margin-top: 30px;
    margin-left: 10px;
  }
}

.left-content-intro {
  text-align: center;
  margin-top: 400px;
}

@media screen and (max-width: 3840px) {
  .left-content-intro {
    margin-top: 300px;
  }
}

@media screen and (max-width: 1921px) {
  .left-content-intro {
    margin-top: 150px;
  }
}

@media screen and (max-width: 900px) {
  .left-content-intro {
    margin-top: 30px;
  }
}

.left-content-intro img {
  margin-top: 150px;
  max-width: 260px;
  cursor: pointer;
}

@media screen and (max-width: 3840px) {
  .left-content-intro img {
    max-width: 150px;
  }
}

@media screen and (max-width: 1921px) {
  .left-content-intro img {
    max-width: 70px;
    margin-top: 80px;
  }
}

@media screen and (max-width: 1441px) {
  .left-content-intro img {
    max-width: 48px;
    margin-top: 50px;
  }
}

.left-content-body-list {
  margin: 537px 0 0;
}

.left-content-body-list h1 {
  margin: 0 0 0 10%;
  max-width: 100%;
}

@media screen and (max-width: 3840px) {
  .left-content-body-list {
    margin-top: 390px;
  }
}

@media screen and (max-width: 1921px) {
  .left-content-body-list {
    margin-top: 191px;
  }
}

@media screen and (max-width: 1441px) {
  .left-content-body-list {
    margin-top: 80px;
  }
}

@media screen and (max-width: 1032px) {
  .left-content-body-list {
    margin-top: 10px;
  }
}

@media screen and (max-width: 1032px) {
  .left-content-app-list {
    margin-top: 10px;
  }
}

#screen-two-click {
  position: relative;
  z-index: 10;
}

.header_ani {
  display: inline-block;
  overflow: hidden;
}

.hide {
  display: none !important;
}

ul {
  font-size: 70px;
}

@media screen and (max-width: 3840px) {
  ul {
    font-size: 40px;
  }
}

@media screen and (max-width: 1921px) {
  ul {
    font-size: 18px;
  }
}

@media screen and (max-width: 1441px) {
  ul {
    font-size: 13px;
  }
}

@media screen and (max-width: 1032px) {
  ul {
    font-size: 8px;
  }
}

ul li {
  margin-bottom: 50px;
}

@media screen and (max-width: 3840px) {
  ul li {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 1921px) {
  ul li {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 1441px) {
  ul li {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 1032px) {
  ul li {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 1032px) {
  ul li {
    margin-bottom: 7px;
  }
}

ul.application-list {
  margin-top: 130px;
  font-family: "NeueFrutigerWorldW05-bold";
}

ul.application-list li div {
  width: 1720px;
  cursor: pointer;
  background: linear-gradient(90deg, #004eaa 6.03%, #0653ae 21.08%, #1661b9 40.78%, #3179cb 63.06%, #5799e4 87.06%, #6eadf3 100%);
  padding: 55px 0 60px 80px;
  border-radius: 14px;
  box-shadow: 10.62px 10.62px 10.62px rgba(80, 3, 127, 0.3);
  color: #fff;
}

ul.application-list li div a {
  text-decoration: none;
}

@media screen and (max-width: 3840px) {
  ul.application-list li div {
    width: 88.8%;
    padding: 25px 0 25px 30px;
    border-radius: 6px;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

@media screen and (max-width: 1921px) {
  ul.application-list li div {
    width: 100%;
    padding: 15px 0 15px 20px;
    border-radius: 6px;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

@media screen and (max-width: 1441px) {
  ul.application-list li div {
    width: 320px;
    padding: 10px 0 10px 20px;
    border-radius: 6px;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

@media screen and (max-width: 1032px) {
  ul.application-list li div {
    width: 290px;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

@media screen and (max-width: 900px) {
  ul.application-list li div {
    width: 200px;
    padding: 8px 0 8px 15px;
  }
}

ul.application-list li a {
  color: #fff;
  text-decoration: none;
}

ul.application-list li:hover div {
  color: #002c77;
  background: linear-gradient(90deg, #6eadf3 6.23%, #74b0f4 21%, #84baf5 40.34%, #9fc9f7 62.2%, #c5defb 85.75%, #dfedfd 100%);
}

ul.application-list li.active-one div {
  color: #002c77;
  background: linear-gradient(90deg, #6eadf3 6.23%, #74b0f4 21%, #84baf5 40.34%, #9fc9f7 62.2%, #c5defb 85.75%, #dfedfd 100%);
}

ul.application-list li.active-one div a {
  color: #fff;
}

ul.body-list {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  width: 80%;
}

ul.body-list li {
  padding: 55px 0 60px 80px;
  box-shadow: 10.62px 10.62px 10.62px rgba(80, 3, 127, 0.3);
  width: 100%;
  border-radius: 6px;
  cursor: pointer;
  background: linear-gradient(90deg, #004eaa 6.03%, #0653ae 21.08%, #1661b9 40.78%, #3179cb 63.06%, #5799e4 87.06%, #6eadf3 100%);
}

@media screen and (max-width: 3840px) {
  ul.body-list li {
    width: 100%;
    padding: 20px 0 25px 55px;
    border-radius: 8px;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

@media screen and (max-width: 1921px) {
  ul.body-list li {
    width: 100%;
    padding: 15px 0 15px 15px;
    border-radius: 8px;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

@media screen and (max-width: 1441px) {
  ul.body-list li {
    width: 100%;
    padding: 10px 0 10px 0;
    border-radius: 6px;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

@media screen and (max-width: 1032px) {
  ul.body-list li {
    padding: 6px 0 6px 0;
    box-shadow: 5px 5px 5px rgba(80, 3, 127, 0.3);
  }
}

ul.body-list li a {
  color: #fff;
  text-decoration: none;
  line-height: 1;
  font-family: "NeueFrutigerWorldW05-bold";
}

ul.body-list li:hover {
  color: #002c77;
  background: linear-gradient(90deg, #6eadf3 6.23%, #74b0f4 21%, #84baf5 40.34%, #9fc9f7 62.2%, #c5defb 85.75%, #dfedfd 100%);
}

ul.body-list li:hover a {
  color: #002c77;
}

.splide {
  margin-top: 300px;
  max-width: 1750px;
  margin-left: 10%;
}

@media screen and (max-width: 3840px) {
  .splide {
    margin-top: 130px;
  }
}

@media screen and (max-width: 1921px) {
  .splide {
    margin-top: 60px;
    max-width: 79%;
  }
}

@media screen and (max-width: 1441px) {
  .splide {
    margin-top: 60px;
    max-width: 79%;
  }
}

@media screen and (max-width: 1032px) {
  .splide {
    margin-top: 30px;
  }
}

.splide .splide__track li {
  max-height: 238px;
  height: 238px;
}

@media screen and (max-width: 1921px) {
  .splide .splide__track li {
    height: 44px;
  }
}

@media screen and (max-width: 1441px) {
  .splide .splide__track li {
    height: 44px;
  }
}

.splide__arrow {
  background: none;
  border: 0;
  cursor: pointer;
  position: absolute;
  width: 132px;
}

@media screen and (max-width: 3840px) {
  .splide__arrow {
    width: 92px;
  }
}

@media screen and (max-width: 1921px) {
  .splide__arrow {
    width: 37px;
  }
}

@media screen and (max-width: 1441px) {
  .splide__arrow {
    width: 37px;
  }
}

@media screen and (max-width: 1032px) {
  .splide__arrow {
    width: 30px;
  }
}

.splide__arrows--ttb .splide__arrow--prev {
  top: -12.5rem;
}

@media screen and (max-width: 3840px) {
  .splide__arrows--ttb .splide__arrow--prev {
    top: -8.5rem;
  }
}

@media screen and (max-width: 1921px) {
  .splide__arrows--ttb .splide__arrow--prev {
    top: -6.9rem;
  }
}

@media screen and (max-width: 1441px) {
  .splide__arrows--ttb .splide__arrow--prev {
    top: -6.9rem;
  }
}

@media screen and (max-width: 1032px) {
  .splide__arrows--ttb .splide__arrow--prev {
    top: -6rem;
  }
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  margin-left: -66px;
}

@media screen and (max-width: 3840px) {
  .splide__arrows--ttb .splide__arrow {
    margin-left: -116px;
  }
}

@media screen and (max-width: 1921px) {
  .splide__arrows--ttb .splide__arrow {
    margin-left: -18px;
  }
}

@media screen and (max-width: 1441px) {
  .splide__arrows--ttb .splide__arrow {
    margin-left: -18px;
  }
}

@media screen and (max-width: 1032px) {
  .splide__arrows--ttb .splide__arrow {
    margin-left: -15px;
  }
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: -12.5rem;
  top: auto;
}

@media screen and (max-width: 3840px) {
  .splide__arrows--ttb .splide__arrow--next {
    bottom: -8.5rem;
  }
}

@media screen and (max-width: 1921px) {
  .splide__arrows--ttb .splide__arrow--next {
    bottom: -5.1rem;
  }
}

@media screen and (max-width: 1441px) {
  .splide__arrows--ttb .splide__arrow--next {
    bottom: -5.1rem;
  }
}

@media screen and (max-width: 1032px) {
  .splide__arrows--ttb .splide__arrow--next {
    bottom: -4.1rem;
  }
}

@media screen and (max-width: 900px) {
  .splide__arrows--ttb .splide__arrow--next {
    bottom: -3.7rem;
  }
}

.left-content-body-list .filter-new li.home {
  margin-right: 352px;
}

@media screen and (max-width: 3840px) {
  .left-content-body-list .filter-new li.home {
    margin-right: 228px;
  }
}

@media screen and (max-width: 1921px) {
  .left-content-body-list .filter-new li.home {
    margin-right: 110px;
  }
}

.filter-new {
  display: flex;
  margin: 120px 0 300px 10%;
  z-index: 10;
  position: relative;
}

@media screen and (max-width: 3840px) {
  .filter-new {
    margin: 64px 0 110px 10%;
  }
}

@media screen and (max-width: 1921px) {
  .filter-new {
    margin: 40px 0 58px 10%;
  }
}

@media screen and (max-width: 1441px) {
  .filter-new {
    margin: 20px 0 0 10%;
  }
}

@media screen and (max-width: 900px) {
  .filter-new {
    margin: 8px 0 0 10%;
  }
}

.filter-new.filter-two {
  margin-bottom: 0;
}

.filter-new li {
  width: 160px;
  height: 272px;
  background-size: 100%;
  margin-right: 50px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .filter-new li {
    width: 100px;
    height: 140px;
    margin-right: 20px;
  }
}

@media screen and (max-width: 1921px) {
  .filter-new li {
    width: 50px;
    height: 71px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 1441px) {
  .filter-new li {
    width: 30px;
    height: 30px;
    margin-right: 10px;
  }
}

@media screen and (max-width: 1032px) {
  .filter-new li {
    width: 28px;
    height: 28px;
    margin-right: 8px;
  }
}

@media screen and (max-width: 900px) {
  .filter-new li {
    width: 20px;
    height: 20px;
  }
}

.filter-new li a {
  text-decoration: none;
  color: #fff;
}

.filter-new li a span {
  display: none;
  color: #fff;
  font-family: "NeueFrutigerWorldW05-bold";
  font-size: 60px;
  line-height: 1;
}

@media screen and (max-width: 3840px) {
  .filter-new li a span {
    font-size: 22px;
  }
}

@media screen and (max-width: 1921px) {
  .filter-new li a span {
    font-size: 14px;
  }
}

@media screen and (max-width: 1441px) {
  .filter-new li a span {
    font-size: 14px;
  }
}

@media screen and (max-width: 900px) {
  .filter-new li a span {
    font-size: 14px;
  }
}

.filter-new li.home {
  background-image: url(../images/buttons/home.png);
}

.filter-new li.home a {
  width: 160px;
  height: 272px;
  display: block;
}

.filter-new li.home:hover {
  background-image: url(../images/buttons/homea.png);
}

.filter-new li.home.active {
  background-image: url(../images/buttons/homea.png);
}

.filter-new li.home.active a span {
  display: block;
}

.filter-new li.refresh {
  margin-right: 143px;
  background-image: url(../images/buttons/refresh.png);
}

@media screen and (max-width: 3840px) {
  .filter-new li.refresh {
    margin-right: 108px;
  }
}

@media screen and (max-width: 1921px) {
  .filter-new li.refresh {
    margin-right: 50px;
  }
}

@media screen and (max-width: 1441px) {
  .filter-new li.refresh {
    margin-right: 50px;
  }
}

@media screen and (max-width: 900px) {
  .filter-new li.refresh {
    margin-right: 50px;
  }
}

.filter-new li.refresh:hover {
  background-image: url(../images/buttons/refresha.png);
}

.filter-new li.refresh.active {
  background-image: url(../images/buttons/refresha.png);
}

.filter-new li.refresh.active a span {
  display: block;
}

.filter-new li.brain {
  background-image: url(../images/buttons/1.png);
}

.filter-new li.brain:hover {
  background-image: url(../images/buttons/1a.png);
}

.filter-new li.brain.active {
  background-image: url(../images/buttons/1a.png);
}

.filter-new li.brain.active block a span {
  display: block;
}

.filter-new li.breast {
  background-image: url(../images/buttons/2.png);
}

.filter-new li.breast:hover {
  background-image: url(../images/buttons/2a.png);
}

.filter-new li.breast.active {
  background-image: url(../images/buttons/2a.png);
}

.filter-new li.heart {
  background-image: url(../images/buttons/3.png);
}

.filter-new li.heart:hover {
  background-image: url(../images/buttons/3a.png);
}

.filter-new li.heart.active {
  background-image: url(../images/buttons/3a.png);
}

.filter-new li.heart.active a span {
  display: block;
}

.filter-new li.spineone {
  background-image: url(../images/buttons/4.png);
}

.filter-new li.spineone:hover {
  background-image: url(../images/buttons/4a.png);
}

.filter-new li.spineone.active {
  background-image: url(../images/buttons/4a.png);
}

.filter-new li.spineone.active a span {
  display: block;
}

.filter-new li.muskoloskeletal {
  background-image: url(../images/buttons/5.png);
}

.filter-new li.muskoloskeletal:hover {
  background-image: url(../images/buttons/5a.png);
}

.filter-new li.muskoloskeletal.active {
  background-image: url(../images/buttons/5a.png);
}

.filter-new li.muskoloskeletal.active a span {
  display: block;
}

.filter-new li.liver {
  background-image: url(../images/buttons/6.png);
}

.filter-new li.liver:hover {
  background-image: url(../images/buttons/6a.png);
}

.filter-new li.liver.active {
  background-image: url(../images/buttons/6a.png);
}

.filter-new li.liver.active a span {
  display: block;
}

body.brain .filter-new li.brain {
  background-image: url(../images/buttons/1a.png);
}

body.brain .filter-new li.brain a span {
  display: block;
}

body.chest .filter-new li.breast {
  background-image: url(../images/buttons/2a.png);
}

body.chest .filter-new li.breast a span {
  display: block;
}

body.heart .filter-new li.heart {
  background-image: url(../images/buttons/3a.png);
}

body.heart .filter-new li.heart a span {
  display: block;
}

body.spine .filter-new li.spineone {
  background-image: url(../images/buttons/4a.png);
}

body.spine .filter-new li.spineone a span {
  display: block;
}

body.musk .filter-new li.muskoloskeletal {
  background-image: url(../images/buttons/5a.png);
  height: 330px;
}

@media screen and (max-width: 3840px) {
  body.musk .filter-new li.muskoloskeletal {
    height: 151px;
  }
}

@media screen and (max-width: 1921px) {
  body.musk .filter-new li.muskoloskeletal {
    height: 83px;
  }
}

@media screen and (max-width: 1441px) {
  body.musk .filter-new li.muskoloskeletal {
    height: 83px;
  }
}

@media screen and (max-width: 900px) {
  body.musk .filter-new li.muskoloskeletal {
    height: 83px;
  }
}

body.musk .filter-new li.muskoloskeletal a span {
  display: block;
}

body.liver .filter-new li.liver {
  background-image: url(../images/buttons/6a.png);
}

body.liver .filter-new li.liver a span {
  display: block;
}

.brain-section li {
  position: relative;
}

.brain-section li:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/int.png);
  position: absolute;
  width: 169px;
  height: 168px;
  top: 41px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .brain-section li:after {
    right: 180px;
    width: 79px;
    height: 88px;
    top: 22px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .brain-section li:after {
    right: 25px;
    width: 47px;
    height: 48px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.brain-section li.active-one:after {
  background-image: url(../images/icons/inta.png);
}

.breast-section li {
  position: relative;
}

.breast-section li:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/ai.png);
  position: absolute;
  width: 169px;
  height: 168px;
  top: 41px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .breast-section li:after {
    right: 180px;
    width: 79px;
    height: 88px;
    top: 22px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .breast-section li:after {
    right: 26px;
    width: 42px;
    height: 45px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.breast-section li.active-one:after {
  background-image: url(../images/icons/aia.png);
}

.heart-section li {
  position: relative;
}

.heart-section li:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/cloud.png);
  position: absolute;
  width: 176px;
  height: 168px;
  top: 52px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .heart-section li:after {
    right: 180px;
    width: 79px;
    height: 88px;
    top: 30px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .heart-section li:after {
    right: 22px;
    width: 47px;
    height: 48px;
    top: 15px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.heart-section li.active-one:after {
  background-image: url(../images/icons/clouda.png);
}

.spine-section li {
  position: relative;
}

.spine-section li:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/tele.png);
  position: absolute;
  width: 179px;
  height: 168px;
  top: 36px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .spine-section li:after {
    right: 180px;
    width: 69px;
    height: 88px;
    top: 22px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .spine-section li:after {
    right: 26px;
    width: 42px;
    height: 48px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.spine-section li.active-one:after {
  background-image: url(../images/icons/telea.png);
}

.muskoloskeletal-section li {
  position: relative;
}

.muskoloskeletal-section li:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/po.png);
  position: absolute;
  width: 169px;
  height: 168px;
  top: 21px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .muskoloskeletal-section li:after {
    right: 180px;
    width: 65px;
    height: 88px;
    top: 22px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .muskoloskeletal-section li:after {
    right: 30px;
    width: 40px;
    height: 48px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.muskoloskeletal-section li.active-one:after {
  background-image: url(../images/icons/poa.png);
}

.liver-section li {
  position: relative;
}

.liver-section li:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/emr.png);
  position: absolute;
  width: 192px;
  height: 168px;
  top: 51px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .liver-section li:after {
    right: 180px;
    width: 79px;
    height: 88px;
    top: 30px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .liver-section li:after {
    right: 24px;
    width: 47px;
    height: 48px;
    top: 14px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.liver-section li.active-one:after {
  background-image: url(../images/icons/emra.png);
}

.body-list li.brain:after {
  content: '';
  right: 118px;
  background-image: url(../images/icons/int.png);
  position: absolute;
  width: 169px;
  height: 168px;
  top: 41px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .body-list li.brain:after {
    right: 35px;
    width: 67px;
    height: 78px;
    top: 20px;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .body-list li.brain:after {
    right: 25px;
    width: 47px;
    height: 48px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.body-list li.breast:after {
  content: '';
  right: 106px;
  background-image: url(../images/icons/ai.png);
  position: absolute;
  width: 169px;
  height: 168px;
  top: 41px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .body-list li.breast:after {
    right: 35px;
    width: 67px;
    height: 78px;
    top: 20px;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .body-list li.breast:after {
    right: 26px;
    width: 42px;
    height: 45px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.body-list li.heart:after {
  content: '';
  right: 117px;
  background-image: url(../images/icons/cloud.png);
  position: absolute;
  width: 183px;
  height: 168px;
  top: 41px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .body-list li.heart:after {
    right: 35px;
    width: 67px;
    height: 78px;
    top: 20px;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .body-list li.heart:after {
    right: 22px;
    width: 47px;
    height: 48px;
    top: 15px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.body-list li.spineone:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/tele.png);
  position: absolute;
  width: 179px;
  height: 168px;
  top: 36px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .body-list li.spineone:after {
    right: 35px;
    width: 67px;
    height: 78px;
    top: 20px;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .body-list li.spineone:after {
    right: 26px;
    width: 42px;
    height: 48px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.body-list li.muskoloskeletal:after {
  content: '';
  right: 129px;
  background-image: url(../images/icons/po.png);
  position: absolute;
  width: 169px;
  height: 168px;
  top: 21px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .body-list li.muskoloskeletal:after {
    right: 35px;
    width: 67px;
    height: 78px;
    top: 20px;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .body-list li.muskoloskeletal:after {
    right: 30px;
    width: 40px;
    height: 48px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.body-list li.liver:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/emr.png);
  position: absolute;
  width: 199px;
  height: 168px;
  top: 41px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 3840px) {
  .body-list li.liver:after {
    right: 35px;
    width: 67px;
    height: 78px;
    top: 20px;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .body-list li.liver:after {
    right: 24px;
    width: 47px;
    height: 48px;
    top: 14px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.screen-middle {
  position: relative;
}

.arrows {
  justify-content: space-between;
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  opacity: 0;
  cursor: pointer;
  right: 135px;
}

@media screen and (max-width: 1921px) {
  .arrows {
    right: 20px;
  }
}

.arrows .arrow-left {
  display: block;
}

@media screen and (max-width: 3840px) {
  .arrows .arrow-right {
    width: 150px;
    height: 335px;
  }
  .arrows .arrow-right img {
    width: 100%;
    height: auto;
    display: block;
  }
}

@media screen and (max-width: 1921px) {
  .arrows .arrow-right {
    width: 70px;
    height: 155px;
  }
  .arrows .arrow-right img {
    width: 100%;
    height: auto;
    display: block;
  }
}

@media screen and (max-width: 1441px) {
  .arrows .arrow-right {
    width: 48px;
    height: 104px;
  }
  .arrows .arrow-right img {
    width: 100%;
    height: auto;
    display: block;
  }
}

.hotspots-container {
  position: relative;
  height: 100%;
}

@media screen and (max-width: 900px) {
  .h-cont {
    display: none !important;
  }
}

.body-part-pop {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 535px;
  height: 535px;
}

@media screen and (max-width: 3840px) {
  .body-part-pop {
    width: 250px;
    height: 250px;
  }
}

@media screen and (max-width: 1921px) {
  .body-part-pop {
    width: 130px;
    height: 130px;
  }
}

@media screen and (max-width: 1441px) {
  .body-part-pop {
    width: 100px;
    height: 100px;
  }
}

@media screen and (max-width: 1032px) {
  .body-part-pop {
    width: 60px;
    height: 60px;
  }
}

@media screen and (max-width: 900px) {
  .body-part-pop {
    width: 40px;
    height: 40px;
  }
}

.body-part-pop:after {
  content: '';
  position: absolute;
  height: 2px;
  z-index: -1;
}

@media screen and (max-width: 1921px) {
  .body-part-pop:after {
    height: 1px;
  }
}

@media screen and (max-width: 1441px) {
  .body-part-pop:after {
    height: 1px;
  }
}

.body-part-pop img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 10;
  display: block;
}

.body-part-pop .pop--text {
  background: #a77ad7;
  padding: 20px 40px 15px 40px;
  text-align: center;
  border-radius: 14px;
  display: block;
  position: relative;
}

@media screen and (max-width: 3840px) {
  .body-part-pop .pop--text {
    padding: 10px 20px 10px 20px;
    border-radius: 6px;
  }
}

@media screen and (max-width: 1921px) {
  .body-part-pop .pop--text {
    padding: 5px 20px 5px 20px;
    border-radius: 6px;
  }
}

@media screen and (max-width: 1441px) {
  .body-part-pop .pop--text {
    padding: 5px 20px 5px 20px;
    border-radius: 6px;
  }
}

@media screen and (max-width: 900px) {
  .body-part-pop .pop--text {
    padding: 4px 10px 4px 10px;
  }
}

.body-part-pop .pop--text h2 {
  font-size: 90px;
  font-family: "NeueFrutigerWorldW05-bold";
}

@media screen and (max-width: 3840px) {
  .body-part-pop .pop--text h2 {
    font-size: 40px;
  }
}

@media screen and (max-width: 1921px) {
  .body-part-pop .pop--text h2 {
    font-size: 16px;
  }
}

@media screen and (max-width: 1441px) {
  .body-part-pop .pop--text h2 {
    font-size: 16px;
  }
}

@media screen and (max-width: 1032px) {
  .body-part-pop .pop--text h2 {
    font-size: 12px;
  }
}

@media screen and (max-width: 900px) {
  .body-part-pop .pop--text h2 {
    font-size: 10px;
  }
}

.spine-pop {
  top: 42%;
  right: 0%;
}

.spine-pop:after {
  width: 811px;
  background-color: #fff;
  left: -641px;
  top: 148px;
  transform: rotate(12deg);
}

@media screen and (max-width: 6480px) {
  .spine-pop:after {
    left: -573px;
  }
}

@media screen and (max-width: 3840px) {
  .spine-pop:after {
    width: 197%;
    left: -162%;
    top: 40%;
  }
}

@media screen and (max-width: 1921px) {
  .spine-pop:after {
    width: 197%;
    left: -162%;
    top: 40%;
  }
}

@media screen and (max-width: 1441px) {
  .spine-pop:after {
    width: 197%;
    left: -162%;
    top: 40%;
  }
}

@media screen and (max-width: 900px) {
  .spine-pop:after {
    width: 317%;
    left: -292%;
    top: 20%;
  }
}

.chest-pop {
  top: 14%;
  right: 0%;
}

@media screen and (max-width: 900px) {
  .chest-pop {
    top: 8%;
    right: 10%;
  }
}

.chest-pop:after {
  width: 700px;
  background-color: #fff;
  left: -620px;
  top: 488px;
  transform: rotate(-32deg);
}

@media screen and (max-width: 3840px) {
  .chest-pop:after {
    width: 200%;
    left: -123%;
    top: 94%;
  }
}

@media screen and (max-width: 1921px) {
  .chest-pop:after {
    width: 200%;
    left: -123%;
    top: 94%;
  }
}

@media screen and (max-width: 1441px) {
  .chest-pop:after {
    width: 200%;
    left: -123%;
    top: 94%;
  }
}

.lungs-pop {
  top: 9%;
  right: 0%;
}

@media screen and (max-width: 900px) {
  .lungs-pop {
    right: 16%;
  }
}

.lungs-pop:after {
  width: 850px;
  background-color: #fff;
  left: -717px;
  top: 625px;
  transform: rotate(-42deg);
}

@media screen and (max-width: 3840px) {
  .lungs-pop:after {
    width: 180%;
    left: -136%;
    top: 123%;
  }
}

@media screen and (max-width: 1921px) {
  .lungs-pop:after {
    width: 180%;
    left: -136%;
    top: 123%;
  }
}

@media screen and (max-width: 1441px) {
  .lungs-pop:after {
    width: 180%;
    left: -136%;
    top: 123%;
  }
}

.liver-pop {
  top: 24%;
  right: 0%;
}

.liver-pop:after {
  width: 740px;
  background-color: #fff;
  left: -593px;
  top: 438px;
  transform: rotate(-17deg);
}

@media screen and (max-width: 3840px) {
  .liver-pop:after {
    width: 160%;
    left: -147%;
    top: 97%;
  }
}

@media screen and (max-width: 1921px) {
  .liver-pop:after {
    width: 160%;
    left: -147%;
    top: 97%;
  }
}

@media screen and (max-width: 1441px) {
  .liver-pop:after {
    width: 160%;
    left: -147%;
    top: 97%;
  }
}

.heart-pop {
  top: 19%;
  right: 0%;
}

.heart-pop:after {
  width: 570px;
  background-color: #fff;
  left: -533px;
  top: 428px;
  transform: rotate(-17deg);
}

@media screen and (max-width: 6480px) {
  .heart-pop:after {
    left: -445px;
  }
}

@media screen and (max-width: 3840px) {
  .heart-pop:after {
    width: 140%;
    left: -114%;
    top: 93%;
  }
}

@media screen and (max-width: 1921px) {
  .heart-pop:after {
    width: 140%;
    left: -114%;
    top: 93%;
  }
}

@media screen and (max-width: 1441px) {
  .heart-pop:after {
    width: 140%;
    left: -114%;
    top: 93%;
  }
}

@media screen and (max-width: 900px) {
  .heart-pop:after {
    left: -130%;
  }
}

.skeleton-pop {
  top: 12%;
  left: 2%;
}

.skeleton-pop:after {
  width: 475px;
  background-color: #fff;
  right: -360px;
  top: 440px;
  transform: rotate(35deg);
}

@media screen and (max-width: 3840px) {
  .skeleton-pop:after {
    width: 129%;
    right: -107%;
    top: 91%;
  }
}

@media screen and (max-width: 1921px) {
  .skeleton-pop:after {
    width: 129%;
    right: -107%;
    top: 91%;
  }
}

@media screen and (max-width: 1441px) {
  .skeleton-pop:after {
    width: 129%;
    right: -107%;
    top: 91%;
  }
}

@media screen and (max-width: 900px) {
  .skeleton-pop:after {
    top: 71%;
    transform: rotate(21deg);
  }
}

.prostate-pop {
  top: 58%;
  left: 2%;
}

.prostate-pop:after {
  width: 720px;
  background-color: #fff;
  right: -550px;
  top: -41px;
  transform: rotate(-38deg);
}

@media screen and (max-width: 6480px) {
  .prostate-pop:after {
    right: -450px;
    top: -21px;
  }
}

@media screen and (max-width: 3840px) {
  .prostate-pop:after {
    width: 180%;
    right: -120%;
    top: -2%;
  }
}

@media screen and (max-width: 1921px) {
  .prostate-pop:after {
    width: 180%;
    right: -120%;
    top: -2%;
  }
}

@media screen and (max-width: 1441px) {
  .prostate-pop:after {
    width: 180%;
    right: -120%;
    top: -2%;
  }
}

.brain-pop {
  top: 7%;
  left: 4%;
}

@media screen and (max-width: 1032px) {
  .brain-pop {
    top: 1%;
  }
}

.brain-pop:after {
  width: 85%;
  background-color: #fff;
  right: -440px;
  top: 340px;
  transform: rotate(12deg);
}

@media screen and (max-width: 3840px) {
  .brain-pop:after {
    width: 144%;
    right: -110%;
    top: 80%;
  }
}

@media screen and (max-width: 1921px) {
  .brain-pop:after {
    width: 144%;
    right: -110%;
    top: 80%;
  }
}

@media screen and (max-width: 1441px) {
  .brain-pop:after {
    width: 144%;
    right: -110%;
    top: 80%;
  }
}

.pop-item {
  cursor: pointer;
  z-index: 10;
}

.brain-pop-click {
  position: absolute;
  height: 9%;
  top: 13%;
  left: 13%;
  z-index: 10;
}

.chest-pop-click {
  position: absolute;
  width: 23%;
  height: 10.4%;
  top: 26%;
  left: 34%;
}

.heart-pop-click {
  position: absolute;
  width: 10%;
  height: 7.4%;
  top: 28%;
  left: 40%;
}

.skeleton-pop-click {
  position: absolute;
  width: 44%;
  height: 40%;
  top: 14%;
  left: 27%;
  z-index: 1;
}

.spine-pop-click {
  position: absolute;
  width: 8%;
  height: 12.5%;
  top: 37%;
  left: 39.5%;
}

.liver-pop-click {
  position: absolute;
  width: 22%;
  height: 9%;
  top: 35%;
  left: 34%;
}

.lungs-pop-click {
  position: absolute;
  width: 23%;
  height: 10%;
  top: 26%;
  left: 32%;
}

.prostate-pop-click {
  position: absolute;
  width: 7%;
  height: 4%;
  top: 48.9%;
  left: 40%;
}

.screen-right {
  height: 100%;
  position: relative;
}

.app-videos {
  display: flex;
  justify-content: flex-end;
  max-height: 100vh;
  overflow: hidden;
  margin-right: 0;
  max-width: 2160px;
  float: right;
  z-index: 20;
}

@media screen and (max-width: 6480px) {
  .app-videos {
    margin-right: -180px;
  }
}

@media screen and (max-width: 3840px) {
  .app-videos {
    margin-right: -4px;
  }
}

@media screen and (max-width: 1921px) {
  .app-videos {
    margin-right: -3px;
  }
}

@media screen and (max-width: 900px) {
  .app-videos {
    margin-right: -6px;
  }
}

.app-videos video {
  width: 100%;
  height: 100vh;
  z-index: 20;
  position: relative;
}

.app-videos video.more-added {
  z-index: 8;
}

@media screen and (max-width: 3840px) {
  .app-videos video {
    max-width: 100%;
    max-height: 100vh;
    width: inherit;
    object-fit: cover;
  }
}

@media screen and (max-width: 1921px) {
  .app-videos video {
    max-width: 100%;
    max-height: 100vh;
    width: inherit;
    object-fit: cover;
  }
}

@media screen and (max-width: 1441px) {
  .app-videos video {
    max-width: 91%;
    max-height: 101.6vh;
  }
}

@media screen and (max-width: 900px) {
  .app-videos video {
    max-width: 100%;
    max-height: 100vh;
  }
}

.more {
  position: absolute;
  display: block;
  right: 12%;
  top: 36%;
  border-radius: 12px;
  color: #002c77;
  cursor: pointer;
  font-size: 70px;
  font-family: "NeueFrutigerWorldW05-bold";
  font-weight: normal;
  z-index: 10;
  background: linear-gradient(90deg, #81b0e6 0%, #87b4e7 14.72%, #97beea 34%, #b2cff0 55.79%, #d8e6f7 79.25%, #fff 100%);
  padding: 40px 30px;
}

@media screen and (max-width: 6480px) {
  .more {
    right: 4%;
  }
}

@media screen and (max-width: 3840px) {
  .more {
    right: 12%;
    font-size: 35px;
    border-radius: 10px;
    padding: 20px 20px;
    top: 36%;
  }
}

@media screen and (max-width: 1921px) {
  .more {
    font-size: 20px;
    border-radius: 6px;
    padding: 10px 5px;
    top: 35.8%;
    right: 9%;
  }
}

@media screen and (max-width: 1441px) {
  .more {
    font-size: 15px;
    border-radius: 6px;
    padding: 10px 5px;
    top: 36%;
    right: 5%;
  }
}

@media screen and (max-width: 1032px) {
  .more {
    right: 4%;
    font-size: 6px;
    border-radius: 2px;
    padding: 5px 4px;
    top: 32%;
  }
}

@media screen and (max-width: 900px) {
  .more {
    right: 7%;
    font-size: 6px;
    border-radius: 2px;
    padding: 5px 4px;
    top: 36%;
  }
}

.close {
  position: absolute;
  display: block;
  right: 12.5%;
  top: 35.6%;
  cursor: pointer;
  z-index: 20;
}

@media screen and (max-width: 6480px) {
  .close {
    right: 6.5%;
  }
}

@media screen and (max-width: 3840px) {
  .close {
    top: 36%;
  }
}

@media screen and (max-width: 1921px) {
  .close {
    top: 33%;
  }
}

@media screen and (max-width: 1441px) {
  .close {
    top: 31.5%;
    right: 6.5%;
  }
}

@media screen and (max-width: 1032px) {
  .close {
    right: 4.5%;
    top: 19%;
  }
}

@media screen and (max-width: 900px) {
  .close {
    right: 9.5%;
    top: 19%;
  }
}

@media screen and (max-width: 3840px) {
  .close svg {
    width: 100px;
    height: 100px;
  }
}

@media screen and (max-width: 1921px) {
  .close svg {
    width: 50px;
    height: 50px;
  }
}

@media screen and (max-width: 1441px) {
  .close svg {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 1032px) {
  .close svg {
    width: 15px;
    height: 15px;
  }
}

.video-fade-out {
  animation: videofade 1s linear forwards;
}

@keyframes videofade {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3JjL2Fzc2V0cy9zdHlsZXMvbWFpbi5jc3MiLAoJInNvdXJjZXMiOiBbCgkJInNyYy9hc3NldHMvc3R5bGVzL21haW4uc2NzcyIsCgkJInNyYy9hc3NldHMvc3R5bGVzL3V0aWxzL19mdW5jdGlvbnMuc2NzcyIsCgkJInNyYy9hc3NldHMvc3R5bGVzL3V0aWxzL192YXJpYWJsZXMuc2NzcyIsCgkJInNyYy9hc3NldHMvc3R5bGVzL3V0aWxzL19taXhpbnMuc2NzcyIsCgkJInNyYy9hc3NldHMvc3R5bGVzL2Jhc2UvX2ZvbnRzLnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9iYXNlL19ub3JtYWxpemUuc2NzcyIsCgkJInNyYy9hc3NldHMvc3R5bGVzL2Jhc2UvX3JlYm9vdC5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvYmFzZS9fbGF5b3V0LnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9iYXNlL190eXBvZ3JhcGh5LnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9iYXNlL19mb2N1cy5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvYmFzZS9fdXRpbGl0aWVzLnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9iYXNlL19zY3JlZW5yZWFkZXIuc2NzcyIsCgkJInNyYy9hc3NldHMvc3R5bGVzL2Jhc2UvX2FuaW1hdGlvbi5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19uYXYuc2NzcyIsCgkJInNyYy9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9faWNvbi5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fbWVudS5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fZmlsdGVyLnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9fYW5pbWF0ZS5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fc3BsaWRlLWNvcmUubWluLnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19zbGljay5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvX3BoaWxpcHMtYmFzZS5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvX2xlZnQtc2NyZWVuLnNjc3MiLAoJCSJzcmMvYXNzZXRzL3N0eWxlcy9fbWlkZGxlLXNjcmVlbi5zY3NzIiwKCQkic3JjL2Fzc2V0cy9zdHlsZXMvX3JpZ2h0LXNjcmVlbi5zY3NzIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIkFJQUEsVUFBVTtFQUNOLFdBQVcsRUFBRSw0QkFBNEI7RUFDekMsR0FBRyxFQUFFLGdEQUFnRCxDQUFDLGVBQWUsRUFDakUsK0NBQStDLENBQUMsY0FBYzs7O0FBR3RFLFVBQVU7RUFDTixXQUFXLEVBQUUsMkJBQTJCO0VBQ3hDLEdBQUcsRUFBRSwrQ0FBK0MsQ0FBQyxlQUFlLEVBQ2hFLDhDQUE4QyxDQUFDLGNBQWM7OztBQ1RyRSwyRUFBMkU7QUFRM0UsQUFBQSxJQUFJLENBQUM7RUFDRCxXQUFXLEVBQUUsVUFBVTtFQUN2QixvQkFBb0IsRUFBRSxJQUFJO0VBQzFCLHdCQUF3QixFQUFFLElBQUk7Q0FDakM7O0FBTUQsQUFBQSxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsQ0FBQztDQUNaOztBQVlELEFBQUEsT0FBTztBQUNQLEtBQUs7QUFDTCxPQUFPO0FBQ1AsVUFBVTtBQUNWLE1BQU07QUFDTixNQUFNO0FBQ04sTUFBTTtBQUNOLE1BQU07QUFDTixJQUFJO0FBQ0osSUFBSTtBQUNKLEdBQUc7QUFDSCxPQUFPO0FBQ1AsT0FBTyxDQUFDO0VBQ0osT0FBTyxFQUFFLEtBQUs7Q0FDakI7O0FBT0QsQUFBQSxLQUFLO0FBQ0wsTUFBTTtBQUNOLFFBQVE7QUFDUixLQUFLLENBQUM7RUFDRixPQUFPLEVBQUUs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SUFDQSxNQUFNLEVBQUUsRUFBRTs7OztBQUlsQixVQUFVLENBQVYsVUFBVTtFQUNOLEVBQUU7SUFDRSxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFHakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLElBQUk7O0VBRWhCLElBQUk7SUFDQSxNQUFNLEVBQUUsRUFBRTs7OztBQUlsQixVQUFVLENBQVYsWUFBVTtFQUNOLEVBQUU7SUFDRSxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFHakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsSUFBSTs7RUFFaEIsSUFBSTtJQUNBLE1BQU0sRUFBRSxFQUFFOzs7O0FBSWxCLFVBQVUsQ0FBVixXQUFVO0VBQ04sRUFBRTtJQUNFLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUdqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLElBQUk7O0VBRWhCLElBQUk7SUFDQSxNQUFNLEVBQUUsRUFBRTs7OztBQUlsQixVQUFVLENBQVYsS0FBVTtFQUNOLEVBQUU7SUFDRSxNQUFNLEVB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 */