.hero-image-container {
	--color-dark-red:#bf1f04;
	--color-red:#c44204;
	--color-orange:#de7d09;
	--color-yellow:#fdd015;
	--color-yellow-green:#9da402;
	--color-green:#1f6a03;
	width:100%;
	position:relative;
	aspect-ratio:1;
	container-type: inline-size;
}

.hero-image-container,
.hero-image-container * {
	box-sizing:border-box;
}

.hero-image-container.sandbox {
	width:500px;
	background-color:white;
}

.hero-image-container:not(.show-grid) .hero-image-grid {
	display:none;
}

.hero-image-container .hero-image-grid-line {
	position:absolute;
	background-color:gray;
	z-index:9;
}

.hero-image-container .hero-image-grid-line.hero-image-grid-line-x {
	top:50%;
	left:0;
	right:0;
	height:3px;
	transform:translateY(-50%);
}

.hero-image-container .hero-image-grid-line.hero-image-grid-line-x-1 {
	top:25%;
	left:0;
	right:0;
	height:1px;
}

.hero-image-container .hero-image-grid-line.hero-image-grid-line-x-2 {
	top:75%;
	left:0;
	right:0;
	height:1px;
}

.hero-image-container .hero-image-grid-line.hero-image-grid-line-y {
	top:0;
	bottom:0;
	left:50%;
	width:3px;
	transform:translateX(-50%);
}

.hero-image-container .hero-image-grid-line.hero-image-grid-line-y-1 {
	top:0;
	bottom:0;
	left:25%;
	width:1px;
}

.hero-image-container .hero-image-grid-line.hero-image-grid-line-y-2 {
	top:0;
	bottom:0;
	left:75%;
	width:1px;
}

.hero-image-container .hero-image {
	position:absolute;
	background-repeat:no-repeat;
}

.hero-image-container .hero-image.hero-image-bg {
	position:absolute;
	background-size:contain;
	background-position:center;
	z-index:1;
	aspect-ratio:237/150;
	width:100%;
	top:53%;
	transform:translateY(-50%);
}

.hero-image-container .hero-image-mg {
	z-index:2;
	width:42%;
	top:54.5%;
	left:50%;
	aspect-ratio:71.1/100;
	transform:translate(-50%, -50%);
	background-size:contain;
	background-position:center;
	overflow:hidden;
}

.hero-image-container .hero-image-mg .hero-image-mg-outer {
	top:0;
	right:0;
	bottom:0;
	left:0;
	display:flex;
	align-items:center;
	justify-content:center;
}

.hero-image-container .hero-image-mg .hero-image-mg-inner {
	height:calc(100% - 15%);
	width:calc(100% - 13%);
	background-color:white;
	background-size:cover;
	/* background-size:111%; */
	/* background-position:center bottom; */
	position:relative;
	z-index:-1;
	padding:6%;
}

.hero-image-container .hero-image-mg .hero-image-mg-inner-start {
	font-family:monospace;
	background-color:#274060;
	color:rgba(255, 255, 255, 0.85);
	position:absolute;
	top:50%;
	right:auto;
	bottom:auto;
	left:50%;
	padding:3cqw;
	width:calc(100% - 4cqw);
	font-size:4cqw;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	font-weight:600;
	flex-direction:column;
	gap:2cqh;
	z-index:4;
	transform:translate(-50%, -50%);
	border-radius:1cqw;
}

