@-webkit-keyframes blockReveal {
		0% {
				-webkit-transform: scaleX(0);
				transform: scaleX(0);
				-webkit-transform-origin: left center;
				transform-origin: left center;
		}
		45% {
				-webkit-transform-origin: left center;
				transform-origin: left center;
				-webkit-transform: scaleX(1);
				transform: scaleX(1);
		}
		46% {
				-webkit-transform-origin: right center;
				transform-origin: right center;
		}
		100% {
				-webkit-transform: scaleX(0);
				transform: scaleX(0);
				-webkit-transform-origin: right center;
				transform-origin: right center;
		}
}

@keyframes blockReveal {
		0% {
				-webkit-transform: scaleX(0);
				transform: scaleX(0);
				-webkit-transform-origin: left center;
				transform-origin: left center;
		}
		45% {
				-webkit-transform-origin: left center;
				transform-origin: left center;
				-webkit-transform: scaleX(1);
				transform: scaleX(1);
		}
		46% {
				-webkit-transform-origin: right center;
				transform-origin: right center;
		}
		100% {
				-webkit-transform: scaleX(0);
				transform: scaleX(0);
				-webkit-transform-origin: right center;
				transform-origin: right center;
		}
}

[data-lettering] {
		opacity: 0;
		visibility: hidden;
}

[data-lettering] span {
		display: inline-block;
}

[data-lettering] > span {
		overflow: hidden;
		vertical-align: middle;
}

[data-lettering][data-plugin-options*="animateOnParentHover:true"] > span span, [data-lettering][data-plugin-options*="animateOnParentHover: true"] > span span, [data-lettering][data-plugin-options*='"animateOnParentHover": true'] > span span, [data-lettering][data-plugin-options*='"animateOnParentHover":true'] > span span, [data-lettering][data-plugin-options*="animateOnAppear:true"] > span span, [data-lettering][data-plugin-options*="animateOnAppear: true"] > span span, [data-lettering][data-plugin-options*='"animateOnAppear": true'] > span span, [data-lettering][data-plugin-options*='"animateOnAppear":true'] > span span {
		-webkit-transform: translateX(-110%);
		transform: translateX(-110%);
}

.right [data-lettering][data-plugin-options*="animateOnParentHover:true"] > span span, .right [data-lettering][data-plugin-options*="animateOnParentHover: true"] > span span, .right [data-lettering][data-plugin-options*='"animateOnParentHover": true'] > span span, .right [data-lettering][data-plugin-options*='"animateOnParentHover":true'] > span span, .right [data-lettering][data-plugin-options*="animateOnAppear:true"] > span span, .right [data-lettering][data-plugin-options*="animateOnAppear: true"] > span span, .right [data-lettering][data-plugin-options*='"animateOnAppear": true'] > span span, .right [data-lettering][data-plugin-options*='"animateOnAppear":true'] > span span {
		-webkit-transform: translateX(110%);
		transform: translateX(110%);
}

[data-lettering].lettering-applied {
		opacity: 1;
		visibility: visible;
}

[data-lettering][data-reveal].lettering-applied > span,
[data-lettering][data-reveal] .lettering-applied > span {
		position: relative;
		-webkit-transform-style: preserve-3d;
		transform-style: preserve-3d;
		-webkit-perspective: 1200px;
		perspective: 1200px;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
}

[data-lettering][data-reveal].lettering-applied > span:before,
[data-lettering][data-reveal] .lettering-applied > span:before {
		content: '';
		display: inline-block;
		width: 100%;
		height: 90%;
		position: absolute;
		top: -5%;
		left: 0;
		z-index: 1;
		background-color: #f2f2f2;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
}

[data-lettering][data-reveal].lettering-applied > span > span,
[data-lettering][data-reveal] .lettering-applied > span > span {
		opacity: 0;
		-webkit-transition: all 0.1s ease;
		transition: all 0.1s ease;
}

[data-lettering][data-reveal].lettering-applied .moving-started:before,
[data-lettering][data-reveal] .lettering-applied .moving-started:before {
		-webkit-animation: blockReveal 0.8s cubic-bezier(0.22, 0.62, 0, 1) 1 both;
		animation: blockReveal 0.8s cubic-bezier(0.22, 0.62, 0, 1) 1 both;
}

[data-lettering][data-reveal].lettering-applied .moving-done > span,
[data-lettering][data-reveal] .lettering-applied .moving-done > span {
		opacity: 1;
		-webkit-transition-delay: 0.22s;
		transition-delay: 0.22s;
}
