.app-loading-mask {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.app-loading-mask.is-visible {
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
}

.app-loading-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(2px);
}

.app-loading-spinner {
	position: relative;
	width: 52px;
	height: 52px;
	border: 4px solid #e5e5e5;
	border-top-color: #337ab7;
	border-radius: 50%;
	animation: app-loading-spin 0.75s linear infinite;
}

@keyframes app-loading-spin {
	to {
		transform: rotate(360deg);
	}
}

body.app-is-loading {
	overflow: hidden;
}

.app-loading-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
