Spaces:
Running
Running
| <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: '© <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> |