#services {
  background-color: #f4f4f4;
}
#services .heading {
  margin-top: 20px;
  font-size: 2em;
  line-height: 1.25;
}
#services .heading strong {
  display: block;
  font-size: 1.500em;
  /* 42px */
  color: #ff422c;
}
#services .intro {
  margin-top: 40px;
  margin-bottom: 70px;
  font-size: 1.286em;
  line-height: 1.5;
  color: #666666;
}
#services .description {
  margin: 35px auto 40px auto;
  font-family: 'gotham_bold';
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-size: 1.571em;
  text-transform: uppercase;
}
#services .services-list {
  padding: 0;
  margin: 1px 0 0 1px;
  list-style: none;
}
#services .services-list li {
  float: left;
  display: block;
  width: 33.3%;
}
#services .services-list li [class^="icon-"] {
  margin-top: 12%;
  margin-bottom: 6%;
  font-size: 80px;
  line-height: 1;
  -webkit-transition: color 0.4s ease-in-out;
  -moz-transition: color 0.4s ease-in-out;
  -ms-transition: color 0.4s ease-in-out;
  -o-transition: color 0.4s ease-in-out;
  transition: color 0.4s ease-in-out;
}
#services .services-list .list-inner {
  display: block;
  height: 280px;
  padding: 6%;
  margin-left: -1px;
  margin-top: -1px;
  overflow: hidden;
  border: 1px solid #c3c3c3;
  background-color:#fff;
}
#services .services-list .service-heading {
  font-size: 1.143em; text-align:center;
  font-size:22px; color:#666;
}
#services .services-list .service-intro {
  padding-left: 5px;
  padding-right: 5px;
  line-height: 1.5;
  color: #666666;
  width:90%; padding-top:20px;
  
}
#services .details {
  margin-top: 40px;
  border-top: 1px solid #c3c3c3;
}
@media only screen and (max-width: 940px) {
  #services .br {
    display: inline;
  }
  #services .services-list li [class^="icon-"] {
    font-size: 60px;
  }
}
@media only screen and (max-width: 800px) {
  #services .services-list li [class^="icon-"] {
    font-size: 50px;
  }
}
@media only screen and (max-width: 768px) {
  #services .services-list li [class^="icon-"] {
    font-size: 50px;
  }
  #services .services-list .service-heading {
    font-size: 1em;
  }
  #services .services-list .service-intro {
    font-size: 0.857em;
  }
}
.bg_has{ background-color:#fff;}





#blog {

}
#blog .heading {
  font-size: 2.143em;
  color: #ff422c;
}
#blog .intro {
  margin: 0;
  font-weight: normal;
  font-family: 'gotham_bold';
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-size: 2.143em;
  text-transform: uppercase;
}
#blog .posts-list {
  margin-top: 60px;
}
#blog .posts-list a {
  text-decoration: none;
}
#blog .posts-list .blog-post {
  display: inline-block;
  vertical-align: top;
  width: 33.3%;
}
#blog .posts-list .blog-post.category-press-release .category-label {
  font-family: 'gotham_bold';
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  color: #ff422c;
  text-transform: uppercase;
}
#blog .posts-list .blog-post.category-press-release .overlay-content {
  overflow: hidden;
}
#blog .posts-list .blog-post.category-press-release .overlay-content h3 {
  margin-top: 0.5em;
  font-size: 1.857em;
}
#blog .posts-list .blog-post.category-press-release .overlay-content p {
  line-height: 1.5;
}
#blog .posts-list .blog-post.category-press-release .front a {
  position: relative;
  background-color: #21282e;
}
#blog .posts-list .blog-post.category-press-release .front a .overlay-content {
  position: absolute;
  top: 30px;
  bottom: 30px;
  left: 35px;
  right: 35px;
  text-align: left;
  color: #fff;
}
#blog .posts-list .blog-post a {
  display: block;
  width: 100%;
  height: 100%;
}
#blog .posts-list .blog-post .front .thumbnail {
  width: 97%;
  height: 0;
  padding-bottom: 64.5%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
