.selection:after {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	content: '';
	opacity: 0;
	background-image: radial-gradient(circle, #000 10%, transparent 10.01%);
	background-repeat: no-repeat;
	background-position: 50%;
	transform: scale(10, 10);
	transition: transform 0.5s, opacity 1s;
}
.selection-active.selection:after {
	transform: scale(0, 0);
	opacity: 0.2;
	transition: 0s;
}

.movement-transition {
	transition: top 0.2s linear, left 0.2s linear;
	-webkit-transition: top 0.2s linear, left 0.2s linear;
}

.color-transition {
	transition: background-color 1s linear;
	-webkit-transition: background-color 1s linear;
}

.size-transition {
	transition: width 0.2s linear, height 0.2s linear;
	-webkit-transition: width 0.2s linear, height 0.2s linear;
}
.opacity-transition {
	transition: opacity 0.5s linear;
	-webkit-transition: opacity 0.5s linear; 
}

.spinner-holder {
	text-align: center;
	font-size: 20px;
	color: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -40px 0px 0px -100px;
	width: 200px;
}
	.spinner {
		display: inline-block;
		vertical-align: middle;
		margin: 0px auto;
		background-color: #dc2fb2;
		border-radius: 100%;  
		-webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
		animation: sk-scaleout 1.0s infinite ease-in-out;
	}
	.spinner.white { background-color: #ffffff; }
	.spinner.s80 { width: 80px; height: 80px; }
	.spinner.s40 { width: 40px; height: 40px; }
	.spinner.s20 { width: 17px; height: 17px; }


.loader {
	height: 2px;
	width: 100%;
	margin-top: 10px;
	position: relative;
	overflow: hidden;
	background-color: #414141;
}
	.loader span {
		display: inline-block;
		vertical-align: top;
		width: 50%;
		height: 2px;

		background: #ffffff;
		background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.75) 33%,rgba(255,255,255,0.75) 66%,rgba(255,255,255,0) 100%);
		background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.75) 33%, rgba(255,255,255,0.75) 66%, rgba(255,255,255,0) 100%);
		background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.75) 33%,rgba(255,255,255,0.75) 66%,rgba(255,255,255,0) 100%);

		animation: loading 1.5s infinite linear;
		-webkit-animation: loading 1.5s infinite linear;
	}

@keyframes loading {
    0%   { transform: translate(-100%, 0); }
    100% { transform: translate(100%, 0); }
}
@-webkit-keyframes loading {
    0%   { -webkit-transform: translate(-100%, 0); }
    100% { -webkit-transform: translate(100%, 0); }
}
@keyframes sk-scaleout {
	0% { transform: scale(0); }
	100% { transform: scale(1.0); opacity: 0; }
}
@-webkit-keyframes sk-scaleout {
	0% { -webkit-transform: scale(0); }
	100% { -webkit-transform: scale(1.0); opacity: 0; }
}