Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Login - Royal Matrimony</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> | |
| .country-selector { | |
| background-position: right 0.75rem center; | |
| background-size: 1.5em 1.5em; | |
| } | |
| .otp-input { | |
| letter-spacing: 2rem; | |
| padding-left: 1rem; | |
| } | |
| </style> | |
| </head> | |
| <body class="font-sans bg-gray-50 min-h-screen flex items-center"> | |
| <div class="container mx-auto px-4 max-w-md"> | |
| <div class="bg-white rounded-xl shadow-xl overflow-hidden"> | |
| <!-- Header --> | |
| <div class="bg-maroon-800 text-white py-6 px-8 text-center"> | |
| <div class="flex justify-center items-center space-x-2 mb-2"> | |
| <i class="fas fa-heart text-2xl text-maroon-300"></i> | |
| <h1 class="text-2xl font-bold">Royal<span class="text-maroon-300">Matrimony</span></h1> | |
| </div> | |
| <h2 class="text-xl font-medium">Login to Your Account</h2> | |
| </div> | |
| <!-- Login Form --> | |
| <div class="p-8"> | |
| <form id="loginForm"> | |
| <!-- Phone Number Input --> | |
| <div class="mb-6"> | |
| <label for="phone" class="block text-gray-700 font-medium mb-2">Phone Number</label> | |
| <div class="flex"> | |
| <select id="countryCode" class="w-24 px-3 py-3 border border-gray-300 rounded-l-lg focus:outline-none focus:ring-2 focus:ring-maroon-500 focus:border-maroon-500 appearance-none country-selector"> | |
| <option value="+91">India (+91)</option> | |
| <option value="+1">USA (+1)</option> | |
| <option value="+44">UK (+44)</option> | |
| <option value="+971">UAE (+971)</option> | |
| <option value="+65">Singapore (+65)</option> | |
| </select> | |
| <input type="tel" id="phone" name="phone" placeholder="9876543210" | |
| class="flex-1 px-3 py-3 border-t border-r border-b border-gray-300 rounded-r-lg focus:outline-none focus:ring-2 focus:ring-maroon-500 focus:border-maroon-500" | |
| required pattern="[0-9]{10}"> | |
| </div> | |
| </div> | |
| <!-- Submit Button --> | |
| <button type="submit" class="w-full py-3 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-bold transition mb-4"> | |
| Send OTP | |
| </button> | |
| <!-- OTP Section (Initially Hidden) --> | |
| <div id="otpSection" class="hidden"> | |
| <div class="mb-4 text-center text-gray-600"> | |
| We've sent a 6-digit OTP to <span id="displayPhone" class="font-medium"></span> | |
| </div> | |
| <div class="mb-6"> | |
| <label for="otp" class="block text-gray-700 font-medium mb-2">Enter OTP</label> | |
| <input type="text" id="otp" name="otp" maxlength="6" | |
| class="w-full px-3 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-maroon-500 focus:border-maroon-500 text-center otp-input" | |
| required pattern="[0-9]{6}"> | |
| </div> | |
| <button type="button" id="verifyOtp" class="w-full py-3 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-bold transition mb-4"> | |
| Verify & Login | |
| </button> | |
| <div class="text-center text-sm text-gray-500"> | |
| Didn't receive OTP? <button type="button" id="resendOtp" class="text-maroon-600 hover:text-maroon-700 font-medium">Resend</button> | |
| </div> | |
| </div> | |
| <div class="text-center text-sm text-gray-500 mt-4"> | |
| By continuing, you agree to our <a href="#" class="text-maroon-600 hover:text-maroon-700">Terms</a> and <a href="#" class="text-maroon-600 hover:text-maroon-700">Privacy Policy</a> | |
| </div> | |
| </form> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| document.addEventListener('DOMContentLoaded', function() { | |
| const loginForm = document.getElementById('loginForm'); | |
| const otpSection = document.getElementById('otpSection'); | |
| const displayPhone = document.getElementById('displayPhone'); | |
| const verifyOtp = document.getElementById('verifyOtp'); | |
| const resendOtp = document.getElementById('resendOtp'); | |
| const phoneInput = document.getElementById('phone'); | |
| const countryCode = document.getElementById('countryCode'); | |
| // Format phone number input | |
| phoneInput.addEventListener('input', function(e) { | |
| this.value = this.value.replace(/[^0-9]/g, ''); | |
| }); | |
| // Handle form submission | |
| loginForm.addEventListener('submit', function(e) { | |
| e.preventDefault(); | |
| // Validate phone number | |
| if (phoneInput.value.length !== 10) { | |
| alert('Please enter a valid 10-digit phone number'); | |
| return; | |
| } | |
| // In a real app, you would send this to your backend to generate and send OTP | |
| const fullPhone = countryCode.value + phoneInput.value; | |
| displayPhone.textContent = fullPhone; | |
| // Show OTP section | |
| otpSection.classList.remove('hidden'); | |
| loginForm.querySelector('button[type="submit"]').classList.add('hidden'); | |
| // Focus OTP input | |
| setTimeout(() => { | |
| document.getElementById('otp').focus(); | |
| }, 300); | |
| }); | |
| // Verify OTP | |
| verifyOtp.addEventListener('click', function() { | |
| const otp = document.getElementById('otp').value; | |
| if (otp.length !== 6) { | |
| alert('Please enter the 6-digit OTP'); | |
| return; | |
| } | |
| // In a real app, you would verify the OTP with your backend | |
| alert('OTP verified successfully! Redirecting to dashboard...'); | |
| // window.location.href = 'dashboard.html'; | |
| }); | |
| // Resend OTP | |
| resendOtp.addEventListener('click', function() { | |
| alert('OTP resent to ' + displayPhone.textContent); | |
| document.getElementById('otp').value = ''; | |
| document.getElementById('otp').focus(); | |
| }); | |
| // Auto move to next OTP digit | |
| document.getElementById('otp').addEventListener('input', function(e) { | |
| if (this.value.length === 6) { | |
| verifyOtp.click(); | |
| } | |
| }); | |
| }); | |
| </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=rojithonline/myproposal" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Royal Matrimony - Find Your Perfect Match</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"> | |
| <script> | |
| tailwind.config = { | |
| theme: { | |
| extend: { | |
| colors: { | |
| maroon: { | |
| 50: '#fdf2f2', | |
| 100: '#fde8e8', | |
| 200: '#fbd5d5', | |
| 300: '#f8b4b4', | |
| 400: '#f98080', | |
| 500: '#f05252', | |
| 600: '#e02424', | |
| 700: '#c81e1e', | |
| 800: '#9b1c1c', | |
| 900: '#771d1d', | |
| } | |
| } | |
| } | |
| } | |
| } | |
| </script> | |
| <style> | |
| .hero-bg { | |
| background: linear-gradient(rgba(123, 0, 0, 0.7), rgba(123, 0, 0, 0.7)), | |
| url('https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80'); | |
| background-size: cover; | |
| background-position: center; | |
| } | |
| .profile-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 10px 25px rgba(123, 0, 0, 0.2); | |
| } | |
| .testimonial-card { | |
| background: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.95) 100%); | |
| } | |
| .maroon-btn { | |
| transition: all 0.3s ease; | |
| } | |
| .maroon-btn:hover { | |
| background-color: #771d1d; | |
| transform: translateY(-2px); | |
| } | |
| .heart-pulse { | |
| animation: pulse 1.5s infinite; | |
| } | |
| @keyframes pulse { | |
| 0% { transform: scale(1); } | |
| 50% { transform: scale(1.1); } | |
| 100% { transform: scale(1); } | |
| } | |
| </style> | |
| </head> | |
| <body class="font-sans bg-gray-50"> | |
| <!-- Header/Navigation --> | |
| <header class="bg-maroon-900 text-white shadow-lg sticky top-0 z-50"> | |
| <div class="container mx-auto px-4 py-3"> | |
| <div class="flex justify-between items-center"> | |
| <div class="flex items-center space-x-2"> | |
| <i class="fas fa-heart text-2xl text-maroon-300"></i> | |
| <h1 class="text-2xl font-bold">Royal<span class="text-maroon-300">Matrimony</span></h1> | |
| </div> | |
| <nav class="hidden md:flex space-x-8"> | |
| <a href="#" class="hover:text-maroon-300 font-medium">Home</a> | |
| <a href="#" class="hover:text-maroon-300 font-medium">Search</a> | |
| <a href="#" class="hover:text-maroon-300 font-medium">How it Works</a> | |
| <a href="#" class="hover:text-maroon-300 font-medium">Success Stories</a> | |
| <a href="#" class="hover:text-maroon-300 font-medium">Contact</a> | |
| </nav> | |
| <div class="flex items-center space-x-4"> | |
| <button id="loginButton" class="px-4 py-2 rounded-full bg-maroon-700 hover:bg-maroon-600 transition">Login</button> | |
| <button class="px-4 py-2 rounded-full bg-maroon-500 hover:bg-maroon-400 transition">Register</button> | |
| <button class="md:hidden text-2xl"> | |
| <i class="fas fa-bars"></i> | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Hero Section --> | |
| <section class="hero-bg text-white py-20 md:py-32"> | |
| <div class="container mx-auto px-4 text-center"> | |
| <h1 class="text-4xl md:text-6xl font-bold mb-6">Find Your <span class="text-maroon-300">Perfect Match</span></h1> | |
| <p class="text-xl md:text-2xl mb-10 max-w-3xl mx-auto">Join thousands of happy couples who found their life partners through our trusted matrimony service.</p> | |
| <div class="max-w-4xl mx-auto bg-white rounded-lg shadow-xl p-6"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-4"> | |
| <div class="md:col-span-1"> | |
| <select class="w-full p-3 border border-gray-300 rounded-lg text-gray-700"> | |
| <option>Looking For</option> | |
| <option>Bride</option> | |
| <option>Groom</option> | |
| </select> | |
| </div> | |
| <div class="md:col-span-1"> | |
| <select class="w-full p-3 border border-gray-300 rounded-lg text-gray-700"> | |
| <option>Religion</option> | |
| <option>Hindu</option> | |
| <option>Muslim</option> | |
| <option>Christian</option> | |
| <option>Sikh</option> | |
| <option>Other</option> | |
| </select> | |
| </div> | |
| <div class="md:col-span-1"> | |
| <select class="w-full p-3 border border-gray-300 rounded-lg text-gray-700"> | |
| <option>Community</option> | |
| <option>Brahmin</option> | |
| <option>Kshatriya</option> | |
| <option>Vaishya</option> | |
| <option>Other</option> | |
| </select> | |
| </div> | |
| <div class="md:col-span-1"> | |
| <button class="w-full p-3 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-bold transition">Find Matches</button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Stats Section --> | |
| <section class="py-16 bg-white"> | |
| <div class="container mx-auto px-4"> | |
| <div class="grid grid-cols-2 md:grid-cols-4 gap-8 text-center"> | |
| <div class="p-6"> | |
| <div class="text-5xl font-bold text-maroon-700 mb-2">10K+</div> | |
| <div class="text-gray-600">Successful Matches</div> | |
| </div> | |
| <div class="p-6"> | |
| <div class="text-5xl font-bold text-maroon-700 mb-2">50K+</div> | |
| <div class="text-gray-600">Active Profiles</div> | |
| </div> | |
| <div class="p-6"> | |
| <div class="text-5xl font-bold text-maroon-700 mb-2">100+</div> | |
| <div class="text-gray-600">Communities</div> | |
| </div> | |
| <div class="p-6"> | |
| <div class="text-5xl font-bold text-maroon-700 mb-2">15+</div> | |
| <div class="text-gray-600">Countries</div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Featured Profiles --> | |
| <section class="py-16 bg-gray-50"> | |
| <div class="container mx-auto px-4"> | |
| <div class="text-center mb-12"> | |
| <h2 class="text-3xl font-bold text-maroon-800 mb-4">Featured Profiles</h2> | |
| <p class="text-gray-600 max-w-2xl mx-auto">Browse through our verified profiles of brides and grooms from various communities.</p> | |
| </div> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-8"> | |
| <!-- Profile 1 --> | |
| <div class="profile-card bg-white rounded-xl shadow-md overflow-hidden transition duration-300"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1534528741775-53994a69daeb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1372&q=80" | |
| alt="Profile" class="w-full h-64 object-cover"> | |
| <div class="absolute top-4 right-4 bg-maroon-600 text-white px-2 py-1 rounded-full text-xs font-bold">Premium</div> | |
| </div> | |
| <div class="p-6"> | |
| <div class="flex justify-between items-start mb-2"> | |
| <h3 class="text-xl font-bold text-gray-800">Priya Sharma</h3> | |
| <span class="text-gray-500">28 yrs</span> | |
| </div> | |
| <div class="text-gray-600 mb-3">Software Engineer, Bangalore</div> | |
| <div class="flex flex-wrap gap-2 mb-4"> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">Brahmin</span> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">MBA</span> | |
| </div> | |
| <button class="w-full py-2 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-medium transition">View Profile</button> | |
| </div> | |
| </div> | |
| <!-- Profile 2 --> | |
| <div class="profile-card bg-white rounded-xl shadow-md overflow-hidden transition duration-300"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" | |
| alt="Profile" class="w-full h-64 object-cover"> | |
| </div> | |
| <div class="p-6"> | |
| <div class="flex justify-between items-start mb-2"> | |
| <h3 class="text-xl font-bold text-gray-800">Rahul Verma</h3> | |
| <span class="text-gray-500">32 yrs</span> | |
| </div> | |
| <div class="text-gray-600 mb-3">Doctor, Delhi</div> | |
| <div class="flex flex-wrap gap-2 mb-4"> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">Kshatriya</span> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">MD</span> | |
| </div> | |
| <button class="w-full py-2 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-medium transition">View Profile</button> | |
| </div> | |
| </div> | |
| <!-- Profile 3 --> | |
| <div class="profile-card bg-white rounded-xl shadow-md overflow-hidden transition duration-300"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" | |
| alt="Profile" class="w-full h-64 object-cover"> | |
| <div class="absolute top-4 right-4 bg-maroon-600 text-white px-2 py-1 rounded-full text-xs font-bold">Premium</div> | |
| </div> | |
| <div class="p-6"> | |
| <div class="flex justify-between items-start mb-2"> | |
| <h3 class="text-xl font-bold text-gray-800">Ananya Patel</h3> | |
| <span class="text-gray-500">26 yrs</span> | |
| </div> | |
| <div class="text-gray-600 mb-3">Fashion Designer, Mumbai</div> | |
| <div class="flex flex-wrap gap-2 mb-4"> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">Patel</span> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">B.Des</span> | |
| </div> | |
| <button class="w-full py-2 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-medium transition">View Profile</button> | |
| </div> | |
| </div> | |
| <!-- Profile 4 --> | |
| <div class="profile-card bg-white rounded-xl shadow-md overflow-hidden transition duration-300"> | |
| <div class="relative"> | |
| <img src="https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" | |
| alt="Profile" class="w-full h-64 object-cover"> | |
| </div> | |
| <div class="p-6"> | |
| <div class="flex justify-between items-start mb-2"> | |
| <h3 class="text-xl font-bold text-gray-800">Arjun Singh</h3> | |
| <span class="text-gray-500">30 yrs</span> | |
| </div> | |
| <div class="text-gray-600 mb-3">Business Owner, Jaipur</div> | |
| <div class="flex flex-wrap gap-2 mb-4"> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">Rajput</span> | |
| <span class="bg-maroon-100 text-maroon-800 text-xs px-2 py-1 rounded">MBA</span> | |
| </div> | |
| <button class="w-full py-2 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-medium transition">View Profile</button> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="text-center mt-10"> | |
| <button class="px-8 py-3 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-bold transition">Browse All Profiles</button> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- How It Works --> | |
| <section class="py-16 bg-white"> | |
| <div class="container mx-auto px-4"> | |
| <div class="text-center mb-12"> | |
| <h2 class="text-3xl font-bold text-maroon-800 mb-4">How It Works</h2> | |
| <p class="text-gray-600 max-w-2xl mx-auto">Our simple 4-step process to find your perfect life partner.</p> | |
| </div> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-8"> | |
| <div class="text-center p-6"> | |
| <div class="w-20 h-20 bg-maroon-100 rounded-full flex items-center justify-center mx-auto mb-4"> | |
| <i class="fas fa-user-plus text-3xl text-maroon-600"></i> | |
| </div> | |
| <h3 class="text-xl font-bold text-gray-800 mb-2">Create Profile</h3> | |
| <p class="text-gray-600">Register with basic details and create your profile in minutes.</p> | |
| </div> | |
| <div class="text-center p-6"> | |
| <div class="w-20 h-20 bg-maroon-100 rounded-full flex items-center justify-center mx-auto mb-4"> | |
| <i class="fas fa-search text-3xl text-maroon-600"></i> | |
| </div> | |
| <h3 class="text-xl font-bold text-gray-800 mb-2">Search Matches</h3> | |
| <p class="text-gray-600">Use advanced filters to find compatible matches based on your preferences.</p> | |
| </div> | |
| <div class="text-center p-6"> | |
| <div class="w-20 h-20 bg-maroon-100 rounded-full flex items-center justify-center mx-auto mb-4"> | |
| <i class="fas fa-comments text-3xl text-maroon-600"></i> | |
| </div> | |
| <h3 class="text-xl font-bold text-gray-800 mb-2">Connect</h3> | |
| <p class="text-gray-600">Express interest and communicate through our secure messaging system.</p> | |
| </div> | |
| <div class="text-center p-6"> | |
| <div class="w-20 h-20 bg-maroon-100 rounded-full flex items-center justify-center mx-auto mb-4"> | |
| <i class="fas fa-heart text-3xl text-maroon-600 heart-pulse"></i> | |
| </div> | |
| <h3 class="text-xl font-bold text-gray-800 mb-2">Get Married</h3> | |
| <p class="text-gray-600">Find your perfect match and start your happily ever after.</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Success Stories --> | |
| <section class="py-16 bg-gray-50"> | |
| <div class="container mx-auto px-4"> | |
| <div class="text-center mb-12"> | |
| <h2 class="text-3xl font-bold text-maroon-800 mb-4">Success Stories</h2> | |
| <p class="text-gray-600 max-w-2xl mx-auto">Real couples who found love through Royal Matrimony.</p> | |
| </div> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-8"> | |
| <div class="testimonial-card rounded-xl shadow-md p-6"> | |
| <div class="flex items-center mb-4"> | |
| <img src="https://images.unsplash.com/photo-1531427186611-ecfd6d936c79?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" | |
| alt="Couple" class="w-16 h-16 rounded-full object-cover mr-4"> | |
| <div> | |
| <h4 class="font-bold text-gray-800">Rahul & Priya</h4> | |
| <p class="text-gray-600 text-sm">Married: June 2022</p> | |
| </div> | |
| </div> | |
| <p class="text-gray-700 mb-4">"We found each other through Royal Matrimony and instantly connected. The platform made it so easy to communicate and get to know each other before meeting in person."</p> | |
| <div class="flex text-yellow-400"> | |
| <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> | |
| <div class="testimonial-card rounded-xl shadow-md p-6"> | |
| <div class="flex items-center mb-4"> | |
| <img src="https://images.unsplash.com/photo-1529626455594-4ff0802cfb7e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" | |
| alt="Couple" class="w-16 h-16 rounded-full object-cover mr-4"> | |
| <div> | |
| <h4 class="font-bold text-gray-800">Arjun & Ananya</h4> | |
| <p class="text-gray-600 text-sm">Married: December 2021</p> | |
| </div> | |
| </div> | |
| <p class="text-gray-700 mb-4">"The detailed profiles and verification process gave us confidence in the platform. We're so grateful to have found each other through Royal Matrimony."</p> | |
| <div class="flex text-yellow-400"> | |
| <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> | |
| <div class="testimonial-card rounded-xl shadow-md p-6"> | |
| <div class="flex items-center mb-4"> | |
| <img src="https://images.unsplash.com/photo-1529333166437-7750a6dd5a70?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" | |
| alt="Couple" class="w-16 h-16 rounded-full object-cover mr-4"> | |
| <div> | |
| <h4 class="font-bold text-gray-800">Vikram & Neha</h4> | |
| <p class="text-gray-600 text-sm">Married: March 2023</p> | |
| </div> | |
| </div> | |
| <p class="text-gray-700 mb-4">"As professionals with busy schedules, we appreciated how efficient the matching process was. Within weeks of joining, we found our perfect match!"</p> | |
| <div class="flex text-yellow-400"> | |
| <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> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Call to Action --> | |
| <section class="py-20 bg-maroon-800 text-white"> | |
| <div class="container mx-auto px-4 text-center"> | |
| <h2 class="text-3xl md:text-4xl font-bold mb-6">Ready to Find Your Life Partner?</h2> | |
| <p class="text-xl mb-10 max-w-2xl mx-auto">Join thousands of happy couples who found their perfect match through Royal Matrimony.</p> | |
| <div class="flex flex-col sm:flex-row justify-center gap-4"> | |
| <button class="px-8 py-4 bg-white text-maroon-800 hover:bg-gray-100 rounded-lg font-bold transition">Create Free Profile</button> | |
| <button class="px-8 py-4 border-2 border-white text-white hover:bg-maroon-700 rounded-lg font-bold transition">Learn More</button> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Footer --> | |
| <footer class="bg-gray-900 text-white pt-16 pb-8"> | |
| <div class="container mx-auto px-4"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-12 mb-12"> | |
| <div> | |
| <div class="flex items-center space-x-2 mb-4"> | |
| <i class="fas fa-heart text-2xl text-maroon-400"></i> | |
| <h3 class="text-2xl font-bold">Royal<span class="text-maroon-400">Matrimony</span></h3> | |
| </div> | |
| <p class="text-gray-400 mb-4">Trusted by millions to find their perfect life partners since 2010.</p> | |
| <div class="flex space-x-4"> | |
| <a href="#" class="text-gray-400 hover:text-white text-xl"><i class="fab fa-facebook-f"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white text-xl"><i class="fab fa-twitter"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white text-xl"><i class="fab fa-instagram"></i></a> | |
| <a href="#" class="text-gray-400 hover:text-white text-xl"><i class="fab fa-linkedin-in"></i></a> | |
| </div> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-bold mb-4 text-maroon-300">Quick Links</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Home</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">About Us</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Success Stories</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Blog</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Contact Us</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-bold mb-4 text-maroon-300">Help & Support</h4> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-white">FAQ</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Safety Tips</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Privacy Policy</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Terms & Conditions</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Grievance Redressal</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h4 class="text-lg font-bold mb-4 text-maroon-300">Contact Us</h4> | |
| <ul class="space-y-2"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-map-marker-alt text-maroon-400 mt-1 mr-3"></i> | |
| <span class="text-gray-400">123 Matrimony Lane, Mumbai, India</span> | |
| </li> | |
| <li class="flex items-center"> | |
| <i class="fas fa-phone-alt text-maroon-400 mr-3"></i> | |
| <span class="text-gray-400">+91 9876543210</span> | |
| </li> | |
| <li class="flex items-center"> | |
| <i class="fas fa-envelope text-maroon-400 mr-3"></i> | |
| <span class="text-gray-400">info@royalmatrimony.com</span> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="border-t border-gray-800 pt-8 text-center text-gray-500"> | |
| <p>© 2023 Royal Matrimony. All rights reserved.</p> | |
| </div> | |
| </div> | |
| </footer> | |
| <!-- Login Modal --> | |
| <div id="loginModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden"> | |
| <div class="bg-white rounded-xl shadow-xl overflow-hidden w-full max-w-md mx-4"> | |
| <div class="bg-maroon-800 text-white py-6 px-8 text-center"> | |
| <div class="flex justify-center items-center space-x-2 mb-2"> | |
| <i class="fas fa-heart text-2xl text-maroon-300"></i> | |
| <h1 class="text-2xl font-bold">Royal<span class="text-maroon-300">Matrimony</span></h1> | |
| </div> | |
| <h2 class="text-xl font-medium">Login to Your Account</h2> | |
| </div> | |
| <div class="p-8"> | |
| <form id="loginForm"> | |
| <!-- Phone Number Input --> | |
| <div class="mb-6"> | |
| <label for="phone" class="block text-gray-700 font-medium mb-2">Phone Number</label> | |
| <div class="flex"> | |
| <select id="countryCode" class="w-24 px-3 py-3 border border-gray-300 rounded-l-lg focus:outline-none focus:ring-2 focus:ring-maroon-500 focus:border-maroon-500 appearance-none"> | |
| <option value="+91">India (+91)</option> | |
| <option value="+1">USA (+1)</option> | |
| <option value="+44">UK (+44)</option> | |
| <option value="+971">UAE (+971)</option> | |
| <option value="+65">Singapore (+65)</option> | |
| </select> | |
| <input type="tel" id="phone" name="phone" placeholder="9876543210" | |
| class="flex-1 px-3 py-3 border-t border-r border-b border-gray-300 rounded-r-lg focus:outline-none focus:ring-2 focus:ring-maroon-500 focus:border-maroon-500" | |
| required pattern="[0-9]{10}"> | |
| </div> | |
| </div> | |
| <!-- Submit Button --> | |
| <button type="submit" class="w-full py-3 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-bold transition mb-4"> | |
| Send OTP | |
| </button> | |
| <!-- OTP Section (Initially Hidden) --> | |
| <div id="otpSection" class="hidden"> | |
| <div class="mb-4 text-center text-gray-600"> | |
| We've sent a 6-digit OTP to <span id="displayPhone" class="font-medium"></span> | |
| </div> | |
| <div class="mb-6"> | |
| <label for="otp" class="block text-gray-700 font-medium mb-2">Enter OTP</label> | |
| <input type="text" id="otp" name="otp" maxlength="6" | |
| class="w-full px-3 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-maroon-500 focus:border-maroon-500 text-center tracking-[2rem]" | |
| required pattern="[0-9]{6}"> | |
| </div> | |
| <button type="button" id="verifyOtp" class="w-full py-3 bg-maroon-600 hover:bg-maroon-700 text-white rounded-lg font-bold transition mb-4"> | |
| Verify & Login | |
| </button> | |
| <div class="text-center text-sm text-gray-500"> | |
| Didn't receive OTP? <button type="button" id="resendOtp" class="text-maroon-600 hover:text-maroon-700 font-medium">Resend</button> | |
| </div> | |
| </div> | |
| <div class="text-center text-sm text-gray-500 mt-4"> | |
| By continuing, you agree to our <a href="#" class="text-maroon-600 hover:text-maroon-700">Terms</a> and <a href="#" class="text-maroon-600 hover:text-maroon-700">Privacy Policy</a> | |
| </div> | |
| </form> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| // Mobile menu toggle | |
| document.addEventListener('DOMContentLoaded', function() { | |
| const mobileMenuButton = document.querySelector('.md\\:hidden.text-2xl'); | |
| const mobileMenu = document.querySelector('nav.md\\:flex'); | |
| mobileMenuButton.addEventListener('click', function() { | |
| mobileMenu.classList.toggle('hidden'); | |
| mobileMenu.classList.toggle('flex'); | |
| mobileMenu.classList.toggle('flex-col'); | |
| mobileMenu.classList.toggle('absolute'); | |
| mobileMenu.classList.toggle('top-16'); | |
| mobileMenu.classList.toggle('left-0'); | |
| mobileMenu.classList.toggle('right-0'); | |
| mobileMenu.classList.toggle('bg-maroon-900'); | |
| mobileMenu.classList.toggle('p-4'); | |
| mobileMenu.classList.toggle('space-y-4'); | |
| mobileMenu.classList.toggle('space-x-8'); | |
| }); | |
| // Login Modal | |
| const loginButton = document.getElementById('loginButton'); | |
| const loginModal = document.getElementById('loginModal'); | |
| const loginForm = document.getElementById('loginForm'); | |
| const otpSection = document.getElementById('otpSection'); | |
| const displayPhone = document.getElementById('displayPhone'); | |
| const verifyOtp = document.getElementById('verifyOtp'); | |
| const resendOtp = document.getElementById('resendOtp'); | |
| const phoneInput = document.getElementById('phone'); | |
| const countryCode = document.getElementById('countryCode'); | |
| // Toggle login modal | |
| loginButton.addEventListener('click', function() { | |
| loginModal.classList.toggle('hidden'); | |
| }); | |
| // Close modal when clicking outside | |
| loginModal.addEventListener('click', function(e) { | |
| if (e.target === loginModal) { | |
| loginModal.classList.add('hidden'); | |
| } | |
| }); | |
| // Format phone number input | |
| phoneInput.addEventListener('input', function(e) { | |
| this.value = this.value.replace(/[^0-9]/g, ''); | |
| }); | |
| // Handle form submission | |
| loginForm.addEventListener('submit', function(e) { | |
| e.preventDefault(); | |
| // Validate phone number | |
| if (phoneInput.value.length !== 10) { | |
| alert('Please enter a valid 10-digit phone number'); | |
| return; | |
| } | |
| // In a real app, you would send this to your backend to generate and send OTP | |
| const fullPhone = countryCode.value + phoneInput.value; | |
| displayPhone.textContent = fullPhone; | |
| // Show OTP section | |
| otpSection.classList.remove('hidden'); | |
| loginForm.querySelector('button[type="submit"]').classList.add('hidden'); | |
| // Focus OTP input | |
| setTimeout(() => { | |
| document.getElementById('otp').focus(); | |
| }, 300); | |
| }); | |
| // Verify OTP | |
| verifyOtp.addEventListener('click', function() { | |
| const otp = document.getElementById('otp').value; | |
| if (otp.length !== 6) { | |
| alert('Please enter the 6-digit OTP'); | |
| return; | |
| } | |
| // In a real app, you would verify the OTP with your backend | |
| alert('OTP verified successfully! Redirecting to dashboard...'); | |
| loginModal.classList.add('hidden'); | |
| // window.location.href = 'dashboard.html'; | |
| }); | |
| // Resend OTP | |
| resendOtp.addEventListener('click', function() { | |
| alert('OTP resent to ' + displayPhone.textContent); | |
| document.getElementById('otp').value = ''; | |
| document.getElementById('otp').focus(); | |
| }); | |
| // Auto move to next OTP digit | |
| document.getElementById('otp').addEventListener('input', function(e) { | |
| if (this.value.length === 6) { | |
| verifyOtp.click(); | |
| } | |
| }); | |
| // Smooth scrolling for anchor links | |
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
| anchor.addEventListener('click', function (e) { | |
| e.preventDefault(); | |
| document.querySelector(this.getAttribute('href')).scrollIntoView({ | |
| behavior: 'smooth' | |
| }); | |
| }); | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> |