@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: 150px;
  max-width: 100%;
  margin-left: 10%;
  letter-spacing: -8.5px;
}

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

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

@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;
  font-size: 160px;
  letter-spacing: inherit;
}

@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;
}

.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: 257px;
}

@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: 437px 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: 270px;
  }
}

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

@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: 1821px;
  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;
  max-width: 1821px;
  margin-left: 10%;
}

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: 1821px;
  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: 88%;
  }
}

@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__arrow:disabled {
  display: none;
}

.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: 209px;
}

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

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

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

@media screen and (max-width: 3840px) {
  .filter-new {
    margin: 64px 31px 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: 154px;
  height: 272px;
  background-size: 160px;
  margin-right: 25px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-repeat: no-repeat;
  flex-grow: 1;
}

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

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

@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, .filter-new li.new-back {
  margin-right: 25px;
  background-image: url(../images/buttons/refresh.png);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.filter-new li.one.active block 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);
  height: 278px;
}

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

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

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

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

body.brain .filter-new li.brain a span {
  display: block;
  line-height: 1.1;
  width: 473px;
}

@media screen and (max-width: 3840px) {
  body.brain .filter-new li.brain a span {
    width: 182px;
  }
}

@media screen and (max-width: 1921px) {
  body.brain .filter-new li.brain a span {
    width: 112px;
  }
}

body.cds .filter-new li.one {
  background-image: url(../images/buttons/cdsa.png);
  height: 330px;
}

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

@media screen and (max-width: 1921px) {
  body.cds .filter-new li.one {
    height: 100px;
  }
}

@media screen and (max-width: 1441px) {
  body.cds .filter-new li.one {
    height: 100px;
  }
}

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

body.cds .filter-new li.one a span {
  display: block;
  line-height: 1;
  width: 494px;
  text-align: center;
}

@media screen and (max-width: 3840px) {
  body.cds .filter-new li.one a span {
    width: 182px;
  }
}

@media screen and (max-width: 1921px) {
  body.cds .filter-new li.one a span {
    width: 112px;
  }
}

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

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

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

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

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

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

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

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

@media screen and (max-width: 1921px) {
  body.chest .filter-new li.breast {
    height: 80px;
  }
}

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

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

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

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

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

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

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

@media screen and (max-width: 1921px) {
  body.spine .filter-new li.spineone {
    height: 80px;
  }
}

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: 171px;
  }
}

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

@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);
  height: 330px;
}

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

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

body.liver .filter-new li.liver a span {
  display: block;
  text-align: center;
  width: 300px;
}

.brain-section li,
.more-section-five li,
.more-section-six li {
  position: relative;
}

.brain-section li:after,
.more-section-five li:after,
.more-section-six 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,
  .more-section-five li:after,
  .more-section-six 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,
  .more-section-five li:after,
  .more-section-six li:after {
    right: 25px;
    width: 47px;
    height: 48px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

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

.breast-section li,
.more-section li {
  position: relative;
}

.breast-section li:after,
.more-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,
  .more-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,
  .more-section li:after {
    right: 26px;
    width: 42px;
    height: 45px;
    top: 7px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.breast-section li.active-one:after,
.more-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);
}

.diagnostics-section li {
  position: relative;
}

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

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

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

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

.section-one li,
.more-section li,
.more-section-two li,
.more-section-three li,
.more-section-four li {
  position: relative;
}

.section-one li:after,
.more-section li:after,
.more-section-two li:after,
.more-section-three li:after,
.more-section-four li:after {
  content: '';
  right: 99px;
  background-image: url(../images/icons/cds.png);
  position: absolute;
  width: 179px;
  height: 218px;
  top: 9px;
  background-repeat: no-repeat;
  background-size: 100%;
}

@media screen and (max-width: 3840px) {
  .section-one li:after,
  .more-section li:after,
  .more-section-two li:after,
  .more-section-three li:after,
  .more-section-four li:after {
    right: 180px;
    width: 79px;
    height: 88px;
    top: 10px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 1921px) {
  .section-one li:after,
  .more-section li:after,
  .more-section-two li:after,
  .more-section-three li:after,
  .more-section-four li:after {
    right: 22px;
    width: 47px;
    height: 48px;
    top: 3px;
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

.section-one li.active-one:after,
.more-section li.active-one:after,
.more-section-two li.active-one:after,
.more-section-three li.active-one:after,
.more-section-four li.active-one:after {
  background-image: url(../images/icons/cdsa.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.diagnostics:after {
  content: '';
  right: 120px;
  background-image: url(../images/icons/id.png);
  position: absolute;
  width: 199px;
  height: 168px;
  top: 49px;
  background-repeat: no-repeat;
  background-size: 100%;
}

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

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

.body-list li.one:after {
  content: '';
  right: 99px;
  background-image: url(../images/icons/cds.png);
  position: absolute;
  width: 179px;
  height: 218px;
  top: 9px;
  background-repeat: no-repeat;
  background-size: 100%;
}

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

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

@media screen and (max-width: 1441px) {
  .body-list li.one:after {
    right: 20px;
    width: 47px;
    height: 48px;
    top: 3px;
    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: 36px;
    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: 31px;
    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%;
  }
}

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

@media screen and (max-width: 1921px) {
  .switch-button {
    width: 200px;
    height: 200px;
  }
}

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

@media screen and (max-width: 1921px) {
  .switch-button a {
    width: 200px;
    height: 200px;
  }
}

.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;
}

.to-dist {
  display: none;
  position: absolute;
  top: 16%;
  right: 8%;
  width: 13%;
  height: 8%;
  z-index: 25;
}

.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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Q0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFHakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLElBQUk7O0VBRWhCLElBQUk7SUFDQSxNQUFNLEVBQUUsRUFBRTs7OztBQUlsQixVQUFVLENBQVYsWUFBVTtFQUNOLEVBQUU7SUFDRSxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFHakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsSUFBSTs7RUFFaEIsSUFBSTtJQUNBLE1BQU0sRUFBRSxFQUFFOzs7O0FBSWxCLFVBQVUsQ0FBVixXQUFVO0VBQ04sRUFBRTtJQUNFLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUdqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxLQUFLOztFQUVqQixHQUFHO0lBQ0MsTUFBTSxFQUFFLElBQUk7O0VBRWhCLElBQUk7SUFDQSxNQUFNLEVBQUUsRUFBRTs7OztBQUlsQixVQUFVLENBQVYsS0FBVTtFQUNOLEVBQUU7SUFDRSxNQUFNLEVBQUUsQ0FBQzs7RUFFYixHQUFHO0lBQ0MsTUFBTSxFQUFFLEtBQUs7O0VBRWpCLEdBQUc7SUFDQyxNQUFNLEVBQUUsS0FBSzs7RUFFakIsR0FBRztJQUNDLE1BQU0sRUFBRSxTQUFTOzs7O0FBSXpCLEFBQUEsaUJB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 */