@keyframes scale-up-bottom {
	0% {
		transform: scale(.5);
		transform-origin: center bottom
	}

	100% {
		transform: scale(1);
		transform-origin: center bottom
	}
}

@keyframes scale-up-top {
	0% {
		transform: scale(.5);
		transform-origin: center top
	}

	100% {
		transform: scale(1);
		transform-origin: center top
	}
}

@keyframes scale-up-left {
	0% {
		transform: scale(.5);
		transform-origin: left center
	}

	100% {
		transform: scale(1);
		transform-origin: left center
	}
}

@keyframes scale-up-right {
	0% {
		transform: scale(.5);
		transform-origin: right center
	}

	100% {
		transform: scale(1);
		transform-origin: right center
	}
}

@keyframes scale-up-top-left {
	0% {
		transform: scale(.5);
		transform-origin: top left
	}

	100% {
		transform: scale(1);
		transform-origin: top left
	}
}

@keyframes scale-up-top-right {
	0% {
		transform: scale(.5);
		transform-origin: top right
	}

	100% {
		transform: scale(1);
		transform-origin: top right
	}
}

@keyframes scale-up-bottom-left {
	0% {
		transform: scale(.5);
		transform-origin: left bottom
	}

	100% {
		transform: scale(1);
		transform-origin: left bottom
	}
}

@keyframes scale-up-bottom-right {
	0% {
		transform: scale(.5);
		transform-origin: right bottom
	}

	100% {
		transform: scale(1);
		transform-origin: right bottom
	}
}

@keyframes scale-up-center {
	0% {
		transform: scale(.5)
	}

	100% {
		transform: scale(1)
	}
}

@keyframes scale-down-center {
	0% {
		transform: scale(1)
	}

	100% {
		transform: scale(.5)
	}
}

@keyframes scale-up-center-all {
	0% {
		transform: scale(0);
		opacity: 0;
	}

	100% {
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes scale-down-center-all {
	0% {
		transform: scale(1);
		opacity: 1;
	}

	100% {
		transform: scale(0);
		opacity: 0;
	}
}

@keyframes scale-down-bottom {
	0% {
		transform: scale(1);
		transform-origin: center bottom
	}

	100% {
		transform: scale(.5);
		transform-origin: center bottom
	}
}

@keyframes blur-out {
	0% {
		filter: blur(.01px);
	}

	100% {
		filter: blur(100px);
		opacity: 0
	}
}

@keyframes notification-show-hide {
	0% {
		transform: translateY(-120%);
	}

	5%,
	95% {
		transform: translateY(0px);
	}

	100% {
		transform: translateY(-120%);
	}
}

@keyframes slide-bottom {
	0% {
		transform: translateY(0)
	}

	100% {
		transform: translateY(100px)
	}
}

@keyframes shake-horizontal {

	0%,
	100% {
		transform: translateX(0)
	}

	10%,
	30%,
	50%,
	70% {
		transform: translateX(-10px)
	}

	20%,
	40%,
	60% {
		transform: translateX(10px)
	}

	80% {
		transform: translateX(8px)
	}

	90% {
		transform: translateX(-8px)
	}
}

@keyframes tracking-in-expand {
	0% {
		letter-spacing: -.2em;
		opacity: 0
	}

	40% {
		opacity: .6
	}

	100% {
		opacity: 1
	}
}

@keyframes rotate-scale-up {
	0% {
		transform: scale(1) rotateZ(0)
	}

	50% {
		transform: scale(2) rotateZ(180deg)
	}

	100% {
		transform: scale(1) rotateZ(360deg)
	}
}

@keyframes blur-in-expand {
	0% {
		transform: scale(0);
		filter: blur(12px);
		opacity: 0
	}

	100% {
		transform: scale(1);
		filter: blur(0);
		opacity: 1
	}
}

@keyframes rotate-scale-up-vertical {
	0% {
		transform: scale(1) rotateY(0) translateY(0px);
	}

	10% {
		transform: scale(2) rotateY(180deg) translateY(-10px);
	}

	90% {
		transform: scale(2) rotateY(180deg) translateY(-14px);
	}

	100% {
		transform: scale(1) rotateY(360deg) translateY(0px);
	}
}

@keyframes scale-up-vertical {
	0% {
		transform: scale(1) translateY(0px);
	}

	30% {
		transform: scale(2.8) translateY(-12px);
	}

	80% {
		transform: scale(3) translateY(-14px);
	}

	100% {
		transform: scale(1) translateY(0px);
	}
}

@keyframes scale-up-vertical-2 {
	0% {
		transform: scale(1) translateY(0px);
	}

	10% {
		transform: scale(2.8) translateY(-22px);
	}

	/* 80% {
		transform: scale(3) translateY(-24px);
	} */

	100% {
		transform: scale(1) translateY(0px);
	}
}

@keyframes rotate-scale-up {
	0% {
		transform: scale(1) rotateZ(0)
	}

	50% {
		transform: scale(2) rotateZ(180deg)
	}

	100% {
		transform: scale(1) rotateZ(360deg)
	}
}

@keyframes jello-horizontal {
	0% {
		transform: scale3d(1, 1, 1)
	}

	30% {
		transform: scale3d(1.25, .75, 1)
	}

	40% {
		transform: scale3d(.75, 1.25, 1)
	}

	50% {
		transform: scale3d(1.15, .85, 1)
	}

	65% {
		transform: scale3d(.95, 1.05, 1)
	}

	75% {
		transform: scale3d(1.05, .95, 1)
	}

	100% {
		transform: scale3d(1, 1, 1)
	}
}

.vibrate {
	animation: vibrate 0.4s linear both
}

@keyframes vibrate {
	0% {
		transform: translate(0)
	}

	20% {
		transform: translate(-2px, 2px)
	}

	40% {
		transform: translate(-2px, -2px)
	}

	60% {
		transform: translate(2px, 2px)
	}

	80% {
		transform: translate(2px, -2px)
	}

	100% {
		transform: translate(0)
	}
}

@keyframes blur-in {
	0% {
		filter: blur(12px);
		opacity: 0
	}

	100% {
		filter: blur(0);
		opacity: 1
	}
}


@keyframes blur-out-expand {
	0% {
		transform: scale(1);
		filter: blur(.01px);
	}

	100% {
		transform: scale(2);
		filter: blur(12px);
		opacity: 0
	}
}


@keyframes scale-up-horizontal-right {
	0% {
		transform: scaleX(.4);
		transform-origin: right center
	}

	100% {
		transform: scaleX(1);
		transform-origin: right center
	}
}

@keyframes pulsate {
	0% {
		transform: translate(-50%, -50%) scale(0.1, 0.1);
		opacity: 0.0;
	}

	50% {
		opacity: 1.0;
	}

	100% {
		transform: translate(-50%, -50%) scale(1.2, 1.2);
		opacity: 0.0;
	}
}