File size: 21,636 Bytes
36a4617
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f88c53f
36a4617
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f88c53f
36a4617
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f88c53f
 
 
 
 
 
 
 
 
36a4617
 
 
f88c53f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36a4617
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sonic Bloom Fest | The Ultimate Music Experience</title>
    <link rel="stylesheet" href="style.css">
    <script src="https://cdn.tailwindcss.com"></script>
    <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
    <script src="https://unpkg.com/feather-icons"></script>
    <script src="components/navbar.js"></script>
    <script src="components/footer.js"></script>
    <script src="components/artist-card.js"></script>
</head>
<body class="bg-black text-white">
    <custom-navbar></custom-navbar>

    <!-- Hero Section -->
    <section class="relative h-screen flex items-center justify-center bg-gradient-to-b from-black to-gray-900 overflow-hidden">
        <video autoplay muted loop class="absolute w-full h-full object-cover opacity-50">
            <source src="http://static.photos/music/1200x630/1" type="video/mp4">
        </video>
        <div class="relative z-10 text-center px-4">
            <h1 class="text-5xl md:text-7xl font-bold mb-6 text-yellow-400">SONIC BLOOM FEST</h1>
            <p class="text-xl md:text-2xl mb-8">July 15-17, 2023 • Harmony Valley</p>
            <div class="flex flex-col md:flex-row gap-4 justify-center">
                <a href="#tickets" class="bg-yellow-500 hover:bg-yellow-600 text-black font-bold py-3 px-8 rounded-full text-lg transition duration-300">BUY TICKETS</a>
                <a href="#lineup" class="border-2 border-yellow-500 hover:bg-yellow-500 hover:text-black font-bold py-3 px-8 rounded-full text-lg transition duration-300">SEE LINEUP</a>
            </div>
        </div>
    </section>

    <!-- Lineup Section -->
    <section id="lineup" class="py-20 bg-gradient-to-b from-gray-900 to-black">
        <div class="container mx-auto px-4">
            <h2 class="text-4xl font-bold text-center mb-16 text-yellow-400">ARTIST LINEUP</h2>
            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
                <custom-artist-card 
                    name="Cosmic Waves" 
                    genre="Psytrance" 
                    image="http://static.photos/music/640x360/1"
                    day="Friday"
                    time="10:00 PM">
                </custom-artist-card>
                <custom-artist-card 
                    name="Electric Dream" 
                    genre="EDM" 
                    image="http://static.photos/music/640x360/2"
                    day="Saturday"
                    time="11:30 PM">
                </custom-artist-card>
                <custom-artist-card 
                    name="Bass Drop" 
                    genre="Dubstep" 
                    image="http://static.photos/music/640x360/3"
                    day="Friday"
                    time="9:00 PM">
                </custom-artist-card>
                <custom-artist-card 
                    name="Neon Pulse" 
                    genre="House" 
                    image="http://static.photos/music/640x360/4"
                    day="Sunday"
                    time="8:00 PM">
                </custom-artist-card>
                <custom-artist-card 
                    name="Solar Flare" 
                    genre="Techno" 
                    image="http://static.photos/music/640x360/5"
                    day="Saturday"
                    time="10:30 PM">
                </custom-artist-card>
                <custom-artist-card 
                    name="Lunar Echo" 
                    genre="Ambient" 
                    image="http://static.photos/music/640x360/6"
                    day="Sunday"
                    time="7:00 PM">
                </custom-artist-card>
            </div>
        </div>
    </section>

    <!-- Schedule Section -->
    <section id="schedule" class="py-20 bg-black">
        <div class="container mx-auto px-4">
            <h2 class="text-4xl font-bold text-center mb-16 text-yellow-400">STAGE SCHEDULE</h2>
            <div class="overflow-x-auto">
                <table class="w-full text-left border-collapse">
                    <thead>
                        <tr class="border-b border-yellow-500">
                            <th class="py-4 px-6 bg-gray-900 font-bold uppercase text-yellow-400">Time</th>
                            <th class="py-4 px-6 bg-gray-900 font-bold uppercase text-yellow-400">Main Stage</th>
                            <th class="py-4 px-6 bg-gray-900 font-bold uppercase text-yellow-400">Bass Tent</th>
                            <th class="py-4 px-6 bg-gray-900 font-bold uppercase text-yellow-400">Chill Zone</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="border-b border-gray-800 hover:bg-gray-900">
                            <td class="py-4 px-6 font-bold">6:00 PM</td>
                            <td class="py-4 px-6">Opening Ceremony</td>
                            <td class="py-4 px-6">-</td>
                            <td class="py-4 px-6">Yoga Session</td>
                        </tr>
                        <tr class="border-b border-gray-800 hover:bg-gray-900">
                            <td class="py-4 px-6 font-bold">8:00 PM</td>
                            <td class="py-4 px-6">Bass Drop</td>
                            <td class="py-4 px-6">Subsonic</td>
                            <td class="py-4 px-6">Ambient Dreams</td>
                        </tr>
                        <tr class="border-b border-gray-800 hover:bg-gray-900">
                            <td class="py-4 px-6 font-bold">10:00 PM</td>
                            <td class="py-4 px-6">Cosmic Waves</td>
                            <td class="py-4 px-6">Digital Vortex</td>
                            <td class="py-4 px-6">-</td>
                        </tr>
                        <tr class="border-b border-gray-800 hover:bg-gray-900">
                            <td class="py-4 px-6 font-bold">12:00 AM</td>
                            <td class="py-4 px-6">Electric Dream</td>
                            <td class="py-4 px-6">Bass Mechanics</td>
                            <td class="py-4 px-6">Chillhop Collective</td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </section>

    <!-- Tickets Section -->
    <section id="tickets" class="py-20 bg-gradient-to-b from-black to-gray-900">
        <div class="container mx-auto px-4">
            <h2 class="text-4xl font-bold text-center mb-16 text-yellow-400">TICKET OPTIONS</h2>
            <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
                <!-- GA Ticket -->
                <div class="bg-gray-800 rounded-lg overflow-hidden shadow-lg transform hover:scale-105 transition duration-300">
                    <div class="bg-yellow-500 text-black py-4 text-center">
                        <h3 class="text-2xl font-bold">GENERAL ADMISSION</h3>
                    </div>
                    <div class="p-6">
                        <p class="text-4xl font-bold mb-4 text-yellow-400">$199<span class="text-lg text-gray-400">/person</span></p>
                        <ul class="mb-6 space-y-2">
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> 3-Day Festival Access</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> All Stages</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> Food & Drink Vendors</li>
                            <li class="flex items-center"><i data-feather="x" class="mr-2 text-gray-500"></i> VIP Lounge Access</li>
                        </ul>
                        <button class="w-full bg-yellow-500 hover:bg-yellow-600 text-black font-bold py-3 px-4 rounded transition duration-300">BUY NOW</button>
                    </div>
                </div>
                
                <!-- VIP Ticket -->
                <div class="bg-gray-800 rounded-lg overflow-hidden shadow-lg transform hover:scale-105 transition duration-300 border-2 border-yellow-500">
                    <div class="bg-yellow-500 text-black py-4 text-center">
                        <h3 class="text-2xl font-bold">VIP EXPERIENCE</h3>
                    </div>
                    <div class="p-6">
                        <p class="text-4xl font-bold mb-4 text-yellow-400">$399<span class="text-lg text-gray-400">/person</span></p>
                        <ul class="mb-6 space-y-2">
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> All GA Benefits</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> VIP Lounge Access</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> Premium Restrooms</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> Fast Lane Entry</li>
                        </ul>
                        <button class="w-full bg-yellow-500 hover:bg-yellow-600 text-black font-bold py-3 px-4 rounded transition duration-300">BUY NOW</button>
                    </div>
                </div>
                
                <!-- Camping Ticket -->
                <div class="bg-gray-800 rounded-lg overflow-hidden shadow-lg transform hover:scale-105 transition duration-300">
                    <div class="bg-yellow-500 text-black py-4 text-center">
                        <h3 class="text-2xl font-bold">CAMPING PACKAGE</h3>
                    </div>
                    <div class="p-6">
                        <p class="text-4xl font-bold mb-4 text-yellow-400">$299<span class="text-lg text-gray-400">/person</span></p>
                        <ul class="mb-6 space-y-2">
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> 3-Day Festival Access</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> Camping Spot (10x10)</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> Shower Access</li>
                            <li class="flex items-center"><i data-feather="check" class="mr-2 text-yellow-400"></i> Morning Yoga Sessions</li>
                        </ul>
                        <button class="w-full bg-yellow-500 hover:bg-yellow-600 text-black font-bold py-3 px-4 rounded transition duration-300">BUY NOW</button>
                    </div>
                </div>
            </div>
            <div class="mt-12 text-center">
                <p class="text-yellow-400 font-bold">Early Bird Special: 20% off until May 1st!</p>
            </div>
        </div>
    </section>

    <!-- Gallery Section -->
    <section id="gallery" class="py-20 bg-black">
        <div class="container mx-auto px-4">
            <h2 class="text-4xl font-bold text-center mb-16 text-yellow-400">MEMORIES FROM PAST YEARS</h2>
            <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4">
                <img src="http://static.photos/music/320x240/1" alt="Festival crowd" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
                <img src="http://static.photos/music/320x240/2" alt="Main stage" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
                <img src="http://static.photos/music/320x240/3" alt="DJ performing" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
                <img src="http://static.photos/music/320x240/4" alt="Camping area" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
                <img src="http://static.photos/music/320x240/5" alt="Light show" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
                <img src="http://static.photos/music/320x240/6" alt="Food vendors" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
                <img src="http://static.photos/music/320x240/7" alt="Sunset view" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
                <img src="http://static.photos/music/320x240/8" alt="Art installation" class="w-full h-48 object-cover rounded hover:scale-105 transition duration-300">
            </div>
        </div>
    </section>
    <!-- Map Section -->
    <section id="map" class="py-20 bg-gradient-to-b from-gray-900 to-black">
        <div class="container mx-auto px-4">
            <h2 class="text-4xl font-bold text-center mb-16 text-yellow-400">VENUE MAP</h2>
            <div class="bg-gray-800 p-4 rounded-lg shadow-lg">
                <div id="festival-map" class="w-full h-96 rounded-lg z-0"></div>
                <div class="mt-6 grid grid-cols-1 md:grid-cols-3 gap-4">
                    <div class="flex items-start">
                        <div class="bg-yellow-500 p-2 rounded-full mr-3 mt-1">
                            <i data-feather="map-pin" class="text-black"></i>
                        </div>
                        <div>
                            <h4 class="font-bold text-yellow-400">Main Stage</h4>
                            <p class="text-gray-400">Center of the festival grounds with the largest production</p>
                        </div>
                    </div>
                    <div class="flex items-start">
                        <div class="bg-yellow-500 p-2 rounded-full mr-3 mt-1">
                            <i data-feather="map-pin" class="text-black"></i>
                        </div>
                        <div>
                            <h4 class="font-bold text-yellow-400">Bass Tent</h4>
                            <p class="text-gray-400">Covered area with heavy bass and underground sounds</p>
                        </div>
                    </div>
                    <div class="flex items-start">
                        <div class="bg-yellow-500 p-2 rounded-full mr-3 mt-1">
                            <i data-feather="map-pin" class="text-black"></i>
                        </div>
                        <div>
                            <h4 class="font-bold text-yellow-400">Camping Area</h4>
                            <p class="text-gray-400">Designated spots with showers and amenities</p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
