/*
 *settings theme  
 */
/*
author: Developed by Stas Melnikov. http://stas-melnikov.ru
e-mail: melnik909$ya.ru
*/
/*
 *basic styles
 */
* {
  margin: 0;
  padding: 0;
  border: none;
}

html {
  font-size: 12px;
}

body {
  font-family: "Roboto", sans-serif;
  font-size: 1.6rem;
}

.load-page .preloader:after {
  opacity: 0;
}

a {
  text-decoration: none;
  color: #000;
  -webkit-transition: color 0.3s ease-out 0s;
  transition: color 0.3s ease-out 0s;
}

a:hover {
  color: #cea735;
}

p {
  margin-bottom: 1rem;
  line-height: 2.5rem;
}

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

.responsive-img {
  max-width: 100%;
  height: auto;
}

.responsive-video {
  width: 100%;
  height: auto;
}

.close-arrow {
  height: 2.5rem;
  width: 2.5rem;
  cursor: pointer;
  position: fixed;
  top: 2rem;
  right: 3.5rem;
  z-index: 2;
}

.close-arrow:before, .close-arrow:after {
  content: "";
  display: block;
  background-color: #fff;
  height: 0.2rem;
  width: 2.5rem;
  position: fixed;
  top: 3rem;
  right: 3.5rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.close-arrow:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.close-arrow_black:before, .close-arrow_black:after {
  background-color: #000;
}

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

@media screen and (max-width: 640px) {
  html {
    font-size: 6.5px;
  }
}

.lrmw_modal_open {
  overflow: hidden;
}

.lrmw_modal_open .popup {
  overflow-y: scroll;
  overflow-x: hidden;
}

#lrmw_overlay {
  display: none;
}

.lrmw_layer, .layer {
  opacity: 0;
}

.overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  width: 100%;
  height: 100%;
}

.text-field {
  border: 1px solid #000;
  padding: 1.5rem 5% 1.5rem 4rem;
  width: 100%;
  box-sizing: border-box;
  font-family: "Roboto", sans-serif;
  font-size: 1.4rem;
}

.text-field:focus {
  border-color: transparent;
  outline: 2px solid #cea735;
}

.textarea {
  min-width: 100%;
  max-width: 100%;
  min-height: 5rem;
  max-height: 10rem;
}

.button {
  position: relative;
  background-color: #000;
  cursor: pointer;
  -webkit-transition: border-color 0.4s ease-out 0s;
  transition: border-color 0.4s ease-out 0s;
  padding: 10px 15px;
  box-sizing: border-box;
  font-weight: 700;
  color: #fff;
}

.button:after {
  content: "";
  display: block;
  width: 90%;
  height: 90%;
  background-color: #fff;
  border: 0.1rem solid transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transition-property: transform, color;
  transition-property: transform, color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0;
  transition-delay: 0;
  -webkit-transform: translateZ(0) translate(-50%, -50%) scale(0);
  transform: translateZ(0) translate(-50%, -50%) scale(0);
}

.button:hover:after {
  border-color: #000;
  -webkit-transform: translateZ(0) translate(-50%, -50%) scale(1.15);
  transform: translateZ(0) translate(-50%, -50%) scale(1.15);
  z-index: 2;
}

.button:active:after {
  background-color: #eee;
}

.button:hover .button__label {
  color: #000;
}

.button__label {
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 640px) {
  .text-field {
    padding: 1.5rem 1% 1.5rem 7%;
  }
}

.wrapper {
  overflow: hidden;
  background-color: #fff;
}

.box_blur {
  position: relative;
  color: #fff;
}

.box_blur:after {
  content: "";
  display: block;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.main-container {
  min-width: 100px;
  max-width: 1400px;
  padding: 0 2rem;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

.main-container:after {
  content: "";
  display: block;
  clear: both;
}

.main-container_padding {
  padding-top: 9rem;
  padding-bottom: 9rem;
}

@media screen and (max-width: 640px) {
  .main-container_padding {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.main-container_no-padding-bottom {
  padding-bottom: 0;
}

.main-container_fullheight {
  height: 100%;
}

.main-container__header {
  text-align: center;
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 7rem;
}

@media screen and (max-width: 640px) {
  .main-container__header {
    margin-bottom: 4rem;
  }
}

.content {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.title {
  font-weight: 300;
  font-size: 3.5rem;
  color: #000;
  text-transform: uppercase;
}

.title_middle {
  font-size: 2.8rem;
  font-weight: 300;
}

.title_small {
  font-size: 2.4rem;
  font-weight: 700;
}

.title_little {
  font-weight: 700;
  font-size: 2.2rem;
}

.title_bottom-decor {
  margin-bottom: 1.5rem;
}

.title_bottom-decor:after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, 0);
  transform: translateZ(0px) translate(-50%, 0);
}

.subtitle {
  margin-bottom: 1.5rem;
  color: #cea735;
}

.title_white {
  color: #fff;
}

.title_white:after {
  background-color: #fff;
}

@media screen and (max-width: 640px) {
  .title_bottom-decor {
    margin-bottom: 1rem;
  }
}

.icon-twitter:before {
  background-image: url("../../../icons/twitter_w.svg");
}

.icon-facebook:before {
  background-image: url("../../../icons/facebook_w.svg");
}

.icon-github:before {
  background-image: url("../../../icons/mark-github_w.svg");
}

.icon-user:before {
  background-image: url("../../../icons/user_b.svg");
}

.icon-gplus:before {
  background-image: url("../../../icons/google-plus_w.svg");
}

.icon-thumbs-up:before {
  background-image: url("../../../icons/thumbs-o-up_w.svg");
}

.icon-message:before {
  background-image: url("../../../icons/message_b.svg");
}

.icon-mail:before {
  background-image: url("../../../icons/mail_b.svg");
}

.icon-smile:before {
  background-image: url("../../../icons/smile_w.svg");
}

.icon-html5:before {
  background-image: url("../../../icons/html5_w.svg");
}

.icon-pencil:before {
  background-image: url("../../../icons/pencil_b.svg");
}

.icon-desktop:before {
  background-image: url("../../../icons/desktop_w.svg");
}

.icon-camera:before {
  background-image: url("../../../icons/camera_w.svg");
}

.icon-chart-bar:before {
  background-image: url("../../../icons/bar-chart_w.svg");
}

.icon-coffee:before {
  background-image: url("../../../icons/coffee_w.svg");
}

.icon-award:before {
  background-image: url("../../../icons/cup_b.svg");
}

.icon-linkedin:before {
  background-image: url("../../../icons/linkedin_w.svg");
}

.icon-codeopen:before {
  background-image: url("../../../icons/codepen_w.svg");
}

.icon-home:before {
  background-image: url("../../../icons/home_b.svg");
}

.icon-diamond:before {
  background-image: url("../../../icons/diamond_b.svg");
}

.icon-design:before {
  background-image: url("../../../icons/ruler_w.svg");
}

.icon-device-mobile:before {
  background-image: url("../../../icons/device-mobile_w.svg");
}

.icon-keyboard:before {
  background-image: url("../../../icons/keyboard_w.svg");
}

.icon-th:before {
  background-image: url("../../../icons/th_b.svg");
}

.icon-css3:before {
  background-image: url("../../../icons/css3_w.svg");
}

.icon-services:before {
  background-image: url("../../../icons/window_b.svg");
}

.icon-skills:before {
  background-image: url("../../../icons/lightbulb-o_b.svg");
}

.icon {
  position: relative;
  display: inline-block;
  width: 3rem;
  height: 3rem;
}

.icon:before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 50%;
}

.icon_middle {
  width: 2rem;
  height: 2rem;
}

.icon_rounded {
  border-radius: 50%;
  overflow: hidden;
  padding: 1rem;
}

.icon_rounded:before {
  position: relative;
  z-index: 2;
}

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

.icon_rounded-hover:after {
  content: "";
  display: block;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, -50%);
  transform: translateZ(0px) translate(-50%, -50%);
  -webkit-transition-property: transform, color;
  transition-property: transform, color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: translateZ(0) translate(-50%, -50%) scale(0);
  transform: translateZ(0) translate(-50%, -50%) scale(0);
}

.icon_rounded-hover:hover:after {
  -webkit-transform: translateZ(0) translate(-50%, -50%) scale(1.4);
  transform: translateZ(0) translate(-50%, -50%) scale(1.4);
}

.icon_rounded-hover.icon-twitter:hover:before {
  background-image: url("../../../icons/twitter_b.svg");
}

.icon_rounded-hover.icon-codeopen:hover:before {
  background-image: url("../../../icons/codepen_b.svg");
}

.icon_rounded-hover.icon-linkedin:hover:before {
  background-image: url("../../../icons/linkedin_b.svg");
}

.icon_rounded-hover.icon-facebook:hover:before {
  background-image: url("../../../icons/facebook_b.svg");
}

.icon_rounded-hover.icon-github:hover:before {
  background-image: url("../../../icons/mark-github_b.svg");
}

.icon_rounded-hover.icon-gplus:hover:before {
  background-image: url("../../../icons/google-plus_b.svg");
}

.icon_rounded-black {
  background-color: #000;
}

.icon_rounded-black:before {
  color: #fff;
}

.icon_rounded-black:after {
  background-color: #fff;
}

.icon_rounded-crimson {
  background-color: #cea735;
}

.icon_rounded-crimson:before {
  color: #fff;
}

.nav-icon {
  position: fixed;
  top: 1.5rem;
  right: 2rem;
  z-index: 9998;
  display: none;
  padding: 1.5rem 1rem;
  background-color: #cea735;
}

.icon-menu {
  width: 3.5rem;
  height: 2rem;
  cursor: pointer;
}

.icon-menu:before {
  content: "";
  display: block;
  height: .3rem;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 0.8rem #fff, 0 1.6rem #fff;
  -webkit-transition-property: box-shadow, background-color;
  transition-property: box-shadow, background-color;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
  -webkit-transition-delay: 0;
  transition-delay: 0;
}

.icon-menu:hover:before, .active_icon .icon-menu:before {
  box-shadow: 0 0.8rem #eee, 0 1.6rem #eee;
  background-color: #eee;
}

.fixed-panel {
  position: fixed;
  top: 0;
  z-index: 9997;
  min-width: 100%;
  padding: 1.5rem 0;
  background-color: #fff;
  border-bottom: 0.1rem solid #eee;
  box-shadow: 0 0 0.8rem #ddd;
  -webkit-transform: translateZ(0px) translate(0, 0);
  transform: translateZ(0px) translate(0, 0);
  -webkit-transition: transform 0.5s ease-out 0s;
  transition: transform 0.5s ease-out 0s;
}

#welcome_active .fixed-panel, #background-video_active .fixed-panel {
  -webkit-transform: translateZ(0px) translate(0, -100%);
  transform: translateZ(0px) translate(0, -100%);
}

