* {
	margin: 0;
	padding: 0;
}

/***************************************
	 basic style
***************************************/

.loading {
	margin: 1rem;
	width: 48px;
	height: 48px;
	position: relative;

	background: transparent;

	border: 1px solid #000;
}

.loading.disable * {
	-webkit-animation: none;
	animation: none;
}

.loading.disable .leaf {
	background: #ccc;
}

/***************************************
	 circleball
***************************************/
.circleball > div {
	width: 0;
	height: 24px;
	position: absolute;
	top: 0;
	left: 24px;
	background: transparent;
	-webkit-transform-origin: bottom;
	opacity: 0;
	-webkit-animation: circleball 1s steps(8,start) infinite;
}

.circleball > div:nth-of-type(1) {
	-webkit-animation-delay: 0;
}
.circleball > div:nth-of-type(2) {
	-webkit-animation-delay: 0.125s;
}
.circleball > div:nth-of-type(3) {
	-webkit-animation-delay: 0.250s;
}
.circleball > div:nth-of-type(4) {
	-webkit-animation-delay: 0.375s;
}
.circleball > div:nth-of-type(5) {
	-webkit-animation-delay: 0.500s;
}

.circleball .leaf {
	width: 10px;
	height: 10px;
	position: absolute;
	top: 0;
	left: 0;

	border-radius: 50%;
}

.circleball > div:nth-of-type(1) .leaf {
	background: #000;
}
.circleball > div:nth-of-type(2) .leaf {
	background: #333;
}
.circleball > div:nth-of-type(3) .leaf {
	background: #666;
}
.circleball > div:nth-of-type(4) .leaf {
	background: #999;
}
.circleball > div:nth-of-type(5) .leaf {
	background: #ccc;
}