
/*custom-animate.css*/
@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.6.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
.estp-animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

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

@-webkit-keyframes estp-bounce {
	from, 20%, 53%, 80%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	40%, 43% {
		-webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		-webkit-transform: translate3d(0, -30px, 0);
		transform: translate3d(0, -30px, 0);
	}
	
	70% {
		-webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		-webkit-transform: translate3d(0, -15px, 0);
		transform: translate3d(0, -15px, 0);
	}
	
	90% {
		-webkit-transform: translate3d(0, -4px, 0);
		transform: translate3d(0, -4px, 0);
	}
}

@keyframes estp-bounce {
	from, 20%, 53%, 80%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	40%, 43% {
		-webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		-webkit-transform: translate3d(0, -30px, 0);
		transform: translate3d(0, -30px, 0);
	}
	
	70% {
		-webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		animation-timing-function: cubic-bezier(.755, .05, .855, .06);
		-webkit-transform: translate3d(0, -15px, 0);
		transform: translate3d(0, -15px, 0);
	}
	
	90% {
		-webkit-transform: translate3d(0, -4px, 0);
		transform: translate3d(0, -4px, 0);
	}
}

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

@-webkit-keyframes estp-flash {
	from, 50%, to {
		opacity: 1;
	}
	
	25%, 75% {
		opacity: 0;
	}
}

@keyframes estp-flash {
	from, 50%, to {
		opacity: 1;
	}
	
	25%, 75% {
		opacity: 0;
	}
}