.nav_main {
  float: right;
  margin-top: 1.5rem;
}

.nav__link {
  display: inline-block;
  margin-left: 1rem;
}

.nav-panel {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 9999;
  height: 100%;
  width: 200px;
  -webkit-transition-property: transform, opacity;
  transition-property: transform, opacity;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 0;
  background-color: #fff;
  border-left: 0.1rem solid #eee;
  box-shadow: 0 0 0.8rem #ddd;
}

.nav-panel__content {
  overflow-x: hidden;
}

.nav-panel__layout {
  overflow-y: scroll;
  height: 55vh;
  width: 110%;
}

.nav-panel__header {
  position: relative;
  text-align: center;
  margin: 4rem 0;
  padding: 0 1.5rem 2.5rem;
}

.nav-panel__header:before {
  background-color: #000;
}

.nav-panel__link {
  display: block;
  padding: 1rem 2rem 1rem 4rem;
  border-bottom: 0.1rem solid #ddd;
  position: relative;
}

.nav__link_active {
  color: #cea735;
}

.nav-panel__icon {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 1rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateZ(0px) translate(0, -50%);
  transform: translateZ(0px) translate(0, -50%);
  left: 1.5rem;
}

.nav-panel_fullwidth {
  width: 100%;
}

.nav-panel_fullwidth .nav-panel__layout {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  width: 100%;
  overflow-y: auto;
  margin-top: 3rem;
}

.nav-panel_fullwidth .nav-panel__link {
  text-align: center;
  padding: 0;
  width: 32.5%;
  font-size: 1.8rem;
  border-bottom: none;
}

.nav-panel_fullwidth .nav-panel__link:nth-of-type(3n+2) {
  margin-left: .5%;
  margin-right: .5%;
}

.nav-panel_fullwidth .nav-panel__icon {
  display: block;
  width: 3rem;
  height: 3rem;
  margin: 0 auto 2rem;
  position: static;
  left: 0;
  -webkit-transform: translateZ(0px) translate(0, 0);
  transform: translateZ(0px) translate(0, 0);
}

/*
 *effects
 */
.nav-panel_flip-left {
  -webkit-transform: translateZ(0) translate(0, 0) rotateY(90deg);
  transform: translateZ(0) translate(0, 0) rotateY(90deg);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  left: 0;
}

.nav-panel_flip-right {
  -webkit-transform: translateZ(0) translate(0, 0) rotateY(90deg);
  transform: translateZ(0) translate(0, 0) rotateY(90deg);
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  right: 0;
}

.nav-panel_flip-center {
  -webkit-transform: translateZ(0) translate(-50%, 0) rotateY(90deg);
  transform: translateZ(0) translate(-50%, 0) rotateY(90deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  left: 50%;
}

.nav-panel_flip-center-inverse {
  -webkit-transform: translateZ(0) translate(-50%, 0) rotateY(-90deg);
  transform: translateZ(0) translate(-50%, 0) rotateY(-90deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  left: 50%;
}

.nav-panel_flip-top {
  -webkit-transform: translateZ(0) translate(0, 0) rotateX(90deg);
  transform: translateZ(0) translate(0, 0) rotateX(90deg);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}

.nav-panel_flip-bottom {
  -webkit-transform: translateZ(0) translate(0, 0) rotateX(-90deg);
  transform: translateZ(0) translate(0, 0) rotateX(-90deg);
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}

.nav-panel_top-to-bottom {
  -webkit-transform: translateZ(0px) translate(0, -100%);
  transform: translateZ(0px) translate(0, -100%);
  right: 0;
}

.nav-panel_bottom-to-top {
  -webkit-transform: translateZ(0px) translate(0, 100%);
  transform: translateZ(0px) translate(0, 100%);
  right: 0;
}

.nav-panel_right-to-left {
  -webkit-transform: translateZ(0px) translate(100%, 0);
  transform: translateZ(0px) translate(100%, 0);
  right: 0;
}

.nav-panel_left-to-right {
  -webkit-transform: translateZ(0px) translate(-100%, 0);
  transform: translateZ(0px) translate(-100%, 0);
  left: 0;
}

.nav-panel_zoom-in {
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .nav_main {
    display: none;
  }
  .nav-icon {
    display: block;
  }
  .nav-panel_active .nav-panel_right-to-left, .nav-panel_active .nav-panel_left-to-right, .nav-panel_active .nav-panel_top-to-bottom, .nav-panel_active .nav-panel_bottom-to-top {
    -webkit-transform: translateZ(0px) translate(0, 0);
    transform: translateZ(0px) translate(0, 0);
    opacity: 1;
  }
  .nav-panel_active .nav-panel_zoom-in {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  .nav-panel_active .nav-panel_flip-left, .nav-panel_active .nav-panel_flip-right {
    -webkit-transform: translateZ(0) translate(0, 0) rotateY(0);
    transform: translateZ(0) translate(0, 0) rotateY(0);
    opacity: 1;
  }
  .nav-panel_active .nav-panel_flip-center, .nav-panel_active .nav-panel_flip-center-inverse {
    -webkit-transform: translateZ(0) translate(-50%, 0) rotateY(0);
    transform: translateZ(0) translate(-50%, 0) rotateY(0);
    opacity: 1;
  }
  .nav-panel_active .nav-panel_flip-top, .nav-panel_active .nav-panel_flip-bottom {
    -webkit-transform: translateZ(0) translate(0, 0) rotateX(0);
    transform: translateZ(0) translate(0, 0) rotateX(0);
    opacity: 1;
  }
  .nav-panel_active .overlay {
    display: block;
  }
}

/*
 *social
 */
.social_right {
  float: right;
  text-align: right;
  font-weight: 700;
}

.logo {
  font-size: 2.4rem;
  font-weight: 300;
  color: #000;
  text-transform: none;
}

.logo_bottom-decor {
  margin-bottom: 1.5rem;
}

.logo_bottom-decor:after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, 0);
  transform: translateZ(0px) translate(-50%, 0);
}

.logo__item {
  display: inline-block;
}

.logo__item_bold {
  font-weight: bold;
}

.logo_left {
  float: left;
}

.logo__label {
  font-size: 1.4rem;
  color: #cea735;
  display: block;
}

.header {
  height: 100vh;
  background: url("http://placehold.it/1920x1080") no-repeat center 50%;
  background-size: cover;
  overflow: hidden;
}

.header_no-bg {
  background: none;
}

.welcome {
  color: #fff;
  width: 100%;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, -50%);
  transform: translateZ(0px) translate(-50%, -50%);
}

.welcome__header {
  line-height: 8rem;
}

.welcome__name {
  display: block;
  font-weight: 700;
  font-size: 8rem;
  text-shadow: 0.1rem 0.1rem 1rem #000;
  letter-spacing: 0.8rem;
}

.welcome__label {
  display: inline-block;
  font-weight: 300;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
}

.welcome__link {
  font-size: 1.4rem;
  color: #fff;
  padding: .5rem 0;
  display: inline-block;
  margin: 0 1.5rem;
  border-bottom: 1px dashed #fff;
}

.welcome__link:hover {
  background-color: #fff;
  color: #000;
  border-color: transparent;
  margin: 0 .5rem;
  padding: .5rem 1rem;
  -webkit-transition: background-color 0.5s ease-out 0s;
  transition: background-color 0.5s ease-out 0s;
}

@media screen and (max-width: 700px) {
  max-height: 667px;
}

.about-me__layout {
  width: 49%;
  margin-right: 1%;
}

