/* WRENCHING */
@keyframes wrench {
	0%{transform:rotate(-8deg)}
	8%{transform:rotate(8deg)}
	10%{transform:rotate(15deg)}
	18%{transform:rotate(-15deg)}
	20%{transform:rotate(-15deg)}
	28%{transform:rotate(15deg)}
	30%{transform:rotate(15deg)}
	38%{transform:rotate(-15deg)}
	40%{transform:rotate(-15deg)}
	48%{transform:rotate(15deg)}
	50%{transform:rotate(15deg)}
	58%{transform:rotate(-15deg)}
	60%{transform:rotate(-15deg)}
	68%{transform:rotate(15deg)}
	75%{transform:rotate(0deg)}
}
@-webkit-keyframes wrench {
	0%{-webkit-transform:rotate(-8deg)}
	8%{-webkit-transform:rotate(8deg)}
	10%{-webkit-transform:rotate(15deg)}
	18%{-webkit-transform:rotate(-15deg)}
	20%{-webkit-transform:rotate(-15deg)}
	28%{-webkit-transform:rotate(15deg)}
	30%{-webkit-transform:rotate(15deg)}
	38%{-webkit-transform:rotate(-15deg)}
	40%{-webkit-transform:rotate(-15deg)}
	48%{-webkit-transform:rotate(15deg)}
	50%{-webkit-transform:rotate(15deg)}
	58%{-webkit-transform:rotate(-15deg)}
	60%{-webkit-transform:rotate(-15deg)}
	68%{-webkit-transform:rotate(15deg)}
	75%{-webkit-transform:rotate(0deg)}
}

.faa-wrench.animated,
.faa-wrench.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-wrench {
	animation: wrench 2.5s ease infinite;
	transform-origin-x: 90%;
	transform-origin-y: 35%;
	transform-origin-z: initial;
	
	-webkit-animation: wrench 2.5s ease infinite;
	-webkit-transform-origin-x: 90%;
	-webkit-transform-origin-y: 35%;
	-webkit-transform-origin-z: initial;
}

/* BELL */
@keyframes ring {
	0%{transform:rotate(-15deg)}
	2%{transform:rotate(15deg)}
	4%{transform:rotate(-18deg)}
	6%{transform:rotate(18deg)}
	8%{transform:rotate(-22deg)}
	10%{transform:rotate(22deg)}
	12%{transform:rotate(-18deg)}
	14%{transform:rotate(18deg)}
	16%{transform:rotate(-12deg)}
	18%{transform:rotate(12deg)}
	20%{transform:rotate(0deg)}
}
.faa-ring.animated,
.faa-ring.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-ring {
	animation: ring 2s ease infinite;
	transform-origin-x: 50%;
	transform-origin-y: 0px;
	transform-origin-z: initial;
}

/* VERTICAL */
@keyframes vertical {
	0%{transform:translate(0,-3px)}
	4%{transform:translate(0,3px)}
	8%{transform:translate(0,-3px)}
	12%{transform:translate(0,3px)}
	16%{transform:translate(0,-3px)}
	20%{transform:translate(0,3px)}
	22%{transform:translate(0,0)}
}

@-webkit-keyframes vertical {
	0%{-webkit-transform:translate(0,-3px)}
	4%{-webkit-transform:translate(0,3px)}
	8%{-webkit-transform:translate(0,-3px)}
	12%{-webkit-transform:translate(0,3px)}
	16%{-webkit-transform:translate(0,-3px)}
	20%{-webkit-transform:translate(0,3px)}
	22%{-webkit-transform:translate(0,0)}
}

.faa-vertical.animated,
.faa-vertical.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-vertical {
	animation: vertical 2s ease infinite;
	-webkit-animation: vertical 2s ease infinite;
}

/* HORIZONTAL */
@keyframes horizontal {
	0%{transform:translate(0,0)}
	6%{transform:translate(5px,0)}
	12%{transform:translate(0,0)}
	18%{transform:translate(5px,0)}
	24%{transform:translate(0,0)}
	30%{transform:translate(5px,0)}
	36%{transform:translate(0,0)}
}
@-webkit-keyframes horizontal {
	0%{-webkit-transform:translate(0,0)}
	6%{-webkit-transform:translate(5px,0)}
	12%{-webkit-transform:translate(0,0)}
	18%{-webkit-transform:translate(5px,0)}
	24%{-webkit-transform:translate(0,0)}
	30%{-webkit-transform:translate(5px,0)}
	36%{-webkit-transform:translate(0,0)}
}
.faa-horizontal.animated,
.faa-horizontal.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-horizontal {
	animation: horizontal 2s ease infinite;
	-webkit-animation: horizontal 2s ease infinite;
}

/* FLASHING */
@keyframes flash {
	0%,100%,50%{opacity:1}
	25%,75%{opacity:0}
}
.faa-flash.animated,
.faa-flash.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-flash {
	animation: flash 2s ease infinite;
}

/* BOUNCE */
@keyframes bounce {
	0%,10%,20%,50%,80%{transform:translateY(0)}
	40%{transform:translateY(-15px)}
	60%{transform:translateY(-15px)}
}
.faa-bounce.animated,
.faa-bounce.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-bounce {
	animation: bounce 2s ease infinite;
}

/* SPIN */
@keyframes spin{
	0%{transform:rotate(0deg)}
	100%{transform:rotate(359deg)}
}
.faa-spin.animated,
.faa-spin.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-spin {
	animation: spin 1.5s linear infinite;
}

/* FLOAT */
@keyframes float{
	0%{transform: translateY(0)}
	50%{transform: translateY(-6px)}
	100%{transform: translateY(0)}
}
.faa-float.animated,
.faa-float.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-float {
	animation: float 2s linear infinite;
}

/* PULSE */
@keyframes pulse {
	0% {transform: scale(1.1)}
 	50% {transform: scale(0.8)}
 	100% {transform: scale(1.1)}
}
.faa-pulse.animated,
.faa-pulse.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-pulse {
	animation: pulse 2s linear infinite;
}

/* SHAKE */
.faa-shake.animated,
.faa-shake.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-shake {
	animation: wrench 2.5s ease infinite;
}

/* TADA */
@keyframes tada {
	0% {transform: scale(1)}
	10%,20% {transform:scale(.9) rotate(-8deg);}
	30%,50%,70% {transform:scale(1.3) rotate(8deg)}
	40%,60% {transform:scale(1.3) rotate(-8deg)}
	80% {transform:scale(1) rotate(0)}
}

.faa-tada.animated,
.faa-tada.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-tada {
	animation: tada 2s linear infinite;
}

/* PASSING */
@keyframes passing {
	0% {transform:translateX(-50%); opacity:0}
	50% {transform:translateX(0%); opacity:1}
	100% {transform:translateX(50%); opacity:0}
}

.faa-passing.animated,
.faa-passing.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-passing {
	animation: passing 3s linear infinite;
}

/* WAVE */
@keyframes burst {
	0% {opacity:.6}
	50% {transform:scale(1.8);opacity:0}
	100%{opacity:0}
}
.faa-burst.animated,
.faa-burst.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-burst {
	animation: burst 3s infinite linear
}
