2025-02-24 12:37:15 +00:00
|
|
|
@tailwind base;
|
|
|
|
|
@tailwind components;
|
|
|
|
|
@tailwind utilities;
|
|
|
|
|
|
|
|
|
|
:root {
|
2025-06-01 14:18:32 +01:00
|
|
|
--background: #ffffff;
|
|
|
|
|
--foreground: #171717;
|
2025-02-24 12:37:15 +00:00
|
|
|
}
|
|
|
|
|
|
2025-03-19 19:20:18 +00:00
|
|
|
/* @media (prefers-color-scheme: dark) {
|
2025-02-24 12:37:15 +00:00
|
|
|
:root {
|
|
|
|
|
--background: #0a0a0a;
|
|
|
|
|
--foreground: #ededed;
|
|
|
|
|
}
|
2025-03-19 19:20:18 +00:00
|
|
|
} */
|
2025-02-24 12:37:15 +00:00
|
|
|
|
|
|
|
|
body {
|
2025-06-01 14:18:32 +01:00
|
|
|
color: var(--foreground);
|
|
|
|
|
background: var(--background);
|
2025-02-24 12:37:15 +00:00
|
|
|
}
|
2025-03-23 15:24:10 +00:00
|
|
|
|
|
|
|
|
/* Increase specificity and use !important where necessary */
|
|
|
|
|
.mapboxgl-popup .mapboxgl-popup-content {
|
2025-06-01 14:18:32 +01:00
|
|
|
@apply rounded-xl p-4 px-5 drop-shadow-lg border border-neutral-300 max-w-xs !important;
|
2025-03-23 15:24:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Hide the popup tip */
|
|
|
|
|
.mapboxgl-popup .mapboxgl-popup-tip {
|
2025-06-01 14:18:32 +01:00
|
|
|
display: none !important;
|
2025-03-23 15:24:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Child elements */
|
|
|
|
|
.mapboxgl-popup-content h3 {
|
2025-06-01 14:18:32 +01:00
|
|
|
@apply text-sm font-medium text-neutral-800 !important;
|
2025-03-23 15:24:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mapboxgl-popup-content p {
|
2025-06-01 14:18:32 +01:00
|
|
|
@apply text-xs text-neutral-600 !important;
|
2025-03-23 15:24:10 +00:00
|
|
|
}
|
|
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
.mapboxgl-popup-content p + p {
|
|
|
|
|
@apply text-neutral-500 !important;
|
2025-03-23 15:24:10 +00:00
|
|
|
}
|
2025-05-25 19:59:53 +01:00
|
|
|
|
|
|
|
|
.icon-link {
|
2025-06-01 14:18:32 +01:00
|
|
|
/* default styles if needed */
|
2025-05-25 19:59:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.icon-link:hover,
|
|
|
|
|
.icon-link:focus {
|
2025-06-01 14:18:32 +01:00
|
|
|
background-color: #16424b;
|
2025-05-25 19:59:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.icon-link:hover h3,
|
|
|
|
|
.icon-link:focus h3,
|
|
|
|
|
.icon-link:hover p,
|
|
|
|
|
.icon-link:focus p {
|
2025-06-01 14:18:32 +01:00
|
|
|
color: #fff !important;
|
2025-05-25 19:59:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.icon-link:hover h3,
|
|
|
|
|
.icon-link:hover p,
|
|
|
|
|
.icon-link:focus h3,
|
|
|
|
|
.icon-link:focus p {
|
2025-06-01 14:18:32 +01:00
|
|
|
color: #111;
|
|
|
|
|
/* or black */
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ---- LAVA FLOOD OVERLAY ---- */
|
|
|
|
|
.lava-flood-overlay {
|
2025-06-01 14:18:32 +01:00
|
|
|
pointer-events: none;
|
|
|
|
|
position: fixed;
|
|
|
|
|
top: -100vh;
|
|
|
|
|
left: 0;
|
|
|
|
|
right: 0;
|
|
|
|
|
width: 100vw;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
z-index: 9999;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
transition: top 0.9s cubic-bezier(0.6, 0, 0.2, 1);
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.lava-flood-overlay.lava-active {
|
2025-06-01 14:18:32 +01:00
|
|
|
top: 0;
|
|
|
|
|
transition: top 0.33s cubic-bezier(0.6, 0, 0.2, 1);
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.lava-flood-overlay img,
|
|
|
|
|
.lava-gradient {
|
2025-06-01 14:18:32 +01:00
|
|
|
width: 100vw;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
object-fit: cover;
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
user-select: none;
|
|
|
|
|
filter: brightness(1.15) saturate(1.8) drop-shadow(0 0 80px #ff5500);
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ---- INSANE SCREEN SHAKE (LinkedIn) ---- */
|
|
|
|
|
@keyframes supershake {
|
2025-06-01 14:18:32 +01:00
|
|
|
0% {
|
|
|
|
|
transform: translate(0, 0) rotate(0);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
5% {
|
|
|
|
|
transform: translate(-20px, 5px) rotate(-2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
10% {
|
|
|
|
|
transform: translate(18px, -8px) rotate(2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
15% {
|
|
|
|
|
transform: translate(-22px, 8px) rotate(-4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
20% {
|
|
|
|
|
transform: translate(22px, -2px) rotate(4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
25% {
|
|
|
|
|
transform: translate(-18px, 12px) rotate(-2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
30% {
|
|
|
|
|
transform: translate(18px, -10px) rotate(2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
35% {
|
|
|
|
|
transform: translate(-22px, 14px) rotate(-4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
40% {
|
|
|
|
|
transform: translate(22px, -12px) rotate(4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
45% {
|
|
|
|
|
transform: translate(-18px, 8px) rotate(-2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
50% {
|
|
|
|
|
transform: translate(18px, -14px) rotate(4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
55% {
|
|
|
|
|
transform: translate(-22px, 12px) rotate(-4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
60% {
|
|
|
|
|
transform: translate(22px, -8px) rotate(2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
65% {
|
|
|
|
|
transform: translate(-18px, 10px) rotate(-2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
70% {
|
|
|
|
|
transform: translate(18px, -12px) rotate(2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
75% {
|
|
|
|
|
transform: translate(-22px, 14px) rotate(-4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
80% {
|
|
|
|
|
transform: translate(22px, -10px) rotate(4deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
85% {
|
|
|
|
|
transform: translate(-18px, 8px) rotate(-2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
90% {
|
|
|
|
|
transform: translate(18px, -14px) rotate(2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
95% {
|
|
|
|
|
transform: translate(-20px, 5px) rotate(-2deg);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
|
2025-06-01 14:18:32 +01:00
|
|
|
100% {
|
|
|
|
|
transform: translate(0, 0) rotate(0);
|
|
|
|
|
}
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.shake-screen {
|
2025-06-01 14:18:32 +01:00
|
|
|
animation: supershake 1s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* ---- CRACK + COLLAPSE OVERLAY (X icon) ---- */
|
|
|
|
|
.crack-overlay {
|
2025-06-01 14:18:32 +01:00
|
|
|
pointer-events: none;
|
|
|
|
|
position: fixed;
|
|
|
|
|
inset: 0;
|
|
|
|
|
width: 100vw;
|
|
|
|
|
height: 100vh;
|
|
|
|
|
z-index: 9999;
|
|
|
|
|
transition: transform 1.1s cubic-bezier(0.65, 0.05, 0.45, 1), opacity 0.5s;
|
|
|
|
|
will-change: transform, opacity;
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.crack {
|
2025-06-01 14:18:32 +01:00
|
|
|
position: absolute;
|
|
|
|
|
pointer-events: none;
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.crack1 {
|
2025-06-01 14:18:32 +01:00
|
|
|
width: 35vw;
|
|
|
|
|
left: 10vw;
|
|
|
|
|
top: 22vh;
|
|
|
|
|
opacity: 0.8;
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.crack2 {
|
2025-06-01 14:18:32 +01:00
|
|
|
width: 32vw;
|
|
|
|
|
right: 12vw;
|
|
|
|
|
top: 42vh;
|
|
|
|
|
opacity: 0.7;
|
|
|
|
|
transform: rotate(-8deg);
|
2025-05-31 17:54:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Add more .crackN classes if using more cracks */
|
|
|
|
|
|
|
|
|
|
/* Collapse falling effect */
|
|
|
|
|
.crack-collapse {
|
2025-06-01 14:18:32 +01:00
|
|
|
transform: perspective(900px) rotateX(75deg) translateY(80vh) scale(0.9);
|
|
|
|
|
opacity: 0;
|
|
|
|
|
transition: transform 1.1s cubic-bezier(0.65, 0.05, 0.45, 1), opacity 0.6s;
|
|
|
|
|
}
|