*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*  Document : Animated.css custom build   Credit: https://daneden.me/animate/ */

.animated{-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:0.7s;-moz-animation-duration:0.7s;-ms-animation-duration:0.7s;-o-animation-duration:0.7s;animation-duration:0.7s;}
.animated.hinge{-webkit-animation-duration:0.7s;-moz-animation-duration:0.7s;-ms-animation-duration:0.7s;-o-animation-duration:0.7s;animation-duration:0.7s;}

@-webkit-keyframes pulse {
	0% { -webkit-transform: scale(1); }	
	50% { -webkit-transform: scale(1.1); }
	100% { -webkit-transform: scale(1); }
}

@-moz-keyframes pulse {
	0% { -moz-transform: scale(1); }	
	50% { -moz-transform: scale(1.1); }
	100% { -moz-transform: scale(1); }
}
@-o-keyframes pulse {
	0% { -o-transform: scale(1); }	
	50% { -o-transform: scale(1.1); }
	100% { -o-transform: scale(1); }
}
@keyframes pulse {
	0% { transform: scale(1); }	
	50% { transform: scale(1.1); }
	100% { transform: scale(1); }
}
.pulse {
	-webkit-animation-name: pulse;
	-moz-animation-name: pulse;
	-o-animation-name: pulse;
	animation-name: pulse;
}