.about-me__row {
  margin-bottom: 2rem;
}

.about-me__row:after {
  content: "";
  display: block;
  clear: both;
}

.about-me__row:last-of-type {
  margin-bottom: 0;
}

.about-me__sidebar {
  width: 40%;
  padding: 2.5rem 5%;
  background-color: #eee;
}

.about-me__column {
  width: 40%;
  float: left;
}

.about-me__column:last-of-type {
  width: 55%;
  margin-left: 5%;
}

.csr-me__layout {
  width: 49%;
  margin-right: 1%;
}

.csr-me__row {
  margin-bottom: 2rem;
}

.csr-me__row:after {
  content: "";
  display: block;
  clear: both;
}

.csr-me__row:last-of-type {
  margin-bottom: 0;
}

.csr-me__sidebar {
  width: 40%;
  padding: 2.5rem 5%;
  background-color: #eee;
}

.csr-me__column {
  width: 40%;
  float: left;
}

.csr-me__column:last-of-type {
  width: 55%;
  margin-left: 5%;
}

.avatar {
  width: 15rem;
  margin: 0 auto 3rem;
  position: relative;
  padding-bottom: 3rem;
}

.avatar:after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, 0);
  transform: translateZ(0px) translate(-50%, 0);
  background-color: #ddd;
}

.avatar__img {
  border-radius: 50%;
  box-shadow: 0 0 0.7rem 0 #000;
}

.about-me__title {
  margin-bottom: 2.5rem;
}

.about-me__title-label {
  font-weight: 700;
}

.about-me__tag {
  display: inline-block;
  vertical-align: middle;
  background-color: #000;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
  text-transform: uppercase;
  color: #fff;
}

.about-me__value {
  display: inline-block;
  vertical-align: middle;
}

.about-me__icon {
  margin-right: 0.5rem;
  margin-bottom: 1rem;
}

.about-me__icon:last-of-type {
  margin-right: 0;
}

@media screen and (max-width: 860px) {
  .about-me {
    display: block;
  }
  .about-me__layout {
    width: 100%;
    margin-bottom: 4rem;
  }
  .about-me__layout:after {
    content: "";
    display: block;
    clear: both;
  }
  .about-me__content {
    float: right;
    width: 75%;
  }
  .about-me__sidebar {
    padding: 2.5rem 5%;
    width: 90%;
  }
  .avatar {
    float: left;
  }
}

.csr-me__title {
  margin-bottom: 2.5rem;
}

.csr-me__title-label {
  font-weight: 700;
}

.csr-me__tag {
  display: inline-block;
  vertical-align: middle;
  background-color: #000;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
  text-transform: uppercase;
  color: #fff;
}

.csr-me__value {
  display: inline-block;
  vertical-align: middle;
}

.csr-me__icon {
  margin-right: 0.5rem;
  margin-bottom: 1rem;
}

.csr-me__icon:last-of-type {
  margin-right: 0;
}

@media screen and (max-width: 860px) {
  .csr-me {
    display: block;
  }
  .csr-me__layout {
    width: 100%;
    margin-bottom: 4rem;
  }
  .csr-me__layout:after {
    content: "";
    display: block;
    clear: both;
  }
  .csr-me__content {
    float: right;
    width: 75%;
  }
  .csr-me__sidebar {
    padding: 2.5rem 5%;
    width: 90%;
  }
  .avatar {
    float: left;
  }
}

