.ntlgmodal-loading {
	&:before {
		content: 'Loading...';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 48px;
		height: 48px;
		margin-top: -24px;	// height/2 + header height
		margin-left: -24px;
		text-align: center;
		z-index: 2000
	}

	&:not(:required):before {
		content: '';
		border-radius: 50%;
		border: 2px solid rgba(0, 0, 0, 0.3);
		border-top-color: rgba(0, 0, 0, 0.6);
		-webkit-animation: loadingSpinner .6s linear infinite;
		animation: loadingSpinner .6s linear infinite;
	}
}

.ntlgjs-loading {
	@include opacity(.5);
	background: #fff;

	&:before {
		content: 'Loading...';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 48px;
		height: 48px;
		margin-top: -24px;	// height/2 + header height
		margin-left: -24px;
		text-align: center;
		z-index: 5000 !important;
	}

	&:not(:required):before {
		content: '';
		border-radius: 50%;
		border: 4px solid rgba(0, 0, 0, 0.4);
		border-top-color: rgba(0, 0, 0, 0.9);
		-webkit-animation: loadingSpinner .6s linear infinite;
		animation: loadingSpinner .6s linear infinite;
	}
	
	&.ntlgjs-loading-dark {
		background: #000;
	
		&:not(:required):before {
			border-color: rgba(0, 0, 0, 0.9);
			border-top-color: rgba(0, 0, 0, 0.4);
		}
	}
}

.ntlgjs-loading-block {
	pointer-events: none;
	@include opacity(.4);
	z-index: 1999;
}

.ntlgjs-loading-backdrop {
	cursor: wait;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 4990 !important;
	background-color: #FFF;
	-webkit-overflow-scrolling: touch;
	outline: 0;
	@include opacity(.4);

	&.ntlgjs-loading-dark {
		background: #000;
	}
}

body > .ntlgjs-loading-backdrop {
	position: fixed;
}

/* Spinner */
@keyframes loadingSpinner {
	to {transform: rotate(360deg);}
}

@-webkit-keyframes loadingSpinner {
	to {-webkit-transform: rotate(360deg);}
}
