/* General Demo Style */
@import url(https://fonts.googleapis.com/css?family=Lato:300, 400, 700|Satisfy);

@font-face {
  font-family: "codropsicons";
  src: url("../fonts/codropsicons/codropsicons.eot");
  src: url("../fonts/codropsicons/codropsicons.eot?#iefix")
      format("embedded-opentype"),
    url("../fonts/codropsicons/codropsicons.woff") format("woff"),
    url("../fonts/codropsicons/codropsicons.ttf") format("truetype"),
    url("../fonts/codropsicons/codropsicons.svg#codropsicons") format("svg");
  font-weight: normal;
  font-style: normal;
}

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body,
html {
  font-size: 100%;
  padding: 0;
  margin: 0;
}

/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}

body {
  font-family: "Lato", Calibri, Arial, sans-serif;
  color: #fff;
  background: #333;
  overflow: hidden;
}

a {
  color: #ddd;
  text-decoration: none;
}

a:hover {
  color: #fff;
}

/* Header Style */
.codrops-top {
  background: #fff;
  background: rgba(255, 255, 255, 0.1);
  text-transform: uppercase;
  position: fixed;
  width: 100%;
  font-size: 0.68em;
  line-height: 2.2;
  z-index: 50000;
  top: 0;
  left: 0;
}

.codrops-top a {
  padding: 0 1em;
  letter-spacing: 0.1em;
  color: #fff;
  display: inline-block;
}

.codrops-top a:hover {
  background: rgba(255, 255, 255, 0.2);
}

.codrops-top span.right {
  float: right;
}

.codrops-top span.right a {
  float: left;
  display: block;
}

