Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>LUX | Artisan Café</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"> | |
<style> | |
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600&display=swap'); | |
body { | |
font-family: 'Montserrat', sans-serif; | |
scroll-behavior: smooth; | |
background-color: #f8f4e9; | |
} | |
.hero-bg { | |
background-image: linear-gradient(rgba(50, 30, 20, 0.3), rgba(50, 30, 20, 0.3)), url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80'); | |
background-size: cover; | |
background-position: center; | |
animation: fadeIn 1.5s ease-in-out; | |
} | |
@keyframes fadeIn { | |
from { opacity: 0; } | |
to { opacity: 1; } | |
} | |
.menu-item { | |
transition: all 0.3s ease; | |
transform: translateY(20px); | |
opacity: 0; | |
} | |
.menu-item.visible { | |
transform: translateY(0); | |
opacity: 1; | |
} | |
.gold-divider { | |
height: 2px; | |
background: linear-gradient(90deg, transparent, #c9a769, transparent); | |
} | |
.reservation-form { | |
box-shadow: 0 15px 30px rgba(50, 30, 20, 0.1); | |
} | |
.floating { | |
animation: floating 3s ease-in-out infinite; | |
} | |
@keyframes floating { | |
0% { transform: translateY(0px) rotate(-1deg); } | |
50% { transform: translateY(-15px) rotate(1deg); } | |
100% { transform: translateY(0px) rotate(-1deg); } | |
} | |
.animate-float { | |
animation: floating 6s ease-in-out infinite; | |
} | |
.animate-delay-1 { | |
animation-delay: 0.5s; | |
} | |
.animate-delay-2 { | |
animation-delay: 1s; | |
} | |
#portfolioModal { | |
animation: fadeIn 0.5s ease-out; | |
} | |
.scroll-indicator { | |
animation: bounce 2s infinite; | |
} | |
@keyframes bounce { | |
0%, 20%, 50%, 80%, 100% {transform: translateY(0);} | |
40% {transform: translateY(-20px);} | |
60% {transform: translateY(-10px);} | |
} | |
</style> | |
</head> | |
<body class="text-[#322014]"> | |
<!-- Navigation --> | |
<nav class="fixed w-full z-50 bg-[#322014]/90 backdrop-blur-md transition-all duration-300"> | |
<div class="container mx-auto px-6 py-4"> | |
<div class="flex justify-between items-center"> | |
<div class="text-2xl font-bold text-[#f8f4e9] font-playfair"> | |
<span class="text-[#c9a769]">LUX</span> Café | |
</div> | |
<div class="hidden md:flex space-x-8"> | |
<a href="#home" class="text-[#f8f4e9] hover:text-[#c9a769] transition duration-300">Home</a> | |
<a href="#menu" class="text-[#f8f4e9] hover:text-[#c9a769] transition duration-300">Menu</a> | |
<a href="#about" class="text-[#f8f4e9] hover:text-[#c9a769] transition duration-300">About</a> | |
<a href="#reservations" class="text-[#f8f4e9] hover:text-[#c9a769] transition duration-300">Reservations</a> | |
</div> | |
<button class="md:hidden text-[#f8f4e9]"> | |
<i class="fas fa-bars text-2xl"></i> | |
</button> | |
</div> | |
</div> | |
</nav> | |
<!-- Hero Section --> | |
<section id="home" class="hero-bg min-h-screen flex items-center justify-center relative overflow-hidden"> | |
<div class="absolute inset-0 bg-black/20"></div> | |
<div class="container mx-auto px-6 z-10 text-center"> | |
<h1 class="text-5xl md:text-7xl font-playfair font-bold text-[#f8f4e9] mb-6 transform transition-all duration-1000 ease-out translate-y-10 opacity-0 animate-fade-in" | |
data-replace='{"translate-y-10": "translate-y-0", "opacity-0": "opacity-100"}'> | |
<span class="text-[#c9a769]">Artisan</span> Coffee Experience | |
</h1> | |
<p class="text-xl md:text-2xl text-[#f8f4e9] max-w-2xl mx-auto mb-12 font-light transform transition-all duration-1000 ease-out delay-200 translate-y-10 opacity-0" | |
data-replace='{"translate-y-10": "translate-y-0", "opacity-0": "opacity-100"}'> | |
Where every cup tells a story of craftsmanship and passion | |
</p> | |
<div class="flex flex-col md:flex-row justify-center gap-4"> | |
<a href="#menu" class="px-8 py-4 bg-[#c9a769] text-[#322014] font-medium rounded-full hover:bg-[#d8b97d] transition duration-300"> | |
Explore Menu | |
</a> | |
<a href="#reservations" class="px-8 py-4 border-2 border-[#f8f4e9] text-[#f8f4e9] font-medium rounded-full hover:bg-[#f8f4e9] hover:text-[#322014] transition duration-300"> | |
Book a Table | |
</a> | |
</div> | |
</div> | |
<div class="absolute bottom-10 left-1/2 transform -translate-x-1/2 scroll-indicator"> | |
<a href="#menu" class="text-[#f8f4e9] animate-bounce"> | |
<i class="fas fa-chevron-down text-2xl"></i> | |
</a> | |
</div> | |
</section> | |
<!-- Menu Preview Section --> | |
<section id="menu" class="py-20 bg-[#f8f4e9]"> | |
<div class="container mx-auto px-6"> | |
<div class="text-center mb-16"> | |
<h2 class="text-4xl font-playfair font-bold mb-4">Our <span class="text-[#c9a769]">Signature</span> Creations</h2> | |
<div class="gold-divider w-24 mx-auto my-4"></div> | |
<p class="max-w-2xl mx-auto text-lg text-[#322014]/80"> | |
Handcrafted with premium ingredients and served with passion | |
</p> | |
</div> | |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-10"> | |
<!-- Menu Item 1 --> | |
<div class="menu-item bg-white rounded-xl overflow-hidden shadow-lg transition-all duration-500 hover:shadow-xl group"> | |
<div class="h-64 overflow-hidden relative"> | |
<img src="https://images.unsplash.com/photo-1517701550927-30cf4ba1dba5?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" | |
alt="Signature Coffee" class="w-full h-full object-cover transform group-hover:scale-110 transition duration-700 ease-in-out"> | |
<div class="absolute inset-0 bg-[#c9a769]/0 group-hover:bg-[#c9a769]/20 transition-all duration-700"></div> | |
</div> | |
<div class="p-6"> | |
<div class="flex justify-between items-start mb-2"> | |
<h3 class="text-xl font-playfair font-bold">LUX Signature Blend</h3> | |
<span class="text-[#c9a769] font-medium">$6.50</span> | |
</div> | |
<p class="text-[#322014]/70 mb-4">Our exclusive single-origin beans roasted to perfection</p> | |
<button class="text-[#c9a769] hover:text-[#322014] transition duration-300 flex items-center"> | |
View Details <i class="fas fa-arrow-right ml-2"></i> | |
</button> | |
</div> | |
</div> | |
<!-- Menu Item 2 --> | |
<div class="menu-item bg-white rounded-xl overflow-hidden shadow-lg transition-all duration-500 hover:shadow-xl"> | |
<div class="h-64 overflow-hidden"> | |
<img src="https://images.unsplash.com/photo-1551024506-0bccd828d307?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1557&q=80" | |
alt="Artisan Pastry" class="w-full h-full object-cover transform hover:scale-105 transition duration-500"> | |
</div> | |
<div class="p-6"> | |
<div class="flex justify-between items-start mb-2"> | |
<h3 class="text-xl font-playfair font-bold">Golden Croissant</h3> | |
<span class="text-[#c9a769] font-medium">$4.50</span> | |
</div> | |
<p class="text-[#322014]/70 mb-4">Buttery, flaky perfection with a delicate crisp exterior</p> | |
<button class="text-[#c9a769] hover:text-[#322014] transition duration-300 flex items-center"> | |
View Details <i class="fas fa-arrow-right ml-2"></i> | |
</button> | |
</div> | |
</div> | |
<!-- Menu Item 3 --> | |
<div class="menu-item bg-white rounded-xl overflow-hidden shadow-lg transition-all duration-500 hover:shadow-xl"> | |
<div class="h-64 overflow-hidden"> | |
<img src="https://images.unsplash.com/photo-1606787366850-de6330128bfc?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" | |
alt="Gourmet Brunch" class="w-full h-full object-cover transform hover:scale-105 transition duration-500"> | |
</div> | |
<div class="p-6"> | |
<div class="flex justify-between items-start mb-2"> | |
<h3 class="text-xl font-playfair font-bold">LUX Brunch Platter</h3> | |
<span class="text-[#c9a769] font-medium">$18.00</span> | |
</div> | |
<p class="text-[#322014]/70 mb-4">Seasonal ingredients, artisanal breads, and premium selections</p> | |
<button class="text-[#c9a769] hover:text-[#322014] transition duration-300 flex items-center"> | |
View Details <i class="fas fa-arrow-right ml-2"></i> | |
</button> | |
</div> | |
</div> | |
</div> | |
<div class="text-center mt-16"> | |
<a href="#menu" class="px-8 py-3 border-2 border-[#322014] text-[#322014] font-medium rounded-full hover:bg-[#322014] hover:text-[#f8f4e9] transition duration-300 inline-flex items-center"> | |
View Full Menu <i class="fas fa-book-open ml-2"></i> | |
</a> | |
</div> | |
</div> | |
</section> | |
<!-- About Section --> | |
<section id="about" class="py-20 bg-[#322014] text-[#f8f4e9]"> | |
<div class="container mx-auto px-6"> | |
<div class="flex flex-col lg:flex-row items-center"> | |
<div class="lg:w-1/2 mb-12 lg:mb-0 lg:pr-12"> | |
<div class="relative rounded-xl overflow-hidden shadow-2xl"> | |
<img src="https://images.unsplash.com/photo-1445116572660-236099ec97a0?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1471&q=80" | |
alt="Cafe Interior" class="w-full h-auto"> | |
<div class="absolute inset-0 border-[12px] border-[#c9a769]/30 pointer-events-none"></div> | |
</div> | |
</div> | |
<div class="lg:w-1/2"> | |
<h2 class="text-4xl font-playfair font-bold mb-6">Our <span class="text-[#c9a769]">Story</span></h2> | |
<div class="gold-divider w-24 my-4"></div> | |
<p class="text-lg mb-6"> | |
Founded in 2010, LUX Café began as a dream to create a sanctuary where coffee craftsmanship meets elegant hospitality. Our founder, a third-generation coffee roaster, envisioned a space where every detail matters. | |
</p> | |
<p class="text-lg mb-8"> | |
Today, we continue this tradition by sourcing only the finest beans from ethical growers, training our baristas as true artisans, and creating an atmosphere that feels both luxurious and welcoming. | |
</p> | |
<div class="flex flex-wrap gap-4"> | |
<div class="flex items-center"> | |
<div class="w-12 h-12 rounded-full bg-[#c9a769] flex items-center justify-center mr-4"> | |
<i class="fas fa-coffee text-[#322014] text-xl"></i> | |
</div> | |
<div> | |
<h4 class="font-bold">Artisan Roasts</h4> | |
<p class="text-sm opacity-80">Small-batch crafted</p> | |
</div> | |
</div> | |
<div class="flex items-center"> | |
<div class="w-12 h-12 rounded-full bg-[#c9a769] flex items-center justify-center mr-4"> | |
<i class="fas fa-leaf text-[#322014] text-xl"></i> | |
</div> | |
<div> | |
<h4 class="font-bold">Sustainable</h4> | |
<p class="text-sm opacity-80">Ethically sourced</p> | |
</div> | |
</div> | |
<div class="flex items-center"> | |
<div class="w-12 h-12 rounded-full bg-[#c9a769] flex items-center justify-center mr-4"> | |
<i class="fas fa-heart text-[#322014] text-xl"></i> | |
</div> | |
<div> | |
<h4 class="font-bold">Passionate</h4> | |
<p class="text-sm opacity-80">Crafted with love</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Testimonials --> | |
<section class="py-20 bg-[#f8f4e9]"> | |
<div class="container mx-auto px-6"> | |
<div class="text-center mb-16"> | |
<h2 class="text-4xl font-playfair font-bold mb-4">What Our <span class="text-[#c9a769]">Guests</span> Say</h2> | |
<div class="gold-divider w-24 mx-auto my-4"></div> | |
</div> | |
<div class="grid grid-cols-1 md:grid-cols-3 gap-8"> | |
<!-- Testimonial 1 --> | |
<div class="bg-white p-8 rounded-xl shadow-md relative hover:transform hover:-translate-y-2 transition-all duration-300 ease-in-out"> | |
<div class="text-[#c9a769] text-2xl mb-4">"</div> | |
<p class="text-[#322014]/80 mb-6"> | |
The attention to detail at LUX is unparalleled. From the exquisite coffee to the elegant ambiance, every visit feels special. | |
</p> | |
<div class="flex items-center"> | |
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Sarah J." class="w-12 h-12 rounded-full object-cover mr-4"> | |
<div> | |
<h4 class="font-bold">Sarah J.</h4> | |
<p class="text-sm text-[#322014]/60">Food Critic</p> | |
</div> | |
</div> | |
</div> | |
<!-- Testimonial 2 --> | |
<div class="bg-white p-8 rounded-xl shadow-md relative"> | |
<div class="text-[#c9a769] text-2xl mb-4">"</div> | |
<p class="text-[#322014]/80 mb-6"> | |
Their signature blend is worth traveling for. I've been to coffee shops around the world, and LUX stands among the very best. | |
</p> | |
<div class="flex items-center"> | |
<img src="https://randomuser.me/api/portraits/men/32.jpg" alt="Michael T." class="w-12 h-12 rounded-full object-cover mr-4"> | |
<div> | |
<h4 class="font-bold">Michael T.</h4> | |
<p class="text-sm text-[#322014]/60">Travel Blogger</p> | |
</div> | |
</div> | |
</div> | |
<!-- Testimonial 3 --> | |
<div class="bg-white p-8 rounded-xl shadow-md relative"> | |
<div class="text-[#c9a769] text-2xl mb-4">"</div> | |
<p class="text-[#322014]/80 mb-6"> | |
The perfect spot for both business meetings and leisurely brunches. The service is impeccable and the pastries divine. | |
</p> | |
<div class="flex items-center"> | |
<img src="https://randomuser.me/api/portraits/women/68.jpg" alt="Emily R." class="w-12 h-12 rounded-full object-cover mr-4"> | |
<div> | |
<h4 class="font-bold">Emily R.</h4> | |
<p class="text-sm text-[#322014]/60">Regular Guest</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Reservations Section --> | |
<section id="reservations" class="py-20 bg-[#322014] text-[#f8f4e9]"> | |
<div class="container mx-auto px-6"> | |
<div class="flex flex-col lg:flex-row items-center"> | |
<div class="lg:w-1/2 mb-12 lg:mb-0 lg:pr-12"> | |
<h2 class="text-4xl font-playfair font-bold mb-6">Reserve Your <span class="text-[#c9a769]">Experience</span></h2> | |
<div class="gold-divider w-24 my-4"></div> | |
<p class="text-lg mb-8"> | |
Secure your table at LUX Café and prepare for an exceptional culinary journey. Our intimate setting has limited seating to ensure personalized service. | |
</p> | |
<div class="flex items-center mb-6"> | |
<div class="w-14 h-14 rounded-full bg-[#c9a769] flex items-center justify-center mr-4"> | |
<i class="fas fa-phone text-[#322014] text-xl"></i> | |
</div> | |
<div> | |
<h4 class="font-bold text-lg">Direct Reservations</h4> | |
<p class="text-[#f8f4e9]/80">+1 (555) 123-4567</p> | |
</div> | |
</div> | |
<div class="flex items-center"> | |
<div class="w-14 h-14 rounded-full bg-[#c9a769] flex items-center justify-center mr-4"> | |
<i class="fas fa-clock text-[#322014] text-xl"></i> | |
</div> | |
<div> | |
<h4 class="font-bold text-lg">Opening Hours</h4> | |
<p class="text-[#f8f4e9]/80">Monday - Sunday: 7:00 AM - 7:00 PM</p> | |
</div> | |
</div> | |
</div> | |
<div class="lg:w-1/2"> | |
<div class="reservation-form bg-[#f8f4e9] rounded-xl p-8 text-[#322014]"> | |
<h3 class="text-2xl font-playfair font-bold mb-6">Book a Table</h3> | |
<form> | |
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6"> | |
<div> | |
<label class="block mb-2 font-medium">Name</label> | |
<input type="text" class="w-full px-4 py-3 border border-[#322014]/30 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#c9a769]"> | |
</div> | |
<div> | |
<label class="block mb-2 font-medium">Email</label> | |
<input type="email" class="w-full px-4 py-3 border border-[#322014]/30 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#c9a769]"> | |
</div> | |
<div> | |
<label class="block mb-2 font-medium">Date</label> | |
<input type="date" class="w-full px-4 py-3 border border-[#322014]/30 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#c9a769]"> | |
</div> | |
<div> | |
<label class="block mb-2 font-medium">Time</label> | |
<select class="w-full px-4 py-3 border border-[#322014]/30 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#c9a769]"> | |
<option>Select Time</option> | |
<option>7:00 AM</option> | |
<option>8:00 AM</option> | |
<option>9:00 AM</option> | |
<option>10:00 AM</option> | |
<option>11:00 AM</option> | |
<option>12:00 PM</option> | |
<option>1:00 PM</option> | |
<option>2:00 PM</option> | |
<option>3:00 PM</option> | |
<option>4:00 PM</option> | |
<option>5:00 PM</option> | |
<option>6:00 PM</option> | |
</select> | |
</div> | |
<div> | |
<label class="block mb-2 font-medium">Party Size</label> | |
<select class="w-full px-4 py-3 border border-[#322014]/30 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#c9a769]"> | |
<option>1 person</option> | |
<option>2 people</option> | |
<option>3 people</option> | |
<option>4 people</option> | |
<option>5 people</option> | |
<option>6+ people</option> | |
</select> | |
</div> | |
<div> | |
<label class="block mb-2 font-medium">Special Requests</label> | |
<input type="text" class="w-full px-4 py-3 border border-[#322014]/30 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#c9a769]"> | |
</div> | |
</div> | |
<button type="submit" class="w-full py-4 bg-[#322014] text-[#f8f4e9] font-medium rounded-lg hover:bg-[#1a120b] transition duration-300"> | |
Reserve Now | |
</button> | |
</form> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Footer --> | |
<footer class="bg-[#1a120b] text-[#f8f4e9]/70 py-12"> | |
<div class="container mx-auto px-6"> | |
<div class="grid grid-cols-1 md:grid-cols-4 gap-8"> | |
<div> | |
<h3 class="text-2xl font-playfair font-bold text-[#f8f4e9] mb-4"> | |
<span class="text-[#c9a769]">LUX</span> Café | |
</h3> | |
<p class="mb-4"> | |
Where exceptional coffee meets elegant hospitality in the heart of the city. | |
</p> | |
<div class="flex space-x-4"> | |
<a href="#" class="text-[#f8f4e9] hover:text-[#c9a769] transition duration-300"> | |
<i class="fab fa-instagram"></i> | |
</a> | |
<a href="#" class="text-[#f8f4e9] hover:text-[#c9a769] transition duration-300"> | |
<i class="fab fa-facebook-f"></i> | |
</a> | |
<a href="#" class="text-[#f8f4e9] hover:text-[#c9a769] transition duration-300"> | |
<i class="fab fa-twitter"></i> | |
</a> | |
</div> | |
</div> | |
<div> | |
<h4 class="text-lg font-bold text-[#f8f4e9] mb-4">Quick Links</h4> | |
<ul class="space-y-2"> | |
<li><a href="#home" class="hover:text-[#c9a769] transition duration-300">Home</a></li> | |
<li><a href="#menu" class="hover:text-[#c9a769] transition duration-300">Menu</a></li> | |
<li><a href="#about" class="hover:text-[#c9a769] transition duration-300">About</a></li> | |
<li><a href="#reservations" class="hover:text-[#c9a769] transition duration-300">Reservations</a></li> | |
</ul> | |
</div> | |
<div> | |
<h4 class="text-lg font-bold text-[#f8f4e9] mb-4">Contact</h4> | |
<ul class="space-y-2"> | |
<li class="flex items-start"> | |
<i class="fas fa-map-marker-alt mt-1 mr-3 text-[#c9a769]"></i> | |
<span>123 Elegance Avenue<br>Metropolitan City, MC 10001</span> | |
</li> | |
<li class="flex items-center"> | |
<i class="fas fa-phone mr-3 text-[#c9a769]"></i> | |
<span>+1 (555) 123-4567</span> | |
</li> | |
<li class="flex items-center"> | |
<i class="fas fa-envelope mr-3 text-[#c9a769]"></i> | |
<span>[email protected]</span> | |
</li> | |
</ul> | |
</div> | |
<div> | |
<h4 class="text-lg font-bold text-[#f8f4e9] mb-4">Newsletter</h4> | |
<p class="mb-4"> | |
Subscribe to receive updates on seasonal menus and special events. | |
</p> | |
<form class="flex"> | |
<input type="email" placeholder="Your email" class="px-4 py-2 w-full rounded-l-lg focus:outline-none text-[#322014]"> | |
<button type="submit" class="bg-[#c9a769] text-[#322014] px-4 py-2 rounded-r-lg hover:bg-[#d8b97d] transition duration-300"> | |
<i class="fas fa-paper-plane"></i> | |
</button> | |
</form> | |
</div> | |
</div> | |
<div class="border-t border-[#322014] mt-12 pt-8 text-center"> | |
<p>© 2023 LUX Café. All rights reserved.</p> | |
</div> | |
</div> | |
</footer> | |
<!-- Portfolio Call-to-Action Modal --> | |
<div id="portfolioModal" class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 hidden"> | |
<div class="bg-[#f8f4e9] rounded-xl max-w-md w-full mx-4 p-8 relative"> | |
<button id="closeModal" class="absolute top-4 right-4 text-[#322014] hover:text-[#c9a769]"> | |
<i class="fas fa-times text-xl"></i> | |
</button> | |
<h3 class="text-2xl font-playfair font-bold text-[#322014] mb-4">Enjoying This Design?</h3> | |
<div class="gold-divider w-16 my-4"></div> | |
<p class="text-[#322014]/80 mb-6"> | |
This elegant café landing page is part of my portfolio. I specialize in creating beautiful, functional websites that elevate brands. | |
</p> | |
<p class="text-[#322014]/80 mb-6"> | |
Let's collaborate on your next project! | |
</p> | |
<a href="https://rahulparathy.com" target="_blank" class="px-6 py-3 bg-[#322014] text-[#f8f4e9] font-medium rounded-lg hover:bg-[#1a120b] transition duration-300 inline-flex items-center"> | |
View My Portfolio <i class="fas fa-arrow-right ml-2"></i> | |
</a> | |
</div> | |
</div> | |
<script> | |
// Animate menu items on scroll | |
document.addEventListener('DOMContentLoaded', function() { | |
// Animate elements with data-replace | |
document.querySelectorAll('[data-replace]').forEach(el => { | |
const replace = JSON.parse(el.getAttribute('data-replace')); | |
Object.keys(replace).forEach(key => { | |
el.classList.replace(key, replace[key]); | |
}); | |
}); | |
// Parallax effect for menu items | |
document.querySelectorAll('.menu-item').forEach(item => { | |
item.addEventListener('mousemove', (e) => { | |
const x = e.clientX - item.getBoundingClientRect().left; | |
const y = e.clientY - item.getBoundingClientRect().top; | |
const centerX = item.offsetWidth / 2; | |
const centerY = item.offsetHeight / 2; | |
const moveX = (x - centerX) / 15; | |
const moveY = (y - centerY) / 15; | |
item.style.transform = `perspective(1000px) rotateX(${moveY}deg) rotateY(${-moveX}deg)`; | |
}); | |
item.addEventListener('mouseleave', () => { | |
item.style.transform = 'perspective(1000px) rotateX(0) rotateY(0)'; | |
}); | |
}); | |
// Show portfolio modal after delay | |
setTimeout(() => { | |
document.getElementById('portfolioModal').classList.remove('hidden'); | |
}, 3000); | |
// Close modal functionality | |
document.getElementById('closeModal').addEventListener('click', function() { | |
document.getElementById('portfolioModal').classList.add('hidden'); | |
}); | |
const menuItems = document.querySelectorAll('.menu-item'); | |
const observer = new IntersectionObserver((entries) => { | |
entries.forEach(entry => { | |
if (entry.isIntersecting) { | |
entry.target.classList.add('visible'); | |
} | |
}); | |
}, { threshold: 0.1 }); | |
menuItems.forEach(item => { | |
observer.observe(item); | |
}); | |
// Smooth scrolling for navigation | |
document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
anchor.addEventListener('click', function(e) { | |
e.preventDefault(); | |
const targetId = this.getAttribute('href'); | |
const targetElement = document.querySelector(targetId); | |
if (targetElement) { | |
window.scrollTo({ | |
top: targetElement.offsetTop - 80, | |
behavior: 'smooth' | |
}); | |
} | |
}); | |
}); | |
// Floating animation for elements | |
const floatingElements = document.querySelectorAll('.floating'); | |
floatingElements.forEach(el => { | |
el.style.animationDelay = `${Math.random() * 2}s`; | |
}); | |
}); | |
</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=rahul-codee/cafe-demo" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
</html> |