.webtecore-animation-blink {
	animation: webtecore-animation-blink 1s linear infinite;
}

@keyframes webtecore-animation-blink {
	0% {
		opacity: 0;
	}
	50% {
		opacity: .5;
	}
	100% {
		opacity: 1;
	}
}

.webtecore-animation-grow {
	transition-duration: 0.3s;
	transition-property: transform;
}

.webtecore-animation-grow:hover {
	transform: scale(1.1);
}

.webtecore-animation-shrink {
	transition-duration: 0.3s;
	transition-property: transform;
}

.webtecore-animation-shrink:hover {
	transform: scale(0.9);
}

@keyframes webtecore-animation-pulse {
	25% {
		transform: scale(1.1);
	}
	75% {
		transform: scale(0.9);
	}
}

.webtecore-animation-pulse:hover {
	animation-name: webtecore-animation-pulse;
	animation-duration: 1s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@keyframes webtecore-animation-pulse-grow {
	to {
		transform: scale(1.1);
	}
}

.webtecore-animation-pulse-grow:hover {
	animation-name: webtecore-animation-pulse-grow;
	animation-duration: 0.3s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

@keyframes webtecore-animation-pulse-shrink {
	to {
		transform: scale(0.9);
	}
}

.webtecore-animation-pulse-shrink:hover {
	animation-name: webtecore-animation-pulse-shrink;
	animation-duration: 0.3s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

@keyframes webtecore-animation-push {
	50% {
		transform: scale(0.8);
	}
	100% {
		transform: scale(1);
	}
}

.webtecore-animation-push:hover {
	animation-name: webtecore-animation-push;
	animation-duration: 0.3s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-pop {
	50% {
		transform: scale(1.2);
	}
}

.webtecore-animation-pop:hover {
	animation-name: webtecore-animation-pop;
	animation-duration: 0.3s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}

.webtecore-animation-bounce-in {
	transition-duration: 0.5s;
}

.webtecore-animation-bounce-in:hover {
	transform: scale(1.2);
	transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.webtecore-animation-bounce-out {
	transition-duration: 0.5s;
}

.webtecore-animation-bounce-out:hover {
	transform: scale(0.8);
	transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.webtecore-animation-rotate {
	transition-duration: 0.3s;
	transition-property: transform;
}

.webtecore-animation-rotate:hover {
	transform: rotate(4deg);
}

.webtecore-animation-grow-rotate {
	transition-duration: 0.3s;
	transition-property: transform;
}

.webtecore-animation-grow-rotate:hover {
	transform: scale(1.1) rotate(4deg);
}

.webtecore-animation-float {
	transition-duration: 0.3s;
	transition-property: transform;
	transition-timing-function: ease-out;
}

.webtecore-animation-float:hover {
	transform: translateY(-8px);
}

.webtecore-animation-sink {
	transition-duration: 0.3s;
	transition-property: transform;
	transition-timing-function: ease-out;
}

.webtecore-animation-sink:hover {
	transform: translateY(8px);
}

@keyframes webtecore-animation-bob {
	0% {
		transform: translateY(-8px);
	}
	50% {
		transform: translateY(-4px);
	}
	100% {
		transform: translateY(-8px);
	}
}

@keyframes webtecore-animation-bob-float {
	100% {
		transform: translateY(-8px);
	}
}

.webtecore-animation-bob:hover {
	animation-name: webtecore-animation-bob-float, webtecore-animation-bob;
	animation-duration: .3s, 1.5s;
	animation-delay: 0s, .3s;
	animation-timing-function: ease-out, ease-in-out;
	animation-iteration-count: 1, infinite;
	animation-fill-mode: forwards;
	animation-direction: normal, alternate;
}

@keyframes webtecore-animation-hang {
	0% {
		transform: translateY(8px);
	}
	50% {
		transform: translateY(4px);
	}
	100% {
		transform: translateY(8px);
	}
}

@keyframes webtecore-animation-hang-sink {
	100% {
		transform: translateY(8px);
	}
}

.webtecore-animation-hang:hover {
	animation-name: webtecore-animation-hang-sink, webtecore-animation-hang;
	animation-duration: .3s, 1.5s;
	animation-delay: 0s, .3s;
	animation-timing-function: ease-out, ease-in-out;
	animation-iteration-count: 1, infinite;
	animation-fill-mode: forwards;
	animation-direction: normal, alternate;
}

.webtecore-animation-skew {
	transition-duration: 0.3s;
	transition-property: transform;
}

.webtecore-animation-skew:hover {
	transform: skew(-10deg);
}

.webtecore-animation-skew-forward {
	transition-duration: 0.3s;
	transition-property: transform;
	transform-origin: 0 100%;
}

.webtecore-animation-skew-forward:hover {
	transform: skew(-10deg);
}

.webtecore-animation-skew-backward {
	transition-duration: 0.3s;
	transition-property: transform;
	transform-origin: 0 100%;
}

.webtecore-animation-skew-backward:hover {
	transform: skew(10deg);
}

@keyframes webtecore-animation-wobble-vertical {
	16.65% {
		transform: translateY(8px);
	}
	33.3% {
		transform: translateY(-6px);
	}
	49.95% {
		transform: translateY(4px);
	}
	66.6% {
		transform: translateY(-2px);
	}
	83.25% {
		transform: translateY(1px);
	}
	100% {
		transform: translateY(0);
	}
}

.webtecore-animation-wobble-vertical:hover {
	animation-name: webtecore-animation-wobble-vertical;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-wobble-horizontal {
	16.65% {
		transform: translateX(8px);
	}
	33.3% {
		transform: translateX(-6px);
	}
	49.95% {
		transform: translateX(4px);
	}
	66.6% {
		transform: translateX(-2px);
	}
	83.25% {
		transform: translateX(1px);
	}
	100% {
		transform: translateX(0);
	}
}

.webtecore-animation-wobble-horizontal:hover {
	animation-name: webtecore-animation-wobble-horizontal;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-wobble-to-bottom-right {
	16.65% {
		transform: translate(8px, 8px);
	}
	33.3% {
		transform: translate(-6px, -6px);
	}
	49.95% {
		transform: translate(4px, 4px);
	}
	66.6% {
		transform: translate(-2px, -2px);
	}
	83.25% {
		transform: translate(1px, 1px);
	}
	100% {
		transform: translate(0, 0);
	}
}

.webtecore-animation-wobble-to-bottom-right:hover {
	animation-name: webtecore-animation-wobble-to-bottom-right;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-wobble-to-top-right {
	16.65% {
		transform: translate(8px, -8px);
	}
	33.3% {
		transform: translate(-6px, 6px);
	}
	49.95% {
		transform: translate(4px, -4px);
	}
	66.6% {
		transform: translate(-2px, 2px);
	}
	83.25% {
		transform: translate(1px, -1px);
	}
	100% {
		transform: translate(0, 0);
	}
}

.webtecore-animation-wobble-to-top-right:hover {
	animation-name: webtecore-animation-wobble-to-top-right;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-wobble-top {
	16.65% {
		transform: skew(-12deg);
	}
	33.3% {
		transform: skew(10deg);
	}
	49.95% {
		transform: skew(-6deg);
	}
	66.6% {
		transform: skew(4deg);
	}
	83.25% {
		transform: skew(-2deg);
	}
	100% {
		transform: skew(0);
	}
}

.webtecore-animation-wobble-top {
	transform-origin: 0 100%;
}

.webtecore-animation-wobble-top:hover {
	animation-name: webtecore-animation-wobble-top;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-wobble-bottom {
	16.65% {
		transform: skew(-12deg);
	}
	33.3% {
		transform: skew(10deg);
	}
	49.95% {
		transform: skew(-6deg);
	}
	66.6% {
		transform: skew(4deg);
	}
	83.25% {
		transform: skew(-2deg);
	}
	100% {
		transform: skew(0);
	}
}

.webtecore-animation-wobble-bottom {
	transform-origin: 100% 0;
}

.webtecore-animation-wobble-bottom:hover {
	animation-name: webtecore-animation-wobble-bottom;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-wobble-skew {
	16.65% {
		transform: skew(-12deg);
	}
	33.3% {
		transform: skew(10deg);
	}
	49.95% {
		transform: skew(-6deg);
	}
	66.6% {
		transform: skew(4deg);
	}
	83.25% {
		transform: skew(-2deg);
	}
	100% {
		transform: skew(0);
	}
}

.webtecore-animation-wobble-skew:hover {
	animation-name: webtecore-animation-wobble-skew;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

@keyframes webtecore-animation-buzz {
	50% {
		transform: translateX(3px) rotate(2deg);
	}
	100% {
		transform: translateX(-3px) rotate(-2deg);
	}
}

.webtecore-animation-buzz:hover {
	animation-name: webtecore-animation-buzz;
	animation-duration: 0.15s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@keyframes webtecore-animation-buzz-out {
	10% {
		transform: translateX(3px) rotate(2deg);
	}
	20% {
		transform: translateX(-3px) rotate(-2deg);
	}
	30% {
		transform: translateX(3px) rotate(2deg);
	}
	40% {
		transform: translateX(-3px) rotate(-2deg);
	}
	50% {
		transform: translateX(2px) rotate(1deg);
	}
	60% {
		transform: translateX(-2px) rotate(-1deg);
	}
	70% {
		transform: translateX(2px) rotate(1deg);
	}
	80% {
		transform: translateX(-2px) rotate(-1deg);
	}
	90% {
		transform: translateX(1px) rotate(0);
	}
	100% {
		transform: translateX(-1px) rotate(0);
	}
}

.webtecore-animation-buzz-out:hover {
	animation-name: webtecore-animation-buzz-out;
	animation-duration: 0.75s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}
