@charset "UTF-8"; /* ==================================================
 * Lopwon LitCities Plugin Main Stylesheet by Lopwon.
 * www.Lopwon.com
 * 2025-04-08
 * CC BY-NC-SA
 * ----------------------------------------------------------------- */

body {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 100%;
}

#llc-container {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 0.5em;
	background-color: #f5f5f5;
	overflow: hidden;
}

#llc-map {
	width: 100%;
	height: 100%;
	min-height: 640px;
	max-height: 100vh;
}

.llc-message {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 9;
}

.llc-powered {
	position: absolute;
	left: 0.5em;
	bottom: 0.5em;
	padding: 0.5em;
	font-size: .6rem;
	color: #ddd;
}

.llc-powered:hover {
	color: #bbb;
}

.llc-powered:hover a {
	color: #bbb;
}

.llc-powered a {
	color: #ddd;
	text-decoration: none;
}

.llc-powered a:hover {
	color: #bbb;
}

.llc-legend {
	display: flex;
	align-items: center;
	gap: 1.5em;
	position: absolute;
	left: 0.5em;
	bottom: 3em;
	padding: 0.5em;
	font-size: 62.5%;
	z-index: 9;
}

.llc-legend-item {
	display: flex;
	align-items: center;
	gap: 0.5em;
}

.llc-legend-color {
	width: 1em;
	height: 1em;
	border-radius: 0.25em;
}

.llc-legend-lit {
	background-color: #ff6b6b;
}

.llc-legend-footprint {
	background-color: #00bcbc;
}

.llc-tooltip {
	position: fixed;
	top: 50%;
	left: 50%;
	padding: 1em 2em;
	max-width: 320px;
	font-size: 87.5%;
	color: white;
	text-align: center;
	border-radius: 1em;
	background-color: rgba(0 0 0 / 95%);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	transform: translate(-50%, -50%);
	animation: llc-fadeInOut 5s ease forwards;
	z-index: 10;
}

@keyframes llc-fadeInOut {
	0% {
		opacity: 0;
		transform: translate(-50%, -60%);
	}
	20% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
	80% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
	100% {
		opacity: 0;
		transform: translate(-50%, -40%);
	}
}

.llc-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0 0 0 / 5%);
	animation: llc-overlayFade 5s ease-in-out forwards;
	z-index: 9;
}

@keyframes llc-overlayFade {
	0% { opacity: 0; }
	20% { opacity: 1; }
	80% { opacity: 1; }
	100% { opacity: 0; }
}