/* ANIMATIONS */
@keyframes spin {
	100% {
		transform: rotate(1turn);
	}
}

/* STYLES */
.loader:where(:not(.chroma-flow, .chroma-flow *)) {
	width: 1.25rem;
	max-width: 75%;
	height: 1.25rem;
	max-height: 75%;
	color: var(--color-loader-fg, var(--color-gray-900));
	position: absolute;
	pointer-events: none;
	animation: spin 1s linear infinite;
}

.loader circle:where(:not(.chroma-flow, .chroma-flow *)) {
	opacity: 0.25;
}

.loader path:where(:not(.chroma-flow, .chroma-flow *)) {
	opacity: 0.75;
}

.waiting-container:where(:not(.chroma-flow, .chroma-flow *)) {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 16px;
	transition: opacity 0.25s;
	opacity: 1;
}

.waiting-container.hidden {
	opacity: 0;
}

.waiting-container.no-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
}

.waiting-container.overlay:where(:not(.chroma-flow, .chroma-flow *)) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
}

.waiting-container.fixed {
	position: fixed;
	z-index: 9999;
}

.waiting-overlay:where(:not(.chroma-flow, .chroma-flow *)) {
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.80);
}

.waiting-indicator {
	width: 16px;
	height: 16px;
	background: url('images/ajax-loader-white.gif');
	background-repeat: no-repeat;
}

.waiting-disabled .waiting-indicator,
.waiting-opaque .waiting-indicator,
.waiting-hidden .waiting-indicator {
	background-image: none;
	background-repeat: no-repeat;
}

.waiting-disabled .waiting-loader, 
.waiting-opaque .waiting-loader,
.waiting-hidden .waiting-loader {
	display: none;
}

.waiting-disabled .waiting-overlay {
	background: rgba(0, 0, 0, 0.15);
}

.waiting-opaque .waiting-overlay {
	background: rgb(245, 245, 245);
}

.waiting-hidden .waiting-overlay {
	background: rgba(255, 255, 255, 1.00);
}

/*
.waiting-disabled {
  filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='3');
  -webkit-filter: url(#blur-filter);
  filter: url(#blur-filter);
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

.overlay .blur-svg {
  display: none;
}
*/

.waiting-indicator.center, .waiting-indicator.top, .waiting-indicator.bottom {
	position: absolute;
}

.waiting-indicator.center {
	top: 50%;
	left: 50%;
	margin: -8px 0 0 -8px;
}

.waiting-indicator.top {
	top: 0;
	margin-top: 0;
}

.waiting-indicator.bottom {
	top: auto;
	bottom: 0;
	margin-top: 0;
}

.waiting-indicator.left {
	left: 0;
	margin-left: 0;
}

.waiting-indicator.right {
	left: auto;
	right: 0;
	margin-left: 0;
}