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

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

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

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

/* NEW STUFF */

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

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

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

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

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

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

/* END NEW STUFF */

.sceneElement {
    -webkit-animation-duration: .6s;
    animation-duration: .6s;
    transition-timing-function: ease-in;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.is-exiting .sceneElement {
    transition-timing-function: ease-out;
}

#main[data-transition=fade] .sceneElement {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

#main[data-transition=fade] .is-exiting .sceneElement {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

#main[data-transition=moveleft] .sceneElement {
    -webkit-animation-name: moveInFromLeft;
    animation-name: moveInFromLeft;
}

#main[data-transition=moveleft].is-exiting .sceneElement {
    -webkit-animation-name: moveOutToRight;
    animation-name: moveOutToRight;
}

#main[data-transition=moveright] .sceneElement {
    -webkit-animation-name: moveInFromRight;
    animation-name: moveInFromRight;
}

#main[data-transition=moveright].is-exiting .sceneElement {
    -webkit-animation-name: moveOutToLeft;
    animation-name: moveOutToLeft;
}