#blog .posts-list .blog-post .front .top-placeholder {
  width: 100%;
  height: 0;
  padding-bottom: 64.5%;
}
#blog .posts-list .blog-post .front img {
  display: block;
  width: 100%;
  height: auto;
}
#blog .posts-list .blog-post .inner {
  border: 10px solid transparent;
}
#blog .posts-list .blog-post .post-heading {
  margin: 0;
  font-weight: 500;
  overflow: hidden;
}
#blog .posts-list .blog-post .bottom-placeholder {
  height: 110px;
}
#blog .posts-list .blog-post .description {
  position: relative;
  padding: 5px 35px;
  height: 50px;
  background-color: #e2e2e2;
  color: #626262;
  text-align: left;
  font-size: 1.2em;
  font-weight: normal;
}
#blog .posts-list .blog-post .description::before {
  content: "";
  position: absolute;
  top: -13px;
  left: 15px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 15px 15px 15px;
  border-color: transparent transparent #e2e2e2 transparent;
}
#blog .posts-list .blog-post .overlay-link {
  position: relative;
}
#blog .posts-list .blog-post .overlay-link .cta {
  position: relative;
  top: 50%;
  left: 0;
  width: 100%;
  margin-top: -55px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-size: 1.571em;
  line-height: 1.25;
  color: #fff;
  text-transform: uppercase;
}
#blog .posts-list .blog-post .overlay-link .cta .line2 {
  font-size: 14px;
  color:#fff;

  /* 16px */
}
#blog .posts-list .blog-post .overlay-link .cta [class^="icon-"] {
  display: block;
  margin-bottom: 10px;
  font-size: 26px;
  line-height: 1;
}
@media only screen and (max-width: 1120px) {
  #blog .posts-list .blog-post.category-press-release .front a .overlay-content {
    left: 20px;
    right: 20px;
  }
  #blog .posts-list .blog-post .description {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 1040px) {
  #blog .posts-list .blog-post.category-press-release .overlay-content h3 {
    font-size: 1.571em;
  }
  #blog .posts-list .blog-post .description {
    font-size: 1.1em;
  }
}
@media only screen and (max-width: 960px) {
  #blog .posts-list .blog-post.category-press-release .overlay-content h3 {
    font-size: 1.429em;
  }
}
@media only screen and (max-width: 880px) {
  #blog .posts-list .blog-post.category-press-release .overlay-content h3 {
    font-size: 1.286em;
  }
  #blog .posts-list .blog-post.category-press-release .overlay-content p {
    font-size: 0.857em;
  }
}
@media only screen and (max-width: 767px) {
  #blog .posts-list .blog-post.category-press-release .overlay-content .category-label {
    font-size: 0.857em;
  }
  #blog .posts-list .blog-post.category-press-release .overlay-content h3 {
    font-size: 1.143em;
  }
  #blog .posts-list .blog-post.category-press-release .overlay-content::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    height: 70px;
    background: -moz-linear-gradient(top, rgba(33, 40, 46, 0) 0%, rgba(33, 40, 46, 0) 1%, #21282e 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(33, 40, 46, 0)), color-stop(1%, rgba(33, 40, 46, 0)), color-stop(100%, #21282e));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(33, 40, 46, 0) 0%, rgba(33, 40, 46, 0) 1%, #21282e 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(33, 40, 46, 0) 0%, rgba(33, 40, 46, 0) 1%, #21282e 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(33, 40, 46, 0) 0%, rgba(33, 40, 46, 0) 1%, #21282e 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgba(33, 40, 46, 0) 0%, rgba(33, 40, 46, 0) 1%, #21282e 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0021282e', endColorstr='#21282e', GradientType=0);
    /* IE6-9 */
  }
}


#portfolio {

}
#portfolio .heading {
  margin: 0 0 70px 0;
  font-size: 5.143em;
}
#portfolio .heading .dot {
  color: #ff422c;
}
#portfolio .projects-wrapper {
  margin-left: -34px;
  text-align: center;
}
#portfolio .projects-wrapper .project {
  float: left;
  width: 50%;
  margin-bottom: 40px;
}
#portfolio .projects-wrapper .project .inner {
  margin-left: 40px;
}
#portfolio .projects-wrapper .project .ratio-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 44.5%;
}
#portfolio .projects-wrapper .project .ratio-wrapper .flip-container {
  position: absolute;
  width: 100%;
  height: 100%;
}
#portfolio .projects-wrapper .project a {
  display: block;
  width: 100%;
  height: 100%;
}
#portfolio .projects-wrapper .project a img {
  display: block;
}
#portfolio .projects-wrapper .project .front,
#portfolio .projects-wrapper .project .back {
  overflow: hidden;
}
#portfolio .projects-wrapper .project .project-description {
  position: relative;
  left: 0;
  top: 50%;
  width: 80%;
  margin: -50px auto auto auto;
  font-size: 1em;
  line-height: 1.5;
}
#portfolio .projects-wrapper .project .project-description [class^="icon-"] {
  font-size: 26px;
  line-height: 1;
}
#portfolio .projects-wrapper .project .project-heading {
  display: block;
  font-size: 1.571em;
}
#portfolio .projects-wrapper .project .project-intro {
  display: block;
  font-family: 'Open Sans', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size: 1.143em;
  font-weight: 400;
  font-style: italic;
  text-transform: none;
}
@media only screen and (max-width: 960px) {
  #portfolio {
    background-attachment: scroll;
  }
}


