.xo-busy-spinner_container {
	position: relative;
	border: none;
	margin: 0;
	padding: 0;
}

.xo-busy-spinner_obscurer {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 98;
	background-color: rgba(0, 0, 0, 0.25);
	animation-name: xo-busy-spinner_obscurer--fadein;
	animation-duration: 2500ms;
	animation-iteration-count: 1;
	animation-timing-function: linear;
}

.xo-busy-spinner_spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 50px;
	width: 50px;
	margin-left: -25px;
	margin-top: -25px;
}

	.xo-busy-spinner_spinner:before {
		width: 50px;
		height: 50px;
		border-left: 2px solid blue;
		border-right: 2px solid blue;
		border-top: 2px solid transparent;
		border-bottom: 2px solid transparent;
		border-radius: 50%;
		display: inline-block;
		content: ' ';
		position: absolute;
		left: 0;
		top: 0;
		animation-name: xo-busy-spinner_spinner--clockwise;
		animation-duration: 1000ms;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
	}

	.xo-busy-spinner_spinner:after {
		width: 25px;
		height: 25px;
		border-top: 2px solid blue;
		border-bottom: 2px solid blue;
		border-left: 2px solid transparent;
		border-right: 2px solid transparent;
		border-radius: 50%;
		display: inline-block;
		content: ' ';
		position: absolute;
		left: 12px;
		top: 12px;
		animation-name: xo-busy-spinner_spinner--anticlockwise;
		animation-duration: 550ms;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
	}

@keyframes xo-busy-spinner_obscurer--fadein {
	0% {
		background-color: rgba(0, 0, 0, 0);
	}
	33% {
		background-color: rgba(0, 0, 0, 0);
	}
	100% {
		background-color: rgba(0, 0, 0, 0.25);
	}
}

@keyframes xo-busy-spinner_spinner--clockwise {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes xo-busy-spinner_spinner--anticlockwise {
	from {
		transform: rotate(360deg);
	}

	to {
		transform: rotate(0deg);
	}
}