@media screen and (max-width: 480px) {
  .avatar {
    float: none;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }
  .about-me__content {
    float: none;
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  .avatar {
    width: 9rem;
  }
  .about-me__row {
    margin-bottom: 1rem;
  }
}

.skills-display {
  background: url("http://placehold.it/1920x1080") no-repeat center 20% #ddd;
  background-size: cover;
}

.skills__column {
  width: 45%;
  margin-right: 5%;
}

.skills__column:last-of-type {
  margin-right: 0;
  width: 50%;
}

.skills-bar__item {
  height: 5rem;
  position: relative;
  margin-bottom: 3rem;
  overflow: hidden;
}

.skills-bar__item:last-of-type {
  margin-bottom: 0;
}

.skill-bar {
  height: 100%;
  background-color: #fff;
}

.skill {
  position: absolute;
  top: 50%;
  -webkit-transform: translateZ(0px) translate(0, -50%);
  transform: translateZ(0px) translate(0, -50%);
  color: #000;
  font-weight: 700;
  margin-left: 2rem;
}

@media screen and (max-width: 860px) {
  .skills {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .skills__column, .skills__column:last-of-type {
    width: 100%;
    margin-right: 0;
  }
  .skills-bar {
    margin-top: 4rem;
  }
}

.services {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.service {
  width: 45%;
  position: relative;
  background-color: #eee;
  padding: 4rem 2% 2.5rem;
  margin: 5.2rem 1% 0 0;
  -webkit-transition: box-shadow 0.4s ease-out 0s;
  transition: box-shadow 0.4s ease-out 0s;
}

.service:hover {
  box-shadow: 0 0 0.7rem 0 #ddd;
}

.service:first-of-type, .service:nth-child(2) {
  margin-top: 2.5rem;
}

.service:nth-child(2n+2) {
  margin-right: 0;
  margin-left: 1%;
}

.service__header {
  margin-bottom: 1rem;
  position: relative;
}

.service__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, -50%);
  transform: translateZ(0px) translate(-50%, -50%);
  top: 0;
}

.service__name {
  text-align: center;
  text-transform: none;
}

.service__description {
  font-size: 1.4rem;
}

@media screen and (max-width: 640px) {
  .service {
    width: 96%;
    padding: 4rem 2% 2.5rem;
    margin-right: 0;
    margin-top: 5rem;
  }
  .service:first-of-type {
    margin-top: 2.7rem;
  }
  .service:nth-child(2) {
    margin-top: 5rem;
  }
}

.stats-display {
  background: url("http://placehold.it/1920x1080") no-repeat center 50% #ddd;
  background-size: cover;
}

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

.stats__item {
  width: 23%;
  margin-right: 2%;
  text-align: center;
}

.stats__item:last-of-type {
  margin-right: 0;
}

.stats__icon {
  width: 6rem;
  height: 6rem;
  margin-bottom: 3rem;
}

.stats__icon:before {
  font-size: 6rem;
}

@media screen and (max-width: 360px) {
  .stats {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .stats__item {
    width: 48%;
    margin-bottom: 4.5rem;
  }
  .stats__item:nth-of-type(even) {
    margin-right: 0;
  }
  .stats__item:nth-of-type(3), .stats__item:nth-of-type(4) {
    margin-bottom: 0;
  }
}

.portfolio__header {
  margin: 9rem 0 7rem;
  text-align: center;
  position: relative;
  padding-bottom: 1rem;
}

.list-works {
  max-width: 1920px;
  margin: 0 auto;
}

.list-works_visible-description-yes {
  display: block;
}

.list-works__element {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}

.list-works__element:hover .list-works__blur-svg {
  opacity: 0;
}

.list-works__element:nth-of-type(odd) .list-works__description {
  padding: 2rem 0 2rem 5%;
}

.list-works__element:nth-of-type(even) {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  background-color: #eee;
}

.list-works__element:nth-of-type(even) .list-works__wrap-img {
  order: 2;
}

.list-works__element:nth-of-type(even) .list-works__description {
  padding: 2rem 5% 2rem 0;
}

.list-works__column {
  width: 50%;
  box-sizing: border-box;
}

.list-works__wrap-img {
  font-size: 0;
}

.list-works__wrap-img_blur {
  overflow: hidden;
  position: relative;
  width: 40%;
}

.list-works__blur-svg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transition: opacity 0.4s ease-in 0s;
  transition: opacity 0.4s ease-in 0s;
}

.list-works__description {
  width: 55%;
  box-sizing: border-box;
}

.list-works__content {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.list-works__item {
  width: 50%;
  float: left;
  overflow: hidden;
  position: relative;
  text-align: center;
}

.list-works__item:hover .list-works__overlay {
  opacity: 1;
}

.list-works__item:hover .list-works__name-project_fade {
  -webkit-animation: right_header_slide 0.5s ease-out;
  animation: right_header_slide 0.5s ease-out;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.list-works__item:hover .list-works__link-project {
  -webkit-animation: left_footer_slide 0.5s ease-out;
  animation: left_footer_slide 0.5s ease-out;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.list-works__item_big {
  width: 100%;
}

.list-works__footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.project-tech {
  width: 50%;
}

.project-tech_fullwidth {
  width: 100%;
}

.project-tech__icon {
  margin-top: 2rem;
  vertical-align: bottom;
}

.list-works__show-project {
  display: inline-block;
  padding: 1rem 2rem;
  color: #fff;
  border: 1px solid #cea735;
  background-color: #cea735;
  -webkit-transition-property: border-color, background-color;
  transition-property: border-color, background-color;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.list-works__show-project:hover {
  border-color: #cea735;
  background-color: #fff;
  color: #cea735;
}

.list-works__overlay {
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: opacity 0.5s ease 0s;
  transition: opacity 0.5s ease 0s;
}

.list-works__name-project {
  font-weight: bold;
}

.list-works__name-project_fade {
  width: 98%;
  padding: 1%;
  display: block;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateZ(0px) translate(150%, -50%);
  transform: translateZ(0px) translate(150%, -50%);
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
}

.list-works__link-project {
  display: block;
  width: 98%;
  padding: 1%;
  opacity: 0;
  color: #fff;
  position: absolute;
  bottom: 0;
  -webkit-transform: translateZ(0px) translate(-150%, -50%);
  transform: translateZ(0px) translate(-150%, -50%);
}

@-webkit-keyframes right_header_slide {
  100% {
    -webkit-transform: translateZ(0px) translate(0%, -50%);
    transform: translateZ(0px) translate(0%, -50%);
    opacity: 1;
  }
}

@keyframes right_header_slide {
  100% {
    -webkit-transform: translateZ(0px) translate(0%, -50%);
    transform: translateZ(0px) translate(0%, -50%);
    opacity: 1;
  }
}

@-webkit-keyframes left_footer_slide {
  100% {
    -webkit-transform: translateZ(0px) translate(0%, -50%);
    transform: translateZ(0px) translate(0%, -50%);
    opacity: 1;
  }
}

@keyframes left_footer_slide {
  100% {
    -webkit-transform: translateZ(0px) translate(0%, -50%);
    transform: translateZ(0px) translate(0%, -50%);
    opacity: 1;
  }
}

@media screen and (max-width: 1300px) {
  .list-works_visible-description-yes {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .list-works__element {
    width: 50%;
    margin-top: 3rem;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .list-works__element:nth-of-type(1), .list-works__element:nth-of-type(2) {
    margin-top: 0;
  }
  .list-works__element:nth-of-type(odd) .list-works__description {
    padding: 3rem 1rem 0;
  }
  .list-works__element:nth-of-type(even) {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    background-color: #fff;
  }
  .list-works__element:nth-of-type(even) .list-works__wrap-img {
    order: 1;
  }
  .list-works__element:nth-of-type(even) .list-works__description {
    padding: 3rem 1rem 0;
    order: 2;
  }
  .list-works__wrap-img_blur, .list-works__description {
    width: 100%;
  }
}

@media screen and (max-width: 960px) {
  .list-works__item {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .portfolio__header {
    margin: 6rem 0 4rem;
  }
}

@media screen and (max-width: 480px) {
  .list-works__element {
    width: 100%;
  }
  .list-works__element:nth-of-type(2) {
    margin-top: 3rem;
  }
}

.contact-form {
  width: 70%;
  margin: 0 auto;
}

.contact-form__item {
  position: relative;
  margin-bottom: 2.5rem;
}

.contact-form__icon {
  position: absolute;
  top: 1.5rem;
  left: 2%;
  width: 1.5rem;
  height: 1.5rem;
}

.contact-form__button {
  width: 20rem;
  margin: 0 auto;
  padding: 1rem 2%;
  display: block;
}

@media screen and (max-width: 640px) {
  .contact-form {
    width: 100%;
  }
}

.timeline {
  position: relative;
  overflow: hidden;
}

.timeline__layout {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  padding: 1.3rem 0;
}

.timeline__line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 22%;
  width: 3px;
  height: 100%;
  background-color: #000;
}

.timeline__dotted {
  width: 1rem;
  height: 1rem;
  border: 0.2rem solid #000;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  top: 5.5rem;
  left: 21.6%;
}

.timeline__time {
  width: 20%;
  text-align: right;
  margin-right: 5%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-content: center;
}

.timeline__content {
  border-left: 0.5rem solid #cea735;
  background-color: #eee;
  position: relative;
  padding: 2rem 2.5rem;
  width: 71%;
  box-sizing: border-box;
}

.timeline__content:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 0.5rem solid #cea735;
  border-top-color: transparent;
  border-right-color: transparent;
  position: absolute;
  top: 5rem;
  -webkit-transform: translateZ(0) translate(0, -50%) rotate3d(0, 0, -45, -45deg);
  transform: translateZ(0) translate(0, -50%) rotate3d(0, 0, -45, -45deg);
  left: -0.9rem;
}

.timeline__date {
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  width: 100%;
  margin-bottom: 1rem;
}

.timeline__place-work {
  width: 100%;
  font-size: 1.4rem;
  color: #cea735;
}

.timeline__title {
  text-transform: none;
  margin-bottom: 1rem;
}

@media screen and (max-width: 980px) {
  .timeline__layout {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .timeline__line {
    left: 5px;
  }
  .timeline__dotted {
    left: 2px;
    top: 70px;
  }
  .timeline__time {
    width: 90%;
    margin: 0 0 1rem 5%;
    text-align: left;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .timeline__date, .timeline__place-work {
    width: auto;
  }
  .timeline__date {
    margin-right: .5rem;
    margin-bottom: 0;
  }
  .timeline__content {
    width: 90%;
    margin: 0 0 0 5%;
  }
  .timeline__content:before {
    top: 30px;
  }
}

@media screen and (max-width: 480px) {
  .timeline__line {
    display: none;
  }
  .timeline__layout {
    padding: 0 0 2rem;
  }
  .timeline__dotted {
    display: none;
  }
  .timeline__content {
    width: 100%;
    margin: 0;
  }
  .timeline__content:before {
    display: none;
  }
}

.blog {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.blog__column {
  width: 23%;
}

.blog__column:nth-of-type(4n+2) {
  margin-left: 2%;
  margin-right: 1%;
}

.blog__column:nth-of-type(4n+3) {
  margin-right: 2%;
  margin-left: 1%;
}

.post {
  background-color: #eee;
  box-sizing: border-box;
  font-size: 1.4rem;
  margin-top: 1.9vw;
}

.post:nth-of-type(1), .post:nth-of-type(2), .post:nth-of-type(3), .post:nth-of-type(4) {
  margin-top: 0;
}

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

.post_footer-yes .post__layout {
  padding-bottom: 7rem;
}

.post__header {
  position: relative;
  font-size: 0;
}

.post__layout {
  border-top: 5px solid #cea735;
  padding: 1.5rem 2.5rem;
}

.post__footer {
  border-top: 2px solid #ddd;
  font-size: 1.4rem;
  font-weight: 700;
  box-sizing: border-box;
  width: 100%;
  position: absolute;
  bottom: 0;
  padding: 1.5rem 2.5rem;
  text-align: right;
}

.post__img {
  cursor: pointer;
}

.post__title {
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-size: 1.8rem;
}

.post__date {
  display: inline-block;
}

.post__date_absolute {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #cea735;
  padding: .5rem 1rem;
  font-size: 1.6rem;
  color: #fff;
}

@media screen and (max-width: 1200px) {
  .blog__column {
    width: 32.6%;
    margin-top: 1vw;
  }
  .blog__column:nth-of-type(4) {
    margin-top: 1vw;
  }
  .blog__column:nth-of-type(4n+2), .blog__column:nth-of-type(4n+3) {
    margin-left: 0;
    margin-right: 0;
  }
  .blog__column:nth-of-type(3n+2) {
    margin-right: 1%;
    margin-left: 1%;
  }
}

@media screen and (max-width: 768px) {
  .blog__column {
    width: 49%;
    margin-top: 1.8vw;
  }
  .blog__column:nth-of-type(3), .blog__column:nth-of-type(4) {
    margin-top: 1.8vw;
  }
  .blog__column:nth-of-type(3n+2) {
    margin-right: 0;
    margin-left: 0;
  }
  .blog__column:nth-of-type(2n+1) {
    margin-right: 1%;
    margin-left: 0;
  }
  .blog__column:nth-of-type(2n+2) {
    margin-right: 0;
    margin-left: 1%;
  }
}

@media screen and (max-width: 480px) {
  .blog__column {
    width: 100%;
    margin-top: 5vw;
  }
  .blog__column:nth-of-type(2), .blog__column:nth-of-type(3), .blog__column:nth-of-type(4) {
    margin-top: 5vw;
  }
  .blog__column:nth-of-type(2n+1), .blog__column:nth-of-type(2n+2) {
    margin-right: 0;
    margin-left: 0;
  }
}

/*
 *footer
 */
.footer {
  background-color: #fff;
  border-top: 1px solid #eee;
  box-shadow: 0 0 0.8rem #ddd;
  padding: 2rem 0;
  min-width: 100%;
  position: relative;
  z-index: 2;
}

.copyright {
  float: left;
}

.author {
  float: right;
}

@media screen and (max-width: 640px) {
  .footer {
    text-align: center;
  }
  .copyright, .author {
    float: none;
    width: 100%;
    margin-bottom: .5rem;
  }
  .author {
    margin-bottom: 0;
  }
}

.popup {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9999;
  height: 100%;
}

.popup-overlay {
  position: fixed;
  z-index: 9997;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}

.popup__inner {
  position: absolute;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, 0);
  transform: translateZ(0px) translate(-50%, 0);
  top: 0;
  width: 80%;
  max-width: 1200px;
  padding: 5% 0;
  overflow: hidden;
}

.popup__layout {
  background-color: #fff;
}

.popup__header {
  position: relative;
}

.popup-blog__date {
  position: absolute;
  top: 1rem;
  right: 0;
  z-index: 2;
  background-color: #cea735;
  padding: .5rem 1rem;
  font-size: 1.6rem;
  color: #fff;
}

.popup__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  padding: 5%;
}

.popup__description {
  width: 65%;
  margin-right: 5%;
}

.popup__description_fullwidth {
  width: 100%;
  margin-right: 0;
}

.popup__sidebar {
  width: 30%;
}

.popup__title {
  text-shadow: 0.1rem 0.1rem 1rem #000;
  letter-spacing: 0.2rem;
  color: #fff;
  width: 90%;
  padding: 0 5%;
  text-align: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateZ(0px) translate(0, -50%);
  transform: translateZ(0px) translate(0, -50%);
  z-index: 2;
}

.popup__title-label {
  display: block;
}

.popup__show-more {
  color: #cea735;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 1rem;
  overflow: hidden;
  display: block;
  width: 100%;
}

.popup__show-more:hover {
  color: #000;
}

.popup__demo-box {
  margin-top: 2rem;
}

.popup__video {
  height: 30rem;
}

@media screen and (max-width: 980px) {
  .popup__content {
    display: block;
  }
  .popup__description, .popup__sidebar {
    width: 100%;
    margin: 0;
  }
  .popup__description {
    margin-bottom: 3rem;
  }
  .popup__sidebar:after {
    content: "";
    display: block;
    clear: both;
  }
  .popup__used-tech, .popup__demo-box {
    width: 50%;
  }
  .popup__used-tech {
    float: left;
  }
  .popup__demo-box {
    float: right;
    margin-top: 0;
    text-align: right;
  }
  .popup__show-more {
    margin-top: 3rem;
  }
}

@media screen and (max-width: 480px) {
  .popup__used-tech, .popup__demo-box {
    width: 100%;
    float: none;
  }
  .popup__demo-box {
    text-align: left;
    margin-top: 2rem;
  }
  .popup__show-more {
    margin-top: 1rem;
  }
  .close-arrow {
    right: 2.2rem;
  }
  .close-arrow:before, .close-arrow:after {
    right: 2.2rem;
  }
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes jump {
  0%, 20%, 53%, 80%, 100% {
    -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);
    transform: translate3d(0, 0, 0);
  }
  0% {
    opacity: 0;
  }
  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  100% {
    opacity: 1;
  }
}

@keyframes jump {
  0%, 20%, 53%, 80%, 100% {
    -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);
    transform: translate3d(0, 0, 0);
  }
  0% {
    opacity: 0;
  }
  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
  100% {
    opacity: 1;
  }
}

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

@-webkit-keyframes shine {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}

@keyframes shine {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}

.shine {
  -webkit-animation-name: shine;
  animation-name: shine;
}

@-webkit-keyframes impulse {
  0% {
    opacity: 0;
  }
  10% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}

@keyframes impulse {
  0% {
    opacity: 0;
  }
  10% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}

.impulse {
  -webkit-animation-name: impulse;
  animation-name: impulse;
}

@-webkit-keyframes elastic {
  0% {
    opacity: 0;
  }
  10% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
    opacity: 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);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}

@keyframes elastic {
  0% {
    opacity: 0;
  }
  10% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 0;
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
    opacity: 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);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}

.elastic {
  -webkit-animation-name: elastic;
  animation-name: elastic;
}

@-webkit-keyframes jitter {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 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);
  }
  100% {
    opacity: 1;
  }
}

@keyframes jitter {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  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);
  }
  100% {
    opacity: 1;
  }
}