<!-- FAQ Section -->
    <section id="faq" class="py-20 bg-black">
        <div class="container mx-auto px-4 max-w-4xl">
            <h2 class="text-4xl font-bold text-center mb-16 text-yellow-400">FREQUENTLY ASKED QUESTIONS</h2>
            <div class="space-y-4">
                <div class="border-b border-gray-800 pb-4">
                    <button class="flex justify-between items-center w-full text-left font-bold text-lg hover:text-yellow-400 transition duration-300">
                        <span>What are the festival dates and hours?</span>
                        <i data-feather="chevron-down" class="text-yellow-400"></i>
                    </button>
                    <div class="mt-2 text-gray-400">
                        The festival runs from July 15-17, 2023. Gates open at 4:00 PM each day and music ends at 2:00 AM. Campgrounds open at 12:00 PM on Friday.
                    </div>
                </div>
                <div class="border-b border-gray-800 pb-4">
                    <button class="flex justify-between items-center w-full text-left font-bold text-lg hover:text-yellow-400 transition duration-300">
                        <span>What items are allowed/prohibited?</span>
                        <i data-feather="chevron-down" class="text-yellow-400"></i>
                    </button>
                    <div class="mt-2 text-gray-400">
                        Allowed: Small bags, empty water bottles, sunscreen. Prohibited: Glass containers, weapons, illegal substances. See full list on our website.
                    </div>
                </div>
                <div class="border-b border-gray-800 pb-4">
                    <button class="flex justify-between items-center w-full text-left font-bold text-lg hover:text-yellow-400 transition duration-300">
                        <span>Is there parking available?</span>
                        <i data-feather="chevron-down" class="text-yellow-400"></i>
                    </button>
                    <div class="mt-2 text-gray-400">
                        Yes, general parking is available for $20 per day. VIP parking is included with VIP tickets. We encourage carpooling!
                    </div>
                </div>
                <div class="border-b border-gray-800 pb-4">
                    <button class="flex justify-between items-center w-full text-left font-bold text-lg hover:text-yellow-400 transition duration-300">
                        <span>What camping amenities are provided?</span>
                        <i data-feather="chevron-down" class="text-yellow-400"></i>
                    </button>
                    <div class="mt-2 text-gray-400">
                        Camping includes access to showers, portable toilets, water stations, and a general store. Bring your own tent and sleeping gear.
                    </div>
                </div>
                <div class="border-b border-gray-800 pb-4">
                    <button class="flex justify-between items-center w-full text-left font-bold text-lg hover:text-yellow-400 transition duration-300">
                        <span>Are refunds available?</span>
                        <i data-feather="chevron-down" class="text-yellow-400"></i>
                    </button>
                    <div class="mt-2 text-gray-400">
                        All ticket sales are final. However, you may transfer your ticket to someone else through our official transfer system.
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- CTA Section -->
    <section class="py-20 bg-gradient-to-r from-yellow-600 to-yellow-500">
        <div class="container mx-auto px-4 text-center">
            <h2 class="text-4xl font-bold mb-6 text-black">READY TO EXPERIENCE SONIC BLOOM?</h2>
            <p class="text-xl mb-8 text-black">Join thousands of music lovers for an unforgettable weekend</p>
            <a href="#tickets" class="bg-black hover:bg-gray-900 text-yellow-500 font-bold py-4 px-12 rounded-full text-lg transition duration-300 inline-block">GET YOUR TICKETS NOW</a>
        </div>
    </section>

    <custom-footer></custom-footer>
    <!-- Leaflet CSS -->
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
        integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
        crossorigin=""/>
    
    <!-- Leaflet JS -->
    <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
        integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
        crossorigin=""></script>

    <script>
        feather.replace();
        
        // Initialize the map
        document.addEventListener('DOMContentLoaded', function() {
            const map = L.map('festival-map').setView([40.7128, -74.0060], 15);
            
            L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
                attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
                maxZoom: 18,
            }).addTo(map);

            // Add markers for festival locations
            const mainStage = L.marker([40.7128, -74.0060]).addTo(map)
                .bindPopup("<b>Main Stage</b><br>Center of the festival");
                
            const bassTent = L.marker([40.7135, -74.0055]).addTo(map)
                .bindPopup("<b>Bass Tent</b><br>Heavy bass area");
                
            const camping = L.marker([40.7120, -74.0070]).addTo(map)
                .bindPopup("<b>Camping Area</b><br>Tents and amenities");
                
            // Add a circle to show festival grounds
            L.circle([40.7128, -74.0060], {
                color: '#f59e0b',
                fillColor: '#f59e0b',
                fillOpacity: 0.2,
                radius: 200
            }).addTo(map).bindPopup("Festival Grounds");
        });
// FAQ accordion functionality
        document.querySelectorAll('#faq button').forEach(button => {
            button.addEventListener('click', () => {
                const content = button.nextElementSibling;
                const icon = button.querySelector('i');
                
                if (content.style.maxHeight) {
                    content.style.maxHeight = null;
                    icon.setAttribute('data-feather', 'chevron-down');
                } else {
                    content.style.maxHeight = content.scrollHeight + 'px';
                    icon.setAttribute('data-feather', 'chevron-up');
                }
                feather.replace();
            });
        });
    </script>
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
</body>
</html>