.estp-flash {
	-webkit-animation-name: estp-flash;
	animation-name: estp-flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes estp-pulse {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	
	50% {
		-webkit-transform: scale3d(1.05, 1.05, 1.05);
		transform: scale3d(1.05, 1.05, 1.05);
	}
	
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes estp-pulse {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	
	50% {
		-webkit-transform: scale3d(1.05, 1.05, 1.05);
		transform: scale3d(1.05, 1.05, 1.05);
	}
	
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

.estp-pulse {
	-webkit-animation-name: estp-pulse;
	animation-name: estp-pulse;
}

@-webkit-keyframes estp-rubberBand {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	
	30% {
		-webkit-transform: scale3d(1.25, .75, 1);
		transform: scale3d(1.25, .75, 1);
	}
	
	40% {
		-webkit-transform: scale3d(.75, 1.25, 1);
		transform: scale3d(.75, 1.25, 1);
	}
	
	50% {
		-webkit-transform: scale3d(1.15, .85, 1);
		transform: scale3d(1.15, .85, 1);
	}
	
	65% {
		-webkit-transform: scale3d(.95, 1.05, 1);
		transform: scale3d(.95, 1.05, 1);
	}
	
	75% {
		-webkit-transform: scale3d(1.05, .95, 1);
		transform: scale3d(1.05, .95, 1);
	}
	
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes estp-rubberBand {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	
	30% {
		-webkit-transform: scale3d(1.25, .75, 1);
		transform: scale3d(1.25, .75, 1);
	}
	
	40% {
		-webkit-transform: scale3d(.75, 1.25, 1);
		transform: scale3d(.75, 1.25, 1);
	}
	
	50% {
		-webkit-transform: scale3d(1.15, .85, 1);
		transform: scale3d(1.15, .85, 1);
	}
	
	65% {
		-webkit-transform: scale3d(.95, 1.05, 1);
		transform: scale3d(.95, 1.05, 1);
	}
	
	75% {
		-webkit-transform: scale3d(1.05, .95, 1);
		transform: scale3d(1.05, .95, 1);
	}
	
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

.estp-rubberBand {
	-webkit-animation-name: estp-rubberBand;
	animation-name: estp-rubberBand;
}

@-webkit-keyframes estp-shake {
	from, to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	10%, 30%, 50%, 70%, 90% {
		-webkit-transform: translate3d(-10px, 0, 0);
		transform: translate3d(-10px, 0, 0);
	}
	
	20%, 40%, 60%, 80% {
		-webkit-transform: translate3d(10px, 0, 0);
		transform: translate3d(10px, 0, 0);
	}
}

@keyframes estp-shake {
	from, to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	10%, 30%, 50%, 70%, 90% {
		-webkit-transform: translate3d(-10px, 0, 0);
		transform: translate3d(-10px, 0, 0);
	}
	
	20%, 40%, 60%, 80% {
		-webkit-transform: translate3d(10px, 0, 0);
		transform: translate3d(10px, 0, 0);
	}
}

.estp-shake {
	-webkit-animation-name: estp-shake;
	animation-name: estp-shake;
}

@-webkit-keyframes estp-headShake {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	
	6.5% {
		-webkit-transform: translateX(-6px) rotateY(-9deg);
		transform: translateX(-6px) rotateY(-9deg);
	}
	
	18.5% {
		-webkit-transform: translateX(5px) rotateY(7deg);
		transform: translateX(5px) rotateY(7deg);
	}
	
	31.5% {
		-webkit-transform: translateX(-3px) rotateY(-5deg);
		transform: translateX(-3px) rotateY(-5deg);
	}
	
	43.5% {
		-webkit-transform: translateX(2px) rotateY(3deg);
		transform: translateX(2px) rotateY(3deg);
	}
	
	50% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes estp-headShake {
	0% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	
	6.5% {
		-webkit-transform: translateX(-6px) rotateY(-9deg);
		transform: translateX(-6px) rotateY(-9deg);
	}
	
	18.5% {
		-webkit-transform: translateX(5px) rotateY(7deg);
		transform: translateX(5px) rotateY(7deg);
	}
	
	31.5% {
		-webkit-transform: translateX(-3px) rotateY(-5deg);
		transform: translateX(-3px) rotateY(-5deg);
	}
	
	43.5% {
		-webkit-transform: translateX(2px) rotateY(3deg);
		transform: translateX(2px) rotateY(3deg);
	}
	
	50% {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

.estp-headShake {
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-animation-name: estp-headShake;
	animation-name: estp-headShake;
}

@-webkit-keyframes estp-swing {
	20% {
		-webkit-transform: rotate3d(0, 0, 1, 15deg);
		transform: rotate3d(0, 0, 1, 15deg);
	}
	
	40% {
		-webkit-transform: rotate3d(0, 0, 1, -10deg);
		transform: rotate3d(0, 0, 1, -10deg);
	}
	
	60% {
		-webkit-transform: rotate3d(0, 0, 1, 5deg);
		transform: rotate3d(0, 0, 1, 5deg);
	}
	
	80% {
		-webkit-transform: rotate3d(0, 0, 1, -5deg);
		transform: rotate3d(0, 0, 1, -5deg);
	}
	
	to {
		-webkit-transform: rotate3d(0, 0, 1, 0deg);
		transform: rotate3d(0, 0, 1, 0deg);
	}
}

@keyframes estp-swing {
	20% {
		-webkit-transform: rotate3d(0, 0, 1, 15deg);
		transform: rotate3d(0, 0, 1, 15deg);
	}
	
	40% {
		-webkit-transform: rotate3d(0, 0, 1, -10deg);
		transform: rotate3d(0, 0, 1, -10deg);
	}
	
	60% {
		-webkit-transform: rotate3d(0, 0, 1, 5deg);
		transform: rotate3d(0, 0, 1, 5deg);
	}
	
	80% {
		-webkit-transform: rotate3d(0, 0, 1, -5deg);
		transform: rotate3d(0, 0, 1, -5deg);
	}
	
	to {
		-webkit-transform: rotate3d(0, 0, 1, 0deg);
		transform: rotate3d(0, 0, 1, 0deg);
	}
}

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

@-webkit-keyframes estp-tada {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	
	10%, 20% {
		-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
	}
	
	30%, 50%, 70%, 90% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
	}
	
	40%, 60%, 80% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
	}
	
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes estp-tada {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	
	10%, 20% {
		-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
	}
	
	30%, 50%, 70%, 90% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
	}
	
	40%, 60%, 80% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
	}
	
	to {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

.estp-tada {
	-webkit-animation-name: estp-tada;
	animation-name: estp-tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes estp-wobble {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	15% {
		-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
		transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
	}
	
	30% {
		-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
		transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
	}
	
	45% {
		-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
		transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
	}
	
	60% {
		-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
		transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
	}
	
	75% {
		-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
		transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-wobble {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	15% {
		-webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
		transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
	}
	
	30% {
		-webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
		transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
	}
	
	45% {
		-webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
		transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
	}
	
	60% {
		-webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
		transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
	}
	
	75% {
		-webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
		transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-wobble {
	-webkit-animation-name: estp-wobble;
	animation-name: estp-wobble;
}

@-webkit-keyframes estp-jello {
	from, 11.1%, to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	22.2% {
		-webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
		transform: skewX(-12.5deg) skewY(-12.5deg);
	}
	
	33.3% {
		-webkit-transform: skewX(6.25deg) skewY(6.25deg);
		transform: skewX(6.25deg) skewY(6.25deg);
	}
	
	44.4% {
		-webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
		transform: skewX(-3.125deg) skewY(-3.125deg);
	}
	
	55.5% {
		-webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
		transform: skewX(1.5625deg) skewY(1.5625deg);
	}
	
	66.6% {
		-webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
		transform: skewX(-.78125deg) skewY(-.78125deg);
	}
	
	77.7% {
		-webkit-transform: skewX(.390625deg) skewY(.390625deg);
		transform: skewX(.390625deg) skewY(.390625deg);
	}
	
	88.8% {
		-webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
		transform: skewX(-.1953125deg) skewY(-.1953125deg);
	}
}

@keyframes estp-jello {
	from, 11.1%, to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	22.2% {
		-webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
		transform: skewX(-12.5deg) skewY(-12.5deg);
	}
	
	33.3% {
		-webkit-transform: skewX(6.25deg) skewY(6.25deg);
		transform: skewX(6.25deg) skewY(6.25deg);
	}
	
	44.4% {
		-webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
		transform: skewX(-3.125deg) skewY(-3.125deg);
	}
	
	55.5% {
		-webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
		transform: skewX(1.5625deg) skewY(1.5625deg);
	}
	
	66.6% {
		-webkit-transform: skewX(-.78125deg) skewY(-.78125deg);
		transform: skewX(-.78125deg) skewY(-.78125deg);
	}
	
	77.7% {
		-webkit-transform: skewX(.390625deg) skewY(.390625deg);
		transform: skewX(.390625deg) skewY(.390625deg);
	}
	
	88.8% {
		-webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);
		transform: skewX(-.1953125deg) skewY(-.1953125deg);
	}
}

.estp-jello {
	-webkit-animation-name: estp-jello;
	animation-name: estp-jello;
	-webkit-transform-origin: center;
	transform-origin: center;
}

@-webkit-keyframes estp-bounceIn {
	from, 20%, 40%, 60%, 80%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	0% {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	
	20% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	
	40% {
		-webkit-transform: scale3d(.9, .9, .9);
		transform: scale3d(.9, .9, .9);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(1.03, 1.03, 1.03);
		transform: scale3d(1.03, 1.03, 1.03);
	}
	
	80% {
		-webkit-transform: scale3d(.97, .97, .97);
		transform: scale3d(.97, .97, .97);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes estp-bounceIn {
	from, 20%, 40%, 60%, 80%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	0% {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	
	20% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	
	40% {
		-webkit-transform: scale3d(.9, .9, .9);
		transform: scale3d(.9, .9, .9);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(1.03, 1.03, 1.03);
		transform: scale3d(1.03, 1.03, 1.03);
	}
	
	80% {
		-webkit-transform: scale3d(.97, .97, .97);
		transform: scale3d(.97, .97, .97);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

.estp-bounceIn {
	-webkit-animation-duration: .75s;
	animation-duration: .75s;
	-webkit-animation-name: estp-bounceIn;
	animation-name: estp-bounceIn;
}

@-webkit-keyframes estp-bounceInDown {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -3000px, 0);
		transform: translate3d(0, -3000px, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(0, 25px, 0);
		transform: translate3d(0, 25px, 0);
	}
	
	75% {
		-webkit-transform: translate3d(0, -10px, 0);
		transform: translate3d(0, -10px, 0);
	}
	
	90% {
		-webkit-transform: translate3d(0, 5px, 0);
		transform: translate3d(0, 5px, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-bounceInDown {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -3000px, 0);
		transform: translate3d(0, -3000px, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(0, 25px, 0);
		transform: translate3d(0, 25px, 0);
	}
	
	75% {
		-webkit-transform: translate3d(0, -10px, 0);
		transform: translate3d(0, -10px, 0);
	}
	
	90% {
		-webkit-transform: translate3d(0, 5px, 0);
		transform: translate3d(0, 5px, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-bounceInDown {
	-webkit-animation-name: estp-bounceInDown;
	animation-name: estp-bounceInDown;
}

@-webkit-keyframes estp-bounceInLeft {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	0% {
		opacity: 0;
		-webkit-transform: translate3d(-3000px, 0, 0);
		transform: translate3d(-3000px, 0, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(25px, 0, 0);
		transform: translate3d(25px, 0, 0);
	}
	
	75% {
		-webkit-transform: translate3d(-10px, 0, 0);
		transform: translate3d(-10px, 0, 0);
	}
	
	90% {
		-webkit-transform: translate3d(5px, 0, 0);
		transform: translate3d(5px, 0, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-bounceInLeft {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	0% {
		opacity: 0;
		-webkit-transform: translate3d(-3000px, 0, 0);
		transform: translate3d(-3000px, 0, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(25px, 0, 0);
		transform: translate3d(25px, 0, 0);
	}
	
	75% {
		-webkit-transform: translate3d(-10px, 0, 0);
		transform: translate3d(-10px, 0, 0);
	}
	
	90% {
		-webkit-transform: translate3d(5px, 0, 0);
		transform: translate3d(5px, 0, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-bounceInLeft {
	-webkit-animation-name: estp-bounceInLeft;
	animation-name: estp-bounceInLeft;
}

@-webkit-keyframes estp-bounceInRight {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	from {
		opacity: 0;
		-webkit-transform: translate3d(3000px, 0, 0);
		transform: translate3d(3000px, 0, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(-25px, 0, 0);
		transform: translate3d(-25px, 0, 0);
	}
	
	75% {
		-webkit-transform: translate3d(10px, 0, 0);
		transform: translate3d(10px, 0, 0);
	}
	
	90% {
		-webkit-transform: translate3d(-5px, 0, 0);
		transform: translate3d(-5px, 0, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-bounceInRight {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	from {
		opacity: 0;
		-webkit-transform: translate3d(3000px, 0, 0);
		transform: translate3d(3000px, 0, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(-25px, 0, 0);
		transform: translate3d(-25px, 0, 0);
	}
	
	75% {
		-webkit-transform: translate3d(10px, 0, 0);
		transform: translate3d(10px, 0, 0);
	}
	
	90% {
		-webkit-transform: translate3d(-5px, 0, 0);
		transform: translate3d(-5px, 0, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-bounceInRight {
	-webkit-animation-name: estp-bounceInRight;
	animation-name: estp-bounceInRight;
}

@-webkit-keyframes estp-bounceInUp {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 3000px, 0);
		transform: translate3d(0, 3000px, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}
	
	75% {
		-webkit-transform: translate3d(0, 10px, 0);
		transform: translate3d(0, 10px, 0);
	}
	
	90% {
		-webkit-transform: translate3d(0, -5px, 0);
		transform: translate3d(0, -5px, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-bounceInUp {
	from, 60%, 75%, 90%, to {
		-webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);
		animation-timing-function: cubic-bezier(.215, .61, .355, 1);
	}
	
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 3000px, 0);
		transform: translate3d(0, 3000px, 0);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: translate3d(0, -20px, 0);
		transform: translate3d(0, -20px, 0);
	}
	
	75% {
		-webkit-transform: translate3d(0, 10px, 0);
		transform: translate3d(0, 10px, 0);
	}
	
	90% {
		-webkit-transform: translate3d(0, -5px, 0);
		transform: translate3d(0, -5px, 0);
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-bounceInUp {
	-webkit-animation-name: estp-bounceInUp;
	animation-name: estp-bounceInUp;
}

@-webkit-keyframes estp-bounceOut {
	20% {
		-webkit-transform: scale3d(.9, .9, .9);
		transform: scale3d(.9, .9, .9);
	}
	
	50%, 55% {
		opacity: 1;
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
}

@keyframes estp-bounceOut {
	20% {
		-webkit-transform: scale3d(.9, .9, .9);
		transform: scale3d(.9, .9, .9);
	}
	
	50%, 55% {
		opacity: 1;
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
}

.estp-bounceOut {
	-webkit-animation-duration: .75s;
	animation-duration: .75s;
	-webkit-animation-name: estp-bounceOut;
	animation-name: estp-bounceOut;
}

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

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

.estp-bounceOutDown {
	-webkit-animation-name: estp-bounceOutDown;
	animation-name: estp-bounceOutDown;
}

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

@keyframes estp-bounceOutLeft {
	20% {
		opacity: 1;
		-webkit-transform: translate3d(20px, 0, 0);
		transform: translate3d(20px, 0, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(-86px, 0, 0);
		transform: translate3d(-86px, 0, 0);
	}
}

.estp-bounceOutLeft {
	-webkit-animation-name: estp-bounceOutLeft;
	animation-name: estp-bounceOutLeft;
}

@-webkit-keyframes estp-bounceOutRight {
	20% {
		opacity: 1;
		-webkit-transform: translate3d(-20px, 0, 0);
		transform: translate3d(-20px, 0, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(86px, 0, 0);
		transform: translate3d(86px, 0, 0);
	}
}

@keyframes estp-bounceOutRight {
	20% {
		opacity: 1;
		-webkit-transform: translate3d(-20px, 0, 0);
		transform: translate3d(-20px, 0, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(86px, 0, 0);
		transform: translate3d(86px, 0, 0);
	}
}

.estp-bounceOutRight {
	-webkit-animation-name: estp-bounceOutRight;
	animation-name: estp-bounceOutRight;
}

@-webkit-keyframes estp-bounceOutUp {
	20% {
		-webkit-transform: translate3d(0, -340px, 0);
		transform: translate3d(0, -340px, 0);
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0);
	}
}

@keyframes estp-bounceOutUp {
	20% {
		/*   -webkit-transform: translate3d(0, -340px, 0);
   transform: translate3d(0, -340px, 0);*/
		-webkit-transform: translate3d(0, -110%, 0);
		transform: translate3d(0, -110%, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}
}

.estp-bounceOutUp {
	-webkit-animation-name: estp-bounceOutUp;
	animation-name: estp-bounceOutUp;
}

@-webkit-keyframes estp-fadeIn {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes estp-fadeIn {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeInDownBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-fadeInDownBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeInLeftBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-2000px, 0, 0);
		transform: translate3d(-2000px, 0, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-fadeInLeftBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-2000px, 0, 0);
		transform: translate3d(-2000px, 0, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeInRightBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(2000px, 0, 0);
		transform: translate3d(2000px, 0, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-fadeInRightBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(2000px, 0, 0);
		transform: translate3d(2000px, 0, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeInUpBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 2000px, 0);
		transform: translate3d(0, 2000px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-fadeInUpBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 2000px, 0);
		transform: translate3d(0, 2000px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

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

@-webkit-keyframes estp-fadeOut {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
	}
}

@keyframes estp-fadeOut {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeOutDownBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, 2000px, 0);
		transform: translate3d(0, 2000px, 0);
	}
}

@keyframes estp-fadeOutDownBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, 2000px, 0);
		transform: translate3d(0, 2000px, 0);
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeOutLeftBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(-2000px, 0, 0);
		transform: translate3d(-2000px, 0, 0);
	}
}

@keyframes estp-fadeOutLeftBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(-2000px, 0, 0);
		transform: translate3d(-2000px, 0, 0);
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeOutRightBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(2000px, 0, 0);
		transform: translate3d(2000px, 0, 0);
	}
}

@keyframes estp-fadeOutRightBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(2000px, 0, 0);
		transform: translate3d(2000px, 0, 0);
	}
}

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

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

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

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

@-webkit-keyframes estp-fadeOutUpBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0);
	}
}

@keyframes estp-fadeOutUpBig {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0);
	}
}

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

@-webkit-keyframes estp-flip {
	from {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
		transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}
	
	40% {
		-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
		transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}
	
	50% {
		-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
		transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	80% {
		-webkit-transform: perspective(400px) scale3d(.95, .95, .95);
		transform: perspective(400px) scale3d(.95, .95, .95);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	to {
		-webkit-transform: perspective(400px);
		transform: perspective(400px);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
}

@keyframes estp-flip {
	from {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
		transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}
	
	40% {
		-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
		transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
	}
	
	50% {
		-webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
		transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	80% {
		-webkit-transform: perspective(400px) scale3d(.95, .95, .95);
		transform: perspective(400px) scale3d(.95, .95, .95);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	to {
		-webkit-transform: perspective(400px);
		transform: perspective(400px);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
}

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

@-webkit-keyframes estp-flipInX {
	from {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
		transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
		opacity: 0;
	}
	
	40% {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
		transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	60% {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
		transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
		opacity: 1;
	}
	
	80% {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
		transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
	}
	
	to {
		-webkit-transform: perspective(400px);
		transform: perspective(400px);
	}
}

@keyframes estp-flipInX {
	from {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
		transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
		opacity: 0;
	}
	
	40% {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
		transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	60% {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
		transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
		opacity: 1;
	}
	
	80% {
		-webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
		transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
	}
	
	to {
		-webkit-transform: perspective(400px);
		transform: perspective(400px);
	}
}

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

@-webkit-keyframes estp-flipInY {
	from {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
		transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
		opacity: 0;
	}
	
	40% {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
		transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	60% {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
		transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
		opacity: 1;
	}
	
	80% {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
		transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
	}
	
	to {
		-webkit-transform: perspective(400px);
		transform: perspective(400px);
	}
}

@keyframes estp-flipInY {
	from {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
		transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
		opacity: 0;
	}
	
	40% {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
		transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
		-webkit-animation-timing-function: ease-in;
		animation-timing-function: ease-in;
	}
	
	60% {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
		transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
		opacity: 1;
	}
	
	80% {
		-webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
		transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
	}
	
	to {
		-webkit-transform: perspective(400px);
		transform: perspective(400px);
	}
}

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

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

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

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

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

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

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

@-webkit-keyframes estp-lightSpeedIn {
	from {
		-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
		transform: translate3d(100%, 0, 0) skewX(-30deg);
		opacity: 0;
	}
	
	60% {
		-webkit-transform: skewX(20deg);
		transform: skewX(20deg);
		opacity: 1;
	}
	
	80% {
		-webkit-transform: skewX(-5deg);
		transform: skewX(-5deg);
		opacity: 1;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes estp-lightSpeedIn {
	from {
		-webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
		transform: translate3d(100%, 0, 0) skewX(-30deg);
		opacity: 0;
	}
	
	60% {
		-webkit-transform: skewX(20deg);
		transform: skewX(20deg);
		opacity: 1;
	}
	
	80% {
		-webkit-transform: skewX(-5deg);
		transform: skewX(-5deg);
		opacity: 1;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

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

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

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

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

@-webkit-keyframes estp-rotateIn {
	from {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: rotate3d(0, 0, 1, -200deg);
		transform: rotate3d(0, 0, 1, -200deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes estp-rotateIn {
	from {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: rotate3d(0, 0, 1, -200deg);
		transform: rotate3d(0, 0, 1, -200deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: center;
		transform-origin: center;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

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

@-webkit-keyframes estp-rotateInDownLeft {
	from {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: rotate3d(0, 0, 1, -45deg);
		transform: rotate3d(0, 0, 1, -45deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes estp-rotateInDownLeft {
	from {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: rotate3d(0, 0, 1, -45deg);
		transform: rotate3d(0, 0, 1, -45deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

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

@-webkit-keyframes estp-rotateInDownRight {
	from {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: rotate3d(0, 0, 1, 45deg);
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes estp-rotateInDownRight {
	from {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: rotate3d(0, 0, 1, 45deg);
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

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

@-webkit-keyframes estp-rotateInUpLeft {
	from {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: rotate3d(0, 0, 1, 45deg);
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes estp-rotateInUpLeft {
	from {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: rotate3d(0, 0, 1, 45deg);
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

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

@-webkit-keyframes estp-rotateInUpRight {
	from {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: rotate3d(0, 0, 1, -90deg);
		transform: rotate3d(0, 0, 1, -90deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

@keyframes estp-rotateInUpRight {
	from {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: rotate3d(0, 0, 1, -90deg);
		transform: rotate3d(0, 0, 1, -90deg);
		opacity: 0;
	}
	
	to {
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}

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

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

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

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

@-webkit-keyframes estp-rotateOutDownLeft {
	from {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		opacity: 1;
	}
	
	to {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: rotate3d(0, 0, 1, 45deg);
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
}

@keyframes estp-rotateOutDownLeft {
	from {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		opacity: 1;
	}
	
	to {
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
		-webkit-transform: rotate3d(0, 0, 1, 45deg);
		transform: rotate3d(0, 0, 1, 45deg);
		opacity: 0;
	}
}

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes estp-hinge {
	0% {
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
	}
	
	20%, 60% {
		-webkit-transform: rotate3d(0, 0, 1, 80deg);
		transform: rotate3d(0, 0, 1, 80deg);
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
	}
	
	40%, 80% {
		-webkit-transform: rotate3d(0, 0, 1, 60deg);
		transform: rotate3d(0, 0, 1, 60deg);
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
		opacity: 1;
	}
	
	to {
		-webkit-transform: translate3d(0, 700px, 0);
		transform: translate3d(0, 700px, 0);
		opacity: 0;
	}
}

@keyframes estp-hinge {
	0% {
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
	}
	
	20%, 60% {
		-webkit-transform: rotate3d(0, 0, 1, 80deg);
		transform: rotate3d(0, 0, 1, 80deg);
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
	}
	
	40%, 80% {
		-webkit-transform: rotate3d(0, 0, 1, 60deg);
		transform: rotate3d(0, 0, 1, 60deg);
		-webkit-transform-origin: top left;
		transform-origin: top left;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
		opacity: 1;
	}
	
	to {
		-webkit-transform: translate3d(0, 700px, 0);
		transform: translate3d(0, 700px, 0);
		opacity: 0;
	}
}

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

@-webkit-keyframes estp-jackInTheBox {
	from {
		opacity: 0;
		-webkit-transform: scale(.1) rotate(30deg);
		transform: scale(.1) rotate(30deg);
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
	}
	
	50% {
		-webkit-transform: rotate(-10deg);
		transform: rotate(-10deg);
	}
	
	70% {
		-webkit-transform: rotate(3deg);
		transform: rotate(3deg);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes estp-jackInTheBox {
	from {
		opacity: 0;
		-webkit-transform: scale(.1) rotate(30deg);
		transform: scale(.1) rotate(30deg);
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
	}
	
	50% {
		-webkit-transform: rotate(-10deg);
		transform: rotate(-10deg);
	}
	
	70% {
		-webkit-transform: rotate(3deg);
		transform: rotate(3deg);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

.estp-jackInTheBox {
	-webkit-animation-name: estp-jackInTheBox;
	animation-name: estp-jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes estp-rollIn {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
		transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
	}
	
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

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

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

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes estp-rollOut {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
		transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
	}
}

@keyframes estp-rollOut {
	from {
		opacity: 1;
	}
	
	to {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
		transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
	}
}

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

@-webkit-keyframes estp-zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	
	50% {
		opacity: 1;
	}
}

@keyframes estp-zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	
	50% {
		opacity: 1;
	}
}

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

@-webkit-keyframes estp-zoomInDown {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

@keyframes estp-zoomInDown {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

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

@-webkit-keyframes estp-zoomInLeft {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
		transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

@keyframes estp-zoomInLeft {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
		transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

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

@-webkit-keyframes estp-zoomInRight {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
		transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

@keyframes estp-zoomInRight {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
		transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

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

@-webkit-keyframes estp-zoomInUp {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

@keyframes estp-zoomInUp {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	60% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

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

@-webkit-keyframes estp-zoomOut {
	from {
		opacity: 1;
	}
	
	50% {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	
	to {
		opacity: 0;
	}
}

@keyframes estp-zoomOut {
	from {
		opacity: 1;
	}
	
	50% {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	
	to {
		opacity: 0;
	}
}

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

@-webkit-keyframes estp-zoomOutDown {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

@keyframes estp-zoomOutDown {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

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

@-webkit-keyframes estp-zoomOutLeft {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
		transform: scale(.1) translate3d(-2000px, 0, 0);
		-webkit-transform-origin: left center;
		transform-origin: left center;
	}
}

@keyframes estp-zoomOutLeft {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
		transform: scale(.1) translate3d(-2000px, 0, 0);
		-webkit-transform-origin: left center;
		transform-origin: left center;
	}
}

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

@-webkit-keyframes estp-zoomOutRight {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale(.1) translate3d(2000px, 0, 0);
		transform: scale(.1) translate3d(2000px, 0, 0);
		-webkit-transform-origin: right center;
		transform-origin: right center;
	}
}

@keyframes estp-zoomOutRight {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
		transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale(.1) translate3d(2000px, 0, 0);
		transform: scale(.1) translate3d(2000px, 0, 0);
		-webkit-transform-origin: right center;
		transform-origin: right center;
	}
}

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

@-webkit-keyframes estp-zoomOutUp {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

@keyframes estp-zoomOutUp {
	40% {
		opacity: 1;
		-webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
		-webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);
		animation-timing-function: cubic-bezier(.55, .055, .675, .19);
	}
	
	to {
		opacity: 0;
		-webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
		transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);
		animation-timing-function: cubic-bezier(.175, .885, .32, 1);
	}
}

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

@-webkit-keyframes estp-slideInDown {
	from {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-slideInDown {
	from {
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-slideInDown {
	-webkit-animation-name: estp-slideInDown;
	animation-name: estp-slideInDown;
}

@-webkit-keyframes estp-slideInLeft {
	from {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-slideInLeft {
	from {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-slideInLeft {
	-webkit-animation-name: estp-slideInLeft;
	animation-name: estp-slideInLeft;
}

@-webkit-keyframes estp-slideInRight {
	from {
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-slideInRight {
	from {
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-slideInRight {
	-webkit-animation-name: estp-slideInRight;
	animation-name: estp-slideInRight;
}

@-webkit-keyframes estp-slideInUp {
	from {
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes estp-slideInUp {
	from {
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
		visibility: visible;
	}
	
	to {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.estp-slideInUp {
	-webkit-animation-name: estp-slideInUp;
	animation-name: estp-slideInUp;
}

@-webkit-keyframes estp-slideOutDown {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}
}

@keyframes estp-slideOutDown {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}
}

.estp-slideOutDown {
	-webkit-animation-name: estp-slideOutDown;
	animation-name: estp-slideOutDown;
}

@-webkit-keyframes estp-slideOutLeft {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
}

@keyframes estp-slideOutLeft {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}
}

.estp-slideOutLeft {
	-webkit-animation-name: estp-slideOutLeft;
	animation-name: estp-slideOutLeft;
}

@-webkit-keyframes estp-slideOutRight {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
}

@keyframes estp-slideOutRight {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
	}
}

.estp-slideOutRight {
	-webkit-animation-name: estp-slideOutRight;
	animation-name: estp-slideOutRight;
}

@-webkit-keyframes estp-slideOutUp {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}
}

@keyframes estp-slideOutUp {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	to {
		visibility: hidden;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
	}
}

.estp-slideOutUp {
	-webkit-animation-name: estp-slideOutUp;
	animation-name: estp-slideOutUp;
}

@media screen and (max-width: 800px) {
	@-webkit-keyframes estp-bounceOutRight {
		20% {
			opacity: 1;
			-webkit-transform: translate3d(-20px, 0, 0);
			transform: translate3d(-20px, 0, 0);
		}
		
		to {
			opacity: 1;
			-webkit-transform: translate3d(60px, 0, 0);
			transform: translate3d(60px, 0, 0);
		}
	}
	
	@keyframes estp-bounceOutRight {
		20% {
			opacity: 1;
			-webkit-transform: translate3d(-20px, 0, 0);
			transform: translate3d(-20px, 0, 0);
		}
		
		to {
			opacity: 1;
			-webkit-transform: translate3d(60px, 0, 0);
			transform: translate3d(60px, 0, 0);
		}
	}
	
	.estp-bounceOutRight {
		-webkit-animation-name: estp-bounceOutRight;
		animation-name: estp-bounceOutRight;
	}
	
	@-webkit-keyframes estp-bounceOutLeft {
		20% {
			opacity: 1;
			-webkit-transform: translate3d(20px, 0, 0);
			transform: translate3d(20px, 0, 0);
		}
		
		to {
			opacity: 0;
			-webkit-transform: translate3d(-2000px, 0, 0);
			transform: translate3d(-2000px, 0, 0);
		}
	}
	
	@keyframes estp-bounceOutLeft {
		20% {
			opacity: 1;
			-webkit-transform: translate3d(20px, 0, 0);
			transform: translate3d(20px, 0, 0);
		}
		
		to {
			opacity: 1;
			-webkit-transform: translate3d(-60px, 0, 0);
			transform: translate3d(-60px, 0, 0);
		}
	}
	
	.estp-bounceOutLeft {
		-webkit-animation-name: estp-bounceOutLeft;
		animation-name: estp-bounceOutLeft;
	}
}
