@-webkit-keyframes scale {
	0%, 80% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
	
	45% {
		-webkit-transform: scale(.1);
		transform: scale(.1);
		opacity: .7;
	}
}

@-webkit-keyframes ball-pulse-sync {
	33% {
		-webkit-transform: translateY(10px);
		transform: translateY(10px);
	}
	
	66% {
		-webkit-transform: translateY(-10px);
		transform: translateY(-10px);
	}
	
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes ball-pulse-sync {
	33% {
		-webkit-transform: translateY(10px);
		transform: translateY(10px);
	}
	
	66% {
		-webkit-transform: translateY(-10px);
		transform: translateY(-10px);
	}
	
	to {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@-webkit-keyframes ball-scale {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	
	to {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

@keyframes ball-scale {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	
	to {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

@-webkit-keyframes rotate {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	
	50% {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}
	
	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@keyframes scale {
	30% {
		-webkit-transform: scale(.3);
		transform: scale(.3);
	}
	
	to {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes rotate {
	0% {
		-webkit-transform: rotate(0) scale(1);
		transform: rotate(0) scale(1);
	}
	
	50% {
		-webkit-transform: rotate(180deg) scale(.6);
		transform: rotate(180deg) scale(.6);
	}
	
	to {
		-webkit-transform: rotate(1turn) scale(1);
		transform: rotate(1turn) scale(1);
	}
}

@-webkit-keyframes ball-scale-ripple {
	0% {
		-webkit-transform: scale(.1);
		transform: scale(.1);
		opacity: 1;
	}
	
	70% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: .7;
	}
	
	to {
		opacity: 0;
	}
}

@keyframes ball-scale-ripple {
	0% {
		-webkit-transform: scale(.1);
		transform: scale(.1);
		opacity: 1;
	}
	
	70% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: .7;
	}
	
	to {
		opacity: 0;
	}
}

@-webkit-keyframes ball-scale-ripple-multiple {
	0% {
		-webkit-transform: scale(.1);
		transform: scale(.1);
		opacity: 1;
	}
	
	70% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: .7;
	}
	
	to {
		opacity: 0;
	}
}

@keyframes ball-scale-ripple-multiple {
	0% {
		-webkit-transform: scale(.1);
		transform: scale(.1);
		opacity: 1;
	}
	
	70% {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: .7;
	}
	
	to {
		opacity: 0;
	}
}

@-webkit-keyframes ball-beat {
	50% {
		opacity: .2;
		-webkit-transform: scale(.75);
		transform: scale(.75);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes ball-beat {
	50% {
		opacity: .2;
		-webkit-transform: scale(.75);
		transform: scale(.75);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@-webkit-keyframes ball-scale-multiple {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	
	5% {
		opacity: 1;
	}
	
	to {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

@keyframes ball-scale-multiple {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
		opacity: 0;
	}
	
	5% {
		opacity: 1;
	}
	
	to {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 0;
	}
}

@-webkit-keyframes ball-triangle-path-1 {
	33% {
		-webkit-transform: translate(25px, -50px);
		transform: translate(25px, -50px);
	}
	
	66% {
		-webkit-transform: translate(50px);
		transform: translate(50px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@keyframes ball-triangle-path-1 {
	33% {
		-webkit-transform: translate(25px, -50px);
		transform: translate(25px, -50px);
	}
	
	66% {
		-webkit-transform: translate(50px);
		transform: translate(50px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@-webkit-keyframes ball-triangle-path-2 {
	33% {
		-webkit-transform: translate(25px, 50px);
		transform: translate(25px, 50px);
	}
	
	66% {
		-webkit-transform: translate(-25px, 50px);
		transform: translate(-25px, 50px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@keyframes ball-triangle-path-2 {
	33% {
		-webkit-transform: translate(25px, 50px);
		transform: translate(25px, 50px);
	}
	
	66% {
		-webkit-transform: translate(-25px, 50px);
		transform: translate(-25px, 50px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@-webkit-keyframes ball-triangle-path-3 {
	33% {
		-webkit-transform: translate(-50px);
		transform: translate(-50px);
	}
	
	66% {
		-webkit-transform: translate(-25px, -50px);
		transform: translate(-25px, -50px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@keyframes ball-triangle-path-3 {
	33% {
		-webkit-transform: translate(-50px);
		transform: translate(-50px);
	}
	
	66% {
		-webkit-transform: translate(-25px, -50px);
		transform: translate(-25px, -50px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@-webkit-keyframes ball-pulse-rise-even {
	0% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	
	25% {
		-webkit-transform: translateY(-30px);
		transform: translateY(-30px);
	}
	
	50% {
		-webkit-transform: scale(.4);
		transform: scale(.4);
	}
	
	75% {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
	}
	
	to {
		-webkit-transform: translateY(0);
		-webkit-transform: scale(1);
		transform: translateY(0);
		transform: scale(1);
	}
}

@keyframes ball-pulse-rise-even {
	0% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	
	25% {
		-webkit-transform: translateY(-30px);
		transform: translateY(-30px);
	}
	
	50% {
		-webkit-transform: scale(.4);
		transform: scale(.4);
	}
	
	75% {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
	}
	
	to {
		-webkit-transform: translateY(0);
		-webkit-transform: scale(1);
		transform: translateY(0);
		transform: scale(1);
	}
}

@-webkit-keyframes ball-pulse-rise-odd {
	0% {
		-webkit-transform: scale(.4);
		transform: scale(.4);
	}
	
	25% {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
	}
	
	50% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	
	75% {
		-webkit-transform: translateY(-30px);
		transform: translateY(-30px);
	}
	
	to {
		-webkit-transform: translateY(0);
		-webkit-transform: scale(.75);
		transform: translateY(0);
		transform: scale(.75);
	}
}

@keyframes ball-pulse-rise-odd {
	0% {
		-webkit-transform: scale(.4);
		transform: scale(.4);
	}
	
	25% {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
	}
	
	50% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	
	75% {
		-webkit-transform: translateY(-30px);
		transform: translateY(-30px);
	}
	
	to {
		-webkit-transform: translateY(0);
		-webkit-transform: scale(.75);
		transform: translateY(0);
		transform: scale(.75);
	}
}

@-webkit-keyframes ball-grid-beat {
	50% {
		opacity: .7;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes ball-grid-beat {
	50% {
		opacity: .7;
	}
	
	to {
		opacity: 1;
	}
}

@-webkit-keyframes ball-grid-pulse {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	50% {
		-webkit-transform: scale(.5);
		transform: scale(.5);
		opacity: .7;
	}
	
	to {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes ball-grid-pulse {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	50% {
		-webkit-transform: scale(.5);
		transform: scale(.5);
		opacity: .7;
	}
	
	to {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}
}

@-webkit-keyframes ball-spin-fade-loader {
	50% {
		opacity: .3;
		-webkit-transform: scale(.4);
		transform: scale(.4);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes ball-spin-fade-loader {
	50% {
		opacity: .3;
		-webkit-transform: scale(.4);
		transform: scale(.4);
	}
	
	to {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@-webkit-keyframes ball-spin-loader {
	75% {
		opacity: .2;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes ball-spin-loader {
	75% {
		opacity: .2;
	}
	
	to {
		opacity: 1;
	}
}

@-webkit-keyframes ball-zig {
	33% {
		-webkit-transform: translate(-15px, -30px);
		transform: translate(-15px, -30px);
	}
	
	66% {
		-webkit-transform: translate(15px, -30px);
		transform: translate(15px, -30px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@keyframes ball-zig {
	33% {
		-webkit-transform: translate(-15px, -30px);
		transform: translate(-15px, -30px);
	}
	
	66% {
		-webkit-transform: translate(15px, -30px);
		transform: translate(15px, -30px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@-webkit-keyframes ball-zag {
	33% {
		-webkit-transform: translate(15px, 30px);
		transform: translate(15px, 30px);
	}
	
	66% {
		-webkit-transform: translate(-15px, 30px);
		transform: translate(-15px, 30px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@keyframes ball-zag {
	33% {
		-webkit-transform: translate(15px, 30px);
		transform: translate(15px, 30px);
	}
	
	66% {
		-webkit-transform: translate(-15px, 30px);
		transform: translate(-15px, 30px);
	}
	
	to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@-webkit-keyframes ball-zig-deflect {
	17%, 84% {
		-webkit-transform: translate(-15px, -30px);
		transform: translate(-15px, -30px);
	}
	
	34%, 67% {
		-webkit-transform: translate(15px, -30px);
		transform: translate(15px, -30px);
	}
	
	50%, to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@keyframes ball-zig-deflect {
	17%, 84% {
		-webkit-transform: translate(-15px, -30px);
		transform: translate(-15px, -30px);
	}
	
	34%, 67% {
		-webkit-transform: translate(15px, -30px);
		transform: translate(15px, -30px);
	}
	
	50%, to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@-webkit-keyframes ball-zag-deflect {
	17%, 84% {
		-webkit-transform: translate(15px, 30px);
		transform: translate(15px, 30px);
	}
	
	34%, 67% {
		-webkit-transform: translate(-15px, 30px);
		transform: translate(-15px, 30px);
	}
	
	50%, to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@keyframes ball-zag-deflect {
	17%, 84% {
		-webkit-transform: translate(15px, 30px);
		transform: translate(15px, 30px);
	}
	
	34%, 67% {
		-webkit-transform: translate(-15px, 30px);
		transform: translate(-15px, 30px);
	}
	
	50%, to {
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@-webkit-keyframes line-scale {
	0%, to {
		-webkit-transform: scaley(1);
		transform: scaley(1);
	}
	
	50% {
		-webkit-transform: scaley(.4);
		transform: scaley(.4);
	}
}

@keyframes line-scale {
	0%, to {
		-webkit-transform: scaley(1);
		transform: scaley(1);
	}
	
	50% {
		-webkit-transform: scaley(.4);
		transform: scaley(.4);
	}
}

@-webkit-keyframes line-scale-party {
	0%, to {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	50% {
		-webkit-transform: scale(.5);
		transform: scale(.5);
	}
}

@keyframes line-scale-party {
	0%, to {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	
	50% {
		-webkit-transform: scale(.5);
		transform: scale(.5);
	}
}

@-webkit-keyframes line-scale-pulse-out {
	0%, to {
		-webkit-transform: scaley(1);
		transform: scaley(1);
	}
	
	50% {
		-webkit-transform: scaley(.4);
		transform: scaley(.4);
	}
}

@keyframes line-scale-pulse-out {
	0%, to {
		-webkit-transform: scaley(1);
		transform: scaley(1);
	}
	
	50% {
		-webkit-transform: scaley(.4);
		transform: scaley(.4);
	}
}

@-webkit-keyframes line-scale-pulse-out-rapid {
	0%, 90% {
		-webkit-transform: scaley(1);
		transform: scaley(1);
	}
	
	80% {
		-webkit-transform: scaley(.3);
		transform: scaley(.3);
	}
}

@keyframes line-scale-pulse-out-rapid {
	0%, 90% {
		-webkit-transform: scaley(1);
		transform: scaley(1);
	}
	
	80% {
		-webkit-transform: scaley(.3);
		transform: scaley(.3);
	}
}

@-webkit-keyframes line-spin-fade-loader {
	50% {
		opacity: .3;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes line-spin-fade-loader {
	50% {
		opacity: .3;
	}
	
	to {
		opacity: 1;
	}
}

@-webkit-keyframes triangle-skew-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0);
	}
	
	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg);
	}
	
	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg);
	}
	
	to {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0);
	}
}

@keyframes triangle-skew-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0);
	}
	
	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg);
	}
	
	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg);
	}
	
	to {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0);
	}
}

@-webkit-keyframes square-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0);
	}
	
	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg);
	}
	
	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg);
	}
	
	to {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0);
	}
}

@keyframes square-spin {
	25% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
		transform: perspective(100px) rotateX(180deg) rotateY(0);
	}
	
	50% {
		-webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
		transform: perspective(100px) rotateX(180deg) rotateY(180deg);
	}
	
	75% {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
		transform: perspective(100px) rotateX(0) rotateY(180deg);
	}
	
	to {
		-webkit-transform: perspective(100px) rotateX(0) rotateY(0);
		transform: perspective(100px) rotateX(0) rotateY(0);
	}
}

@-webkit-keyframes rotate_pacman_half_up {
	0%, to {
		-webkit-transform: rotate(270deg);
		transform: rotate(270deg);
	}
	
	50% {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@keyframes rotate_pacman_half_up {
	0%, to {
		-webkit-transform: rotate(270deg);
		transform: rotate(270deg);
	}
	
	50% {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@-webkit-keyframes rotate_pacman_half_down {
	0%, to {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
}

@keyframes rotate_pacman_half_down {
	0%, to {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
}

@-webkit-keyframes pacman-balls {
	75% {
		opacity: .7;
	}
	
	to {
		-webkit-transform: translate(-100px, -6.25px);
		transform: translate(-100px, -6.25px);
	}
}

@keyframes pacman-balls {
	75% {
		opacity: .7;
	}
	
	to {
		-webkit-transform: translate(-100px, -6.25px);
		transform: translate(-100px, -6.25px);
	}
}

@-webkit-keyframes cube-transition {
	25% {
		-webkit-transform: translateX(50px) scale(.5) rotate(-90deg);
		transform: translateX(50px) scale(.5) rotate(-90deg);
	}
	
	50% {
		-webkit-transform: translate(50px, 50px) rotate(-180deg);
		transform: translate(50px, 50px) rotate(-180deg);
	}
	
	75% {
		-webkit-transform: translateY(50px) scale(.5) rotate(-270deg);
		transform: translateY(50px) scale(.5) rotate(-270deg);
	}
	
	to {
		-webkit-transform: rotate(-1turn);
		transform: rotate(-1turn);
	}
}

@keyframes cube-transition {
	25% {
		-webkit-transform: translateX(50px) scale(.5) rotate(-90deg);
		transform: translateX(50px) scale(.5) rotate(-90deg);
	}
	
	50% {
		-webkit-transform: translate(50px, 50px) rotate(-180deg);
		transform: translate(50px, 50px) rotate(-180deg);
	}
	
	75% {
		-webkit-transform: translateY(50px) scale(.5) rotate(-270deg);
		transform: translateY(50px) scale(.5) rotate(-270deg);
	}
	
	to {
		-webkit-transform: rotate(-1turn);
		transform: rotate(-1turn);
	}
}

@-webkit-keyframes spin-rotate {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	
	50% {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}
	
	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@keyframes spin-rotate {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	
	50% {
		-webkit-transform: rotate(180deg);
		transform: rotate(180deg);
	}
	
	to {
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@-webkit-keyframes bar-progress {
	0%, to {
		-webkit-transform: scaleY(20%);
		transform: scaleY(20%);
		opacity: 1;
	}
	
	25%, 75% {
		-webkit-transform: translateX(6%) scaleY(10%);
		transform: translateX(6%) scaleY(10%);
		opacity: .7;
	}
	
	50% {
		-webkit-transform: translateX(20%) scaleY(20%);
		transform: translateX(20%) scaleY(20%);
		opacity: 1;
	}
}

@keyframes bar-progress {
	0%, to {
		-webkit-transform: scaleY(20%);
		transform: scaleY(20%);
		opacity: 1;
	}
	
	25%, 75% {
		-webkit-transform: translateX(6%) scaleY(10%);
		transform: translateX(6%) scaleY(10%);
		opacity: .7;
	}
	
	50% {
		-webkit-transform: translateX(20%) scaleY(20%);
		transform: translateX(20%) scaleY(20%);
		opacity: 1;
	}
}

@-webkit-keyframes bar-swing {
	0%, to {
		left: 0;
	}
	
	50% {
		left: 70%;
	}
}

@keyframes bar-swing {
	0%, to {
		left: 0;
	}
	
	50% {
		left: 70%;
	}
}

@-webkit-keyframes bar-swing-container {
	0%, to {
		left: 0;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	
	50% {
		left: 70%;
		-webkit-transform: translateX(-4px);
		transform: translateX(-4px);
	}
}

@keyframes bar-swing-container {
	0%, to {
		left: 0;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	
	50% {
		left: 70%;
		-webkit-transform: translateX(-4px);
		transform: translateX(-4px);
	}
}

@keyframes leaflet-control-locate-throb {
	0% {
		stroke-width: 1;
	}
	
	50% {
		stroke-width: 3;
		transform: scale(.8);
	}
	
	to {
		stroke-width: 1;
	}
}

@keyframes fa-spin {
	0% {
		transform: rotate(0deg);
	}
	
	to {
		transform: rotate(1turn);
	}
}