.jitter {
  -webkit-animation-name: jitter;
  animation-name: jitter;
}

@-webkit-keyframes seesaw {
  0% {
    opacity: 1;
  }
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
    opacity: 1;
  }
  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);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
    opacity: 0;
  }
}

@keyframes seesaw {
  0% {
    opacity: 1;
  }
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
    opacity: 1;
  }
  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);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
    opacity: 0;
  }
}

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

@-webkit-keyframes wave {
  0% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
  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);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 0;
  }
}

@keyframes wave {
  0% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
  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);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.wave {
  -webkit-animation-name: wave;
  animation-name: wave;
}

@-webkit-keyframes jumpIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -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);
  }
  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);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes jumpIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -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);
  }
  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);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.jumpIn {
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-name: jumpIn;
  animation-name: jumpIn;
}

@-webkit-keyframes jumpInDown {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes jumpInDown {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.jumpInDown {
  -webkit-animation-name: jumpInDown;
  animation-name: jumpInDown;
}

@-webkit-keyframes jumpInLeft {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes jumpInLeft {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.jumpInLeft {
  -webkit-animation-name: jumpInLeft;
  animation-name: jumpInLeft;
}

@-webkit-keyframes jumpInRight {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes jumpInRight {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.jumpInRight {
  -webkit-animation-name: jumpInRight;
  animation-name: jumpInRight;
}

@-webkit-keyframes jumpInUp {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes jumpInUp {
  0%, 60%, 75%, 90%, 100% {
    -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);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.jumpInUp {
  -webkit-animation-name: jumpInUp;
  animation-name: jumpInUp;
}

@-webkit-keyframes jumpOut {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@keyframes jumpOut {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

.jumpOut {
  -webkit-animation-name: jumpOut;
  animation-name: jumpOut;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
}

@-webkit-keyframes jumpOutDown {
  0% {
    opacity: 1;
  }
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes jumpOutDown {
  0% {
    opacity: 1;
  }
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.jumpOutDown {
  -webkit-animation-name: jumpOut;
  animation-name: jumpOut;
}

@-webkit-keyframes jumpOutLeft {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes jumpOutLeft {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.jumpOutLeft {
  -webkit-animation-name: jumpOutLeft;
  animation-name: jumpOutLeft;
}

@-webkit-keyframes jumpOutRight {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes jumpOutRight {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  100% {
    opacity: 0;
  }
}

.jumpOutRight {
  -webkit-animation-name: jumpOutRight;
  animation-name: jumpOutRight;
}

@-webkit-keyframes jumpOutUp {
  0% {
    opacity: 1;
  }
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
    opacity: 1;
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes jumpOutUp {
  0% {
    opacity: 1;
  }
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
    opacity: 1;
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.jumpOutUp {
  -webkit-animation-name: jumpOutUp;
  animation-name: jumpOutUp;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

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

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

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

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

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1;
  }
  40% {
    -webkit-transform: perspective(400px) ranslate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) 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) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) 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);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) 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) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) 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);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-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-transition-timing-function: ease-in;
    transition-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);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-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-transition-timing-function: ease-in;
    transition-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);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}

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

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-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-transition-timing-function: ease-in;
    transition-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);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-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-transition-timing-function: ease-in;
    transition-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);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}

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

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

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

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

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

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

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -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);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  0% {
    -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);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

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

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

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

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

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0, 0, 1, 45deg);
    transform: rotate(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0, 0, 1, 45deg);
    transform: rotate(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -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-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -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-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

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

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

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

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    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 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

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

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

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

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

@-webkit-keyframes zoomInDown {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

@keyframes zoomInDown {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

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

@-webkit-keyframes zoomInLeft {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

@keyframes zoomInLeft {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

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

@-webkit-keyframes zoomInRight {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

@keyframes zoomInRight {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

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

@-webkit-keyframes zoomInUp {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

@keyframes zoomInUp {
  0% {
    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);
  }
  100% {
    opacity: 1;
  }
}

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

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

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

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

@-webkit-keyframes zoomOutDown {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    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-transform-origin: center bottom;
    transform-origin: center bottom;
    -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 {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    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-transform-origin: center bottom;
    transform-origin: center bottom;
    -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);
  }
}

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    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-transform-origin: center bottom;
    transform-origin: center bottom;
    -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 {
  0% {
    opacity: 1;
  }
  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);
  }
  100% {
    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-transform-origin: center bottom;
    transform-origin: center bottom;
    -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);
  }
}

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

/*
 *mixins
 */
/*
 *basic style
 */
.preloader {
  color: #fff;
  position: static;
}

.preloader:after {
  z-index: 9998;
  position: fixed;
  background-color: #000;
  -webkit-transition: opacity 0.5s ease-out 0.2s;
  transition: opacity 0.5s ease-out 0.2s;
}

.mpc_preloader {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, -50%);
  transform: translateZ(0px) translate(-50%, -50%);
  position: fixed;
  z-index: 9999;
}

.mpc_preloader_no_fixed {
  position: absolute;
}

.mpc_preloader_round {
  position: relative;
  padding-top: 24px;
  text-align: center;
}

.mpc_preloader_round:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateZ(0px) translate(-50%, 0);
  transform: translateZ(0px) translate(-50%, 0);
  top: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

/*
 *mpc_preloader2
 */
.mpc_preloader2:before {
  -webkit-animation: mpc_preloader2 6s ease-in infinite alternate;
  animation: mpc_preloader2 6s ease-in infinite alternate;
}

@keyframes mpc_preloader2 {
  0% {
    border: 3px solid #fff;
    background-color: #fff;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
  20% {
    border: 3px solid #2893d1;
    background-color: #2893d1;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1);
    transform: translateZ(0) translate(-50%, 0) scale(1);
  }
  40% {
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
  60% {
    border: 3px solid #5ba525;
    background-color: #5ba525;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1);
    transform: translateZ(0) translate(-50%, 0) scale(1);
  }
  80% {
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
  100% {
    border: 3px solid #dd4e37;
    background-color: #dd4e37;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1);
    transform: translateZ(0) translate(-50%, 0) scale(1);
  }
}

@-webkit-keyframes mpc_preloader2 {
  0% {
    border: 3px solid #fff;
    background-color: #fff;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
  20% {
    border: 3px solid #2893d1;
    background-color: #2893d1;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1);
    transform: translateZ(0) translate(-50%, 0) scale(1);
  }
  40% {
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
  60% {
    border: 3px solid #5ba525;
    background-color: #5ba525;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1);
    transform: translateZ(0) translate(-50%, 0) scale(1);
  }
  80% {
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
  100% {
    border: 3px solid #dd4e37;
    background-color: #dd4e37;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1);
    transform: translateZ(0) translate(-50%, 0) scale(1);
  }
}

/*
 *mpc_preloader3
 */
.mpc_preloader3:before {
  opacity: 0;
  -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
  transform: translateZ(0) translate(-50%, 0) scale(0);
  background-color: #6dace2;
  -webkit-animation: mpc_preloader3 1s ease-in infinite alternate;
  animation: mpc_preloader3 1s ease-in infinite alternate;
}

@keyframes mpc_preloader3 {
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1.5);
    transform: translateZ(0) translate(-50%, 0) scale(1.5);
  }
}

@-webkit-keyframes mpc_preloader3 {
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(1.5);
    transform: translateZ(0) translate(-50%, 0) scale(1.5);
  }
}

/*
 *mpc_preloader4
 */
.mpc_preloader4:before {
  opacity: 1;
  -webkit-transform: translateZ(0) translate(-50%, 0) scale(1.5);
  transform: translateZ(0) translate(-50%, 0) scale(1.5);
  background-color: #37a3ff;
  -webkit-animation: mpc_preloader4 1s ease-in infinite alternate;
  animation: mpc_preloader4 1s ease-in infinite alternate;
}

@keyframes mpc_preloader4 {
  100% {
    opacity: 0;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
}

@-webkit-keyframes mpc_preloader4 {
  100% {
    opacity: 0;
    -webkit-transform: translateZ(0) translate(-50%, 0) scale(0);
    transform: translateZ(0) translate(-50%, 0) scale(0);
  }
}

/*
 *mpc_preloader5
 */
.mpc_preloader5 {
  width: 5em;
  height: 5em;
}

.mpc_preloader5_element {
  position: relative;
  width: 5em;
  height: 5em;
  border-radius: 50%;
}

.mpc_preloader5_element:after {
  content: "";
  background-color: #000;
  width: 4em;
  height: 4em;
  border-radius: 50%;
  position: absolute;
  top: 0.5em;
  left: 0.5em;
}

.mpc_preloader5_rotator {
  position: relative;
  width: 5em;
  border-radius: 5em;
  overflow: hidden;
  -webkit-animation: rotate 1.5s infinite linear;
  animation: rotate 1.5s infinite linear;
}

.mpc_preloader5_rotator:before {
  content: "";
  background-color: #00a096;
  border: 3px solid #000;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.mpc_preloader5_rotator_element {
  background-color: #000;
  border-radius: 2.5em 0 0 2.5em;
  -webkit-transform-origin: 2.5em 2.5em;
  transform-origin: 2.5em 2.5em;
  height: 5em;
  width: 2.5em;
  -webkit-animation: rotate_left 2s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
  animation: rotate_left 2s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.mpc_preloader5_rotator_element:last-child {
  margin-top: -5em;
  border-radius: 0 2.5em 2.5em 0;
  float: right;
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-animation: rotate_right 2s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
  animation: rotate_right 2s infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

@keyframes rotate_left {
  60%, 75%, 100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes rotate_left {
  60%, 75%, 100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate_right {
  0%, 25%, 45% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes rotate_right {
  0%, 25%, 45% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*
 *mpc_preloader6
 */
.mpc_preloader6 {
  width: 4.4rem;
  height: 4.4rem;
  -webkit-animation: mpc_preloader6_element_two 1.5s infinite;
  animation: mpc_preloader6_element_two 1.5s infinite;
}

.mpc_preloader6_element {
  width: 4.4rem;
  height: 4.4rem;
  position: absolute;
}

.mpc_preloader6_element:after {
  content: "";
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  -webkit-animation: mpc_preloader6_element_one 1.5s infinite ease;
  animation: mpc_preloader6_element_one 1.5s infinite ease;
}

.mpc_preloader6_element1:after {
  background-color: #cb2025;
  -webkit-transform: translateZ(0px) translate(0, 0);
  transform: translateZ(0px) translate(0, 0);
}

.mpc_preloader6_element2:after {
  background-color: #f8b334;
  -webkit-transform: translateZ(0px) translate(2.2rem, 0);
  transform: translateZ(0px) translate(2.2rem, 0);
}

.mpc_preloader6_element3:after {
  background-color: #00a096;
  -webkit-transform: translateZ(0px) translate(0, 2.2rem);
  transform: translateZ(0px) translate(0, 2.2rem);
}

.mpc_preloader6_element4:after {
  background-color: #97bf0d;
  -webkit-transform: translateZ(0px) translate(2.2rem, 2.2rem);
  transform: translateZ(0px) translate(2.2rem, 2.2rem);
}

@-webkit-keyframes mpc_preloader6_element_one {
  50% {
    -webkit-transform: translateZ(0px) translate(1.1rem, 1.1rem);
    transform: translateZ(0px) translate(1.1rem, 1.1rem);
    opacity: .5;
  }
}

@keyframes mpc_preloader6_element_one {
  50% {
    -webkit-transform: translateZ(0px) translate(1.1rem, 1.1rem);
    transform: translateZ(0px) translate(1.1rem, 1.1rem);
    opacity: .5;
  }
}

@-webkit-keyframes mpc_preloader6_element_two {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
  }
  50% {
    -webkit-transform: rotate(360deg) scale(1.3);
    transform: rotate(360deg) scale(1.3);
  }
  100% {
    -webkit-transform: rotate(720deg) scale(1);
    transform: rotate(720deg) scale(1);
  }
}

@keyframes mpc_preloader6_element_two {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
  }
  50% {
    -webkit-transform: rotate(360deg) scale(1.3);
    transform: rotate(360deg) scale(1.3);
  }
  100% {
    -webkit-transform: rotate(720deg) scale(1);
    transform: rotate(720deg) scale(1);
  }
}

/*
 *mpc_preloader7
 */
.mpc_preloader7:before, .mpc_preloader7:after {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #00a096;
  box-shadow: 17px 17px 50px rgba(0, 0, 0, 0.3);
}

.mpc_preloader7:before {
  -webkit-animation: mpc_preloader7_1 0.9s ease-in-out infinite alternate;
  animation: mpc_preloader7_1 0.9s ease-in-out infinite alternate;
}

.mpc_preloader7:after {
  -webkit-animation: mpc_preloader7_2 0.9s ease-in-out infinite alternate;
  animation: mpc_preloader7_2 0.9s ease-in-out infinite alternate;
}

@-webkit-keyframes mpc_preloader7_1 {
  0% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(0.3);
    transform: translateZ(0) translate(0, 0) scale(0.3);
  }
}

@keyframes mpc_preloader7_1 {
  0% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(0.3);
    transform: translateZ(0) translate(0, 0) scale(0.3);
  }
}

@-webkit-keyframes mpc_preloader7_2 {
  0% {
    -webkit-transform: translateZ(0) translate(-10px, 0) scale(0.3);
    transform: translateZ(0) translate(-10px, 0) scale(0.3);
  }
  100% {
    -webkit-transform: translateZ(0) translate(-10px, 0) scale(1);
    transform: translateZ(0) translate(-10px, 0) scale(1);
  }
}

@keyframes mpc_preloader7_2 {
  0% {
    -webkit-transform: translateZ(0) translate(-10px, 0) scale(0.3);
    transform: translateZ(0) translate(-10px, 0) scale(0.3);
  }
  100% {
    -webkit-transform: translateZ(0) translate(-10px, 0) scale(1);
    transform: translateZ(0) translate(-10px, 0) scale(1);
  }
}

/*
 *mpc_preloader8
 */
.mpc_preloader8:before, .mpc_preloader8:after, .mpc_preloader8_element {
  position: absolute;
  background-color: #fff;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  opacity: 0;
  -webkit-animation: mpc_preloader8 1.5s 0s linear infinite;
  animation: mpc_preloader8 1.5s 0s linear infinite;
}

.mpc_preloader8:before, .mpc_preloader8:after {
  content: "";
  display: block;
}

.mpc_preloader8:before {
  -webkit-animation-delay: 0.33333s;
  animation-delay: 0.33333s;
}

.mpc_preloader8:after {
  -webkit-animation-delay: 0.66666s;
  animation-delay: 0.66666s;
}

@-webkit-keyframes mpc_preloader8 {
  0% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(0);
    transform: translateZ(0) translate(0, 0) scale(0);
  }
  5% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes mpc_preloader8 {
  0% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(0);
    transform: translateZ(0) translate(0, 0) scale(0);
  }
  5% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

/*
 *mpc_preloader9
 */
.mpc_preloader9:before, .mpc_preloader9:after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  position: absolute;
}

.mpc_preloader9:before {
  background-color: #dac14a;
  -webkit-transform: translateZ(0px) translate(-50%, 0%);
  transform: translateZ(0px) translate(-50%, 0%);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: mpc_preloader_left_round 1.8s infinite ease-in-out;
  animation: mpc_preloader_left_round 1.8s infinite ease-in-out;
}

.mpc_preloader9:after {
  background-color: #3c70af;
  -webkit-transform: translateZ(0px) translate(150%, 0%);
  transform: translateZ(0px) translate(150%, 0%);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: mpc_preloader_right_round 1.8s infinite ease-in-out;
  animation: mpc_preloader_right_round 1.8s infinite ease-in-out;
}

@-webkit-keyframes mpc_preloader_left_round {
  50% {
    -webkit-transform: translateZ(0px) translate(150%, 0%);
    transform: translateZ(0px) translate(150%, 0%);
  }
  100% {
    -webkit-transform: translateZ(0px) translate(-50%, 0%);
    transform: translateZ(0px) translate(-50%, 0%);
  }
}

@keyframes mpc_preloader_left_round {
  50% {
    -webkit-transform: translateZ(0px) translate(150%, 0%);
    transform: translateZ(0px) translate(150%, 0%);
  }
  100% {
    -webkit-transform: translateZ(0px) translate(-50%, 0%);
    transform: translateZ(0px) translate(-50%, 0%);
  }
}

@-webkit-keyframes mpc_preloader_right_round {
  50% {
    -webkit-transform: translateZ(0px) translate(-50%, 0%);
    transform: translateZ(0px) translate(-50%, 0%);
  }
  100% {
    -webkit-transform: translateZ(0px) translate(150%, 0%);
    transform: translateZ(0px) translate(150%, 0%);
  }
}

@keyframes mpc_preloader_right_round {
  50% {
    -webkit-transform: translateZ(0px) translate(-50%, 0%);
    transform: translateZ(0px) translate(-50%, 0%);
  }
  100% {
    -webkit-transform: translateZ(0px) translate(150%, 0%);
    transform: translateZ(0px) translate(150%, 0%);
  }
}

/*
 *mpc_preloader12
 */
.mpc_preloader12 {
  font-size: 11px;
  -webkit-animation: mpc_preloader12 2s infinite -0.16s ease-in-out;
  animation: mpc_preloader12 2s infinite -0.16s ease-in-out;
}

.mpc_preloader12, .mpc_preloader12:before, .mpc_preloader12:after {
  background-color: #fff;
  width: 1em;
  height: 4em;
}

.mpc_preloader12:before, .mpc_preloader12:after {
  content: "";
  position: absolute;
  top: 0;
  -webkit-animation: mpc_preloader12 2s infinite ease-in-out;
  animation: mpc_preloader12 2s infinite ease-in-out;
}

.mpc_preloader12:before {
  left: -1.5em;
}

.mpc_preloader12:after {
  left: 1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

@-webkit-keyframes mpc_preloader12 {
  0% {
    box-shadow: 0 0 #fff;
    background-color: #fff;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em #76d884;
    background-color: #76d884;
    height: 5em;
  }
  80% {
    box-shadow: 0 0 #82b146;
    background-color: #82b146;
    height: 4em;
  }
  100% {
    box-shadow: 0 0 #fff;
    background-color: #fff;
    height: 4em;
  }
}

@keyframes mpc_preloader12 {
  0% {
    box-shadow: 0 0 #fff;
    background-color: #fff;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em #76d884;
    background-color: #76d884;
    height: 5em;
  }
  80% {
    box-shadow: 0 0 #82b146;
    background-color: #82b146;
    height: 4em;
  }
  100% {
    box-shadow: 0 0 #fff;
    background-color: #fff;
    height: 4em;
  }
}

/*
 *mpc_preloader13
 */
.mpc_preloader13 {
  font-size: 10px;
  -webkit-animation: mpc_preloader13 1.8s infinite 0.16s ease-in-out;
  animation: mpc_preloader13 1.8s infinite 0.16s ease-in-out;
}

.mpc_preloader13, .mpc_preloader13:before, .mpc_preloader13:after {
  width: 2.5em;
  height: 2.5em;
  border-radius: 50%;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.mpc_preloader13:before, .mpc_preloader13:after {
  content: "";
  position: absolute;
  top: 0;
  -webkit-animation: mpc_preloader13 1.8s infinite ease-in-out;
  animation: mpc_preloader13 1.8s infinite ease-in-out;
}

.mpc_preloader13:before {
  left: -3.5em;
}

.mpc_preloader13:after {
  left: 3.5em;
  -webkit-animation-delay: 0.32s;
  animation-delay: 0.32s;
}

@-webkit-keyframes mpc_preloader13 {
  0% {
    box-shadow: 0 2.5em 0 -3.7em #fff;
  }
  40% {
    box-shadow: 0 2.5em 0 0 #fff;
  }
  80% {
    box-shadow: 0 2.5em 0 -3.7em #fff;
  }
  100% {
    box-shadow: 0 2.5em 0 -3.7em #fff;
  }
}

@keyframes mpc_preloader13 {
  0% {
    box-shadow: 0 2.5em 0 -3.7em #fff;
  }
  40% {
    box-shadow: 0 2.5em 0 0 #fff;
  }
  80% {
    box-shadow: 0 2.5em 0 -3.7em #fff;
  }
  100% {
    box-shadow: 0 2.5em 0 -3.7em #fff;
  }
}

.vegas-wrapper, .vegas-overlay, .vegas-timer, .vegas-slide, .vegas-slide-inner {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  border: none;
  padding: 0;
  margin: 0;
  height: 100%;
}

.vegas-overlay {
  opacity: .5;
}

.vegas-timer {
  top: auto;
  bottom: 0;
  height: 2px;
}

.vegas-timer-progress {
  width: 0%;
  height: 100%;
  background: white;
  -webkit-transition: width ease-out;
  transition: width ease-out;
}

.vegas-timer-running .vegas-timer-progress {
  width: 100%;
}

.vegas-slide, .vegas-slide-inner {
  margin: 0;
  padding: 0;
  background: transparent center center no-repeat;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.vegas-container {
  overflow: hidden !important;
  height: 100vh !important;
  position: relative;
}

.vegas-video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
}

.vegas-container {
  overflow: auto;
  position: static;
  z-index: -2;
}

.vegas-container .vegas-timer, .vegas-container .vegas-overlay, .vegas-container .vegas-slide {
  z-index: -1;
}

_::full-page-media, _:future,
:root body.vegas-container > .vegas-slide,
:root body.vegas-container > .vegas-overlay {
  bottom: -76px;
}

/*
 *Transitions
 */
/* 
 *fade
 */
.vegas-transition-fade, .vegas-transition-fade2, .vegas-transition-fade2-out {
  opacity: 0;
}

.vegas-transition-fade-in, .vegas-transition-fade2-in {
  opacity: 1;
}

/* 
 *blur
 */
.vegas-transition-blur, .vegas-transition-blur2 {
  opacity: 0;
  -webkit-filter: blur(32px);
  filter: blur(32px);
}

.vegas-transition-blur-in, .vegas-transition-blur2-in {
  opacity: 1;
  -webkit-filter: blur(0px);
  filter: blur(0px);
}

.vegas-transition-blur2-out {
  opacity: 0;
}

/* 
 *flash
 */
.vegas-transition-flash, .vegas-transition-flash2 {
  opacity: 0;
  -webkit-filter: brightness(25);
  filter: brightness(25);
}

.vegas-transition-flash-in, .vegas-transition-flash2-in {
  opacity: 1;
  -webkit-filter: brightness(1);
  filter: brightness(1);
}

.vegas-transition-flash2-out {
  opacity: 0;
  -webkit-filter: brightness(25);
  filter: brightness(25);
}

/* 
 *negative
 */
.vegas-transition-negative, .vegas-transition-negative2 {
  opacity: 0;
  -webkit-filter: invert(100%);
  filter: invert(100%);
}

.vegas-transition-negative-in, .vegas-transition-negative2-in {
  opacity: 1;
  -webkit-filter: invert(0);
  filter: invert(0);
}

.vegas-transition-negative2-out {
  opacity: 0;
  -webkit-filter: invert(100%);
  filter: invert(100%);
}

/* 
 *burn
 */
.vegas-transition-burn, .vegas-transition-burn2 {
  opacity: 0;
  -webkit-filter: contrast(1000%) saturate(1000%);
  filter: contrast(1000%) saturate(1000%);
}

.vegas-transition-burn-in, .vegas-transition-burn2-in {
  opacity: 1;
  -webkit-filter: contrast(100%) saturate(100%);
  filter: contrast(100%) saturate(100%);
}

.vegas-transition-burn2-out {
  opacity: 0;
  -webkit-filter: contrast(1000%) saturate(1000%);
  filter: contrast(1000%) saturate(1000%);
}

/*
 *slideLeft
 */
.vegas-transition-slideLeft, .vegas-transition-slideLeft2 {
  -webkit-transform: translateZ(0px) translate(100%, 0);
  transform: translateZ(0px) translate(100%, 0);
}

.vegas-transition-slideLeft-in, .vegas-transition-slideLeft2-in {
  -webkit-transform: translateZ(0px) translate(0, 0);
  transform: translateZ(0px) translate(0, 0);
}

.vegas-transition-slideLeft2-out {
  -webkit-transform: translateZ(0px) translate(-100%, 0);
  transform: translateZ(0px) translate(-100%, 0);
}

/* 
 *slideRight
 */
.vegas-transition-slideRight, .vegas-transition-slideRight2 {
  -webkit-transform: translateZ(0px) translate(-100%, 0);
  transform: translateZ(0px) translate(-100%, 0);
}

.vegas-transition-slideRight-in, .vegas-transition-slideRight2-in {
  -webkit-transform: translateZ(0px) translate(0, 0);
  transform: translateZ(0px) translate(0, 0);
}

.vegas-transition-slideRight2-out {
  -webkit-transform: translateZ(0px) translate(100%, 0);
  transform: translateZ(0px) translate(100%, 0);
}

/*
 *slideUp
 */
.vegas-transition-slideUp, .vegas-transition-slideUp2 {
  -webkit-transform: translateZ(0px) translate(0, 100%);
  transform: translateZ(0px) translate(0, 100%);
}

.vegas-transition-slideUp-in, .vegas-transition-slideUp2-in {
  -webkit-transform: translateZ(0px) translate(0, 0);
  transform: translateZ(0px) translate(0, 0);
}

.vegas-transition-slideUp2-out {
  -webkit-transform: translateZ(0px) translate(0, -100%);
  transform: translateZ(0px) translate(0, -100%);
}

/* 
 *slideDown
 */
.vegas-transition-slideDown, .vegas-transition-slideDown2 {
  -webkit-transform: translateZ(0px) translate(0, -100%);
  transform: translateZ(0px) translate(0, -100%);
}

.vegas-transition-slideDown-in, .vegas-transition-slideDown2-in {
  -webkit-transform: translateZ(0px) translate(0, 0);
  transform: translateZ(0px) translate(0, 0);
}

.vegas-transition-slideDown2-out {
  -webkit-transform: translateZ(0px) translate(0, 100%);
  transform: translateZ(0px) translate(0, 100%);
}

/* 
 *zoomIn
 */
.vegas-transition-zoomIn, .vegas-transition-zoomIn2 {
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0;
}

.vegas-transition-zoomIn-in, .vegas-transition-zoomIn2-in {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.vegas-transition-zoomIn2-out {
  -webkit-transform: scale(2);
  transform: scale(2);
  opacity: 0;
}

/*
 *zoomOut
 */
.vegas-transition-zoomOut, .vegas-transition-zoomOut2 {
  -webkit-transform: scale(2);
  transform: scale(2);
  opacity: 0;
}

.vegas-transition-zoomOut-in, .vegas-transition-zoomOut2-in {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.vegas-transition-zoomOut2-out {
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0;
}

/* 
 *swirlLeft
 */
.vegas-transition-swirlLeft, .vegas-transition-swirlLeft2 {
  -webkit-transform: scale(2) rotate(35deg);
  transform: scale(2) rotate(35deg);
  opacity: 0;
}

.vegas-transition-swirlLeft-in, .vegas-transition-swirlLeft2-in {
  -webkit-transform: scale(1) rotate(0deg);
  transform: scale(1) rotate(0deg);
  opacity: 1;
}

.vegas-transition-swirlLeft2-out {
  -webkit-transform: scale(2) rotate(-35deg);
  transform: scale(2) rotate(-35deg);
  opacity: 0;
}

/* 
 *swirlRight
 */
.vegas-transition-swirlRight, .vegas-transition-swirlRight2 {
  -webkit-transform: scale(2) rotate(-35deg);
  transform: scale(2) rotate(-35deg);
  opacity: 0;
}

.vegas-transition-swirlRight-in, .vegas-transition-swirlRight2-in {
  -webkit-transform: scale(1) rotate(0deg);
  transform: scale(1) rotate(0deg);
  opacity: 1;
}

.vegas-transition-swirlRight2-out {
  -webkit-transform: scale(2) rotate(35deg);
  transform: scale(2) rotate(35deg);
  opacity: 0;
}

/*
 *Animations
 */
.vegas-animation-kenburns {
  -webkit-animation: kenburns ease-out;
  animation: kenburns ease-out;
}

@-webkit-keyframes kenburns {
  0% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes kenburns {
  0% {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.vegas-animation-kenburnsUp {
  -webkit-animation: kenburnsUp ease-out;
  animation: kenburnsUp ease-out;
}

@-webkit-keyframes kenburnsUp {
  0% {
    -webkit-transform: translateZ(0) translate(0, 10%) scale(1.5);
    transform: translateZ(0) translate(0, 10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes kenburnsUp {
  0% {
    -webkit-transform: translateZ(0) translate(0, 10%) scale(1.5);
    transform: translateZ(0) translate(0, 10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.vegas-animation-kenburnsDown {
  -webkit-animation: kenburnsDown ease-out;
  animation: kenburnsDown ease-out;
}

@-webkit-keyframes kenburnsDown {
  0% {
    -webkit-transform: translateZ(0) translate(0, -10%) scale(1.5);
    transform: translateZ(0) translate(0, -10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes kenburnsDown {
  0% {
    -webkit-transform: translateZ(0) translate(0, -10%) scale(1.5);
    transform: translateZ(0) translate(0, -10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.vegas-animation-kenburnsLeft {
  -webkit-animation: kenburnsLeft ease-out;
  animation: kenburnsLeft ease-out;
}

@-webkit-keyframes kenburnsLeft {
  0% {
    -webkit-transform: translateZ(0) translate(10%, 0) scale(1.5);
    transform: translateZ(0) translate(10%, 0) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes kenburnsLeft {
  0% {
    -webkit-transform: translateZ(0) translate(10%, 0) scale(1.5);
    transform: translateZ(0) translate(10%, 0) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.vegas-animation-kenburnsRight {
  -webkit-animation: kenburnsRight ease-out;
  animation: kenburnsRight ease-out;
}

@-webkit-keyframes kenburnsRight {
  0% {
    -webkit-transform: translateZ(0) translate(-10%, 0) scale(1.5);
    transform: translateZ(0) translate(-10%, 0) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes kenburnsRight {
  0% {
    -webkit-transform: translateZ(0) translate(-10%, 0) scale(1.5);
    transform: translateZ(0) translate(-10%, 0) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.vegas-animation-kenburnsUpLeft {
  -webkit-animation: kenburnsUpLeft ease-out;
  animation: kenburnsUpLeft ease-out;
}

@-webkit-keyframes kenburnsUpLeft {
  0% {
    -webkit-transform: translateZ(0) translate(10%, 10%) scale(1.5);
    transform: translateZ(0) translate(10%, 10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes kenburnsUpLeft {
  0% {
    -webkit-transform: translateZ(0) translate(10%, 10%) scale(1.5);
    transform: translateZ(0) translate(10%, 10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.vegas-animation-kenburnsUpRight {
  -webkit-animation: kenburnsUpRight ease-out;
  animation: kenburnsUpRight ease-out;
}

@-webkit-keyframes kenburnsUpRight {
  @includekenburnsUpRight ();
}

@keyframes kenburnsUpRight {
  0% {
    -webkit-transform: translateZ(0) translate(-10%, 10%) scale(1.5);
    transform: translateZ(0) translate(-10%, 10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.vegas-animation-kenburnsDownLeft {
  -webkit-animation: kenburnsDownLeft ease-out;
  animation: kenburnsDownLeft ease-out;
}

@-webkit-keyframes kenburnsDownLeft {
  0% {
    -webkit-transform: translateZ(0) translate(10%, -10%) scale(1.5);
    transform: translateZ(0) translate(10%, -10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes kenburnsDownLeft {
  0% {
    -webkit-transform: translateZ(0) translate(10%, -10%) scale(1.5);
    transform: translateZ(0) translate(10%, -10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.vegas-animation-kenburnsDownRight {
  -webkit-animation: kenburnsDownRight ease-out;
  animation: kenburnsDownRight ease-out;
}

@-webkit-keyframes kenburnsDownRight {
  0% {
    -webkit-transform: translateZ(0) translate(-10%, -10%) scale(1.5);
    transform: translateZ(0) translate(-10%, -10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

@keyframes kenburnsDownRight {
  0% {
    -webkit-transform: translateZ(0) translate(-10%, -10%) scale(1.5);
    transform: translateZ(0) translate(-10%, -10%) scale(1.5);
  }
  100% {
    -webkit-transform: translateZ(0) translate(0, 0) scale(1);
    transform: translateZ(0) translate(0, 0) scale(1);
  }
}

.ytplayer-loaded .ytplayer-container {
  display: block;
}

.ytplayer-container {
  height: 100%;
  min-width: 100%;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.ytplayer-shield {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

.ytplayer-player {
  position: absolute;
}
