/* --- Animations --- */
.slide-bottom.active {
	-webkit-animation: slide-bottom 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-bottom 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-top.active {
	-webkit-animation: slide-top 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-top 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.fade-in-fwd.active {
	-webkit-animation: fade-in-fwd 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-fwd 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

.slide-right.active {
	-webkit-animation: slide-right 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-right 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-left.active {
	-webkit-animation: slide-left 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-left 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-blurred-bottom.active {
	-webkit-animation: slide-blurred-bottom 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
	        animation: slide-blurred-bottom 0.6s cubic-bezier(0.230, 1.000, 0.320, 1.000) both;
}

.slide-fwd-center.active {
	-webkit-animation: slide-fwd-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-fwd-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-in-bck-bottom.active {
	-webkit-animation: slide-in-bck-bottom 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-in-bck-bottom 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-in-bck-bottom-absolute.active {
	-webkit-animation: slide-in-bck-bottom-absolute 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-in-bck-bottom-absolute 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-in-bck-br.active {
	-webkit-animation: slide-in-bck-br 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-in-bck-br 0.6s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.scale-in-center.active {
	-webkit-animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

/* --- Keyframes --- */
@-webkit-keyframes slide-bottom {
	0% {
	  	-webkit-transform: translateY(0);
				transform: translateY(0);
	}
	100% {
	  	-webkit-transform: translateY(100px);
		        transform: translateY(100px);
		opacity: 1;
	}
}

@keyframes slide-bottom {
	0% {
	  	-webkit-transform: translateY(0);
				transform: translateY(0);
	}
	100% {
	  	-webkit-transform: translateY(100px);
				transform: translateY(100px);
		opacity: 1;
	}
}

@-webkit-keyframes slide-top {
	0% {
		-webkit-transform: translateY(+100px);
				transform: translateY(+100px);
	}
	100% {
	  	-webkit-transform: translateY(0px);
				transform: translateY(0);
		opacity: 1;
	}
}
@keyframes slide-top {
	0% {
	  	-webkit-transform: translateY(+100px);
				transform: translateY(+100px);
	}
	100% {
	  	-webkit-transform: translateY(0);
				transform: translateY(0);
		opacity: 1;
	}
}

@-webkit-keyframes slide-top-small {
	0% {
		-webkit-transform: translateY(+50px);
				transform: translateY(+50px);
	}
	100% {
	  	-webkit-transform: translateY(0px);
				transform: translateY(0);
		opacity: 1;
	}
}
@keyframes slide-top-small {
	0% {
	  	-webkit-transform: translateY(+50px);
				transform: translateY(+50px);
	}
	100% {
	  	-webkit-transform: translateY(0);
				transform: translateY(0);
		opacity: 1;
	}
}

@-webkit-keyframes fade-in-fwd {
	0% {
	  	-webkit-transform: translateZ(-80px);
				transform: translateZ(-80px);
	  	opacity: 0;
	}
	100% {
	  	-webkit-transform: translateZ(0);
				transform: translateZ(0);
	  	opacity: 1;
	}
}

@keyframes fade-in-fwd {
	0% {
	  	-webkit-transform: translateZ(-80px);
				transform: translateZ(-80px);
	  	opacity: 0;
	}
	100% {
	  	-webkit-transform: translateZ(0);
				transform: translateZ(0);
	  	opacity: 1;
	}
}

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

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

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


@-webkit-keyframes slide-blurred-bottom {
	0% {
		-webkit-transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
				transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
	  	-webkit-transform-origin: 50% 100%;
			  	transform-origin: 50% 100%;
	  	-webkit-filter: blur(40px);
			  	filter: blur(40px);
	  	opacity: 0;
	}
	100% {
	  	-webkit-transform: translateY(0) scaleY(1) scaleX(1);
			  	transform: translateY(0) scaleY(1) scaleX(1);
	  	-webkit-transform-origin: 50% 50%;
			 	transform-origin: 50% 50%;
	  	-webkit-filter: blur(0);
			  	filter: blur(0);
	  	opacity: 1;
	}
}

@keyframes slide-blurred-bottom {
	0% {
		-webkit-transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
			  	transform: translateY(1000px) scaleY(2.5) scaleX(0.2);
	  	-webkit-transform-origin: 50% 100%;
			  	transform-origin: 50% 100%;
	  	-webkit-filter: blur(40px);
			  	filter: blur(40px);
	  	opacity: 0;
	}
	100% {
	  	-webkit-transform: translateY(0) scaleY(1) scaleX(1);
			  	transform: translateY(0) scaleY(1) scaleX(1);
	  	-webkit-transform-origin: 50% 50%;
			  	transform-origin: 50% 50%;
	  	-webkit-filter: blur(0);
			  	filter: blur(0);
	  	opacity: 1;
	}
}
  
@-webkit-keyframes slide-fwd-center {
	0% {
	  	-webkit-transform: translateZ(-1400px);
			  	transform: translateZ(-1400px);
	  	opacity: 0;
	}
	100% {
	  	-webkit-transform: translateZ(0);
			  	transform: translateZ(0);
	  	opacity: 1;
	}
}

@keyframes slide-fwd-center {
	0% {
	  	-webkit-transform: translateZ(-1400px);
			  	transform: translateZ(-1400px);
	  	opacity: 0;
	}
	100% {
	  	-webkit-transform: translateZ(0);
			  	transform: translateZ(0);
	  	opacity: 1;
	}
}

@-webkit-keyframes slide-in-bck-bottom {
	0% {
	  -webkit-transform: translateZ(700px) translateY(300px);
			  transform: translateZ(700px) translateY(300px);
	  opacity: 0;
	}
	100% {
	  -webkit-transform: translateZ(0) translateY(0);
			  transform: translateZ(0) translateY(0);
	  opacity: 1;
	}
}

@keyframes slide-in-bck-bottom {
	0% {
	  -webkit-transform: translateZ(700px) translateY(300px);
			  transform: translateZ(700px) translateY(300px);
	  opacity: 0;
	}
	100% {
	  -webkit-transform: translateZ(0) translateY(0);
			  transform: translateZ(0) translateY(0);
	  opacity: 1;
	}
} 

@-webkit-keyframes slide-in-bck-bottom-absolute {
	0% {
	  -webkit-transform: translateZ(700px) translateY(300px) translateX(-50%);
			  transform: translateZ(700px) translateY(300px) translateX(-50%);
	  opacity: 0;
	}
	100% {
	  -webkit-transform: translateZ(0) translateY(0) translateX(-50%);
			  transform: translateZ(0) translateY(0) translateX(-50%);
	  opacity: 1;
	}
}

@keyframes slide-in-bck-bottom-absolute {
	0% {
	  -webkit-transform: translateZ(700px) translateY(300px) translateX(-50%);
			  transform: translateZ(700px) translateY(300px) translateX(-50%);
	  opacity: 0;
	}
	100% {
	  -webkit-transform: translateZ(0) translateY(0) translateX(-50%);
			  transform: translateZ(0) translateY(0) translateX(-50%);
	  opacity: 1;
	}
} 

@-webkit-keyframes slide-in-bck-br {
	0% {
	  -webkit-transform: translateZ(700px) translateY(300px) translateX(400px);
			  transform: translateZ(700px) translateY(300px) translateX(400px);
	  opacity: 0;
	}
	100% {
	  -webkit-transform: translateZ(0) translateY(0) translateX(0);
			  transform: translateZ(0) translateY(0) translateX(0);
	  opacity: 1;
	}
}

@keyframes slide-in-bck-br {
	0% {
	  -webkit-transform: translateZ(700px) translateY(300px) translateX(400px);
			  transform: translateZ(700px) translateY(300px) translateX(400px);
	  opacity: 0;
	}
	100% {
	  -webkit-transform: translateZ(0) translateY(0) translateX(0);
			  transform: translateZ(0) translateY(0) translateX(0);
	  opacity: 1;
	}
} 

@-webkit-keyframes scale-in-center {
	0% {
	  -webkit-transform: scale(0);
			  transform: scale(0);
	  opacity: 1;
	}
	100% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	  opacity: 1;
	}
}

@keyframes scale-in-center {
	0% {
	  -webkit-transform: scale(0);
			  transform: scale(0);
	  opacity: 1;
	}
	100% {
	  -webkit-transform: scale(1);
			  transform: scale(1);
	  opacity: 1;
	}
}  