/* Haygoodies Themes: decorations. Everything here is picture-only and never catches clicks. */
.hgt-art, .hgt-fly, .hgt-snow, .hgt-strip { pointer-events: none; }
/* the art sits behind the section's content without lifting the section above its neighbours */
.hgt-has-art { isolation: isolate; }

/* top-section art */
.hgt-art { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hgt-star { position: absolute; width: var(--s, 2px); height: var(--s, 2px); border-radius: 50%; background: #fff; box-shadow: 0 0 6px rgba(255, 255, 255, .8); animation: hgt-twinkle var(--t, 3s) ease-in-out var(--d, 0s) infinite; }
@keyframes hgt-twinkle { 0%, 100% { opacity: .15; } 50% { opacity: 1; } }
.hgt-moon { position: absolute; left: 3%; top: 5%; width: clamp(64px, 8vw, 120px); filter: drop-shadow(0 0 28px rgba(255, 241, 201, .5)); }
.hgt-christmas .hgt-moon { filter: drop-shadow(0 0 28px rgba(220, 235, 255, .55)); }
.hgt-moon svg { display: block; width: 100%; height: auto; }
.hgt-lights { position: absolute; left: 0; right: 0; top: 6px; width: 100%; height: 64px; }
.hgt-bulb { animation: hgt-blink 2.4s ease-in-out infinite; }
@keyframes hgt-blink { 0%, 100% { opacity: 1; filter: drop-shadow(0 0 6px currentColor); } 50% { opacity: .35; filter: none; } }

/* flyers */
.hgt-fly { position: fixed; inset: 0; z-index: 9990; overflow: hidden; }
.hgt-bat, .hgt-ghost { position: absolute; left: 0; width: var(--w, 40px); animation: hgt-across var(--f, 30s) linear var(--fd, 0s) infinite; opacity: 0; }
.hgt-bat.ltr { animation-name: hgt-across-ltr; }
.hgt-bat svg { display: block; width: 100%; fill: #3b2766; filter: drop-shadow(0 0 3px rgba(255, 170, 225, .9)) drop-shadow(0 0 10px rgba(200, 150, 255, .55)); }
.hgt-wing { transform-box: fill-box; transform-origin: 100% 50%; animation: hgt-flap .22s ease-in-out infinite alternate; }
.hgt-wing.r { transform-origin: 0% 50%; }
@keyframes hgt-flap { from { transform: scaleY(1); } to { transform: scaleY(.35); } }
.hgt-ghost svg { display: block; width: 100%; filter: drop-shadow(0 0 12px rgba(220, 200, 255, .6)); }
.hgt-bob { animation: hgt-bob 2.6s ease-in-out infinite alternate; }
@keyframes hgt-bob { from { transform: translateY(-8px) rotate(-4deg); } to { transform: translateY(8px) rotate(4deg); } }
@keyframes hgt-across { 0% { transform: translateX(calc(100vw + 80px)); opacity: 0; } 2% { opacity: .95; } 38% { opacity: .95; } 40%, 100% { transform: translateX(-120px); opacity: 0; } }
@keyframes hgt-across-ltr { 0% { transform: translateX(-120px) scaleX(-1); opacity: 0; } 2% { opacity: .95; } 38% { opacity: .95; } 40%, 100% { transform: translateX(calc(100vw + 80px)) scaleX(-1); opacity: 0; } }

/* snow */
.hgt-snow { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 9990; }

/* footer strip */
.hgt-strip { position: relative; height: clamp(70px, 10vw, 150px); overflow: hidden; margin-bottom: -1px; }
.hgt-strip svg { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; display: block; }
.hgt-ghost-foot { animation-duration: 30s; }

@media (prefers-reduced-motion: reduce) {
	.hgt-star, .hgt-bulb, .hgt-wing, .hgt-bob { animation: none !important; }
	.hgt-fly, .hgt-ghost-foot { display: none !important; }
}
@media print { .hgt-art, .hgt-fly, .hgt-snow, .hgt-strip { display: none !important; } }
