Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>Hook Up - Find Professional Instrumentalists</title> | |
<script src="https://cdn.tailwindcss.com"></script> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
<link href="https://fonts.cdnfonts.com/css/century-gothic" rel="stylesheet"> | |
<style> | |
:root { | |
--primary: #6C63FF; | |
--secondary: #4A42EC; | |
--accent: #FF6584; | |
--dark: #2D3748; | |
--light: #F7FAFC; | |
} | |
body { | |
font-family: 'Century Gothic', sans-serif; | |
background-color: #f8f9fa; | |
overflow-x: hidden; | |
} | |
.gradient-bg { | |
background: linear-gradient(135deg, var(--primary), var(--secondary)); | |
} | |
.musician-card:hover { | |
transform: translateY(-10px); | |
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
} | |
.nav-link { | |
position: relative; | |
} | |
.nav-link::after { | |
content: ''; | |
position: absolute; | |
width: 0; | |
height: 2px; | |
bottom: -2px; | |
left: 0; | |
background-color: var(--accent); | |
transition: width 0.3s ease; | |
} | |
.nav-link:hover::after { | |
width: 100%; | |
} | |
@keyframes float { | |
0% { transform: translateY(0px); } | |
50% { transform: translateY(-10px); } | |
100% { transform: translateY(0px); } | |
} | |
.floating { | |
animation: float 6s ease-in-out infinite; | |
} | |
.hero-image { | |
filter: drop-shadow(0 20px 13px rgba(0, 0, 0, 0.1)); | |
} | |
.search-box { | |
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); | |
} | |
.rating-stars { | |
color: #F59E0B; | |
} | |
.fade-in { | |
animation: fadeIn 1s ease-in; | |
} | |
@keyframes fadeIn { | |
from { opacity: 0; } | |
to { opacity: 1; } | |
} | |
.slide-up { | |
animation: slideUp 0.8s ease-out; | |
} | |
@keyframes slideUp { | |
from { transform: translateY(50px); opacity: 0; } | |
to { transform: translateY(0); opacity: 1; } | |
} | |
/* Century Gothic fallback for elements that might not inherit properly */ | |
h1, h2, h3, h4, h5, h6, p, a, span, button, input, select, textarea { | |
font-family: 'Century Gothic', sans-serif; | |
} | |
</style> | |
</head> | |
<body class="antialiased"> | |
<!-- Animated Background --> | |
<div class="fixed inset-0 -z-10 overflow-hidden"> | |
<div class="absolute inset-0 bg-gradient-to-br from-purple-100 via-blue-50 to-indigo-100 opacity-70"></div> | |
<div class="absolute inset-0 bg-[url('https://grainy-gradients.vercel.app/noise.svg')] opacity-10"></div> | |
</div> | |
<!-- Navigation --> | |
<nav class="bg-white/80 backdrop-blur-md shadow-sm sticky top-0 z-50 transition-all duration-300"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="flex justify-between h-16"> | |
<div class="flex items-center"> | |
<div class="flex-shrink-0 flex items-center"> | |
<i class="fas fa-guitar text-2xl text-purple-600 mr-2"></i> | |
<span class="text-xl font-bold text-gray-800">Hook Up</span> | |
</div> | |
</div> | |
<div class="hidden md:ml-6 md:flex md:items-center md:space-x-8"> | |
<a href="#" class="nav-link text-gray-700 hover:text-purple-600 px-3 py-2 text-sm font-medium">Home</a> | |
<a href="#" class="nav-link text-gray-700 hover:text-purple-600 px-3 py-2 text-sm font-medium">Browse</a> | |
<a href="#" class="nav-link text-gray-700 hover:text-purple-600 px-3 py-2 text-sm font-medium">How It Works</a> | |
<a href="#" class="nav-link text-gray-700 hover:text-purple-600 px-3 py-2 text-sm font-medium">Testimonials</a> | |
<a href="#" class="nav-link text-gray-700 hover:text-purple-600 px-3 py-2 text-sm font-medium">Contact</a> | |
</div> | |
<div class="hidden md:ml-4 md:flex md:items-center"> | |
<button class="bg-gradient-to-r from-purple-500 to-indigo-600 text-white px-4 py-2 rounded-full text-sm font-medium hover:shadow-lg transition-all duration-300 transform hover:scale-105"> | |
Sign Up | |
</button> | |
</div> | |
<div class="-mr-2 flex items-center md:hidden"> | |
<button id="mobile-menu-button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-700 hover:text-purple-600 focus:outline-none"> | |
<i class="fas fa-bars"></i> | |
</button> | |
</div> | |
</div> | |
</div> | |
<!-- Mobile menu --> | |
<div id="mobile-menu" class="hidden md:hidden bg-white shadow-lg rounded-lg mx-4 mt-2 py-2"> | |
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-purple-50 hover:text-purple-600">Home</a> | |
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-purple-50 hover:text-purple-600">Browse</a> | |
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-purple-50 hover:text-purple-600">How It Works</a> | |
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-purple-50 hover:text-purple-600">Testimonials</a> | |
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-purple-50 hover:text-purple-600">Contact</a> | |
<div class="px-4 py-2"> | |
<button class="w-full bg-gradient-to-r from-purple-500 to-indigo-600 text-white px-4 py-2 rounded-full text-sm font-medium"> | |
Sign Up | |
</button> | |
</div> | |
</div> | |
</nav> | |
<!-- Hero Section --> | |
<section class="relative overflow-hidden"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 md:py-24"> | |
<div class="grid md:grid-cols-2 gap-12 items-center"> | |
<div class="slide-up"> | |
<h1 class="text-4xl md:text-5xl lg:text-6xl font-bold text-gray-900 leading-tight"> | |
Find the Perfect <span class="text-purple-600">Musician</span> for Your Event | |
</h1> | |
<p class="mt-6 text-lg text-gray-600"> | |
Hook Up connects you with professional instrumentalists for weddings, concerts, studio sessions and more. | |
Browse our curated selection of talented musicians ready to elevate your event. | |
</p> | |
<div class="mt-8 flex flex-col sm:flex-row gap-4"> | |
<button class="bg-gradient-to-r from-purple-500 to-indigo-600 text-white px-6 py-3 rounded-full text-sm font-medium hover:shadow-lg transition-all duration-300 transform hover:scale-105"> | |
Browse Musicians | |
</button> | |
<button class="border border-purple-600 text-purple-600 px-6 py-3 rounded-full text-sm font-medium hover:bg-purple-50 transition-all duration-300"> | |
How It Works | |
</button> | |
</div> | |
</div> | |
<div class="relative"> | |
<div class="floating hero-image"> | |
<img src="https://images.unsplash.com/photo-1511671782779-c97d3d27a1d4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" | |
alt="Musician playing guitar" | |
class="rounded-2xl shadow-xl w-full h-auto"> | |
</div> | |
<div class="absolute -bottom-6 -left-6 w-24 h-24 bg-purple-200 rounded-full -z-10"></div> | |
<div class="absolute -top-6 -right-6 w-32 h-32 bg-indigo-200 rounded-full -z-10"></div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Search Section --> | |
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> | |
<div class="bg-white rounded-2xl shadow-xl p-6 md:p-8 search-box slide-up"> | |
<h2 class="text-2xl font-bold text-gray-900 mb-6">Find Your Perfect Match</h2> | |
<div class="grid grid-cols-1 md:grid-cols-4 gap-4"> | |
<div> | |
<label for="instrument" class="block text-sm font-medium text-gray-700 mb-1">Instrument</label> | |
<select id="instrument" class="w-full rounded-lg border-gray-300 shadow-sm focus:border-purple-500 focus:ring-purple-500 text-gray-700"> | |
<option value="">All Instruments</option> | |
<option value="guitarist">Guitarist</option> | |
<option value="pianist">Pianist</option> | |
<option value="drummer">Drummer</option> | |
<option value="bassist">Bassist</option> | |
<option value="violinist">Violinist</option> | |
<option value="saxophonist">Saxophonist</option> | |
</select> | |
</div> | |
<div> | |
<label for="genre" class="block text-sm font-medium text-gray-700 mb-1">Genre</label> | |
<select id="genre" class="w-full rounded-lg border-gray-300 shadow-sm focus:border-purple-500 focus:ring-purple-500 text-gray-700"> | |
<option value="">All Genres</option> | |
<option value="jazz">Jazz</option> | |
<option value="rock">Rock</option> | |
<option value="classical">Classical</option> | |
<option value="pop">Pop</option> | |
<option value="blues">Blues</option> | |
<option value="r&b">R&B</option> | |
</select> | |
</div> | |
<div> | |
<label for="location" class="block text-sm font-medium text-gray-700 mb-1">Location</label> | |
<input type="text" id="location" placeholder="City or Zip" class="w-full rounded-lg border-gray-300 shadow-sm focus:border-purple-500 focus:ring-purple-500 text-gray-700"> | |
</div> | |
<div class="flex items-end"> | |
<button class="w-full bg-gradient-to-r from-purple-500 to-indigo-600 text-white px-4 py-3 rounded-lg text-sm font-medium hover:shadow-lg transition-all duration-300"> | |
Search Musicians | |
</button> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Popular Instruments --> | |
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> | |
<div class="text-center mb-12 fade-in"> | |
<h2 class="text-3xl font-bold text-gray-900">Popular Instruments</h2> | |
<p class="mt-4 text-lg text-gray-600 max-w-2xl mx-auto"> | |
Browse our most requested instrumentalists across various categories | |
</p> | |
</div> | |
<div class="grid grid-cols-2 md:grid-cols-4 lg:grid-cols-6 gap-6"> | |
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-lg transition-all duration-300 transform hover:-translate-y-1"> | |
<div class="p-4 flex flex-col items-center"> | |
<div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mb-3"> | |
<i class="fas fa-guitar text-2xl text-purple-600"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Guitarists</h3> | |
<p class="text-sm text-gray-500 mt-1">245 available</p> | |
</div> | |
</div> | |
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-lg transition-all duration-300 transform hover:-translate-y-1"> | |
<div class="p-4 flex flex-col items-center"> | |
<div class="w-16 h-16 bg-indigo-100 rounded-full flex items-center justify-center mb-3"> | |
<i class="fas fa-drum text-2xl text-indigo-600"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Drummers</h3> | |
<p class="text-sm text-gray-500 mt-1">189 available</p> | |
</div> | |
</div> | |
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-lg transition-all duration-300 transform hover:-translate-y-1"> | |
<div class="p-4 flex flex-col items-center"> | |
<div class="w-16 h-16 bg-pink-100 rounded-full flex items-center justify-center mb-3"> | |
<i class="fas fa-music text-2xl text-pink-600"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Pianists</h3> | |
<p class="text-sm text-gray-500 mt-1">312 available</p> | |
</div> | |
</div> | |
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-lg transition-all duration-300 transform hover:-translate-y-1"> | |
<div class="p-4 flex flex-col items-center"> | |
<div class="w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center mb-3"> | |
<i class="fas fa-violin text-2xl text-blue-600"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Violinists</h3> | |
<p class="text-sm text-gray-500 mt-1">156 available</p> | |
</div> | |
</div> | |
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-lg transition-all duration-300 transform hover:-translate-y-1"> | |
<div class="p-4 flex flex-col items-center"> | |
<div class="w-16 h-16 bg-yellow-100 rounded-full flex items-center justify-center mb-3"> | |
<i class="fas fa-saxophone text-2xl text-yellow-600"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Saxophonists</h3> | |
<p class="text-sm text-gray-500 mt-1">98 available</p> | |
</div> | |
</div> | |
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-lg transition-all duration-300 transform hover:-translate-y-1"> | |
<div class="p-4 flex flex-col items-center"> | |
<div class="w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mb-3"> | |
<i class="fas fa-microphone text-2xl text-green-600"></i> | |
</div> | |
<h3 class="text-lg font-medium text-gray-900">Vocalists</h3> | |
<p class="text-sm text-gray-500 mt-1">276 available</p> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Featured Musicians --> | |
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 bg-gray-50 rounded-3xl"> | |
<div class="text-center mb-12 fade-in"> | |
<h2 class="text-3xl font-bold text-gray-900">Featured Musicians</h2> | |
<p class="mt-4 text-lg text-gray-600 max-w-2xl mx-auto"> | |
Top-rated instrumentalists available for your next event | |
</p> | |
</div> | |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8" id="musicians-container"> | |
<!-- Musician cards will be loaded here via JavaScript --> | |
</div> | |
<div class="mt-12 text-center"> | |
<button class="border border-purple-600 text-purple-600 px-6 py-3 rounded-full text-sm font-medium hover:bg-purple-50 transition-all duration-300"> | |
View All Musicians | |
</button> | |
</div> | |
</section> | |
<!-- How It Works --> | |
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> | |
<div class="text-center mb-12 fade-in"> | |
<h2 class="text-3xl font-bold text-gray-900">How Hook Up Works</h2> | |
<p class="mt-4 text-lg text-gray-600 max-w-2xl mx-auto"> | |
Simple steps to find and book your perfect musician | |
</p> | |
</div> | |
<div class="grid md:grid-cols-3 gap-8"> | |
<div class="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-all duration-300"> | |
<div class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center mb-4"> | |
<span class="text-purple-600 font-bold text-xl">1</span> | |
</div> | |
<h3 class="text-xl font-semibold text-gray-900 mb-3">Search & Discover</h3> | |
<p class="text-gray-600"> | |
Browse our extensive database of professional musicians by instrument, genre, location and more. | |
</p> | |
</div> | |
<div class="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-all duration-300"> | |
<div class="w-12 h-12 bg-indigo-100 rounded-full flex items-center justify-center mb-4"> | |
<span class="text-indigo-600 font-bold text-xl">2</span> | |
</div> | |
<h3 class="text-xl font-semibold text-gray-900 mb-3">Connect & Discuss</h3> | |
<p class="text-gray-600"> | |
Message musicians directly to discuss your event details, requirements and availability. | |
</p> | |
</div> | |
<div class="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition-all duration-300"> | |
<div class="w-12 h-12 bg-pink-100 rounded-full flex items-center justify-center mb-4"> | |
<span class="text-pink-600 font-bold text-xl">3</span> | |
</div> | |
<h3 class="text-xl font-semibold text-gray-900 mb-3">Book & Enjoy</h3> | |
<p class="text-gray-600"> | |
Secure your booking with our safe payment system and enjoy an amazing musical experience. | |
</p> | |
</div> | |
</div> | |
</section> | |
<!-- Testimonials --> | |
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 bg-gradient-to-r from-purple-500 to-indigo-600 rounded-3xl text-white"> | |
<div class="text-center mb-12 fade-in"> | |
<h2 class="text-3xl font-bold mb-4">What Our Clients Say</h2> | |
<p class="text-purple-100 max-w-2xl mx-auto"> | |
Don't just take our word for it - hear from people who've used Hook Up | |
</p> | |
</div> | |
<div class="grid md:grid-cols-3 gap-8"> | |
<div class="bg-white/10 backdrop-blur-sm p-6 rounded-xl"> | |
<div class="flex items-center mb-4"> | |
<div class="rating-stars mr-2"> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
</div> | |
</div> | |
<p class="mb-4 italic"> | |
"Found an incredible jazz pianist for our wedding reception through Hook Up. The process was seamless and the musician was phenomenal!" | |
</p> | |
<div class="flex items-center"> | |
<div class="w-10 h-10 rounded-full bg-purple-200 mr-3 overflow-hidden"> | |
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Sarah J." class="w-full h-full object-cover"> | |
</div> | |
<div> | |
<h4 class="font-medium">Sarah J.</h4> | |
<p class="text-sm text-purple-200">Wedding Client</p> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white/10 backdrop-blur-sm p-6 rounded-xl"> | |
<div class="flex items-center mb-4"> | |
<div class="rating-stars mr-2"> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
</div> | |
</div> | |
<p class="mb-4 italic"> | |
"As a music producer, I regularly use Hook Up to find session musicians. The quality of talent is consistently excellent." | |
</p> | |
<div class="flex items-center"> | |
<div class="w-10 h-10 rounded-full bg-purple-200 mr-3 overflow-hidden"> | |
<img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Mark T." class="w-full h-full object-cover"> | |
</div> | |
<div> | |
<h4 class="font-medium">Mark T.</h4> | |
<p class="text-sm text-purple-200">Music Producer</p> | |
</div> | |
</div> | |
</div> | |
<div class="bg-white/10 backdrop-blur-sm p-6 rounded-xl"> | |
<div class="flex items-center mb-4"> | |
<div class="rating-stars mr-2"> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star"></i> | |
<i class="fas fa-star-half-alt"></i> | |
</div> | |
</div> | |
<p class="mb-4 italic"> | |
"The drummer we found for our corporate event was professional, punctual and incredibly talented. Will definitely use Hook Up again!" | |
</p> | |
<div class="flex items-center"> | |
<div class="w-10 h-10 rounded-full bg-purple-200 mr-3 overflow-hidden"> | |
<img src="https://randomuser.me/api/portraits/women/68.jpg" alt="Lisa M." class="w-full h-full object-cover"> | |
</div> | |
<div> | |
<h4 class="font-medium">Lisa M.</h4> | |
<p class="text-sm text-purple-200">Event Coordinator</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- CTA Section --> | |
<section class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16"> | |
<div class="bg-gradient-to-r from-purple-500 to-indigo-600 rounded-3xl p-8 md:p-12 text-white"> | |
<div class="grid md:grid-cols-2 gap-8 items-center"> | |
<div> | |
<h2 class="text-3xl font-bold mb-4">Ready to Find Your Musician?</h2> | |
<p class="text-lg text-purple-100 mb-6"> | |
Join thousands of happy clients who've found their perfect musical match through Hook Up. | |
</p> | |
<button class="bg-white text-purple-600 px-6 py-3 rounded-full text-sm font-medium hover:shadow-lg transition-all duration-300"> | |
Get Started Now | |
</button> | |
</div> | |
<div class="flex justify-center"> | |
<div class="relative w-64 h-64"> | |
<div class="absolute top-0 left-0 w-16 h-16 bg-white/20 rounded-full animate-pulse"></div> | |
<div class="absolute bottom-0 right-0 w-20 h-20 bg-white/20 rounded-full animate-pulse delay-100"></div> | |
<div class="absolute inset-0 flex items-center justify-center"> | |
<i class="fas fa-music text-6xl text-white opacity-80"></i> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Footer --> | |
<footer class="bg-gray-900 text-white py-12"> | |
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
<div class="grid grid-cols-1 md:grid-cols-4 gap-8"> | |
<div> | |
<div class="flex items-center mb-4"> | |
<i class="fas fa-guitar text-2xl text-purple-400 mr-2"></i> | |
<span class="text-xl font-bold">Hook Up</span> | |
</div> | |
<p class="text-gray-400"> | |
Connecting you with the best musical talent for any occasion. | |
</p> | |
<div class="flex space-x-4 mt-4"> | |
<a href="#" class="text-gray-400 hover:text-white transition-colors"> | |
<i class="fab fa-facebook-f"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-white transition-colors"> | |
<i class="fab fa-twitter"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-white transition-colors"> | |
<i class="fab fa-instagram"></i> | |
</a> | |
<a href="#" class="text-gray-400 hover:text-white transition-colors"> | |
<i class="fab fa-linkedin-in"></i> | |
</a> | |
</div> | |
</div> | |
<div> | |
<h3 class="text-lg font-semibold mb-4">Quick Links</h3> | |
<ul class="space-y-2"> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Home</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Browse Musicians</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">How It Works</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Pricing</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Testimonials</a></li> | |
</ul> | |
</div> | |
<div> | |
<h3 class="text-lg font-semibold mb-4">Instruments</h3> | |
<ul class="space-y-2"> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Guitarists</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Pianists</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Drummers</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Bassists</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Violinists</a></li> | |
</ul> | |
</div> | |
<div> | |
<h3 class="text-lg font-semibold mb-4">Contact Us</h3> | |
<ul class="space-y-2"> | |
<li class="flex items-center text-gray-400"> | |
<i class="fas fa-map-marker-alt mr-2 text-purple-400"></i> 123 Music St, Nashville, TN | |
</li> | |
<li class="flex items-center text-gray-400"> | |
<i class="fas fa-phone-alt mr-2 text-purple-400"></i> (555) 123-4567 | |
</li> | |
<li class="flex items-center text-gray-400"> | |
<i class="fas fa-envelope mr-2 text-purple-400"></i> hello@hookup.com | |
</li> | |
</ul> | |
</div> | |
</div> | |
<div class="border-t border-gray-800 mt-12 pt-8 text-center text-gray-400"> | |
<p>© 2023 Hook Up. All rights reserved.</p> | |
</div> | |
</div> | |
</footer> | |
<script> | |
// Mobile menu toggle | |
document.getElementById('mobile-menu-button').addEventListener('click', function() { | |
const menu = document.getElementById('mobile-menu'); | |
menu.classList.toggle('hidden'); | |
}); | |
// Sample musician data | |
const musicians = [ | |
{ | |
id: 1, | |
name: "Alex Johnson", | |
instrument: "Guitarist", | |
genre: "Jazz, Blues", | |
location: "New York, NY", | |
rating: 4.9, | |
price: "$150/hr", | |
image: "https://images.unsplash.com/photo-1508700115892-45ecd05ae2ad?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1469&q=80", | |
bio: "Professional jazz guitarist with 15 years of experience performing at venues across the country." | |
}, | |
{ | |
id: 2, | |
name: "Maria Garcia", | |
instrument: "Pianist", | |
genre: "Classical, Pop", | |
location: "Los Angeles, CA", | |
rating: 5.0, | |
price: "$200/hr", | |
image: "https://images.unsplash.com/photo-1511671782779-c97d3d27a1d4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80", | |
bio: "Classically trained pianist available for weddings, corporate events and studio sessions." | |
}, | |
{ | |
id: 3, | |
name: "Jamal Williams", | |
instrument: "Drummer", | |
genre: "Rock, Funk", | |
location: "Chicago, IL", | |
rating: 4.8, | |
price: "$120/hr", | |
image: "https://images.unsplash.com/photo-1519892305096-4ce5f5f251a1?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80", | |
bio: "High-energy drummer with extensive touring experience. Perfect for live performances." | |
}, | |
{ | |
id: 4, | |
name: "Sophie Chen", | |
instrument: "Violinist", | |
genre: "Classical, Folk", | |
location: "Boston, MA", | |
rating: 4.7, | |
price: "$180/hr", | |
image: "https://images.unsplash.com/photo-1511671782779-c97d3d27a1d4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80", | |
bio: "Acclaimed violinist available for weddings, orchestral performances and private lessons." | |
}, | |
{ | |
id: 5, | |
name: "David Kim", | |
instrument: "Bassist", | |
genre: "Jazz, R&B", | |
location: "Austin, TX", | |
rating: 4.5, | |
price: "$130/hr", | |
image: "https://images.unsplash.com/photo-1508700115892-45ecd05ae2ad?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1469&q=80", | |
bio: "Versatile bass player with experience in multiple genres. Studio and live performance available." | |
}, | |
{ | |
id: 6, | |
name: "Elena Rodriguez", | |
instrument: "Saxophonist", | |
genre: "Jazz, Blues", | |
location: "Miami, FL", | |
rating: 4.6, | |
price: "$160/hr", | |
image: "https://images.unsplash.com/photo-1511671782779-c97d3d27a1d4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80", | |
bio: "Soulful saxophonist perfect for weddings, jazz clubs and corporate events." | |
} | |
]; | |
// Load musician cards | |
const musiciansContainer = document.getElementById('musicians-container'); | |
musicians.forEach(musician => { | |
const stars = []; | |
const fullStars = Math.floor(musician.rating); | |
const hasHalfStar = musician.rating % 1 >= 0.5; | |
for (let i = 0; i < fullStars; i++) { | |
stars.push('<i class="fas fa-star"></i>'); | |
} | |
if (hasHalfStar) { | |
stars.push('<i class="fas fa-star-half-alt"></i>'); | |
} | |
const emptyStars = 5 - stars.length; | |
for (let i = 0; i < emptyStars; i++) { | |
stars.push('<i class="far fa-star"></i>'); | |
} | |
const card = document.createElement('div'); | |
card.className = 'bg-white rounded-xl overflow-hidden shadow-md musician-card transition-all duration-300 hover:cursor-pointer'; | |
card.innerHTML = ` | |
<div class="h-48 overflow-hidden"> | |
<img src="${musician.image}" alt="${musician.name}" class="w-full h-full object-cover"> | |
</div> | |
<div class="p-6"> | |
<div class="flex justify-between items-start mb-2"> | |
<div> | |
<h3 class="text-xl font-bold text-gray-900">${musician.name}</h3> | |
<p class="text-purple-600 font-medium">${musician.instrument}</p> | |
</div> | |
<div class="bg-purple-100 text-purple-800 text-sm font-semibold px-3 py-1 rounded-full"> | |
${musician.price} | |
</div> | |
</div> | |
<div class="flex items-center mb-3"> | |
<div class="rating-stars mr-2"> | |
${stars.join('')} | |
</div> | |
<span class="text-gray-600 text-sm">${musician.rating}</span> | |
</div> | |
<p class="text-gray-600 text-sm mb-4">${musician.bio}</p> | |
<div class="flex justify-between items-center"> | |
<div class="flex items-center text-sm text-gray-500"> | |
<i class="fas fa-map-marker-alt mr-1"></i> | |
<span>${musician.location}</span> | |
</div> | |
<button class="bg-purple-600 text-white px-4 py-2 rounded-lg text-sm font-medium hover:bg-purple-700 transition-colors"> | |
Book Now | |
</button> | |
</div> | |
</div> | |
`; | |
// Add animation delay based on index | |
card.style.animationDelay = `${musicians.indexOf(musician) * 0.1}s`; | |
card.classList.add('fade-in'); | |
musiciansContainer.appendChild(card); | |
}); | |
// Animate elements when they come into view | |
const observer = new IntersectionObserver((entries) => { | |
entries.forEach(entry => { | |
if (entry.isIntersecting) { | |
entry.target.classList.add('slide-up'); | |
observer.unobserve(entry.target); | |
} | |
}); | |
}, { threshold: 0.1 }); | |
document.querySelectorAll('.fade-in, .slide-up').forEach(el => { | |
observer.observe(el); | |
}); | |
// Add scroll effect to navbar | |
window.addEventListener('scroll', function() { | |
const nav = document.querySelector('nav'); | |
if (window.scrollY > 50) { | |
nav.classList.add('shadow-lg'); | |
nav.classList.remove('bg-white/80'); | |
nav.classList.add('bg-white'); | |
} else { | |
nav.classList.remove('shadow-lg'); | |
nav.classList.add('bg-white/80'); | |
nav.classList.remove('bg-white'); | |
} | |
}); | |
</script> | |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=freemanjrknox/hook-up" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
</html> |