.hero-image-container .hero-image-mg .hero-image-mg-inner-start .hero-image-mg-inner-start-loader {
	width:90%;
	margin:0 auto;
	height:1em;
	border:0.2em solid rgba(255, 255, 255, 0.85);
	border-radius:2em;
	background-image:linear-gradient(to right, #e7292c, #e7292c 50%, transparent 50%, transparent);
	background-size:200%;
	background-position-x:100%;
}

.hero-image-container .hero-image.hero-image-fg {
	transform:translate(-50%, -50%);
	position:absolute;
	background-size:contain;
	background-position:center;
	z-index:3;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-building-1 {
	aspect-ratio:154/150;
	left:7.5%;
	top:80.5%;
	width:15%;
	z-index:2;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-building-2 {
	aspect-ratio:129/150;
	left:22%;
	top:80%;
	width:14%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-building-3 {
	aspect-ratio:300/128;
	left:24%;
	top:89%;
	width:33%;
	z-index:3;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-building-4 {
	aspect-ratio:126/150;
	left:54%;
	top:78%;
	width:20%;
	z-index:2;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-building-5 {
	aspect-ratio:257/150;
	left:81%;
	top:85%;
	width:29%;
	z-index:3;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-building-6 {
	aspect-ratio:111/150;
	left:91%;
	top:76%;
	width:13%;
	z-index:2;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble {
	z-index:4;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-1 {
	aspect-ratio:227/150;
	left:9.5%;
	top:64%;
	width:9%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-2 {
	aspect-ratio:294/150;
	left:21%;
	top:17%;
	width:21%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-3 {
	aspect-ratio:300/133;
	left:37%;
	top:82%;
	width:22%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-4 {
	aspect-ratio:227/150;
	left:39%;
	top:19%;
	width:9%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-5 {
	aspect-ratio:237/150;
	left:17%;
	top: 39%;
	width:15%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-6 {
	aspect-ratio:190/150;
	left: 52%;
	top: 19%;
	width:5%;
	display:none;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-7 {
	aspect-ratio:266/150;
	left:77%;
	top:16%;
	width:14%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-8 {
	aspect-ratio:294/150;
	left: 85%;
	top: 38%;
	width:20%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-9 {
	aspect-ratio:248/150;
	left:90%;
	top:62%;
	width:11%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-10 {
	left: 79%;
	top: 12%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-11 {
	left: 1%;
	top: 12%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-10,
.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-11 {
	--color:#2c4566;
	position:relative;
	display:inline-block;
	background-color:var(--color);
	color:white;
	font-weight:700;
	padding:0.75em 1em;
	font-family:sans-serif;
	letter-spacing:0.05em;
	box-shadow:0.25em 0.25em 0 #73a1d8;
	font-size:4cqw;
}

.hero-image-container .hero-image.hero-image-fg .hero-image-bubble-wow-container {
	position:absolute;
	bottom:-50%;
	white-space:nowrap;
	letter-spacing:0;
	transform-origin:center;
}

.hero-image-container .hero-image.hero-image-fg .hero-image-bubble-wow-container svg {
	fill:#e7292c;
	width:10cqw;
}

.hero-image-container .hero-image.hero-image-fg .hero-image-bubble-wow-container div {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-10 .hero-image-bubble-wow-container svg {
	width:10cqw;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-10 .hero-image-bubble-wow-container {
	transform:rotate(20deg);
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-10 .hero-image-bubble-wow-container div {
	top:45%;
	left:49%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-11 .hero-image-bubble-wow-container {
	left:50%;
	/* bottom:-80%; */
	transform:translateX(-50%)/*  rotate(-25deg) */;
	bottom:-15%;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-11 .hero-image-bubble-wow-container svg {
	width:12cqw;
}

.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-11 .hero-image-bubble-wow-container div {
	font-size:3cqw;
	background-color:#e7292c;
	padding:0.4em 0.75em;
	box-shadow:0.25em 0.25em 0 #da8789;
}

/* .hero-image-container .hero-image.hero-image-fg.hero-image-bubble-10::after,
.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-11::after {
	--padding:0.4em;
	content:'';
	position:absolute;
	top:var(--padding);
	right:var(--padding);
	bottom:var(--padding);
	left:var(--padding);
	border:solid 0.1em white;
} */

/* .hero-image-container .hero-image.hero-image-fg.hero-image-bubble-10::after,
.hero-image-container .hero-image.hero-image-fg.hero-image-bubble-11::after {
	content:'';
	position:absolute;
	top:calc(100% - 1px);
	left:1em;
	width:0;
	height:0;
	border-top:solid 1em var(--color);
	border-right:solid 1em transparent;
	border-bottom:0;
	border-left:0;
} */

.hero-image-container .hero-image-bubbles {
	z-index:4;
}

.hero-image-container .hero-image-buildings {
	z-index:3;
}

.hero-image-container .hero-image-bubbles,
.hero-image-container .hero-image-buildings {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

[data-animation-name] {
	animation-direction:normal;
	animation-fill-mode:both;
	animation-play-state:paused;
	transform-origin:center;
}

[data-animation-name='pop-in'] { animation-name:pop-in; }
[data-animation-name='pop-in-center-x-center-y'] { animation-name:pop-in-center-x-center-y; }
[data-animation-name='fade-in'] { animation-name:fade-in; }
[data-animation-name='fade-in-up'] { animation-name:fade-in-up; }
[data-animation-name='fade-in-up-center-y'] { animation-name:fade-in-up-center-y; }
[data-animation-name='fade-in-up-to-center-y'] { animation-name:fade-in-up-to-center-y; }

[data-animation-timing-function='pop'] { animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1.275); }

[data-animation-duration='0.25s'] { animation-duration:0.25s; }
[data-animation-duration='0.50s'] { animation-duration:0.5s; }
[data-animation-duration='0.75s'] { animation-duration:0.75s; }
[data-animation-duration='1.00s'] { animation-duration:1s; }
[data-animation-duration='1.25s'] { animation-duration:1.25s; }
[data-animation-duration='1.50s'] { animation-duration:1.5s; }
[data-animation-duration='1.75s'] { animation-duration:1.75s; }
[data-animation-duration='2.00s'] { animation-duration:2s; }
[data-animation-duration='2.25s'] { animation-duration:2.25s; }
[data-animation-duration='2.50s'] { animation-duration:2.5s; }
[data-animation-duration='2.75s'] { animation-duration:2.75s; }
[data-animation-duration='3.00s'] { animation-duration:3s; }

[data-animation-delay='0.05s'] { animation-delay:0.05s; }
[data-animation-delay='0.10s'] { animation-delay:0.1s; }
[data-animation-delay='0.15s'] { animation-delay:0.15s; }
[data-animation-delay='0.20s'] { animation-delay:0.2s; }
[data-animation-delay='0.25s'] { animation-delay:0.25s; }
[data-animation-delay='0.30s'] { animation-delay:0.3s; }
[data-animation-delay='0.35s'] { animation-delay:0.35s; }
[data-animation-delay='0.40s'] { animation-delay:0.4s; }
[data-animation-delay='0.45s'] { animation-delay:0.45s; }
[data-animation-delay='0.50s'] { animation-delay:0.5s; }
[data-animation-delay='0.55s'] { animation-delay:0.55s; }
[data-animation-delay='0.60s'] { animation-delay:0.6s; }
[data-animation-delay='0.65s'] { animation-delay:0.65s; }
[data-animation-delay='0.70s'] { animation-delay:0.7s; }
[data-animation-delay='0.75s'] { animation-delay:0.75s; }
[data-animation-delay='0.80s'] { animation-delay:0.8s; }
[data-animation-delay='0.85s'] { animation-delay:0.85s; }
[data-animation-delay='0.90s'] { animation-delay:0.9s; }
[data-animation-delay='0.95s'] { animation-delay:0.95s; }
[data-animation-delay='1.00s'] { animation-delay:1s; }
[data-animation-delay='1.05s'] { animation-delay:1.05s; }
[data-animation-delay='1.10s'] { animation-delay:1.1s; }
[data-animation-delay='1.15s'] { animation-delay:1.15s; }
[data-animation-delay='1.20s'] { animation-delay:1.2s; }
[data-animation-delay='1.25s'] { animation-delay:1.25s; }
[data-animation-delay='1.30s'] { animation-delay:1.30s; }
[data-animation-delay='1.35s'] { animation-delay:1.35s; }
[data-animation-delay='1.40s'] { animation-delay:1.40s; }
[data-animation-delay='1.45s'] { animation-delay:1.45s; }
[data-animation-delay='1.50s'] { animation-delay:1.50s; }
[data-animation-delay='1.55s'] { animation-delay:1.55s; }
[data-animation-delay='1.60s'] { animation-delay:1.60s; }
[data-animation-delay='1.65s'] { animation-delay:1.65s; }
[data-animation-delay='1.70s'] { animation-delay:1.70s; }
[data-animation-delay='1.75s'] { animation-delay:1.75s; }
[data-animation-delay='1.80s'] { animation-delay:1.80s; }
[data-animation-delay='1.85s'] { animation-delay:1.85s; }
[data-animation-delay='1.90s'] { animation-delay:1.90s; }
[data-animation-delay='1.95s'] { animation-delay:1.95s; }
[data-animation-delay='2.00s'] { animation-delay:2.00s; }
[data-animation-delay='2.05s'] { animation-delay:2.05s; }
[data-animation-delay='2.10s'] { animation-delay:2.1s; }
[data-animation-delay='2.15s'] { animation-delay:2.15s; }
[data-animation-delay='2.20s'] { animation-delay:2.2s; }
[data-animation-delay='2.25s'] { animation-delay:2.25s; }
[data-animation-delay='2.30s'] { animation-delay:2.30s; }
[data-animation-delay='2.35s'] { animation-delay:2.35s; }
[data-animation-delay='2.40s'] { animation-delay:2.40s; }
[data-animation-delay='2.45s'] { animation-delay:2.45s; }
[data-animation-delay='2.50s'] { animation-delay:2.50s; }
[data-animation-delay='2.55s'] { animation-delay:2.55s; }
[data-animation-delay='2.60s'] { animation-delay:2.60s; }
[data-animation-delay='2.65s'] { animation-delay:2.65s; }
[data-animation-delay='2.70s'] { animation-delay:2.70s; }
[data-animation-delay='2.75s'] { animation-delay:2.75s; }
[data-animation-delay='2.80s'] { animation-delay:2.80s; }
[data-animation-delay='2.85s'] { animation-delay:2.85s; }
[data-animation-delay='2.90s'] { animation-delay:2.90s; }
[data-animation-delay='2.95s'] { animation-delay:2.95s; }
[data-animation-delay='3.00s'] { animation-delay:3.00s; }

@keyframes pop-in {
	from { scale:0; }
	to { scale:1; }
}

@keyframes pop-in-center-x-center-y {
	from { transform:translate(-50%,-50%) scale(0); }
	to { transform:translate(-50%,-50%) scale(1); }
}

@keyframes fade-in-up {
	from {
		transform:translateY(10%);
		opacity:0;
	}
}

@keyframes fade-in-up-to-center-y {
	from {
		transform:translateY(-30%);
		opacity:0;
	}
}

@keyframes fade-in-up-center-y {
	from {
		transform:translate(-50%, -20%);
		opacity:0;
	}
}

@keyframes fade-in {
	to { opacity:1; }
}

@keyframes fade-out {
	to { opacity:0; }
}

@keyframes fade-in-out-1-5 {
	0% { opacity:0; }
	20% { opacity:1; }
}

@keyframes fade-in-out-2-5 {
	20% { opacity:0; }
	40% { opacity:1; }
}

@keyframes fade-in-out-3-5 {
	40% { opacity:0; }
	60% { opacity:1; }
}

@keyframes fade-in-out-4-5 {
	60% { opacity:0; }
	80% { opacity:1; }
}

@keyframes fade-in-out-5-5 {
	80% { opacity:0; }
	100% { opacity:1; }
}

@keyframes fade-out-in {
	0%, 100% { opacity:1; }
	50% { opacity:0; }
}

@keyframes bg-color-to-yellow-green {
	to { background-color:var(--color-yellow-green); }
}

@keyframes bg-color-to-yellow {
	to { background-color:var(--color-yellow); }
}

@keyframes bg-color-to-orange {
	to { background-color:var(--color-orange); }
}

@keyframes bg-color-to-red {
	to { background-color:var(--color-red); }
}

@keyframes bg-color-to-dark-red {
	to { background-color:var(--color-dark-red); }
}

@keyframes pulse {
	from {
		transform: scale3d(1, 1, 1);
	}

	50% {
		transform: scale3d(1.05, 1.05, 1.05);
	}

	to {
		transform: scale3d(1, 1, 1);
	}
}