.fx-btn-3d {
	border: none !important;
	-webkit-box-shadow: inset 0 -0.2em 0 0 rgba(0, 0, 0, 0.15), inset 0 -2em 3em -1em rgba(0, 0, 0, 0.2), 0 0.4em 0.6em -0.2em rgba(0, 0, 0, .15);
	box-shadow: inset 0 -0.2em 0 0 rgba(0, 0, 0, 0.15), inset 0 -2em 3em -1em rgba(0, 0, 0, 0.2), 0px 1px 0 0 rgba(0, 0, 0, .1), 0px 3px 0 -1px rgba(0, 0, 0, .1), 0px 5px 0 -2px rgba(0, 0, 0, .075), 0px 7px 0 -3px rgba(0, 0, 0, .035), 0px 9px 0 -4px rgba(0, 0, 0, .035), 0px 11px 0 -5px rgba(0, 0, 0, .02), 0px 13px 0 -6px rgba(0, 0, 0, .02), 0px 15px 0 -7px rgba(0, 0, 0, .01), 0px 17px 0 -8px rgba(0, 0, 0, .01);
	text-shadow: 0 -1px 0px rgba(0, 0, 0, .1);
	-webkit-transition: -webkit-box-shadow .1s ease-in-out, -webkit-transform .1s ease-in-out;
	transition: -webkit-box-shadow .1s ease-in-out, -webkit-transform .1s ease-in-out;
	transition: box-shadow .1s ease-in-out, transform .1s ease-in-out;
	transition: box-shadow .1s ease-in-out, transform .1s ease-in-out, -webkit-box-shadow .1s ease-in-out, -webkit-transform .1s ease-in-out;
}

.fx-btn-3d:active {
	-webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.15), inset 0 -2em 3em -1em rgba(0, 0, 0, 0.1), 0 0 0.1em 0 rgba(0, 0, 0, .2);
	box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.15), inset 0 -2em 3em -1em rgba(0, 0, 0, 0.1), 0 0 0.1em 0 rgba(0, 0, 0, .2);
	-webkit-transform: translate(0, 0.1em);
	transform: translate(0, 0.1em);
}

.fx-btn-zoom,
.fx-btn-up {
	-webkit-transition: transform .1s ease-in-out;
	-webkit-transition: -webkit-transform .1s ease-in-out;
	transition: -webkit-transform .1s ease-in-out;
	transition: transform .1s ease-in-out;
	transition: transform .1s ease-in-out, -webkit-transform .1s ease-in-out;
}

.fx-btn-up:hover {
	-webkit-transform: translateY(-0.2em);
	transform: translateY(-0.2em);
}

.fx-btn-zoom:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

.fx-btn-shadow {
	-webkit-transition: all .15s ease-in-out;
	transition: all .15s ease-in-out;
	-webkit-box-shadow: 0 0.7em 1.4em rgba(0, 0, 0, 0.1), 0 0.6em 0.5em -0.4em rgba(0, 0, 0, 0.15);
	box-shadow: 0 0.7em 1.4em rgba(0, 0, 0, 0.1), 0 0.6em 0.5em -0.4em rgba(0, 0, 0, 0.15);
}

.fx-btn-shadow:active {
	-webkit-transform: translateY(0.25em);
	transform: translateY(0.25em);
	-webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, .3), 0 0 0 0 rgba(0, 0, 0, .5);
	box-shadow: 0 0 0 0 rgba(0, 0, 0, .3), 0 0 0 0 rgba(0, 0, 0, .5);
}

.fx-btn-hard-shadow {
	-webkit-box-shadow: 0.25em 0.25em 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0.25em 0.25em 0 rgba(0, 0, 0, 0.1);
	-webkit-transition: -webkit-box-shadow .1s ease-in-out, -webkit-transform .1s ease-in-out;
	transition: -webkit-box-shadow .1s ease-in-out, -webkit-transform .1s ease-in-out;
	transition: box-shadow .1s ease-in-out, transform .1s ease-in-out;
	transition: box-shadow .1s ease-in-out, transform .1s ease-in-out, -webkit-box-shadow .1s ease-in-out, -webkit-transform .1s ease-in-out;
}

