/* Icon Hang */
.keyframes(~"@{nameSpace}-icon-hang", {
	0% {
		.prefixed(transform, translateY(6px));
	}
	50% {
		.prefixed(transform, translateY(2px));
	}
	100% {
		.prefixed(transform, translateY(6px));
	}
});

.keyframes(~"@{nameSpace}-icon-hang-sink", {
	100% {
		.prefixed(transform, translateY(6px));
	}
});

.icon-hang() {
	.hacks();
	position: relative;
	padding-right: 2.2em;
	.prefixed(transition-duration, @mediumDuration);

	&:before {
		content: "\f078";
		position: absolute;
		right: 1em;
		padding: 0 1px;
		font-family: FontAwesome;
		.prefixed(transform, translateZ(0));
	}

	&:hover,
	&:focus,
	&:active {

		&:before {
			.prefixed(animation-name, ~"@{nameSpace}-icon-hang-sink, @{nameSpace}-icon-hang");
			.prefixed(animation-duration, ~".3s, 1.5s");
			.prefixed(animation-delay, ~"0s, .3s");
			.prefixed(animation-timing-function, ~"ease-out, ease-in-out");
			.prefixed(animation-iteration-count, ~"1, infinite");
			.prefixed(animation-fill-mode, ~"forwards");
			.prefixed(animation-direction, ~"normal, alternate");
		}
	}
}