/* ==========================
Flippers
============================= */
.flip-container {
  -webkit-perspective: 1000;
  -moz-perspective: 1000;
  -ms-perspective: 1000;
  -o-perspective: 1000;
  perspective: 1000;
}
.flip-container .flipper {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s;
  -webkit-transform-style: preserve-3d;
  -moz-transition: -moz-transform 0.6s;
  -moz-transform-style: preserve-3d;
  -ms-transition: -ms-transform 0.6s;
  -ms-transform-style: preserve-3d;
  -o-transition: -o-transform 0.6s;
  -o-transform-style: preserve-3d;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}
.flip-container .front,
.flip-container .back {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -ms-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
.flip-container .front {
  position: relative;
  z-index: 2;
}
.flip-container .back {
  position: absolute;
  z-index: 1;
  background: #e54d4d url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAGklEQVQIW2NkQAKMIPYZE+X/JmfuMoI5MAAARv0EBMj+bmoAAAAASUVORK5CYII=");
  color: #fff;
  -webkit-opacity: 0;
  -moz-opacity: 0;
  -ms-opacity: 0;
  -o-opacity: 0;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transform: rotateY(180deg) translateZ(-1px);
  -moz-transform: rotateY(180deg) translateZ(-1px);
  -ms-transform: rotateY(180deg) translateZ(-1px);
  -o-transform: rotateY(180deg) translateZ(-1px);
  transform: rotateY(180deg) translateZ(-1px);
}
.flip-container .back a {
  color: #fff;
  text-decoration: none;
}
.no-touch .flip-container:hover .flipper {
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
  transform: rotateY(180deg);
}
.no-touch .flip-container:hover .flipper .front {
  -webkit-opacity: 0;
  -moz-opacity: 0;
  -ms-opacity: 0;
  -o-opacity: 0;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.no-touch .flip-container:hover .flipper .back {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -ms-opacity: 1;
  -o-opacity: 1;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
}
svg {
  max-height: 100%;
}
/* Base Setting */
.slides-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-perspective: 1200px;
  -moz-perspective: 1200px;
  perspective: 1200px;
}
.slides-wrapper .slide {
  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);
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.slides-wrapper .slide-current {
  visibility: visible;
  z-index: 1;
}
.no-js .slide {
  visibility: visible;
  z-index: 1;
}
.slide-ontop {
  z-index: 999;
}
/* Animation Sets */
/* move from / to  */
.animate-slide-moveToLeft {
  -webkit-animation: moveToLeft .6s ease both;
  -moz-animation: moveToLeft .6s ease both;
  animation: moveToLeft .6s ease both;
}
.animate-slide-moveFromLeft {
  -webkit-animation: moveFromLeft .6s ease both;
  -moz-animation: moveFromLeft .6s ease both;
  animation: moveFromLeft .6s ease both;
}
.animate-slide-moveToRight {
  -webkit-animation: moveToRight .6s ease both;
  -moz-animation: moveToRight .6s ease both;
  animation: moveToRight .6s ease both;
}
.animate-slide-moveFromRight {
  -webkit-animation: moveFromRight .6s ease both;
  -moz-animation: moveFromRight .6s ease both;
  animation: moveFromRight .6s ease both;
}
.animate-slide-moveToTop {
  -webkit-animation: moveToTop .6s ease both;
  -moz-animation: moveToTop .6s ease both;
  animation: moveToTop .6s ease both;
}
.animate-slide-moveFromTop {
  -webkit-animation: moveFromTop .6s ease both;
  -moz-animation: moveFromTop .6s ease both;
  animation: moveFromTop .6s ease both;
}
.animate-slide-moveToBottom {
  -webkit-animation: moveToBottom .6s ease both;
  -moz-animation: moveToBottom .6s ease both;
  animation: moveToBottom .6s ease both;
}
.animate-slide-moveFromBottom {
  -webkit-animation: moveFromBottom .6s ease both;
  -moz-animation: moveFromBottom .6s ease both;
  animation: moveFromBottom .6s ease both;
}
/* fade */
.animate-slide-fade {
  -webkit-animation: fade .7s ease both;
  -moz-animation: fade .7s ease both;
  animation: fade .7s ease both;
}
/* move from / to and fade */
.animate-slide-moveToLeftFade {
  -webkit-animation: moveToLeftFade .7s ease both;
  -moz-animation: moveToLeftFade .7s ease both;
  animation: moveToLeftFade .7s ease both;
}
.animate-slide-moveFromLeftFade {
  -webkit-animation: moveFromLeftFade .7s ease both;
  -moz-animation: moveFromLeftFade .7s ease both;
  animation: moveFromLeftFade .7s ease both;
}
.animate-slide-moveToRightFade {
  -webkit-animation: moveToRightFade .7s ease both;
  -moz-animation: moveToRightFade .7s ease both;
  animation: moveToRightFade .7s ease both;
}
.animate-slide-moveFromRightFade {
  -webkit-animation: moveFromRightFade .7s ease both;
  -moz-animation: moveFromRightFade .7s ease both;
  animation: moveFromRightFade .7s ease both;
}
.animate-slide-moveToTopFade {
  -webkit-animation: moveToTopFade .7s ease both;
  -moz-animation: moveToTopFade .7s ease both;
  animation: moveToTopFade .7s ease both;
}
.animate-slide-moveFromTopFade {
  -webkit-animation: moveFromTopFade .7s ease both;
  -moz-animation: moveFromTopFade .7s ease both;
  animation: moveFromTopFade .7s ease both;
}
.animate-slide-moveToBottomFade {
  -webkit-animation: moveToBottomFade .7s ease both;
  -moz-animation: moveToBottomFade .7s ease both;
  animation: moveToBottomFade .7s ease both;
}
.animate-slide-moveFromBottomFade {
  -webkit-animation: moveFromBottomFade .7s ease both;
  -moz-animation: moveFromBottomFade .7s ease both;
  animation: moveFromBottomFade .7s ease both;
}
/* move to with different easing */
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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 */
.animate-slide-scaleDown {
  -webkit-animation: scaleDown .7s ease both;
  -moz-animation: scaleDown .7s ease both;
  animation: scaleDown .7s ease both;
}
.animate-slide-scaleUp {
  -webkit-animation: scaleUp .7s ease both;
  -moz-animation: scaleUp .7s ease both;
  animation: scaleUp .7s ease both;
}
.animate-slide-scaleUpDown {
  -webkit-animation: scaleUpDown .5s ease both;
  -moz-animation: scaleUpDown .5s ease both;
  animation: scaleUpDown .5s ease both;
}
.animate-slide-scaleDownUp {
  -webkit-animation: scaleDownUp .5s ease both;
  -moz-animation: scaleDownUp .5s ease both;
  animation: scaleDownUp .5s ease both;
}
.animate-slide-scaleDownCenter {
  -webkit-animation: scaleDownCenter 0.4s ease-in both;
  -moz-animation: scaleDownCenter 0.4s ease-in both;
  animation: scaleDownCenter 0.4s ease-in both;
}
.animate-slide-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 */
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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 */
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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 */
.animate-slide-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 */
.animate-slide-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;
}
.animate-slide-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 */
.animate-slide-rotatePushLeft {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotatePushLeft .8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotatePushLeft .8s both ease;
  transform-origin: 0% 50%;
  animation: rotatePushLeft .8s both ease;
}
.animate-slide-rotatePushRight {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotatePushRight .8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotatePushRight .8s both ease;
  transform-origin: 100% 50%;
  animation: rotatePushRight .8s both ease;
}
.animate-slide-rotatePushTop {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotatePushTop .8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotatePushTop .8s both ease;
  transform-origin: 50% 0%;
  animation: rotatePushTop .8s both ease;
}
.animate-slide-rotatePushBottom {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotatePushBottom .8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotatePushBottom .8s both ease;
  transform-origin: 50% 100%;
  animation: rotatePushBottom .8s both ease;
}
/* pull */
.animate-slide-rotatePullRight {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotatePullRight .5s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotatePullRight .5s both ease;
  transform-origin: 100% 50%;
  animation: rotatePullRight .5s both ease;
}
.animate-slide-rotatePullLeft {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotatePullLeft .5s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotatePullLeft .5s both ease;
  transform-origin: 0% 50%;
  animation: rotatePullLeft .5s both ease;
}
.animate-slide-rotatePullTop {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotatePullTop .5s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotatePullTop .5s both ease;
  transform-origin: 50% 0%;
  animation: rotatePullTop .5s both ease;
}
.animate-slide-rotatePullBottom {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotatePullBottom .5s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotatePullBottom .5s both ease;
  transform-origin: 50% 100%;
  animation: rotatePullBottom .5s both ease;
}
/* fold */
.animate-slide-rotateFoldRight {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateFoldRight .7s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateFoldRight .7s both ease;
  transform-origin: 0% 50%;
  animation: rotateFoldRight .7s both ease;
}
.animate-slide-rotateFoldLeft {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateFoldLeft .7s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateFoldLeft .7s both ease;
  transform-origin: 100% 50%;
  animation: rotateFoldLeft .7s both ease;
}
.animate-slide-rotateFoldTop {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateFoldTop .7s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateFoldTop .7s both ease;
  transform-origin: 50% 100%;
  animation: rotateFoldTop .7s both ease;
}
.animate-slide-rotateFoldBottom {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateFoldBottom .7s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateFoldBottom .7s both ease;
  transform-origin: 50% 0%;
  animation: rotateFoldBottom .7s both ease;
}
/* unfold */
.animate-slide-rotateUnfoldLeft {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateUnfoldLeft .7s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateUnfoldLeft .7s both ease;
  transform-origin: 100% 50%;
  animation: rotateUnfoldLeft .7s both ease;
}
.animate-slide-rotateUnfoldRight {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateUnfoldRight .7s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateUnfoldRight .7s both ease;
  transform-origin: 0% 50%;
  animation: rotateUnfoldRight .7s both ease;
}
.animate-slide-rotateUnfoldTop {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateUnfoldTop .7s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateUnfoldTop .7s both ease;
  transform-origin: 50% 100%;
  animation: rotateUnfoldTop .7s both ease;
}
.animate-slide-rotateUnfoldBottom {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateUnfoldBottom .7s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateUnfoldBottom .7s both ease;
  transform-origin: 50% 0%;
  animation: rotateUnfoldBottom .7s both ease;
}
/* room walls */
.animate-slide-rotateRoomLeftOut {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateRoomLeftOut .8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateRoomLeftOut .8s both ease;
  transform-origin: 100% 50%;
  animation: rotateRoomLeftOut .8s both ease;
}
.animate-slide-rotateRoomLeftIn {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateRoomLeftIn .8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateRoomLeftIn .8s both ease;
  transform-origin: 0% 50%;
  animation: rotateRoomLeftIn .8s both ease;
}
.animate-slide-rotateRoomRightOut {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateRoomRightOut .8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateRoomRightOut .8s both ease;
  transform-origin: 0% 50%;
  animation: rotateRoomRightOut .8s both ease;
}
.animate-slide-rotateRoomRightIn {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateRoomRightIn .8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateRoomRightIn .8s both ease;
  transform-origin: 100% 50%;
  animation: rotateRoomRightIn .8s both ease;
}
.animate-slide-rotateRoomTopOut {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateRoomTopOut .8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateRoomTopOut .8s both ease;
  transform-origin: 50% 100%;
  animation: rotateRoomTopOut .8s both ease;
}
.animate-slide-rotateRoomTopIn {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateRoomTopIn .8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateRoomTopIn .8s both ease;
  transform-origin: 50% 0%;
  animation: rotateRoomTopIn .8s both ease;
}
.animate-slide-rotateRoomBottomOut {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateRoomBottomOut .8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateRoomBottomOut .8s both ease;
  transform-origin: 50% 0%;
  animation: rotateRoomBottomOut .8s both ease;
}
.animate-slide-rotateRoomBottomIn {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateRoomBottomIn .8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateRoomBottomIn .8s both ease;
  transform-origin: 50% 100%;
  animation: rotateRoomBottomIn .8s both ease;
}
/* cube */
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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;
}
.animate-slide-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 */
.animate-slide-rotateCarouselLeftOut {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateCarouselLeftOut .8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateCarouselLeftOut .8s both ease;
  transform-origin: 100% 50%;
  animation: rotateCarouselLeftOut .8s both ease;
}
.animate-slide-rotateCarouselLeftIn {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateCarouselLeftIn .8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateCarouselLeftIn .8s both ease;
  transform-origin: 0% 50%;
  animation: rotateCarouselLeftIn .8s both ease;
}
.animate-slide-rotateCarouselRightOut {
  -webkit-transform-origin: 0% 50%;
  -webkit-animation: rotateCarouselRightOut .8s both ease;
  -moz-transform-origin: 0% 50%;
  -moz-animation: rotateCarouselRightOut .8s both ease;
  transform-origin: 0% 50%;
  animation: rotateCarouselRightOut .8s both ease;
}
.animate-slide-rotateCarouselRightIn {
  -webkit-transform-origin: 100% 50%;
  -webkit-animation: rotateCarouselRightIn .8s both ease;
  -moz-transform-origin: 100% 50%;
  -moz-animation: rotateCarouselRightIn .8s both ease;
  transform-origin: 100% 50%;
  animation: rotateCarouselRightIn .8s both ease;
}
.animate-slide-rotateCarouselTopOut {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateCarouselTopOut .8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateCarouselTopOut .8s both ease;
  transform-origin: 50% 100%;
  animation: rotateCarouselTopOut .8s both ease;
}
.animate-slide-rotateCarouselTopIn {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateCarouselTopIn .8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateCarouselTopIn .8s both ease;
  transform-origin: 50% 0%;
  animation: rotateCarouselTopIn .8s both ease;
}
.animate-slide-rotateCarouselBottomOut {
  -webkit-transform-origin: 50% 0%;
  -webkit-animation: rotateCarouselBottomOut .8s both ease;
  -moz-transform-origin: 50% 0%;
  -moz-animation: rotateCarouselBottomOut .8s both ease;
  transform-origin: 50% 0%;
  animation: rotateCarouselBottomOut .8s both ease;
}
.animate-slide-rotateCarouselBottomIn {
  -webkit-transform-origin: 50% 100%;
  -webkit-animation: rotateCarouselBottomIn .8s both ease;
  -moz-transform-origin: 50% 100%;
  -moz-animation: rotateCarouselBottomIn .8s both ease;
  transform-origin: 50% 100%;
  animation: rotateCarouselBottomIn .8s both ease;
}
/* sides */
.animate-slide-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;
}
.animate-slide-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 */
.animate-slide-rotateSlideOut {
  -webkit-animation: rotateSlideOut 1s both ease;
  -moz-animation: rotateSlideOut 1s both ease;
  animation: rotateSlideOut 1s both ease;
}
.animate-slide-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: .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: .8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateRightSideFirst {
  40% {
    transform: rotateY(15deg);
    opacity: .8;
    animation-timing-function: ease-out;
  }
  100% {
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@-webkit-keyframes rotateLeftSideFirst {
  40% {
    -webkit-transform: rotateY(-15deg);
    opacity: .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: .8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateLeftSideFirst {
  40% {
    transform: rotateY(-15deg);
    opacity: .8;
    animation-timing-function: ease-out;
  }
  100% {
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@-webkit-keyframes rotateTopSideFirst {
  40% {
    -webkit-transform: rotateX(15deg);
    opacity: .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: .8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateTopSideFirst {
  40% {
    transform: rotateX(15deg);
    opacity: .8;
    animation-timing-function: ease-out;
  }
  100% {
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@-webkit-keyframes rotateBottomSideFirst {
  40% {
    -webkit-transform: rotateX(-15deg);
    opacity: .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: .8;
    -moz-animation-timing-function: ease-out;
  }
  100% {
    -moz-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}
@keyframes rotateBottomSideFirst {
  40% {
    transform: rotateX(-15deg);
    opacity: .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: .3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
  }
}
@-moz-keyframes rotateRoomLeftOut {
  to {
    opacity: .3;
    -moz-transform: translateX(-100%) rotateY(90deg);
  }
}
@keyframes rotateRoomLeftOut {
  to {
    opacity: .3;
    transform: translateX(-100%) rotateY(90deg);
  }
}
@-webkit-keyframes rotateRoomLeftIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
  }
}
@-moz-keyframes rotateRoomLeftIn {
  from {
    opacity: .3;
    -moz-transform: translateX(100%) rotateY(-90deg);
  }
}
@keyframes rotateRoomLeftIn {
  from {
    opacity: .3;
    transform: translateX(100%) rotateY(-90deg);
  }
}
@-webkit-keyframes rotateRoomRightOut {
  to {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
  }
}
@-moz-keyframes rotateRoomRightOut {
  to {
    opacity: .3;
    -moz-transform: translateX(100%) rotateY(-90deg);
  }
}
@keyframes rotateRoomRightOut {
  to {
    opacity: .3;
    transform: translateX(100%) rotateY(-90deg);
  }
}
@-webkit-keyframes rotateRoomRightIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
  }
}
@-moz-keyframes rotateRoomRightIn {
  from {
    opacity: .3;
    -moz-transform: translateX(-100%) rotateY(90deg);
  }
}
@keyframes rotateRoomRightIn {
  from {
    opacity: .3;
    transform: translateX(-100%) rotateY(90deg);
  }
}
@-webkit-keyframes rotateRoomTopOut {
  to {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
  }
}
@-moz-keyframes rotateRoomTopOut {
  to {
    opacity: .3;
    -moz-transform: translateY(-100%) rotateX(-90deg);
  }
}
@keyframes rotateRoomTopOut {
  to {
    opacity: .3;
    transform: translateY(-100%) rotateX(-90deg);
  }
}
@-webkit-keyframes rotateRoomTopIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(90deg);
  }
}
@-moz-keyframes rotateRoomTopIn {
  from {
    opacity: .3;
    -moz-transform: translateY(100%) rotateX(90deg);
  }
}
@keyframes rotateRoomTopIn {
  from {
    opacity: .3;
    transform: translateY(100%) rotateX(90deg);
  }
}
@-webkit-keyframes rotateRoomBottomOut {
  to {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(90deg);
  }
}
@-moz-keyframes rotateRoomBottomOut {
  to {
    opacity: .3;
    -moz-transform: translateY(100%) rotateX(90deg);
  }
}
@keyframes rotateRoomBottomOut {
  to {
    opacity: .3;
    transform: translateY(100%) rotateX(90deg);
  }
}
@-webkit-keyframes rotateRoomBottomIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
  }
}
@-moz-keyframes rotateRoomBottomIn {
  from {
    opacity: .3;
    -moz-transform: translateY(-100%) rotateX(-90deg);
  }
}
@keyframes rotateRoomBottomIn {
  from {
    opacity: .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: .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: .3;
    -moz-transform: translateX(-100%) rotateY(-90deg);
  }
}
@keyframes rotateCubeLeftOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
  100% {
    opacity: .3;
    transform: translateX(-100%) rotateY(-90deg);
  }
}
@-webkit-keyframes rotateCubeLeftIn {
  0% {
    opacity: .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: .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: .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: .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: .3;
    -moz-transform: translateX(100%) rotateY(90deg);
  }
}
@keyframes rotateCubeRightOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
  100% {
    opacity: .3;
    transform: translateX(100%) rotateY(90deg);
  }
}
@-webkit-keyframes rotateCubeRightIn {
  0% {
    opacity: .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: .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: .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: .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: .3;
    -moz-transform: translateY(-100%) rotateX(90deg);
  }
}
@keyframes rotateCubeTopOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
  100% {
    opacity: .3;
    transform: translateY(-100%) rotateX(90deg);
  }
}
@-webkit-keyframes rotateCubeTopIn {
  0% {
    opacity: .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: .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: .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: .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: .3;
    -moz-transform: translateY(100%) rotateX(-90deg);
  }
}
@keyframes rotateCubeBottomOut {
  50% {
    animation-timing-function: ease-out;
    transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
  100% {
    opacity: .3;
    transform: translateY(100%) rotateX(-90deg);
  }
}
@-webkit-keyframes rotateCubeBottomIn {
  0% {
    opacity: .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: .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: .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: .3;
    -webkit-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}
@-moz-keyframes rotateCarouselLeftOut {
  to {
    opacity: .3;
    -moz-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}
@keyframes rotateCarouselLeftOut {
  to {
    opacity: .3;
    transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}
@-webkit-keyframes rotateCarouselLeftIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@-moz-keyframes rotateCarouselLeftIn {
  from {
    opacity: .3;
    -moz-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@keyframes rotateCarouselLeftIn {
  from {
    opacity: .3;
    transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@-webkit-keyframes rotateCarouselRightOut {
  to {
    opacity: .3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@-moz-keyframes rotateCarouselRightOut {
  to {
    opacity: .3;
    -moz-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@keyframes rotateCarouselRightOut {
  to {
    opacity: .3;
    transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}
@-webkit-keyframes rotateCarouselRightIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}
@-moz-keyframes rotateCarouselRightIn {
  from {
    opacity: .3;
    -moz-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}
@keyframes rotateCarouselRightIn {
  from {
    opacity: .3;
    transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}
@-webkit-keyframes rotateCarouselTopOut {
  to {
    opacity: .3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@-moz-keyframes rotateCarouselTopOut {
  to {
    opacity: .3;
    -moz-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@keyframes rotateCarouselTopOut {
  to {
    opacity: .3;
    transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@-webkit-keyframes rotateCarouselTopIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@-moz-keyframes rotateCarouselTopIn {
  from {
    opacity: .3;
    -moz-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@keyframes rotateCarouselTopIn {
  from {
    opacity: .3;
    transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@-webkit-keyframes rotateCarouselBottomOut {
  to {
    opacity: .3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@-moz-keyframes rotateCarouselBottomOut {
  to {
    opacity: .3;
    -moz-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@keyframes rotateCarouselBottomOut {
  to {
    opacity: .3;
    transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}
@-webkit-keyframes rotateCarouselBottomIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@-moz-keyframes rotateCarouselBottomIn {
  from {
    opacity: .3;
    -moz-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}
@keyframes rotateCarouselBottomIn {
  from {
    opacity: .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: .5;
    -webkit-transform: translateZ(-500px);
  }
  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }
}
@-moz-keyframes rotateSlideOut {
  25% {
    opacity: .5;
    -moz-transform: translateZ(-500px);
  }
  75% {
    opacity: .5;
    -moz-transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: .5;
    -moz-transform: translateZ(-500px) translateX(-200%);
  }
}
@keyframes rotateSlideOut {
  25% {
    opacity: .5;
    transform: translateZ(-500px);
  }
  75% {
    opacity: .5;
    transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: .5;
    transform: translateZ(-500px) translateX(-200%);
  }
}
@-webkit-keyframes rotateSlideIn {
  0%,
  25% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) translateX(0);
  }
}
@-moz-keyframes rotateSlideIn {
  0%,
  25% {
    opacity: .5;
    -moz-transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: .5;
    -moz-transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    -moz-transform: translateZ(0) translateX(0);
  }
}
@keyframes rotateSlideIn {
  0%,
  25% {
    opacity: .5;
    transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: .5;
    transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    transform: translateZ(0) translateX(0);
  }
}
/* animation delay classes */
.animate-slide-delay100 {
  -webkit-animation-delay: .1s;
  -moz-animation-delay: .1s;
  animation-delay: .1s;
}
.animate-slide-delay180 {
  -webkit-animation-delay: .180s;
  -moz-animation-delay: .180s;
  animation-delay: .180s;
}
.animate-slide-delay200 {
  -webkit-animation-delay: .2s;
  -moz-animation-delay: .2s;
  animation-delay: .2s;
}
.animate-slide-delay300 {
  -webkit-animation-delay: .3s;
  -moz-animation-delay: .3s;
  animation-delay: .3s;
}
.animate-slide-delay400 {
  -webkit-animation-delay: .4s;
  -moz-animation-delay: .4s;
  animation-delay: .4s;
}
.animate-slide-delay500 {
  -webkit-animation-delay: .5s;
  -moz-animation-delay: .5s;
  animation-delay: .5s;
}
.animate-slide-delay700 {
  -webkit-animation-delay: .7s;
  -moz-animation-delay: .7s;
  animation-delay: .7s;
}
.animate-slide-delay1000 {
  -webkit-animation-delay: 1s;
  -moz-animation-delay: 1s;
  animation-delay: 1s;
}
.loader_back {
  width: 66px;
  height: 66px;
  padding: 10px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #000;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.loader {
  width: 50px;
  height: 50px;
  border-right: 8px solid #21282e;
  border-bottom: 8px solid #21282e;
  margin: auto;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-animation: rotate 2s infinite linear;
  -moz-animation: rotate 2s infinite linear;
  -ms-animation: rotate 2s infinite linear;
  animation: rotate 2s infinite linear;
}
.loader.orange {
  border-left: 8px solid #ff422c;
  border-top: 8px solid #ff422c;
}
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}
@-moz-keyframes rotate {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg);
  }
}
@-ms-keyframes rotate {
  from {
    -ms-transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}