.fx-btn-hard-shadow:active {
	-webkit-transform: translate(0.1em, 0.1em);
	transform: translate(0.1em, 0.1em);
	-webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
}

.fx-btn-hidden-icon>.icon {
	-webkit-transition: all 0.25s ease;
	transition: all 0.25s ease;
	opacity: 0;
	width: 0px;
	overflow: hidden;
}

.fx-btn-hidden-icon:not(:hover)>.icon {
	margin: 0;
}

.fx-btn-hidden-icon:hover>.icon {
	opacity: 1;
	width: auto;
}

.fx-btn-blick {
	position: relative;
	overflow: hidden;
}

.fx-btn-blick:before {
	content: "";
	background-color: #fff;
	height: 100%;
	width: 3em;
	display: block;
	position: absolute;
	top: 0;
	-webkit-transform: skewX(-45deg) translateX(0);
	transform: skewX(-45deg) translateX(0);
	-webkit-transition: none;
	transition: none;
	opacity: 0;
	-webkit-animation: left-slide 2s infinite;
	animation: left-slide 2s infinite;
}

@-webkit-keyframes left-slide {
	0% {
		left: -50%;
		opacity: 0.1;
	}

	50%,
	100% {
		left: 150%;
		opacity: 0.75;
	}
}

@keyframes left-slide {
	0% {
		left: -50%;
		opacity: 0.1;
	}

	50%,
	100% {
		left: 150%;
		opacity: 0.75;
	}
}

.fx-btn-wave {
	position: relative;
	z-index: 1;
}

.fx-btn-wave:before {
	content: "";
	display: block;
	background-color: inherit;
	border-radius: inherit;
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0.75;
	-webkit-animation: waves 1s infinite;
	animation: waves 1s infinite;
}

@-webkit-keyframes waves {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	100% {
		-webkit-transform: scale(1.4);
		transform: scale(1.4);
		opacity: 0;
	}
}

@keyframes waves {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	100% {
		-webkit-transform: scale(1.3);
		transform: scale(1.3);
		opacity: 0;
	}
}

.fx-btn-glow {
	-webkit-animation: glow 2s infinite;
	animation: glow 2s infinite;
}

@-webkit-keyframes glow {

	from,
	to {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	25% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	27% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 0), 0 0 0.1em rgba(255, 255, 255, 0), 0 0 1em rgba(255, 255, 255, 0), 0 0 2em rgba(255, 255, 255, 0);
	}

	29% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	31% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 0.5), 0 0 0.1em rgba(255, 255, 255, 0.25), 0 0 1em rgba(255, 255, 255, 0), 0 0 2em rgba(255, 255, 255, 0);
	}

	33% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	66% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	68% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 0.5), 0 0 0.1em rgba(255, 255, 255, 0), 0 0 1em rgba(255, 255, 255, 0), 0 0 2em rgba(255, 255, 255, 0);
	}

	70% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}
}

@keyframes glow {

	from,
	to {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	25% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	27% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 0), 0 0 0.1em rgba(255, 255, 255, 0), 0 0 1em rgba(255, 255, 255, 0), 0 0 2em rgba(255, 255, 255, 0);
	}

	29% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	31% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 0.5), 0 0 0.1em rgba(255, 255, 255, 0.25), 0 0 1em rgba(255, 255, 255, 0), 0 0 2em rgba(255, 255, 255, 0);
	}

	33% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	66% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}

	68% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 0.5), 0 0 0.1em rgba(255, 255, 255, 0), 0 0 1em rgba(255, 255, 255, 0), 0 0 2em rgba(255, 255, 255, 0);
	}

	70% {
		text-shadow: 0 0 0.05em rgba(255, 255, 255, 1), 0 0 0.1em rgba(255, 255, 255, 1), 0 0 1em rgba(255, 255, 255, 0.75), 0 0 2em rgba(255, 255, 255, 0.5);
	}
}