.codrops-icon:before {
  font-family: "codropsicons";
  margin: 0 4px;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.codrops-icon-drop:before {
  content: "\e001";
}
.codrops-icon-prev:before {
  content: "\e004";
}
.codrops-icon-archive:before {
  content: "\e002";
}
.codrops-icon-next:before {
  content: "\e000";
}
.codrops-icon-about:before {
  content: "\e003";
}

@media screen and (max-width: 25em) {
  .codrops-icon span {
    display: none;
  }
}

.dl-menuwrapper {
  width: 300px;
  position: relative;
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
  perspective: 1000px;
  -webkit-perspective-origin: 50% 200%;
  -moz-perspective-origin: 50% 200%;
  perspective-origin: 50% 200%;
}

.dl-menuwrapper:first-child {
  margin-right: 100px;
}

.dl-menuwrapper button {
  display: block;
  width: 100%;
  margin: 0;
  border: none;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  outline: none;
}

.dl-menuwrapper ul {
  padding: 0;
  list-style: none;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.dl-menuwrapper li {
  position: relative;
}

.dl-menuwrapper li a {
  display: block;
  position: relative;
  padding: 7px 10px;
  font-size: 13px;
  line-height: 20px;
  font-weight: 700;
  outline: none;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.dl-menuwrapper button,
.dl-menuwrapper li a {
  background: #fff;
  color: #aaa;
}

.no-touch .dl-menuwrapper li a:hover {
  background: #f8f8f8;
}

.dl-menuwrapper li.dl-back > a {
  padding-left: 30px;
  background: #f2f2f2;
}

.dl-menuwrapper li.dl-back:after,
.dl-menuwrapper li > a:not(:only-child):after,
.dl-menuwrapper button:after {
  position: absolute;
  top: 0;
  line-height: 33px;
  color: #ddd;
  font-family: "icomoon";
  speak: none;
  -webkit-font-smoothing: antialiased;
  content: "\e000";
}

.dl-menuwrapper button:after {
  line-height: 50px;
  right: 15px;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.dl-menuwrapper li.dl-back:after {
  left: 10px;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.dl-menuwrapper li > a:after {
  right: 10px;
  color: rgba(0, 0, 0, 0.15);
}

.dl-menuwrapper .dl-menu {
  margin: 5px 0 0 0;
  position: absolute;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
  -webkit-transform: translateY(10px);
  -moz-transform: translateY(10px);
  transform: translateY(10px);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.dl-menuwrapper .dl-menu.dl-menu-toggle {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.dl-menuwrapper .dl-menu.dl-menuopen {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  transform: translateY(0px);
}

/* Hide the inner submenus */
.dl-menuwrapper li .dl-submenu {
  display: none;
}

/* 
When a submenu is openend, we will hide all li siblings.
For that we give a class to the parent menu called "dl-subview".
We also hide the submenu link. 
The opened submenu will get the class "dl-subviewopen".
All this is done for any sub-level being entered.
*/
.dl-menu.dl-subview li,
.dl-menu.dl-subview li.dl-subviewopen > a,
.dl-menu.dl-subview li.dl-subview > a {
  display: none;
}

.dl-menu.dl-subview li.dl-subview,
.dl-menu.dl-subview li.dl-subview .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu,
.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu > li {
  display: block;
}

/* Dynamically added submenu outside of the menu context */
.dl-menuwrapper > .dl-submenu {
  position: absolute;
  width: 100%;
  top: 55px; /* This needs to be adjusted to the button */
  left: 0;
  margin: 0;
}

/* Animation classes for moving out and in */

.dl-menu.dl-animate-out-1 {
  -webkit-animation: MenuAnimOut1 0.4s linear forwards;
  -moz-animation: MenuAnimOut1 0.4s linear forwards;
  animation: MenuAnimOut1 0.4s linear forwards;
}

.dl-menu.dl-animate-out-2 {
  -webkit-animation: MenuAnimOut2 0.3s ease-in-out forwards;
  -moz-animation: MenuAnimOut2 0.3s ease-in-out forwards;
  animation: MenuAnimOut2 0.3s ease-in-out forwards;
}

.dl-menu.dl-animate-out-3 {
  -webkit-animation: MenuAnimOut3 0.4s ease forwards;
  -moz-animation: MenuAnimOut3 0.4s ease forwards;
  animation: MenuAnimOut3 0.4s ease forwards;
}

.dl-menu.dl-animate-out-4 {
  -webkit-animation: MenuAnimOut4 0.4s ease forwards;
  -moz-animation: MenuAnimOut4 0.4s ease forwards;
  animation: MenuAnimOut4 0.4s ease forwards;
}

.dl-menu.dl-animate-out-5 {
  -webkit-animation: MenuAnimOut5 0.4s ease forwards;
  -moz-animation: MenuAnimOut5 0.4s ease forwards;
  animation: MenuAnimOut5 0.4s ease forwards;
}

@-webkit-keyframes MenuAnimOut1 {
  50% {
    -webkit-transform: translateZ(-250px) rotateY(30deg);
  }
  75% {
    -webkit-transform: translateZ(-372.5px) rotateY(15deg);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
}

@-webkit-keyframes MenuAnimOut2 {
  100% {
    -webkit-transform: translateX(-100%);
    opacity: 0;
  }
}

@-webkit-keyframes MenuAnimOut3 {
  100% {
    -webkit-transform: translateZ(300px);
    opacity: 0;
  }
}

@-webkit-keyframes MenuAnimOut4 {
  100% {
    -webkit-transform: translateZ(-300px);
    opacity: 0;
  }
}

@-webkit-keyframes MenuAnimOut5 {
  100% {
    -webkit-transform: translateY(40%);
    opacity: 0;
  }
}

@-moz-keyframes MenuAnimOut1 {
  50% {
    -moz-transform: translateZ(-250px) rotateY(30deg);
  }
  75% {
    -moz-transform: translateZ(-372.5px) rotateY(15deg);
    opacity: 0.5;
  }
  100% {
    -moz-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
}

@-moz-keyframes MenuAnimOut2 {
  100% {
    -moz-transform: translateX(-100%);
    opacity: 0;
  }
}

@-moz-keyframes MenuAnimOut3 {
  100% {
    -moz-transform: translateZ(300px);
    opacity: 0;
  }
}

@-moz-keyframes MenuAnimOut4 {
  100% {
    -moz-transform: translateZ(-300px);
    opacity: 0;
  }
}

@-moz-keyframes MenuAnimOut5 {
  100% {
    -moz-transform: translateY(40%);
    opacity: 0;
  }
}

@keyframes MenuAnimOut1 {
  50% {
    transform: translateZ(-250px) rotateY(30deg);
  }
  75% {
    transform: translateZ(-372.5px) rotateY(15deg);
    opacity: 0.5;
  }
  100% {
    transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
}

@keyframes MenuAnimOut2 {
  100% {
    transform: translateX(-100%);
    opacity: 0;
  }
}

@keyframes MenuAnimOut3 {
  100% {
    transform: translateZ(300px);
    opacity: 0;
  }
}

@keyframes MenuAnimOut4 {
  100% {
    transform: translateZ(-300px);
    opacity: 0;
  }
}

@keyframes MenuAnimOut5 {
  100% {
    transform: translateY(40%);
    opacity: 0;
  }
}

.dl-menu.dl-animate-in-1 {
  -webkit-animation: MenuAnimIn1 0.3s linear forwards;
  -moz-animation: MenuAnimIn1 0.3s linear forwards;
  animation: MenuAnimIn1 0.3s linear forwards;
}

.dl-menu.dl-animate-in-2 {
  -webkit-animation: MenuAnimIn2 0.3s ease-in-out forwards;
  -moz-animation: MenuAnimIn2 0.3s ease-in-out forwards;
  animation: MenuAnimIn2 0.3s ease-in-out forwards;
}

.dl-menu.dl-animate-in-3 {
  -webkit-animation: MenuAnimIn3 0.4s ease forwards;
  -moz-animation: MenuAnimIn3 0.4s ease forwards;
  animation: MenuAnimIn3 0.4s ease forwards;
}

.dl-menu.dl-animate-in-4 {
  -webkit-animation: MenuAnimIn4 0.4s ease forwards;
  -moz-animation: MenuAnimIn4 0.4s ease forwards;
  animation: MenuAnimIn4 0.4s ease forwards;
}

.dl-menu.dl-animate-in-5 {
  -webkit-animation: MenuAnimIn5 0.4s ease forwards;
  -moz-animation: MenuAnimIn5 0.4s ease forwards;
  animation: MenuAnimIn5 0.4s ease forwards;
}

@-webkit-keyframes MenuAnimIn1 {
  0% {
    -webkit-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
  20% {
    -webkit-transform: translateZ(-250px) rotateY(30deg);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: translateZ(0px) rotateY(0deg);
    opacity: 1;
  }
}

@-webkit-keyframes MenuAnimIn2 {
  0% {
    -webkit-transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
    opacity: 1;
  }
}

@-webkit-keyframes MenuAnimIn3 {
  0% {
    -webkit-transform: translateZ(300px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0px);
    opacity: 1;
  }
}

@-webkit-keyframes MenuAnimIn4 {
  0% {
    -webkit-transform: translateZ(-300px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0px);
    opacity: 1;
  }
}

@-webkit-keyframes MenuAnimIn5 {
  0% {
    -webkit-transform: translateY(40%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
  }
}

@-moz-keyframes MenuAnimIn1 {
  0% {
    -moz-transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
  20% {
    -moz-transform: translateZ(-250px) rotateY(30deg);
    opacity: 0.5;
  }
  100% {
    -moz-transform: translateZ(0px) rotateY(0deg);
    opacity: 1;
  }
}

@-moz-keyframes MenuAnimIn2 {
  0% {
    -moz-transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    -moz-transform: translateX(0px);
    opacity: 1;
  }
}

@-moz-keyframes MenuAnimIn3 {
  0% {
    -moz-transform: translateZ(300px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateZ(0px);
    opacity: 1;
  }
}

@-moz-keyframes MenuAnimIn4 {
  0% {
    -moz-transform: translateZ(-300px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateZ(0px);
    opacity: 1;
  }
}

@-moz-keyframes MenuAnimIn5 {
  0% {
    -moz-transform: translateY(40%);
    opacity: 0;
  }
  100% {
    -moz-transform: translateY(0);
    opacity: 1;
  }
}

@keyframes MenuAnimIn1 {
  0% {
    transform: translateZ(-500px) rotateY(0deg);
    opacity: 0;
  }
  20% {
    transform: translateZ(-250px) rotateY(30deg);
    opacity: 0.5;
  }
  100% {
    transform: translateZ(0px) rotateY(0deg);
    opacity: 1;
  }
}

@keyframes MenuAnimIn2 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

@keyframes MenuAnimIn3 {
  0% {
    transform: translateZ(300px);
    opacity: 0;
  }
  100% {
    transform: translateZ(0px);
    opacity: 1;
  }
}

@keyframes MenuAnimIn4 {
  0% {
    transform: translateZ(-300px);
    opacity: 0;
  }
  100% {
    transform: translateZ(0px);
    opacity: 1;
  }
}

@keyframes MenuAnimIn5 {
  0% {
    transform: translateY(40%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-1 {
  -webkit-animation: SubMenuAnimIn1 0.4s ease forwards;
  -moz-animation: SubMenuAnimIn1 0.4s ease forwards;
  animation: SubMenuAnimIn1 0.4s ease forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-2 {
  -webkit-animation: SubMenuAnimIn2 0.3s ease-in-out forwards;
  -moz-animation: SubMenuAnimIn2 0.3s ease-in-out forwards;
  animation: SubMenuAnimIn2 0.3s ease-in-out forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-3 {
  -webkit-animation: SubMenuAnimIn3 0.4s ease forwards;
  -moz-animation: SubMenuAnimIn3 0.4s ease forwards;
  animation: SubMenuAnimIn3 0.4s ease forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-4 {
  -webkit-animation: SubMenuAnimIn4 0.4s ease forwards;
  -moz-animation: SubMenuAnimIn4 0.4s ease forwards;
  animation: SubMenuAnimIn4 0.4s ease forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-in-5 {
  -webkit-animation: SubMenuAnimIn5 0.4s ease forwards;
  -moz-animation: SubMenuAnimIn5 0.4s ease forwards;
  animation: SubMenuAnimIn5 0.4s ease forwards;
}

@-webkit-keyframes SubMenuAnimIn1 {
  0% {
    -webkit-transform: translateX(50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
    opacity: 1;
  }
}

@-webkit-keyframes SubMenuAnimIn2 {
  0% {
    -webkit-transform: translateX(100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
    opacity: 1;
  }
}

@-webkit-keyframes SubMenuAnimIn3 {
  0% {
    -webkit-transform: translateZ(-300px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0px);
    opacity: 1;
  }
}

@-webkit-keyframes SubMenuAnimIn4 {
  0% {
    -webkit-transform: translateZ(300px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0px);
    opacity: 1;
  }
}

@-webkit-keyframes SubMenuAnimIn5 {
  0% {
    -webkit-transform: translateZ(-200px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
    opacity: 1;
  }
}

@-moz-keyframes SubMenuAnimIn1 {
  0% {
    -moz-transform: translateX(50%);
    opacity: 0;
  }
  100% {
    -moz-transform: translateX(0px);
    opacity: 1;
  }
}

@-moz-keyframes SubMenuAnimIn2 {
  0% {
    -moz-transform: translateX(100%);
    opacity: 0;
  }
  100% {
    -moz-transform: translateX(0px);
    opacity: 1;
  }
}

@-moz-keyframes SubMenuAnimIn3 {
  0% {
    -moz-transform: translateZ(-300px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateZ(0px);
    opacity: 1;
  }
}

@-moz-keyframes SubMenuAnimIn4 {
  0% {
    -moz-transform: translateZ(300px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateZ(0px);
    opacity: 1;
  }
}

@-moz-keyframes SubMenuAnimIn5 {
  0% {
    -moz-transform: translateZ(-200px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateZ(0);
    opacity: 1;
  }
}

@keyframes SubMenuAnimIn1 {
  0% {
    transform: translateX(50%);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

@keyframes SubMenuAnimIn2 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

@keyframes SubMenuAnimIn3 {
  0% {
    transform: translateZ(-300px);
    opacity: 0;
  }
  100% {
    transform: translateZ(0px);
    opacity: 1;
  }
}

@keyframes SubMenuAnimIn4 {
  0% {
    transform: translateZ(300px);
    opacity: 0;
  }
  100% {
    transform: translateZ(0px);
    opacity: 1;
  }
}

@keyframes SubMenuAnimIn5 {
  0% {
    transform: translateZ(-200px);
    opacity: 0;
  }
  100% {
    transform: translateZ(0);
    opacity: 1;
  }
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-1 {
  -webkit-animation: SubMenuAnimOut1 0.4s ease forwards;
  -moz-animation: SubMenuAnimOut1 0.4s ease forwards;
  animation: SubMenuAnimOut1 0.4s ease forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-2 {
  -webkit-animation: SubMenuAnimOut2 0.3s ease-in-out forwards;
  -moz-animation: SubMenuAnimOut2 0.3s ease-in-out forwards;
  animation: SubMenuAnimOut2 0.3s ease-in-out forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-3 {
  -webkit-animation: SubMenuAnimOut3 0.4s ease forwards;
  -moz-animation: SubMenuAnimOut3 0.4s ease forwards;
  animation: SubMenuAnimOut3 0.4s ease forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-4 {
  -webkit-animation: SubMenuAnimOut4 0.4s ease forwards;
  -moz-animation: SubMenuAnimOut4 0.4s ease forwards;
  animation: SubMenuAnimOut4 0.4s ease forwards;
}

.dl-menuwrapper > .dl-submenu.dl-animate-out-5 {
  -webkit-animation: SubMenuAnimOut5 0.4s ease forwards;
  -moz-animation: SubMenuAnimOut5 0.4s ease forwards;
  animation: SubMenuAnimOut5 0.4s ease forwards;
}

@-webkit-keyframes SubMenuAnimOut1 {
  0% {
    -webkit-transform: translateX(0%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(50%);
    opacity: 0;
  }
}

@-webkit-keyframes SubMenuAnimOut2 {
  0% {
    -webkit-transform: translateX(0%);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(100%);
    opacity: 0;
  }
}

@-webkit-keyframes SubMenuAnimOut3 {
  0% {
    -webkit-transform: translateZ(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(-300px);
    opacity: 0;
  }
}

@-webkit-keyframes SubMenuAnimOut4 {
  0% {
    -webkit-transform: translateZ(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(300px);
    opacity: 0;
  }
}

@-webkit-keyframes SubMenuAnimOut5 {
  0% {
    -webkit-transform: translateZ(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateZ(-200px);
    opacity: 0;
  }
}

@-moz-keyframes SubMenuAnimOut1 {
  0% {
    -moz-transform: translateX(0%);
    opacity: 1;
  }
  100% {
    -moz-transform: translateX(50%);
    opacity: 0;
  }
}

@-moz-keyframes SubMenuAnimOut2 {
  0% {
    -moz-transform: translateX(0%);
    opacity: 1;
  }
  100% {
    -moz-transform: translateX(100%);
    opacity: 0;
  }
}

@-moz-keyframes SubMenuAnimOut3 {
  0% {
    -moz-transform: translateZ(0px);
    opacity: 1;
  }
  100% {
    -moz-transform: translateZ(-300px);
    opacity: 0;
  }
}

@-moz-keyframes SubMenuAnimOut4 {
  0% {
    -moz-transform: translateZ(0px);
    opacity: 1;
  }
  100% {
    -moz-transform: translateZ(300px);
    opacity: 0;
  }
}

@-moz-keyframes SubMenuAnimOut5 {
  0% {
    -moz-transform: translateZ(0);
    opacity: 1;
  }
  100% {
    -moz-transform: translateZ(-200px);
    opacity: 0;
  }
}

@keyframes SubMenuAnimOut1 {
  0% {
    transform: translateX(0%);
    opacity: 1;
  }
  100% {
    transform: translateX(50%);
    opacity: 0;
  }
}

@keyframes SubMenuAnimOut2 {
  0% {
    transform: translateX(0%);
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes SubMenuAnimOut3 {
  0% {
    transform: translateZ(0px);
    opacity: 1;
  }
  100% {
    transform: translateZ(-300px);
    opacity: 0;
  }
}

@keyframes SubMenuAnimOut4 {
  0% {
    transform: translateZ(0px);
    opacity: 1;
  }
  100% {
    transform: translateZ(300px);
    opacity: 0;
  }
}

@keyframes SubMenuAnimOut5 {
  0% {
    transform: translateZ(0);
    opacity: 1;
  }
  100% {
    transform: translateZ(-200px);
    opacity: 0;
  }
}

/* No JS Fallback */
.no-js .dl-menuwrapper .dl-menu {
  position: relative;
  opacity: 1;
  -webkit-transform: none;
  -moz-transform: none;
  transform: none;
}

.no-js .dl-menuwrapper li .dl-submenu {
  display: block;
}

.no-js .dl-menuwrapper li.dl-back {
  display: none;
}

.no-js .dl-menuwrapper li > a:not(:only-child) {
  background: rgba(0, 0, 0, 0.1);
}

.no-js .dl-menuwrapper li > a:not(:only-child):after {
  content: "";
}

html,
body {
  height: 100%;
}

.pt-perspective {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-perspective: 1200px;
  -moz-perspective: 1200px;
  perspective: 1200px;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.pt-page {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.pt-page-current,
.no-js .pt-page {
  visibility: visible;
}

.no-js body {
  overflow: auto;
}

.pt-page-ontop {
  z-index: 999;
}

/* Text Styles, Colors, Backgrounds */

.pt-page h1 {
  position: absolute;
  font-weight: 300;
  font-size: 4.4em;
  line-height: 1;
  letter-spacing: 6px;
  margin: 0;
  top: 12%;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  word-spacing: -0.3em;
}

.pt-page h1 span {
  font-family: "Satisfy", serif;
  font-weight: 400;
  font-size: 40%;
  text-transform: none;
  word-spacing: 0;
  letter-spacing: 0;
  display: block;
  opacity: 0.4;
}

.pt-page h1 strong {
  color: rgba(0, 0, 0, 0.1);
}

.pt-page-1 {
  background: #ffffff;
  color: #000000;
}

.pt-page-2 {
  background: #ff0007;
}

.pt-page-3 {
  background: #ff0007;
}

.pt-page-4 {
  background: #ffffff;
}

/* Triggers (menu and button) */

.pt-triggers {
  position: absolute;
  width: 300px;
  z-index: 999999;
  top: 12%;
  left: 50%;
  margin-top: 130px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.no-js .pt-triggers {
  display: none;
}

.pt-triggers .dl-menuwrapper button,
.pt-touch-button {
  border: none;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 10px 0 20px;
  padding: 0px 20px;
  line-height: 50px;
  height: 50px;
  letter-spacing: 1px;
  width: 100%;
  cursor: pointer;
  display: block;
  font-family: "Lato", Calibri, Arial, sans-serif;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pt-touch-button {
  background: #fff;
  color: #aaa;
}

.pt-triggers .dl-menuwrapper button {
  margin-bottom: 0;
}

.pt-touch-button:active {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}

.touch .pt-triggers .dl-menuwrapper {
  display: none;
}

.pt-message {
  display: none;
  position: absolute;
  z-index: 99999;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #da475c;
  color: #fff;
  text-align: center;
}

.pt-message p {
  margin: 0;
  line-height: 60px;
  font-size: 26px;
}

.no-cssanimations .pt-message {
  display: block;
}

@media screen and (max-width: 47.4375em) {
  .pt-page h1 {
    font-size: 3em;
  }

  .pt-triggers .dl-menuwrapper {
    display: none;
  }
}

@media screen and (max-height: 45.9em) {
  .pt-triggers .dl-menuwrapper li a {
    padding-top: 2px;
    padding-bottom: 2px;
  }
  .pt-triggers .dl-menuwrapper li.dl-back:after,
  .dl-menuwrapper li > a:not(:only-child):after {
    line-height: 24px;
  }
}

@media screen and (max-height: 38em) {
  .pt-triggers .dl-menuwrapper {
    display: none;
  }
}

/* animation sets */

/* move from / to  */

.pt-page-moveToLeft {
  -webkit-animation: moveToLeft 0.6s ease both;
  -moz-animation: moveToLeft 0.6s ease both;
  animation: moveToLeft 0.6s ease both;
}

.pt-page-moveFromLeft {
  -webkit-animation: moveFromLeft 0.6s ease both;
  -moz-animation: moveFromLeft 0.6s ease both;
  animation: moveFromLeft 0.6s ease both;
}

.pt-page-moveToRight {
  -webkit-animation: moveToRight 0.6s ease both;
  -moz-animation: moveToRight 0.6s ease both;
  animation: moveToRight 0.6s ease both;
}

.pt-page-moveFromRight {
  -webkit-animation: moveFromRight 0.6s ease both;
  -moz-animation: moveFromRight 0.6s ease both;
  animation: moveFromRight 0.6s ease both;
}

.pt-page-moveToTop {
  -webkit-animation: moveToTop 0.6s ease both;
  -moz-animation: moveToTop 0.6s ease both;
  animation: moveToTop 0.6s ease both;
}

.pt-page-moveFromTop {
  -webkit-animation: moveFromTop 0.6s ease both;
  -moz-animation: moveFromTop 0.6s ease both;
  animation: moveFromTop 0.6s ease both;
}

.pt-page-moveToBottom {
  -webkit-animation: moveToBottom 0.6s ease both;
  -moz-animation: moveToBottom 0.6s ease both;
  animation: moveToBottom 0.6s ease both;
}

.pt-page-moveFromBottom {
  -webkit-animation: moveFromBottom 0.6s ease both;
  -moz-animation: moveFromBottom 0.6s ease both;
  animation: moveFromBottom 0.6s ease both;
}

/* fade */

.pt-page-fade {
  -webkit-animation: fade 0.7s ease both;
  -moz-animation: fade 0.7s ease both;
  animation: fade 0.7s ease both;
}

/* move from / to and fade */

.pt-page-moveToLeftFade {
  -webkit-animation: moveToLeftFade 0.7s ease both;
  -moz-animation: moveToLeftFade 0.7s ease both;
  animation: moveToLeftFade 0.7s ease both;
}

.pt-page-moveFromLeftFade {
  -webkit-animation: moveFromLeftFade 0.7s ease both;
  -moz-animation: moveFromLeftFade 0.7s ease both;
  animation: moveFromLeftFade 0.7s ease both;
}

.pt-page-moveToRightFade {
  -webkit-animation: moveToRightFade 0.7s ease both;
  -moz-animation: moveToRightFade 0.7s ease both;
  animation: moveToRightFade 0.7s ease both;
}

.pt-page-moveFromRightFade {
  -webkit-animation: moveFromRightFade 0.7s ease both;
  -moz-animation: moveFromRightFade 0.7s ease both;
  animation: moveFromRightFade 0.7s ease both;
}

.pt-page-moveToTopFade {
  -webkit-animation: moveToTopFade 0.7s ease both;
  -moz-animation: moveToTopFade 0.7s ease both;
  animation: moveToTopFade 0.7s ease both;
}

.pt-page-moveFromTopFade {
  -webkit-animation: moveFromTopFade 0.7s ease both;
  -moz-animation: moveFromTopFade 0.7s ease both;
  animation: moveFromTopFade 0.7s ease both;
}

.pt-page-moveToBottomFade {
  -webkit-animation: moveToBottomFade 0.7s ease both;
  -moz-animation: moveToBottomFade 0.7s ease both;
  animation: moveToBottomFade 0.7s ease both;
}

.pt-page-moveFromBottomFade {
  -webkit-animation: moveFromBottomFade 0.7s ease both;
  -moz-animation: moveFromBottomFade 0.7s ease both;
  animation: moveFromBottomFade 0.7s ease both;
}

/* move to with different easing */

.pt-page-moveToLeftEasing {
  -webkit-animation: moveToLeft 0.7s ease-in-out both;
  -moz-animation: moveToLeft 0.7s ease-in-out both;
  animation: moveToLeft 0.7s ease-in-out both;
}
.pt-page-moveToRightEasing {
  -webkit-animation: moveToRight 0.7s ease-in-out both;
  -moz-animation: moveToRight 0.7s ease-in-out both;
  animation: moveToRight 0.7s ease-in-out both;
}
.pt-page-moveToTopEasing {
  -webkit-animation: moveToTop 0.7s ease-in-out both;
  -moz-animation: moveToTop 0.7s ease-in-out both;
  animation: moveToTop 0.7s ease-in-out both;
}
.pt-page-moveToBottomEasing {
  -webkit-animation: moveToBottom 0.7s ease-in-out both;
  -moz-animation: moveToBottom 0.7s ease-in-out both;
  animation: moveToBottom 0.7s ease-in-out both;
}

/********************************* keyframes **************************************/

/* move from / to  */

@-webkit-keyframes moveToLeft {
  to {
    -webkit-transform: translateX(-100%);
  }
}
@-moz-keyframes moveToLeft {
  to {
    -moz-transform: translateX(-100%);
  }
}
@keyframes moveToLeft {
  to {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveFromLeft {
  from {
    -webkit-transform: translateX(-100%);
  }
}
@-moz-keyframes moveFromLeft {
  from {
    -moz-transform: translateX(-100%);
  }
}
@keyframes moveFromLeft {
  from {
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveToRight {
  to {
    -webkit-transform: translateX(100%);
  }
}
@-moz-keyframes moveToRight {
  to {
    -moz-transform: translateX(100%);
  }
}
@keyframes moveToRight {
  to {
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveFromRight {
  from {
    -webkit-transform: translateX(100%);
  }
}
@-moz-keyframes moveFromRight {
  from {
    -moz-transform: translateX(100%);
  }
}
@keyframes moveFromRight {
  from {
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveToTop {
  to {
    -webkit-transform: translateY(-100%);
  }
}
@-moz-keyframes moveToTop {
  to {
    -moz-transform: translateY(-100%);
  }
}
@keyframes moveToTop {
  to {
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveFromTop {
  from {
    -webkit-transform: translateY(-100%);
  }
}
@-moz-keyframes moveFromTop {
  from {
    -moz-transform: translateY(-100%);
  }
}
@keyframes moveFromTop {
  from {
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveToBottom {
  to {
    -webkit-transform: translateY(100%);
  }
}
@-moz-keyframes moveToBottom {
  to {
    -moz-transform: translateY(100%);
  }
}
@keyframes moveToBottom {
  to {
    transform: translateY(100%);
  }
}

@-webkit-keyframes moveFromBottom {
  from {
    -webkit-transform: translateY(100%);
  }
}
@-moz-keyframes moveFromBottom {
  from {
    -moz-transform: translateY(100%);
  }
}
@keyframes moveFromBottom {
  from {
    transform: translateY(100%);
  }
}

/* fade */

@-webkit-keyframes fade {
  to {
    opacity: 0.3;
  }
}
@-moz-keyframes fade {
  to {
    opacity: 0.3;
  }
}
@keyframes fade {
  to {
    opacity: 0.3;
  }
}

/* move from / to and fade */

@-webkit-keyframes moveToLeftFade {
  to {
    opacity: 0.3;
    -webkit-transform: translateX(-100%);
  }
}
@-moz-keyframes moveToLeftFade {
  to {
    opacity: 0.3;
    -moz-transform: translateX(-100%);
  }
}
@keyframes moveToLeftFade {
  to {
    opacity: 0.3;
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveFromLeftFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(-100%);
  }
}
@-moz-keyframes moveFromLeftFade {
  from {
    opacity: 0.3;
    -moz-transform: translateX(-100%);
  }
}
@keyframes moveFromLeftFade {
  from {
    opacity: 0.3;
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveToRightFade {
  to {
    opacity: 0.3;
    -webkit-transform: translateX(100%);
  }
}
@-moz-keyframes moveToRightFade {
  to {
    opacity: 0.3;
    -moz-transform: translateX(100%);
  }
}
@keyframes moveToRightFade {
  to {
    opacity: 0.3;
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveFromRightFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(100%);
  }
}
@-moz-keyframes moveFromRightFade {
  from {
    opacity: 0.3;
    -moz-transform: translateX(100%);
  }
}
@keyframes moveFromRightFade {
  from {
    opacity: 0.3;
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveToTopFade {
  to {
    opacity: 0.3;
    -webkit-transform: translateY(-100%);
  }
}
@-moz-keyframes moveToTopFade {
  to {
    opacity: 0.3;
    -moz-transform: translateY(-100%);
  }
}
@keyframes moveToTopFade {
  to {
    opacity: 0.3;
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveFromTopFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(-100%);
  }
}
@-moz-keyframes moveFromTopFade {
  from {
    opacity: 0.3;
    -moz-transform: translateY(-100%);
  }
}
@keyframes moveFromTopFade {
  from {
    opacity: 0.3;
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveToBottomFade {
  to {
    opacity: 0.3;
    -webkit-transform: translateY(100%);
  }
}
@-moz-keyframes moveToBottomFade {
  to {
    opacity: 0.3;
    -moz-transform: translateY(100%);
  }
}
@keyframes moveToBottomFade {
  to {
    opacity: 0.3;
    transform: translateY(100%);
  }
}

@-webkit-keyframes moveFromBottomFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(100%);
  }
}
@-moz-keyframes moveFromBottomFade {
  from {
    opacity: 0.3;
    -moz-transform: translateY(100%);
  }
}
@keyframes moveFromBottomFade {
  from {
    opacity: 0.3;
    transform: translateY(100%);
  }
}

/* scale and fade */

.pt-page-scaleDown {
  -webkit-animation: scaleDown 0.7s ease both;
  -moz-animation: scaleDown 0.7s ease both;
  animation: scaleDown 0.7s ease both;
}

.pt-page-scaleUp {
  -webkit-animation: scaleUp 0.7s ease both;
  -moz-animation: scaleUp 0.7s ease both;
  animation: scaleUp 0.7s ease both;
}

.pt-page-scaleUpDown {
  -webkit-animation: scaleUpDown 0.5s ease both;
  -moz-animation: scaleUpDown 0.5s ease both;
  animation: scaleUpDown 0.5s ease both;
}

.pt-page-scaleDownUp {
  -webkit-animation: scaleDownUp 0.5s ease both;
  -moz-animation: scaleDownUp 0.5s ease both;
  animation: scaleDownUp 0.5s ease both;
}

.pt-page-scaleDownCenter {
  -webkit-animation: scaleDownCenter 0.4s ease-in both;
  -moz-animation: scaleDownCenter 0.4s ease-in both;
  animation: scaleDownCenter 0.4s ease-in both;
}

.pt-page-scaleUpCenter {
  -webkit-animation: scaleUpCenter 0.4s ease-out both;
  -moz-animation: scaleUpCenter 0.4s ease-out both;
  animation: scaleUpCenter 0.4s ease-out both;
}

/********************************* keyframes **************************************/

/* scale and fade */

@-webkit-keyframes scaleDown {
  to {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
}
@-moz-keyframes scaleDown {
  to {
    opacity: 0;
    -moz-transform: scale(0.8);
  }
}
@keyframes scaleDown {
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}

@-webkit-keyframes scaleUp {
  from {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
}
@-moz-keyframes scaleUp {
  from {
    opacity: 0;
    -moz-transform: scale(0.8);
  }
}
@keyframes scaleUp {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
}

@-webkit-keyframes scaleUpDown {
  from {
    opacity: 0;
    -webkit-transform: scale(1.2);
  }
}
@-moz-keyframes scaleUpDown {
  from {
    opacity: 0;
    -moz-transform: scale(1.2);
  }
}
@keyframes scaleUpDown {
  from {
    opacity: 0;
    transform: scale(1.2);
  }
}

@-webkit-keyframes scaleDownUp {
  to {
    opacity: 0;
    -webkit-transform: scale(1.2);
  }
}
@-moz-keyframes scaleDownUp {
  to {
    opacity: 0;
    -moz-transform: scale(1.2);
  }
}
@keyframes scaleDownUp {
  to {
    opacity: 0;
    transform: scale(1.2);
  }
}

@-webkit-keyframes scaleDownCenter {
  to {
    opacity: 0;
    -webkit-transform: scale(0.7);
  }
}
@-moz-keyframes scaleDownCenter {
  to {
    opacity: 0;
    -moz-transform: scale(0.7);
  }
}
@keyframes scaleDownCenter {
  to {
    opacity: 0;
    transform: scale(0.7);
  }
}

@-webkit-keyframes scaleUpCenter {
  from {
    opacity: 0;
    -webkit-transform: scale(0.7);
  }
}
@-moz-keyframes scaleUpCenter {
  from {
    opacity: 0;
    -moz-transform: scale(0.7);
  }
}
@keyframes scaleUpCenter {
  from {
    opacity: 0;
    transform: scale(0.7);
  }
}

/* rotate sides first and scale */

.pt-page-rotateRightSideFirst {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateRightSideFirst 0.8s both ease-in;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateRightSideFirst 0.8s both ease-in;
  transform-origin: 0% 50%;
  animation: rotateRightSideFirst 0.8s both ease-in;
}
.pt-page-rotateLeftSideFirst {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateLeftSideFirst 0.8s both ease-in;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateLeftSideFirst 0.8s both ease-in;
  transform-origin: 100% 50%;
  animation: rotateLeftSideFirst 0.8s both ease-in;
}
.pt-page-rotateTopSideFirst {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateTopSideFirst 0.8s both ease-in;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateTopSideFirst 0.8s both ease-in;
  transform-origin: 50% 100%;
  animation: rotateTopSideFirst 0.8s both ease-in;
}
.pt-page-rotateBottomSideFirst {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateBottomSideFirst 0.8s both ease-in;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateBottomSideFirst 0.8s both ease-in;
  transform-origin: 50% 0%;
  animation: rotateBottomSideFirst 0.8s both ease-in;
}

/* flip */

.pt-page-flipOutRight {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipOutRight 0.5s both ease-in;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipOutRight 0.5s both ease-in;
  transform-origin: 50% 50%;
  animation: flipOutRight 0.5s both ease-in;
}
.pt-page-flipInLeft {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipInLeft 0.5s both ease-out;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipInLeft 0.5s both ease-out;
  transform-origin: 50% 50%;
  animation: flipInLeft 0.5s both ease-out;
}
.pt-page-flipOutLeft {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipOutLeft 0.5s both ease-in;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipOutLeft 0.5s both ease-in;
  transform-origin: 50% 50%;
  animation: flipOutLeft 0.5s both ease-in;
}
.pt-page-flipInRight {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipInRight 0.5s both ease-out;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipInRight 0.5s both ease-out;
  transform-origin: 50% 50%;
  animation: flipInRight 0.5s both ease-out;
}
.pt-page-flipOutTop {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipOutTop 0.5s both ease-in;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipOutTop 0.5s both ease-in;
  transform-origin: 50% 50%;
  animation: flipOutTop 0.5s both ease-in;
}
.pt-page-flipInBottom {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipInBottom 0.5s both ease-out;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipInBottom 0.5s both ease-out;
  transform-origin: 50% 50%;
  animation: flipInBottom 0.5s both ease-out;
}
.pt-page-flipOutBottom {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipOutBottom 0.5s both ease-in;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipOutBottom 0.5s both ease-in;
  transform-origin: 50% 50%;
  animation: flipOutBottom 0.5s both ease-in;
}
.pt-page-flipInTop {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: flipInTop 0.5s both ease-out;
  -moz-transform-origin: 50% 50%;
  -moz-animation: flipInTop 0.5s both ease-out;
  transform-origin: 50% 50%;
  animation: flipInTop 0.5s both ease-out;
}

/* rotate fall */

.pt-page-rotateFall {
  -webkit-transform-origin: 0% 0%;
  -webkit-animation: rotateFall 1s both ease-in;
  -moz-transform-origin: 0% 0%;
  -moz-animation: rotateFall 1s both ease-in;
  transform-origin: 0% 0%;
  animation: rotateFall 1s both ease-in;
}

/* rotate newspaper */
.pt-page-rotateOutNewspaper {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: rotateOutNewspaper 0.5s both ease-in;
  -moz-transform-origin: 50% 50%;
  -moz-animation: rotateOutNewspaper 0.5s both ease-in;
  transform-origin: 50% 50%;
  animation: rotateOutNewspaper 0.5s both ease-in;
}
.pt-page-rotateInNewspaper {
  -webkit-transform-origin: 50% 50%;
  -webkit-animation: rotateInNewspaper 0.5s both ease-out;
  -moz-transform-origin: 50% 50%;
  -moz-animation: rotateInNewspaper 0.5s both ease-out;
  transform-origin: 50% 50%;
  animation: rotateInNewspaper 0.5s both ease-out;
}

/* push */
.pt-page-rotatePushLeft {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotatePushLeft 0.8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotatePushLeft 0.8s both ease;
  transform-origin: 0% 50%;
  animation: rotatePushLeft 0.8s both ease;
}
.pt-page-rotatePushRight {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotatePushRight 0.8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotatePushRight 0.8s both ease;
  transform-origin: 100% 50%;
  animation: rotatePushRight 0.8s both ease;
}
.pt-page-rotatePushTop {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotatePushTop 0.8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotatePushTop 0.8s both ease;
  transform-origin: 50% 0%;
  animation: rotatePushTop 0.8s both ease;
}
.pt-page-rotatePushBottom {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotatePushBottom 0.8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotatePushBottom 0.8s both ease;
  transform-origin: 50% 100%;
  animation: rotatePushBottom 0.8s both ease;
}

/* pull */
.pt-page-rotatePullRight {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotatePullRight 0.5s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotatePullRight 0.5s both ease;
  transform-origin: 100% 50%;
  animation: rotatePullRight 0.5s both ease;
}
.pt-page-rotatePullLeft {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotatePullLeft 0.5s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotatePullLeft 0.5s both ease;
  transform-origin: 0% 50%;
  animation: rotatePullLeft 0.5s both ease;
}
.pt-page-rotatePullTop {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotatePullTop 0.5s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotatePullTop 0.5s both ease;
  transform-origin: 50% 0%;
  animation: rotatePullTop 0.5s both ease;
}
.pt-page-rotatePullBottom {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotatePullBottom 0.5s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotatePullBottom 0.5s both ease;
  transform-origin: 50% 100%;
  animation: rotatePullBottom 0.5s both ease;
}

/* fold */
.pt-page-rotateFoldRight {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateFoldRight 0.7s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateFoldRight 0.7s both ease;
  transform-origin: 0% 50%;
  animation: rotateFoldRight 0.7s both ease;
}
.pt-page-rotateFoldLeft {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateFoldLeft 0.7s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateFoldLeft 0.7s both ease;
  transform-origin: 100% 50%;
  animation: rotateFoldLeft 0.7s both ease;
}
.pt-page-rotateFoldTop {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateFoldTop 0.7s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateFoldTop 0.7s both ease;
  transform-origin: 50% 100%;
  animation: rotateFoldTop 0.7s both ease;
}
.pt-page-rotateFoldBottom {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateFoldBottom 0.7s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateFoldBottom 0.7s both ease;
  transform-origin: 50% 0%;
  animation: rotateFoldBottom 0.7s both ease;
}

/* unfold */
.pt-page-rotateUnfoldLeft {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateUnfoldLeft 0.7s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateUnfoldLeft 0.7s both ease;
  transform-origin: 100% 50%;
  animation: rotateUnfoldLeft 0.7s both ease;
}
.pt-page-rotateUnfoldRight {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateUnfoldRight 0.7s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateUnfoldRight 0.7s both ease;
  transform-origin: 0% 50%;
  animation: rotateUnfoldRight 0.7s both ease;
}
.pt-page-rotateUnfoldTop {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateUnfoldTop 0.7s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateUnfoldTop 0.7s both ease;
  transform-origin: 50% 100%;
  animation: rotateUnfoldTop 0.7s both ease;
}
.pt-page-rotateUnfoldBottom {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateUnfoldBottom 0.7s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateUnfoldBottom 0.7s both ease;
  transform-origin: 50% 0%;
  animation: rotateUnfoldBottom 0.7s both ease;
}

/* room walls */
.pt-page-rotateRoomLeftOut {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateRoomLeftOut 0.8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateRoomLeftOut 0.8s both ease;
  transform-origin: 100% 50%;
  animation: rotateRoomLeftOut 0.8s both ease;
}
.pt-page-rotateRoomLeftIn {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateRoomLeftIn 0.8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateRoomLeftIn 0.8s both ease;
  transform-origin: 0% 50%;
  animation: rotateRoomLeftIn 0.8s both ease;
}
.pt-page-rotateRoomRightOut {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateRoomRightOut 0.8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateRoomRightOut 0.8s both ease;
  transform-origin: 0% 50%;
  animation: rotateRoomRightOut 0.8s both ease;
}
.pt-page-rotateRoomRightIn {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateRoomRightIn 0.8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateRoomRightIn 0.8s both ease;
  transform-origin: 100% 50%;
  animation: rotateRoomRightIn 0.8s both ease;
}
.pt-page-rotateRoomTopOut {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateRoomTopOut 0.8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateRoomTopOut 0.8s both ease;
  transform-origin: 50% 100%;
  animation: rotateRoomTopOut 0.8s both ease;
}
.pt-page-rotateRoomTopIn {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateRoomTopIn 0.8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateRoomTopIn 0.8s both ease;
  transform-origin: 50% 0%;
  animation: rotateRoomTopIn 0.8s both ease;
}
.pt-page-rotateRoomBottomOut {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateRoomBottomOut 0.8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateRoomBottomOut 0.8s both ease;
  transform-origin: 50% 0%;
  animation: rotateRoomBottomOut 0.8s both ease;
}
.pt-page-rotateRoomBottomIn {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateRoomBottomIn 0.8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateRoomBottomIn 0.8s both ease;
  transform-origin: 50% 100%;
  animation: rotateRoomBottomIn 0.8s both ease;
}

/* cube */
.pt-page-rotateCubeLeftOut {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateCubeLeftOut 0.6s both ease-in;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateCubeLeftOut 0.6s both ease-in;
  transform-origin: 100% 50%;
  animation: rotateCubeLeftOut 0.6s both ease-in;
}
.pt-page-rotateCubeLeftIn {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateCubeLeftIn 0.6s both ease-in;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateCubeLeftIn 0.6s both ease-in;
  transform-origin: 0% 50%;
  animation: rotateCubeLeftIn 0.6s both ease-in;
}
.pt-page-rotateCubeRightOut {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateCubeRightOut 0.6s both ease-in;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateCubeRightOut 0.6s both ease-in;
  transform-origin: 0% 50%;
  animation: rotateCubeRightOut 0.6s both ease-in;
}
.pt-page-rotateCubeRightIn {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateCubeRightIn 0.6s both ease-in;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateCubeRightIn 0.6s both ease-in;
  transform-origin: 100% 50%;
  animation: rotateCubeRightIn 0.6s both ease-in;
}
.pt-page-rotateCubeTopOut {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateCubeTopOut 0.6s both ease-in;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateCubeTopOut 0.6s both ease-in;
  transform-origin: 50% 100%;
  animation: rotateCubeTopOut 0.6s both ease-in;
}
.pt-page-rotateCubeTopIn {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateCubeTopIn 0.6s both ease-in;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateCubeTopIn 0.6s both ease-in;
  transform-origin: 50% 0%;
  animation: rotateCubeTopIn 0.6s both ease-in;
}
.pt-page-rotateCubeBottomOut {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateCubeBottomOut 0.6s both ease-in;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateCubeBottomOut 0.6s both ease-in;
  transform-origin: 50% 0%;
  animation: rotateCubeBottomOut 0.6s both ease-in;
}
.pt-page-rotateCubeBottomIn {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateCubeBottomIn 0.6s both ease-in;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateCubeBottomIn 0.6s both ease-in;
  transform-origin: 50% 100%;
  animation: rotateCubeBottomIn 0.6s both ease-in;
}

/* carousel */
.pt-page-rotateCarouselLeftOut {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateCarouselLeftOut 0.8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateCarouselLeftOut 0.8s both ease;
  transform-origin: 100% 50%;
  animation: rotateCarouselLeftOut 0.8s both ease;
}
.pt-page-rotateCarouselLeftIn {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateCarouselLeftIn 0.8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateCarouselLeftIn 0.8s both ease;
  transform-origin: 0% 50%;
  animation: rotateCarouselLeftIn 0.8s both ease;
}
.pt-page-rotateCarouselRightOut {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateCarouselRightOut 0.8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateCarouselRightOut 0.8s both ease;
  transform-origin: 0% 50%;
  animation: rotateCarouselRightOut 0.8s both ease;
}
.pt-page-rotateCarouselRightIn {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateCarouselRightIn 0.8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateCarouselRightIn 0.8s both ease;
  transform-origin: 100% 50%;
  animation: rotateCarouselRightIn 0.8s both ease;
}
.pt-page-rotateCarouselTopOut {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateCarouselTopOut 0.8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateCarouselTopOut 0.8s both ease;
  transform-origin: 50% 100%;
  animation: rotateCarouselTopOut 0.8s both ease;
}
.pt-page-rotateCarouselTopIn {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateCarouselTopIn 0.8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateCarouselTopIn 0.8s both ease;
  transform-origin: 50% 0%;
  animation: rotateCarouselTopIn 0.8s both ease;
}
.pt-page-rotateCarouselBottomOut {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateCarouselBottomOut 0.8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateCarouselBottomOut 0.8s both ease;
  transform-origin: 50% 0%;
  animation: rotateCarouselBottomOut 0.8s both ease;
}
.pt-page-rotateCarouselBottomIn {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateCarouselBottomIn 0.8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateCarouselBottomIn 0.8s both ease;
  transform-origin: 50% 100%;
  animation: rotateCarouselBottomIn 0.8s both ease;
}

/* sides */
.pt-page-rotateSidesOut {
  -webkit-transform-origin: -50% 50%;
  -webkit-animation: rotateSidesOut 0.5s both ease-in;
  -moz-transform-origin: -50% 50%;
  -moz-animation: rotateSidesOut 0.5s both ease-in;
  transform-origin: -50% 50%;
  animation: rotateSidesOut 0.5s both ease-in;
}
.pt-page-rotateSidesIn {
  -webkit-transform-origin: 150% 50%;
  -webkit-animation: rotateSidesIn 0.5s both ease-out;
  -moz-transform-origin: 150% 50%;
  -moz-animation: rotateSidesIn 0.5s both ease-out;
  transform-origin: 150% 50%;
  animation: rotateSidesIn 0.5s both ease-out;
}

/* slide */
.pt-page-rotateSlideOut {
  -webkit-animation: rotateSlideOut 1s both ease;
  -moz-animation: rotateSlideOut 1s both ease;
  animation: rotateSlideOut 1s both ease;
}
.pt-page-rotateSlideIn {
  -webkit-animation: rotateSlideIn 1s both ease;
  -moz-animation: rotateSlideIn 1s both ease;
  animation: rotateSlideIn 1s both ease;
}

/********************************* keyframes **************************************/

/* rotate sides first and scale */

@-webkit-keyframes rotateRightSideFirst {
  40% {
    -webkit-transform: rotateY(15deg);
    opacity: 0.8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@-moz-keyframes rotateRightSideFirst {
  40% {
    -moz-transform: rotateY(15deg);
    opacity: 0.8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateRightSideFirst {
  40% {
    transform: rotateY(15deg);
    opacity: 0.8;
    animation-timing-function: ease-out;
  }
  100% {
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@-webkit-keyframes rotateLeftSideFirst {
  40% {
    -webkit-transform: rotateY(-15deg);
    opacity: 0.8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@-moz-keyframes rotateLeftSideFirst {
  40% {
    -moz-transform: rotateY(-15deg);
    opacity: 0.8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateLeftSideFirst {
  40% {
    transform: rotateY(-15deg);
    opacity: 0.8;
    animation-timing-function: ease-out;
  }
  100% {
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@-webkit-keyframes rotateTopSideFirst {
  40% {
    -webkit-transform: rotateX(15deg);
    opacity: 0.8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@-moz-keyframes rotateTopSideFirst {
  40% {
    -moz-transform: rotateX(15deg);
    opacity: 0.8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateTopSideFirst {
  40% {
    transform: rotateX(15deg);
    opacity: 0.8;
    animation-timing-function: ease-out;
  }
  100% {
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@-webkit-keyframes rotateBottomSideFirst {
  40% {
    -webkit-transform: rotateX(-15deg);
    opacity: 0.8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@-moz-keyframes rotateBottomSideFirst {
  40% {
    -moz-transform: rotateX(-15deg);
    opacity: 0.8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateBottomSideFirst {
  40% {
    transform: rotateX(-15deg);
    opacity: 0.8;
    animation-timing-function: ease-out;
  }
  100% {
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

/* flip */

@-webkit-keyframes flipOutRight {
  to {
    -webkit-transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipOutRight {
  to {
    -moz-transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}
@keyframes flipOutRight {
  to {
    transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInLeft {
  from {
    -webkit-transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipInLeft {
  from {
    -moz-transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}
@keyframes flipInLeft {
  from {
    transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipOutLeft {
  to {
    -webkit-transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipOutLeft {
  to {
    -moz-transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}
@keyframes flipOutLeft {
  to {
    transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInRight {
  from {
    -webkit-transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipInRight {
  from {
    -moz-transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}
@keyframes flipInRight {
  from {
    transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipOutTop {
  to {
    -webkit-transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipOutTop {
  to {
    -moz-transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}
@keyframes flipOutTop {
  to {
    transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInBottom {
  from {
    -webkit-transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipInBottom {
  from {
    -moz-transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}
@keyframes flipInBottom {
  from {
    transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipOutBottom {
  to {
    -webkit-transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipOutBottom {
  to {
    -moz-transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}
@keyframes flipOutBottom {
  to {
    transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInTop {
  from {
    -webkit-transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}
@-moz-keyframes flipInTop {
  from {
    -moz-transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}
@keyframes flipInTop {
  from {
    transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}

/* fall */

@-webkit-keyframes rotateFall {
  0% {
    -webkit-transform: rotateZ(0deg);
  }
  20% {
    -webkit-transform: rotateZ(10deg);
    -webkit-animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: rotateZ(17deg);
  }
  60% {
    -webkit-transform: rotateZ(16deg);
  }
  100% {
    -webkit-transform: translateY(100%) rotateZ(17deg);
  }
}
@-moz-keyframes rotateFall {
  0% {
    -moz-transform: rotateZ(0deg);
  }
  20% {
    -moz-transform: rotateZ(10deg);
    -moz-animation-timing-function: ease-out;
  }
  40% {
    -moz-transform: rotateZ(17deg);
  }
  60% {
    -moz-transform: rotateZ(16deg);
  }
  100% {
    -moz-transform: translateY(100%) rotateZ(17deg);
  }
}
@keyframes rotateFall {
  0% {
    transform: rotateZ(0deg);
  }
  20% {
    transform: rotateZ(10deg);
    animation-timing-function: ease-out;
  }
  40% {
    transform: rotateZ(17deg);
  }
  60% {
    transform: rotateZ(16deg);
  }
  100% {
    transform: translateY(100%) rotateZ(17deg);
  }
}

/* newspaper */

@-webkit-keyframes rotateOutNewspaper {
  to {
    -webkit-transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateOutNewspaper {
  to {
    -moz-transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0;
  }
}
@keyframes rotateOutNewspaper {
  to {
    transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateInNewspaper {
  from {
    -webkit-transform: translateZ(-3000px) rotateZ(-360deg);
    opacity: 0;
  }
}
@-moz-keyframes rotateInNewspaper {
  from {
    -moz-transform: translateZ(-3000px) rotateZ(-360deg);
    opacity: 0;
  }
}
@keyframes rotateInNewspaper {
  from {
    transform: translateZ(-3000px) rotateZ(-360deg);
    opacity: 0;
  }
}

/* push */

@-webkit-keyframes rotatePushLeft {
  to {
    opacity: 0;
    -webkit-transform: rotateY(90deg);
  }
}
@-moz-keyframes rotatePushLeft {
  to {
    opacity: 0;
    -moz-transform: rotateY(90deg);
  }
}
@keyframes rotatePushLeft {
  to {
    opacity: 0;
    transform: rotateY(90deg);
  }
}

@-webkit-keyframes rotatePushRight {
  to {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
  }
}
@-moz-keyframes rotatePushRight {
  to {
    opacity: 0;
    -moz-transform: rotateY(-90deg);
  }
}
@keyframes rotatePushRight {
  to {
    opacity: 0;
    transform: rotateY(-90deg);
  }
}

@-webkit-keyframes rotatePushTop {
  to {
    opacity: 0;
    -webkit-transform: rotateX(-90deg);
  }
}
@-moz-keyframes rotatePushTop {
  to {
    opacity: 0;
    -moz-transform: rotateX(-90deg);
  }
}
@keyframes rotatePushTop {
  to {
    opacity: 0;
    transform: rotateX(-90deg);
  }
}

@-webkit-keyframes rotatePushBottom {
  to {
    opacity: 0;
    -webkit-transform: rotateX(90deg);
  }
}
@-moz-keyframes rotatePushBottom {
  to {
    opacity: 0;
    -moz-transform: rotateX(90deg);
  }
}
@keyframes rotatePushBottom {
  to {
    opacity: 0;
    transform: rotateX(90deg);
  }
}

/* pull */

@-webkit-keyframes rotatePullRight {
  from {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
  }
}
@-moz-keyframes rotatePullRight {
  from {
    opacity: 0;
    -moz-transform: rotateY(-90deg);
  }
}
@keyframes rotatePullRight {
  from {
    opacity: 0;
    transform: rotateY(-90deg);
  }
}

@-webkit-keyframes rotatePullLeft {
  from {
    opacity: 0;
    -webkit-transform: rotateY(90deg);
  }
}
@-moz-keyframes rotatePullLeft {
  from {
    opacity: 0;
    -moz-transform: rotateY(90deg);
  }
}
@keyframes rotatePullLeft {
  from {
    opacity: 0;
    transform: rotateY(90deg);
  }
}

@-webkit-keyframes rotatePullTop {
  from {
    opacity: 0;
    -webkit-transform: rotateX(-90deg);
  }
}
@-moz-keyframes rotatePullTop {
  from {
    opacity: 0;
    -moz-transform: rotateX(-90deg);
  }
}
@keyframes rotatePullTop {
  from {
    opacity: 0;
    transform: rotateX(-90deg);
  }
}

@-webkit-keyframes rotatePullBottom {
  from {
    opacity: 0;
    -webkit-transform: rotateX(90deg);
  }
}
@-moz-keyframes rotatePullBottom {
  from {
    opacity: 0;
    -moz-transform: rotateX(90deg);
  }
}
@keyframes rotatePullBottom {
  from {
    opacity: 0;
    transform: rotateX(90deg);
  }
}

/* fold */

@-webkit-keyframes rotateFoldRight {
  to {
    opacity: 0;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
}
@-moz-keyframes rotateFoldRight {
  to {
    opacity: 0;
    -moz-transform: translateX(100%) rotateY(90deg);
  }
}
@keyframes rotateFoldRight {
  to {
    opacity: 0;
    transform: translateX(100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateFoldLeft {
  to {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
}
@-moz-keyframes rotateFoldLeft {
  to {
    opacity: 0;
    -moz-transform: translateX(-100%) rotateY(-90deg);
  }
}
@keyframes rotateFoldLeft {
  to {
    opacity: 0;
    transform: translateX(-100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateFoldTop {
  to {
    opacity: 0;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
}
@-moz-keyframes rotateFoldTop {
  to {
    opacity: 0;
    -moz-transform: translateY(-100%) rotateX(90deg);
  }
}
@keyframes rotateFoldTop {
  to {
    opacity: 0;
    transform: translateY(-100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateFoldBottom {
  to {
    opacity: 0;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
}
@-moz-keyframes rotateFoldBottom {
  to {
    opacity: 0;
    -moz-transform: translateY(100%) rotateX(-90deg);
  }
}
@keyframes rotateFoldBottom {
  to {
    opacity: 0;
    transform: translateY(100%) rotateX(-90deg);
  }
}

/* unfold */

@-webkit-keyframes rotateUnfoldLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
}
@-moz-keyframes rotateUnfoldLeft {
  from {
    opacity: 0;
    -moz-transform: translateX(-100%) rotateY(-90deg);
  }
}
@keyframes rotateUnfoldLeft {
  from {
    opacity: 0;
    transform: translateX(-100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateUnfoldRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
}
@-moz-keyframes rotateUnfoldRight {
  from {
    opacity: 0;
    -moz-transform: translateX(100%) rotateY(90deg);
  }
}
@keyframes rotateUnfoldRight {
  from {
    opacity: 0;
    transform: translateX(100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateUnfoldTop {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
}
@-moz-keyframes rotateUnfoldTop {
  from {
    opacity: 0;
    -moz-transform: translateY(-100%) rotateX(90deg);
  }
}
@keyframes rotateUnfoldTop {
  from {
    opacity: 0;
    transform: translateY(-100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateUnfoldBottom {
  from {
    opacity: 0;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
}
@-moz-keyframes rotateUnfoldBottom {
  from {
    opacity: 0;
    -moz-transform: translateY(100%) rotateX(-90deg);
  }
}
@keyframes rotateUnfoldBottom {
  from {
    opacity: 0;
    transform: translateY(100%) rotateX(-90deg);
  }
}

/* room walls */

@-webkit-keyframes rotateRoomLeftOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
  }
}
@-moz-keyframes rotateRoomLeftOut {
  to {
    opacity: 0.3;
    -moz-transform: translateX(-100%) rotateY(90deg);
  }
}
@keyframes rotateRoomLeftOut {
  to {
    opacity: 0.3;
    transform: translateX(-100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateRoomLeftIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
  }
}
@-moz-keyframes rotateRoomLeftIn {
  from {
    opacity: 0.3;
    -moz-transform: translateX(100%) rotateY(-90deg);
  }
}
@keyframes rotateRoomLeftIn {
  from {
    opacity: 0.3;
    transform: translateX(100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateRoomRightOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
  }
}
@-moz-keyframes rotateRoomRightOut {
  to {
    opacity: 0.3;
    -moz-transform: translateX(100%) rotateY(-90deg);
  }
}
@keyframes rotateRoomRightOut {
  to {
    opacity: 0.3;
    transform: translateX(100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateRoomRightIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
  }
}
@-moz-keyframes rotateRoomRightIn {
  from {
    opacity: 0.3;
    -moz-transform: translateX(-100%) rotateY(90deg);
  }
}
@keyframes rotateRoomRightIn {
  from {
    opacity: 0.3;
    transform: translateX(-100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateRoomTopOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
  }
}
@-moz-keyframes rotateRoomTopOut {
  to {
    opacity: 0.3;
    -moz-transform: translateY(-100%) rotateX(-90deg);
  }
}
@keyframes rotateRoomTopOut {
  to {
    opacity: 0.3;
    transform: translateY(-100%) rotateX(-90deg);
  }
}

@-webkit-keyframes rotateRoomTopIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(100%) rotateX(90deg);
  }
}
@-moz-keyframes rotateRoomTopIn {
  from {
    opacity: 0.3;
    -moz-transform: translateY(100%) rotateX(90deg);
  }
}
@keyframes rotateRoomTopIn {
  from {
    opacity: 0.3;
    transform: translateY(100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateRoomBottomOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateY(100%) rotateX(90deg);
  }
}
@-moz-keyframes rotateRoomBottomOut {
  to {
    opacity: 0.3;
    -moz-transform: translateY(100%) rotateX(90deg);
  }
}
@keyframes rotateRoomBottomOut {
  to {
    opacity: 0.3;
    transform: translateY(100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateRoomBottomIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
  }
}
@-moz-keyframes rotateRoomBottomIn {
  from {
    opacity: 0.3;
    -moz-transform: translateY(-100%) rotateX(-90deg);
  }
}
@keyframes rotateRoomBottomIn {
  from {
    opacity: 0.3;
    transform: translateY(-100%) rotateX(-90deg);
  }
}

/* cube */

@-webkit-keyframes rotateCubeLeftOut {
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
  100% {
    opacity: 0.3;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
}
@-moz-keyframes rotateCubeLeftOut {
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
  100% {
    opacity: 0.3;
    -moz-transform: translateX(-100%) rotateY(-90deg);
  }
}
@keyframes rotateCubeLeftOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
  100% {
    opacity: 0.3;
    transform: translateX(-100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateCubeLeftIn {
  0% {
    opacity: 0.3;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
}
@-moz-keyframes rotateCubeLeftIn {
  0% {
    opacity: 0.3;
    -moz-transform: translateX(100%) rotateY(90deg);
  }
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
}
@keyframes rotateCubeLeftIn {
  0% {
    opacity: 0.3;
    transform: translateX(100%) rotateY(90deg);
  }
  50% {
    animation-timing-function: ease-out;
    transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
}

@-webkit-keyframes rotateCubeRightOut {
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
  100% {
    opacity: 0.3;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
}
@-moz-keyframes rotateCubeRightOut {
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
  100% {
    opacity: 0.3;
    -moz-transform: translateX(100%) rotateY(90deg);
  }
}
@keyframes rotateCubeRightOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
  100% {
    opacity: 0.3;
    transform: translateX(100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateCubeRightIn {
  0% {
    opacity: 0.3;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
}
@-moz-keyframes rotateCubeRightIn {
  0% {
    opacity: 0.3;
    -moz-transform: translateX(-100%) rotateY(-90deg);
  }
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
}
@keyframes rotateCubeRightIn {
  0% {
    opacity: 0.3;
    transform: translateX(-100%) rotateY(-90deg);
  }
  50% {
    animation-timing-function: ease-out;
    transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
}

@-webkit-keyframes rotateCubeTopOut {
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
  100% {
    opacity: 0.3;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
}
@-moz-keyframes rotateCubeTopOut {
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
  100% {
    opacity: 0.3;
    -moz-transform: translateY(-100%) rotateX(90deg);
  }
}
@keyframes rotateCubeTopOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
  100% {
    opacity: 0.3;
    transform: translateY(-100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateCubeTopIn {
  0% {
    opacity: 0.3;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
}
@-moz-keyframes rotateCubeTopIn {
  0% {
    opacity: 0.3;
    -moz-transform: translateY(100%) rotateX(-90deg);
  }
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
}
@keyframes rotateCubeTopIn {
  0% {
    opacity: 0.3;
    transform: translateY(100%) rotateX(-90deg);
  }
  50% {
    animation-timing-function: ease-out;
    transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
}

@-webkit-keyframes rotateCubeBottomOut {
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
  100% {
    opacity: 0.3;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
}
@-moz-keyframes rotateCubeBottomOut {
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
  100% {
    opacity: 0.3;
    -moz-transform: translateY(100%) rotateX(-90deg);
  }
}
@keyframes rotateCubeBottomOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
  100% {
    opacity: 0.3;
    transform: translateY(100%) rotateX(-90deg);
  }
}

@-webkit-keyframes rotateCubeBottomIn {
  0% {
    opacity: 0.3;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
}
@-moz-keyframes rotateCubeBottomIn {
  0% {
    opacity: 0.3;
    -moz-transform: translateY(-100%) rotateX(90deg);
  }
  50% {
    -moz-animation-timing-function: ease-out;
    -moz-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
}
@keyframes rotateCubeBottomIn {
  0% {
    opacity: 0.3;
    transform: translateY(-100%) rotateX(90deg);
  }
  50% {
    animation-timing-function: ease-out;
    transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
}

/* carousel */

@-webkit-keyframes rotateCarouselLeftOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}
@-moz-keyframes rotateCarouselLeftOut {
  to {
    opacity: 0.3;
    -moz-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}
@keyframes rotateCarouselLeftOut {
  to {
    opacity: 0.3;
    transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}

@-webkit-keyframes rotateCarouselLeftIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@-moz-keyframes rotateCarouselLeftIn {
  from {
    opacity: 0.3;
    -moz-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@keyframes rotateCarouselLeftIn {
  from {
    opacity: 0.3;
    transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}

@-webkit-keyframes rotateCarouselRightOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@-moz-keyframes rotateCarouselRightOut {
  to {
    opacity: 0.3;
    -moz-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@keyframes rotateCarouselRightOut {
  to {
    opacity: 0.3;
    transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}

@-webkit-keyframes rotateCarouselRightIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}
@-moz-keyframes rotateCarouselRightIn {
  from {
    opacity: 0.3;
    -moz-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}
@keyframes rotateCarouselRightIn {
  from {
    opacity: 0.3;
    transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}

@-webkit-keyframes rotateCarouselTopOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@-moz-keyframes rotateCarouselTopOut {
  to {
    opacity: 0.3;
    -moz-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@keyframes rotateCarouselTopOut {
  to {
    opacity: 0.3;
    transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}

@-webkit-keyframes rotateCarouselTopIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@-moz-keyframes rotateCarouselTopIn {
  from {
    opacity: 0.3;
    -moz-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@keyframes rotateCarouselTopIn {
  from {
    opacity: 0.3;
    transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}

@-webkit-keyframes rotateCarouselBottomOut {
  to {
    opacity: 0.3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@-moz-keyframes rotateCarouselBottomOut {
  to {
    opacity: 0.3;
    -moz-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@keyframes rotateCarouselBottomOut {
  to {
    opacity: 0.3;
    transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}

@-webkit-keyframes rotateCarouselBottomIn {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@-moz-keyframes rotateCarouselBottomIn {
  from {
    opacity: 0.3;
    -moz-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@keyframes rotateCarouselBottomIn {
  from {
    opacity: 0.3;
    transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}

/* sides */

@-webkit-keyframes rotateSidesOut {
  to {
    opacity: 0;
    -webkit-transform: translateZ(-500px) rotateY(90deg);
  }
}
@-moz-keyframes rotateSidesOut {
  to {
    opacity: 0;
    -moz-transform: translateZ(-500px) rotateY(90deg);
  }
}
@keyframes rotateSidesOut {
  to {
    opacity: 0;
    transform: translateZ(-500px) rotateY(90deg);
  }
}

@-webkit-keyframes rotateSidesIn {
  from {
    opacity: 0;
    -webkit-transform: translateZ(-500px) rotateY(-90deg);
  }
}
@-moz-keyframes rotateSidesIn {
  from {
    opacity: 0;
    -moz-transform: translateZ(-500px) rotateY(-90deg);
  }
}
@keyframes rotateSidesIn {
  from {
    opacity: 0;
    transform: translateZ(-500px) rotateY(-90deg);
  }
}

/* slide */

@-webkit-keyframes rotateSlideOut {
  25% {
    opacity: 0.5;
    -webkit-transform: translateZ(-500px);
  }
  75% {
    opacity: 0.5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: 0.5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }
}
@-moz-keyframes rotateSlideOut {
  25% {
    opacity: 0.5;
    -moz-transform: translateZ(-500px);
  }
  75% {
    opacity: 0.5;
    -moz-transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: 0.5;
    -moz-transform: translateZ(-500px) translateX(-200%);
  }
}
@keyframes rotateSlideOut {
  25% {
    opacity: 0.5;
    transform: translateZ(-500px);
  }
  75% {
    opacity: 0.5;
    transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: 0.5;
    transform: translateZ(-500px) translateX(-200%);
  }
}

@-webkit-keyframes rotateSlideIn {
  0%,
  25% {
    opacity: 0.5;
    -webkit-transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: 0.5;
    -webkit-transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) translateX(0);
  }
}
@-moz-keyframes rotateSlideIn {
  0%,
  25% {
    opacity: 0.5;
    -moz-transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: 0.5;
    -moz-transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateZ(0) translateX(0);
  }
}
@keyframes rotateSlideIn {
  0%,
  25% {
    opacity: 0.5;
    transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: 0.5;
    transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    transform: translateZ(0) translateX(0);
  }
}

/* animation delay classes */

.pt-page-delay100 {
  -webkit-animation-delay: 0.1s;
  -moz-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.pt-page-delay180 {
  -webkit-animation-delay: 0.18s;
  -moz-animation-delay: 0.18s;
  animation-delay: 0.18s;
}
.pt-page-delay200 {
  -webkit-animation-delay: 0.2s;
  -moz-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.pt-page-delay300 {
  -webkit-animation-delay: 0.3s;
  -moz-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.pt-page-delay400 {
  -webkit-animation-delay: 0.4s;
  -moz-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
.pt-page-delay500 {
  -webkit-animation-delay: 0.5s;
  -moz-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.pt-page-delay700 {
  -webkit-animation-delay: 0.7s;
  -moz-animation-delay: 0.7s;
  animation-delay: 0.7s;
}
.pt-page-delay1000 {
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  animation-delay: 1s;
}
