Spaces:
Configuration error
Configuration error
File size: 4,487 Bytes
b07886f 5e12356 b07886f 5e12356 89c1bd5 5e12356 89c1bd5 5e12356 07a7ea5 5e12356 07a7ea5 5e12356 07a7ea5 5e12356 b19431d 89c1bd5 5e12356 07a7ea5 5e12356 07a7ea5 5e12356 07a7ea5 5e12356 07a7ea5 5e12356 07a7ea5 5e12356 07a7ea5 5e12356 89c1bd5 5e12356 b19431d 89c1bd5 5e12356 b19431d 07a7ea5 5e12356 07a7ea5 b07886f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Surprise for Mummy</title>
<style>
/* --- CSS STYLES --- */
body {
margin: 0;
padding: 0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(180deg, #fff5f7 0%, #fce4ec 100%);
display: flex;
flex-direction: column;
align-items: center;
min-height: 100vh;
color: #4a4a4a;
}
header {
margin-top: 40px;
text-align: center;
}
h1 { color: #d81b60; font-weight: 300; }
/* Balloon Area */
.balloon-container {
display: flex;
gap: 20px;
margin: 50px 0;
flex-wrap: wrap;
justify-content: center;
}
.balloon {
width: 70px;
height: 90px;
border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%;
cursor: pointer;
transition: transform 0.2s ease-in-out;
box-shadow: inset -5px -5px 10px rgba(0,0,0,0.1);
animation: float 3s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-15px); }
}
.balloon:hover { transform: scale(1.2); }
/* Polaroid Popup Overlay */
.overlay {
display: none; /* Hidden by default */
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background: rgba(0, 0, 0, 0.7);
justify-content: center;
align-items: center;
z-index: 1000;
}
.polaroid {
background: white;
padding: 15px 15px 50px 15px;
box-shadow: 0 15px 30px rgba(0,0,0,0.3);
text-align: center;
max-width: 300px;
border-radius: 2px;
}
.polaroid img {
width: 100%;
height: 350px;
object-fit: cover; /* Keeps photo from stretching */
border: 1px solid #eee;
}
.caption {
margin-top: 20px;
font-size: 1.2rem;
font-family: 'Cursive', sans-serif;
color: #d81b60;
}
.close-btn {
margin-top: 20px;
padding: 8px 20px;
background: #d81b60;
color: white;
border: none;
border-radius: 20px;
cursor: pointer;
}
</style>
</head>
<body>
<header>
<h1>Pop a Balloon, Mummy! 🎈</h1>
<p>Each one has a special memory inside.</p>
</header>
<div class="balloon-container">
<div class="balloon" style="background-color: #ff80ab;" onclick="openSurprise(0)"></div>
<div class="balloon" style="background-color: #ba68c8;" onclick="openSurprise(1)"></div>
<div class="balloon" style="background-color: #4fc3f7;" onclick="openSurprise(2)"></div>
</div>
<div class="overlay" id="overlay">
<div class="polaroid">
<img id="display-image" src="" alt="Memory">
<div class="caption" id="display-caption"></div>
<button class="close-btn" onclick="closeSurprise()">Close</button>
</div>
</div>
<script>
/* --- CONFIGURATION --- */
// Change the links below to your own photos!
const myMemories = [
{
image: "YOUR_IMAGE_URL_HERE_1.jpg",
text: "The prettiest woman I know! ✨"
},
{
image: "YOUR_IMAGE_URL_HERE_2.jpg",
text: "Always by my side. ❤️"
},
{
image: "YOUR_IMAGE_URL_HERE_3.jpg",
text: "Growing up to be just like you. 🌸"
}
];
function openSurprise(index) {
const data = myMemories[index];
document.getElementById('display-image').src = data.image;
document.getElementById('display-caption').innerText = data.text;
document.getElementById('overlay').style.display = 'flex';
}
function closeSurprise() {
document.getElementById('overlay').style.display = 'none';
}
</script>
</body>
</html> |