@-webkit-keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}
@-moz-keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}
@-o-keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}
@keyframes fadeIn {
	0% {opacity: 0;}	
	100% {opacity: 1;}
}
.fadeIn {
	-webkit-animation-name: fadeIn;
	-moz-animation-name: fadeIn;
	-o-animation-name: fadeIn;
	animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
	0% { opacity: 0; -webkit-transform: translateY(30px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@-moz-keyframes fadeInUp {
	0% { opacity: 0; -moz-transform: translateY(30px); }
	100% { opacity: 1; -moz-transform: translateY(0); }
}
@-o-keyframes fadeInUp {
	0% { opacity: 0; -o-transform: translateY(30px); }
	100% { opacity: 1; -o-transform: translateY(0); }
}
@keyframes fadeInUp {
	0% { opacity: 0; transform: translateY(30px); }
	100% { opacity: 1; transform: translateY(0); }
}
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	-moz-animation-name: fadeInUp;
	-o-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

@-webkit-keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-30px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@-moz-keyframes fadeInDown {
	0% { opacity: 0; -moz-transform: translateY(-30px); }
	100% { opacity: 1; -moz-transform: translateY(0); }
}
@-o-keyframes fadeInDown {
	0% { opacity: 0; -o-transform: translateY(-30px); }
	100% { opacity: 1; -o-transform: translateY(0); }
}
@keyframes fadeInDown {
	0% { opacity: 0; transform: translateY(-30px); }
	100% { opacity: 1; transform: translateY(0); }
}
.fadeInDown {
	-webkit-animation-name: fadeInDown;
	-moz-animation-name: fadeInDown;
	-o-animation-name: fadeInDown;
	animation-name: fadeInDown;
}

@-webkit-keyframes fadeInLeft {
	0% { opacity: 0; -webkit-transform: translateX(-30px); }
	100% { opacity: 1; -webkit-transform: translateX(0); }
}
@-moz-keyframes fadeInLeft {
	0% { opacity: 0; -moz-transform: translateX(-30px); }
	100% { opacity: 1; -moz-transform: translateX(0); }
}
@-o-keyframes fadeInLeft {
	0% { opacity: 0; -o-transform: translateX(-30px); }
	100% { opacity: 1; -o-transform: translateX(0); }
}
@keyframes fadeInLeft {
	0% { opacity: 0; transform: translateX(-30px); }
	100% { opacity: 1; transform: translateX(0); }
}
.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	-moz-animation-name: fadeInLeft;
	-o-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInRight {
	0% { opacity: 0; -webkit-transform: translateX(20px); }
	100% { opacity: 1; -webkit-transform: translateX(0); }
}
@-moz-keyframes fadeInRight {
	0% { opacity: 0; -moz-transform: translateX(20px); }
	100% { opacity: 1; -moz-transform: translateX(0); }
}
@-o-keyframes fadeInRight {
	0% { opacity: 0; -o-transform: translateX(20px); }
	100% { opacity: 1; -o-transform: translateX(0); }
}

@keyframes fadeInRight {
	0% { opacity: 0; transform: translateX(20px); }
	100% { opacity: 1; transform: translateX(0); }
}
.fadeInRight {
	-webkit-animation-name: fadeInRight;
	-moz-animation-name: fadeInRight;
	-o-animation-name: fadeInRight;
	animation-name: fadeInRight;
}

@-webkit-keyframes flipInX {
	0% { -webkit-transform: perspective(400px) rotateX(90deg); opacity: 0; }
	40% { -webkit-transform: perspective(400px) rotateX(-10deg); }
	70% {-webkit-transform: perspective(400px) rotateX(10deg); }
	100% {-webkit-transform: perspective(400px) rotateX(0deg);opacity: 1; }
}
@-moz-keyframes flipInX {
	0% { -moz-transform: perspective(400px) rotateX(90deg); opacity: 0; }
	40% { -moz-transform: perspective(400px) rotateX(-10deg); }
	70% {-moz-transform: perspective(400px) rotateX(10deg); }
	100% {-moz-transform: perspective(400px) rotateX(0deg);opacity: 1; }
}
@-o-keyframes flipInX {
	0% { -o-transform: perspective(400px) rotateX(90deg); opacity: 0; }
	40% { -o-transform: perspective(400px) rotateX(-10deg); }
	70% {-o-transform: perspective(400px) rotateX(10deg); }
	100% {-o-transform: perspective(400px) rotateX(0deg);opacity: 1; }
}
@keyframes flipInX {
	0% { transform: perspective(400px) rotateX(90deg); opacity: 0; }
	40% { transform: perspective(400px) rotateX(-10deg); }
	70% { transform: perspective(400px) rotateX(10deg); }
	100% { transform: perspective(400px) rotateX(0deg); opacity: 1; }
}
.flipInX {
	-webkit-backface-visibility: visible !important;
	-webkit-animation-name: flipInX;
	-moz-backface-visibility: visible !important;
	-moz-animation-name: flipInX;
	-o-backface-visibility: visible !important;
	-o-animation-name: flipInX;
	backface-visibility: visible !important;
	animation-name: flipInX;
}

@-webkit-keyframes flipOutX {
	0% { -webkit-transform: perspective(400px) rotateX(0deg); opacity: 1; }
	100% { -webkit-transform: perspective(400px) rotateX(90deg); opacity: 0; }
}
@-moz-keyframes flipOutX {
	0% { -moz-transform: perspective(400px) rotateX(0deg); opacity: 1; }
	100% { -moz-transform: perspective(400px) rotateX(90deg); opacity: 0; }
}
@-o-keyframes flipOutX {
	0% { -o-transform: perspective(400px) rotateX(0deg); opacity: 1; }
	100% { -o-transform: perspective(400px) rotateX(90deg); opacity: 0; }
}
@keyframes flipOutX {
	0% { transform: perspective(400px) rotateX(0deg); opacity: 1; }
	100% { transform: perspective(400px) rotateX(90deg); opacity: 0; }
}
.flipOutX {
	-webkit-animation-name: flipOutX;
	-webkit-backface-visibility: visible !important;
	-moz-animation-name: flipOutX;
	-moz-backface-visibility: visible !important;
	-o-animation-name: flipOutX;
	-o-backface-visibility: visible !important;
	animation-name: flipOutX;
	backface-visibility: visible !important;
}

@-webkit-keyframes flipInY {
	0% { -webkit-transform: perspective(400px) rotateY(90deg); opacity: 0; }
	40% { -webkit-transform: perspective(400px) rotateY(-10deg); }
	70% { -webkit-transform: perspective(400px) rotateY(10deg); }
	100% { -webkit-transform: perspective(400px) rotateY(0deg); opacity: 1; }
}
@-moz-keyframes flipInY {
	0% { -moz-transform: perspective(400px) rotateY(90deg); opacity: 0; }
	40% { -moz-transform: perspective(400px) rotateY(-10deg); }
	70% { -moz-transform: perspective(400px) rotateY(10deg); }
	100% { -moz-transform: perspective(400px) rotateY(0deg); opacity: 1; }
}
@-o-keyframes flipInY {
	0% { -o-transform: perspective(400px) rotateY(90deg); opacity: 0; }
	40% { -o-transform: perspective(400px) rotateY(-10deg); }
	70% { -o-transform: perspective(400px) rotateY(10deg); }
	100% { -o-transform: perspective(400px) rotateY(0deg); opacity: 1; }
}

@keyframes flipInY {
	0% { transform: perspective(400px) rotateY(90deg); opacity: 0; }
	40% { transform: perspective(400px) rotateY(-10deg); }
	70% { transform: perspective(400px) rotateY(10deg); }
	100% { transform: perspective(400px) rotateY(0deg); opacity: 1; }
}
.flipInY {
	-webkit-backface-visibility: visible !important;
	-webkit-animation-name: flipInY;
	-moz-backface-visibility: visible !important;
	-moz-animation-name: flipInY;
	-o-backface-visibility: visible !important;
	-o-animation-name: flipInY;
	backface-visibility: visible !important;
	animation-name: flipInY;
}

@-webkit-keyframes bounceIn {
	0% { opacity: 0; -webkit-transform: scale(.3); }
	50% { opacity: 1; -webkit-transform: scale(1.05); }
	70% { -webkit-transform: scale(.9); }
	100% { -webkit-transform: scale(1); }
}
@-moz-keyframes bounceIn {
	0% { opacity: 0; -moz-transform: scale(.3); }
	50% { opacity: 1; -moz-transform: scale(1.05); }
	70% { -moz-transform: scale(.9); }
	100% { -moz-transform: scale(1); }
}
@-o-keyframes bounceIn {
	0% { opacity: 0; -o-transform: scale(.3); }
	50% { opacity: 1; -o-transform: scale(1.05); }
	70% { -o-transform: scale(.9); }
	100% { -o-transform: scale(1); }
}
@keyframes bounceIn {
	0% { opacity: 0; transform: scale(.3); }
	50% { opacity: 1; transform: scale(1.05); }
	70% { transform: scale(.9); }
	100% { transform: scale(1); }
}
.bounceIn {
	-webkit-animation-name: bounceIn;
	-moz-animation-name: bounceIn;
	-o-animation-name: bounceIn;
	animation-name: bounceIn;
}

@-webkit-keyframes rotateIn {
	0% { -webkit-transform-origin: center center; -webkit-transform: rotate(-200deg); opacity: 0; }
	100% { -webkit-transform-origin: center center; -webkit-transform: rotate(0); opacity: 1; }
}
@-moz-keyframes rotateIn {
	0% { -moz-transform-origin: center center; -moz-transform: rotate(-200deg); opacity: 0; }
	100% { -moz-transform-origin: center center; -moz-transform: rotate(0); opacity: 1; }
}
@-o-keyframes rotateIn {
	0% { -o-transform-origin: center center; -o-transform: rotate(-200deg); opacity: 0; }
	100% { -o-transform-origin: center center; -o-transform: rotate(0); opacity: 1; }
}
@keyframes rotateIn {
	0% { transform-origin: center center; transform: rotate(-200deg); opacity: 0; }
	100% { transform-origin: center center; transform: rotate(0); opacity: 1; }
}
.rotateIn {
	-webkit-animation-name: rotateIn;
	-moz-animation-name: rotateIn;
	-o-animation-name: rotateIn;
	animation-name: rotateIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
	0% { opacity: 0; -webkit-transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); }
}
@-moz-keyframes rollIn {
	0% { opacity: 0; -moz-transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; -moz-transform: translateX(0px) rotate(0deg); }
}
@-o-keyframes rollIn {
	0% { opacity: 0; -o-transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; -o-transform: translateX(0px) rotate(0deg); }
}
@keyframes rollIn {
	0% { opacity: 0; transform: translateX(-100%) rotate(-120deg); }
	100% { opacity: 1; transform: translateX(0px) rotate(0deg); }
}
.rollIn {
	-webkit-animation-name: rollIn;
	-moz-animation-name: rollIn;
	-o-animation-name: rollIn;
	animation-name: rollIn;
}

@-webkit-keyframes rollOut {
  0% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); }
  100% { opacity: 0; -webkit-transform: translateX(100%) rotate(120deg); transform: translateX(100%) rotate(120deg);
  }
}
@keyframes rollOut {
  0% { opacity: 1; -webkit-transform: translateX(0px) rotate(0deg); -ms-transform: translateX(0px) rotate(0deg); transform: translateX(0px) rotate(0deg); }
  100% { opacity: 0; -webkit-transform: translateX(100%) rotate(120deg); -ms-transform: translateX(100%) rotate(120deg); transform: translateX(100%) rotate(120deg); }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}