.loader {
	overflow: hidden;
	position: relative;	
	border-radius:50%;
	background-color: var(--active-bg-color); 
    aspect-ratio: 1 / 1;
    height: 5rem;
	margin: 1rem auto;
	/*box-shadow: #7c7c7c 0.0625rem 0.0625rem 0.25rem 0;*/
}
.loader::after {
	content: "";
	position: absolute;	
	box-sizing: border-box;
	background-color: transparent;	
	background-image: url('/images/loader_open.gif');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
	width: 80%;
	height: 80%;
	top: 0;
    left: 10%;
	pointer-events: none;
}

.panel-content:has(.loader-container) {
	position:relative;
}

.panel-content:has(.loader-container):not(:has(.loader-container.hidden)) div:not(.loader-container):not(.loader) {
	opacity:.5;
}

.loader-container {	
	position: absolute;
    width: 100%;
    height: 100%;
    border: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    left: 0;
    top: 0;
    z-index: 1000;
	display: flex;	
    flex-direction: column;
	justify-content: center;
}

:root {
	--loading-dot-color1: #fff;
	--loading-dot-color2: var(--second-bg-color);
	--loading-dot-size: .375rem;
	--loading-dot-gap1: .5rem;
	--loading-dot-gap2: -0.5rem;
}
.loading-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.loading-wrapper .loading-dot{ 
	margin-right: 1.5rem;
}	
.loading-dot {
	width: var(--loading-dot-size);
	margin-right: 1.5rem;
	margin-top: .5rem;	
	aspect-ratio: 1;
	border-radius: 50%;
	animation: loading-dot-animation 1s infinite linear alternate;
}
.loading:has(.loading-dot.dot-only) {
	display: flex !important;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	column-gap: .7rem;	
}
.loading-dot.dot-only {
	width: .275rem !important;
}
.serials-next .loading-dot {
	margin-left: 1rem;
}
@keyframes loading-dot-animation {
    0%  {
		box-shadow: var(--loading-dot-gap1) 0 var(--loading-dot-color1), var(--loading-dot-gap2) 0 var(--loading-dot-color2); 
		background: var(--loading-dot-color1) 
	}
    33% {
		box-shadow: var(--loading-dot-gap1) 0 var(--loading-dot-color1), var(--loading-dot-gap2) 0 var(--loading-dot-color2); 
		background: var(--loading-dot-color2)
	}
    66% {
		box-shadow: var(--loading-dot-gap1) 0 var(--loading-dot-color2), var(--loading-dot-gap2) 0 var(--loading-dot-color1); 
		background: var(--loading-dot-color2)
	}
    100% {
		box-shadow: var(--loading-dot-gap1) 0 var(--loading-dot-color2), var(--loading-dot-gap2) 0 var(--loading-dot-color1); 
		background: var(--loading-dot-color1) 
	}
}
@keyframes loading-dot-animation1 {
    0%  {box-shadow: var(--loading-animation-gap) 0 var(--loading-dot-color), -var(--loading-animation-gap) 0 #0002;background: #000 }
    33% {box-shadow: var(--loading-animation-gap) 0 #000, -var(--loading-animation-gap) 0 #0002;background: #0002}
    66% {box-shadow: var(--loading-animation-gap) 0 #0002,-var(--loading-animation-gap) 0 #000; background: #0002}
    100%{box-shadow: var(--loading-animation-gap) 0 #0002,-var(--loading-animation-gap) 0 #000; background: #000 }
}