/*
	 ==========================================================================
   Global Skeleton Loader
   Drop-in CSS for page-level skeleton overlays
   ==========================================================================
*/


#skellyFooter,
#kt_aside_menu_wrapper,
#kt_content,
.skellyZone {
	position: relative;
}

/* Overlay */
.skellyOverlay, .skellyOverlayPreLoad {
	position: absolute;
	inset: 0;
	z-index: 80;

	background: rgba(255, 255, 255, 0.85);
	background: rgba(255,255,255,0.70);
	padding: 0px;

	pointer-events: none;

	display: flex;
	flex-direction: column;

	opacity: 1;
	transition: opacity 200ms linear;
}

.skellyOverlayPreLoad {
	z-index: 81;
}

.skellyOverlay.isHiding, .skellyOverlayPreLoad.isHiding {
	opacity: 0;
}

/* For SSR header/footer domReady overlays only */
.skellyOverlay.skellyAutoHideDomReady {
	opacity: 1;
	pointer-events: none;

	/* visible for 80ms, then fade out */
	animation-name: skellyFadeOut;
	animation-delay: 250ms;
	animation-duration: 200ms;
	animation-fill-mode: forwards;
	animation-timing-function: linear;
	will-change: opacity;
}

.skellyOverlay[hidden], .skellyOverlayPreLoad[hidden] {
	display: none !important;
}

.skellyOverlayPreLoad.isPreLoadFadingIn {
	opacity: 0;
}

/* Skeleton blocks */
.skelly {
	position: relative;
	overflow: hidden;
	background: #e3e3e3;
}
.skelly::after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.55) 50%, transparent 100%);
	animation: skellySweep 2s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.skelly::after { animation: none; }
}

.skellyLine {
	height: 4em;
}

.skellyFatLine {
	height: 10em;
}

.skellyBlock {
	flex: 1 1 auto;   /* <-- this is the key */
	min-height: 160px;
}

.skellyWidget {
	height: 20em;
	width: 50%;
	margin: 3px;
}

.skellySidebar {
	height: 100%;
	max-width: 50px;
}

/* Animation */
@keyframes skellySweep {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

@keyframes skellyShimmer {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: 0 0;
	}
}

@keyframes skellyFadeOut {
	0%		{ opacity: 1; }
	100%	{ opacity: 0; }
}

