@-webkit-keyframes smile-3DRotateBottom {

	from {
		-webkit-transform: translateY(100%) rotateX(90deg);
		opacity: 0;
	}

	50% {
		-webkit-transform: translateY(0%) rotateX(0deg);
		opacity: 1;
	}
}

@keyframes smile-3DRotateBottom {

	from {
		transform: translateY(100%) rotateX(90deg);
		opacity: 0;
	}

	50% {
		transform: translateY(0%) rotateX(0deg);
		opacity: 1;
	}
}

.smile-3DRotateBottom {
	-webkit-animation-name: smile-3drotatebottom;
	animation-name: smile-3DRotateBottom;
	-webkit-perspective: 1300px;
	perspective: 1300px;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
}


@-webkit-keyframes smile-3DRotateInLeft {

	from {
		-webkit-transform: translateZ(100px) translateX(-30%) rotateY(90deg);
		opacity: 0;
	}

	60% {
		-webkit-transform: translateZ(0) translateX(0%) rotateY(0deg);
		opacity: 1;
	}
}

@keyframes smile-3DRotateInLeft {

	from {
		transform: translateZ(100px) translateX(-30%) rotateY(90deg);
		opacity: 0;
	}

	60% {
		transform: translateZ(0) translateX(0%) rotateY(0deg);
		opacity: 1;
	}
}

.smile-3DRotateInLeft {
	-webkit-animation-name: smile-3drotateinleft;
	animation-name: smile-3DRotateInLeft;
	-webkit-perspective: 1300px;
	perspective: 1300px;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
}

@-webkit-keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

@keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

.smile-rotateIn {
	-webkit-animation-name: smile-rotatein;
	animation-name: smile-rotateIn;
}

@-webkit-keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

@keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

.smile-rotateInDownLeft {
	-webkit-animation-name: smile-rotateindownleft;
	animation-name: smile-rotateInDownLeft;
}

@-webkit-keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

@keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

.smile-rotateInDownRight {
	-webkit-animation-name: smile-rotateindownright;
	animation-name: smile-rotateInDownRight;
}

@-webkit-keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

@keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

.smile-rotateInUpLeft {
	-webkit-animation-name: smile-rotateinupleft;
	animation-name: smile-rotateInUpLeft;
}

@-webkit-keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

@keyframes smile-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: none;
		transform: none;
		opacity: 1;
	}
}

.smile-rotateInUpRight {
	-webkit-animation-name: smile-rotateinupright;
	animation-name: smile-rotateInUpRight;
}

@-webkit-keyframes smile-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 smile-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;
	}
}

.smile-rotateOut {
	-webkit-animation-name: smile-rotateout;
	animation-name: smile-rotateOut;
}

@-webkit-keyframes smile-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 smile-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;
	}
}

.smile-rotateOutDownLeft {
	-webkit-animation-name: smile-rotateoutdownleft;
	animation-name: smile-rotateOutDownLeft;
}

@-webkit-keyframes smile-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 smile-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;
	}
}

.smile-rotateOutDownRight {
	-webkit-animation-name: smile-rotateoutdownright;
	animation-name: smile-rotateOutDownRight;
}

@-webkit-keyframes smile-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 smile-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;
	}
}

.smile-rotateOutUpLeft {
	-webkit-animation-name: smile-rotateoutupleft;
	animation-name: smile-rotateOutUpLeft;
}

@-webkit-keyframes smile-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 smile-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;
	}
}

.smile-rotateOutUpRight {
	-webkit-animation-name: smile-rotateoutupright;
	animation-name: smile-rotateOutUpRight;
}