.fx-btn-pill {
	border-radius: 10em !important;
}

.fx-text-shadow {
	text-shadow: 2px 4px 3px rgba(0, 0, 0, 0.3);
}

.fx-text-thin-shadow {
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
}

.fx-text-hard-shadow {
	text-shadow: 6px 6px 0px rgba(0, 0, 0, 0.1);
}

.fx-text-glow {
	-webkit-animation: glow 3s infinite;
	animation: glow 3s infinite;
}

.fx-text-pushed-shadow {
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35), 0 -1px 0 rgba(0, 0, 0, 0.35);
}

.fx-text-3d {
	text-shadow: 0 0.01em 0 #bbb, 0 0.02em 0 #aaa, 0 0.03em 0 #999, 0 0.04em 0 #888, 0 0.15em 0.1em rgba(0, 0, 0, 0.15), 0 0.25em 0.02em rgba(0, 0, 0, 0.075), 0 0.34em 0.3em rgba(0, 0, 0, 0.1);
}

.fx-text-anaglyphic {
	text-shadow: -0.05em 0 0 #F22613, 0.05em 0 0 #00FFFF;
}

.fx-text-isometric {
	text-shadow: -0.01em -0.01em 0 #222, -0.02em -0.02em 0 #222, -0.03em -0.03em 0 #222, -0.04em -0.04em 0 #222, -0.05em -0.05em 0 #222, -0.06em -0.06em 0 #222, -0.07em -0.07em 0 #222, -0.08em -0.08em 0 #222, -0.09em -0.09em 0 #222, -0.10em -0.10em 0 #222, -0.11em -0.11em 0 #222, -0.12em -0.12em 0 #222, -0.13em -0.13em 0 #222, -0.14em -0.14em 0 #222, -0.15em -0.15em 0 #222, -0.16em -0.16em 0 #222, -0.17em -0.17em 0 #222, -0.18em -0.18em 0 #222, -0.19em -0.19em 0 #222, -0.20em -0.20em 0 #222;
}

.fx-text-isometric-shadow {
	text-shadow: 0.01em 0.01em 0 rgba(0, 0, 0, 0.1), 0.02em 0.02em 0 rgba(0, 0, 0, 0.1), 0.03em 0.03em 0 rgba(0, 0, 0, 0.075), 0.04em 0.04em 0 rgba(0, 0, 0, 0.075), 0.05em 0.05em 0 rgba(0, 0, 0, 0.05), 0.06em 0.06em 0 rgba(0, 0, 0, 0.05), 0.07em 0.07em 0 rgba(0, 0, 0, 0.03), 0.08em 0.08em 0 rgba(0, 0, 0, 0.03), 0.09em 0.09em 0 rgba(0, 0, 0, 0.03), 0.1em 0.1em 0 rgba(0, 0, 0, 0.025), 0.11em 0.11em 0 rgba(0, 0, 0, 0.025), 0.12em 0.12em 0 rgba(0, 0, 0, 0.02), 0.13em 0.13em 0 rgba(0, 0, 0, 0.02), 0.14em 0.14em 0 rgba(0, 0, 0, 0.015), 0.15em 0.15em 0 rgba(0, 0, 0, 0.015), 0.16em 0.16em 0 rgba(0, 0, 0, 0.01), 0.17em 0.17em 0 rgba(0, 0, 0, 0.01), 0.18em 0.18em 0 rgba(0, 0, 0, 0.01), 0.19em 0.19em 0 rgba(0, 0, 0, 0.005), 0.2em 0.2em 0 rgba(0, 0, 0, 0.005);
}
