portfolio / index.html
Cezarxil's picture
Design a clean, minimalistic wedding videography portfolio website. Focus on elegance, simplicity, and emotional connection. Key features: Neutral color palette (white, beige, soft gray) Large fullscreen video header or hero reel Minimal text: name, tagline (‘Capturing Timeless Moments’), and contact button Grid gallery of wedding films with simple hover play About section with a short, warm description Contact form (name, email, message) Mobile-friendly, smooth scrolling, no clutter, no heavy effects." - Initial Deployment
f694ef8 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Timeless Moments | Wedding Videography</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>
/* Custom CSS for video hover effects */
.video-thumbnail {
position: relative;
overflow: hidden;
transition: all 0.3s ease;
}
.video-thumbnail:hover {
transform: scale(1.02);
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}
.play-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
opacity: 0;
transition: all 0.3s ease;
background: rgba(255,255,255,0.8);
width: 60px;
height: 60px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.video-thumbnail:hover .play-icon {
opacity: 1;
}
/* Smooth scrolling */
html {
scroll-behavior: smooth;
}
/* Hero video */
.hero-video {
height: 100vh;
max-height: 800px;
}
/* Custom underline for headings */
.heading-underline {
position: relative;
display: inline-block;
}
.heading-underline:after {
content: '';
position: absolute;
width: 50%;
height: 2px;
bottom: -8px;
left: 25%;
background-color: #d4a76a;
}
/* Contact form focus */
.contact-input:focus {
outline: none;
box-shadow: 0 0 0 2px rgba(212, 167, 106, 0.3);
}
</style>
</head>
<body class="font-sans text-gray-700 bg-white">
<!-- Navigation -->
<nav class="fixed w-full z-50 bg-white bg-opacity-90 backdrop-blur-sm shadow-sm">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16 items-center">
<div class="flex-shrink-0 flex items-center">
<span class="text-xl font-light text-gray-800">Timeless Moments</span>
</div>
<div class="hidden md:block">
<div class="ml-10 flex items-center space-x-8">
<a href="#home" class="text-gray-700 hover:text-amber-700 px-3 py-2 text-sm font-medium transition-colors duration-200">Home</a>
<a href="#portfolio" class="text-gray-700 hover:text-amber-700 px-3 py-2 text-sm font-medium transition-colors duration-200">Portfolio</a>
<a href="#about" class="text-gray-700 hover:text-amber-700 px-3 py-2 text-sm font-medium transition-colors duration-200">About</a>
<a href="#contact" class="text-gray-700 hover:text-amber-700 px-3 py-2 text-sm font-medium transition-colors duration-200">Contact</a>
</div>
</div>
<div class="md:hidden">
<button id="menu-toggle" class="text-gray-700 focus:outline-none">
<i class="fas fa-bars text-xl"></i>
</button>
</div>
</div>
</div>
<!-- Mobile menu -->
<div id="mobile-menu" class="hidden md:hidden bg-white shadow-lg">
<div class="px-2 pt-2 pb-3 space-y-1 sm:px-3">
<a href="#home" class="block px-3 py-2 text-base font-medium text-gray-700 hover:text-amber-700">Home</a>
<a href="#portfolio" class="block px-3 py-2 text-base font-medium text-gray-700 hover:text-amber-700">Portfolio</a>
<a href="#about" class="block px-3 py-2 text-base font-medium text-gray-700 hover:text-amber-700">About</a>
<a href="#contact" class="block px-3 py-2 text-base font-medium text-gray-700 hover:text-amber-700">Contact</a>
</div>
</div>
</nav>
<!-- Hero Section with Video Background -->
<section id="home" class="hero-video relative flex items-center justify-center bg-gray-100 overflow-hidden">
<video autoplay muted loop playsinline class="absolute w-full h-full object-cover">
<source src="https://assets.mixkit.co/videos/preview/mixkit-wedding-couple-in-a-field-1862-large.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="absolute inset-0 bg-black bg-opacity-30"></div>
<div class="relative z-10 text-center px-4">
<h1 class="text-4xl md:text-6xl font-light text-white mb-4">Capturing Timeless Moments</h1>
<p class="text-xl md:text-2xl text-white font-light mb-8 max-w-2xl mx-auto">Beautiful wedding films that tell your unique love story</p>
<a href="#contact" class="inline-block px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-amber-700 hover:bg-amber-800 transition-colors duration-200">
Get in Touch
</a>
</div>
</section>
<!-- Portfolio Section -->
<section id="portfolio" class="py-20 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16">
<h2 class="text-3xl md:text-4xl font-light text-gray-800 heading-underline">Wedding Films</h2>
<p class="mt-6 max-w-2xl mx-auto text-gray-600">Each wedding tells a different story. Here are some of our favorites.</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Video 1 -->
<div class="video-thumbnail rounded-lg overflow-hidden relative cursor-pointer">
<img src="https://images.unsplash.com/photo-1519225421980-715cb0215aed?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Wedding Film" class="w-full h-64 md:h-80 object-cover">
<div class="play-icon">
<i class="fas fa-play text-amber-700 text-xl"></i>
</div>
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
<h3 class="text-white font-light text-xl">Sarah & Michael</h3>
<p class="text-gray-300 text-sm">Tuscany, Italy</p>
</div>
</div>
<!-- Video 2 -->
<div class="video-thumbnail rounded-lg overflow-hidden relative cursor-pointer">
<img src="https://images.unsplash.com/photo-1523438885200-e635ba2c371e?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" alt="Wedding Film" class="w-full h-64 md:h-80 object-cover">
<div class="play-icon">
<i class="fas fa-play text-amber-700 text-xl"></i>
</div>
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
<h3 class="text-white font-light text-xl">Emma & James</h3>
<p class="text-gray-300 text-sm">New York, USA</p>
</div>
</div>
<!-- Video 3 -->
<div class="video-thumbnail rounded-lg overflow-hidden relative cursor-pointer">
<img src="https://images.unsplash.com/photo-1520854221256-17451cc331bf?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Wedding Film" class="w-full h-64 md:h-80 object-cover">
<div class="play-icon">
<i class="fas fa-play text-amber-700 text-xl"></i>
</div>
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
<h3 class="text-white font-light text-xl">Sophia & Daniel</h3>
<p class="text-gray-300 text-sm">Santorini, Greece</p>
</div>
</div>
<!-- Video 4 -->
<div class="video-thumbnail rounded-lg overflow-hidden relative cursor-pointer">
<img src="https://images.unsplash.com/photo-1515934751635-c81c6bc9a2d8?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Wedding Film" class="w-full h-64 md:h-80 object-cover">
<div class="play-icon">
<i class="fas fa-play text-amber-700 text-xl"></i>
</div>
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
<h3 class="text-white font-light text-xl">Olivia & William</h3>
<p class="text-gray-300 text-sm">Paris, France</p>
</div>
</div>
<!-- Video 5 -->
<div class="video-thumbnail rounded-lg overflow-hidden relative cursor-pointer">
<img src="https://images.unsplash.com/photo-1519671482749-fd09be7ccebf?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Wedding Film" class="w-full h-64 md:h-80 object-cover">
<div class="play-icon">
<i class="fas fa-play text-amber-700 text-xl"></i>
</div>
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
<h3 class="text-white font-light text-xl">Ava & Benjamin</h3>
<p class="text-gray-300 text-sm">Bali, Indonesia</p>
</div>
</div>
<!-- Video 6 -->
<div class="video-thumbnail rounded-lg overflow-hidden relative cursor-pointer">
<img src="https://images.unsplash.com/photo-1519225421980-715cb0215aed?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Wedding Film" class="w-full h-64 md:h-80 object-cover">
<div class="play-icon">
<i class="fas fa-play text-amber-700 text-xl"></i>
</div>
<div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black to-transparent p-4">
<h3 class="text-white font-light text-xl">Charlotte & Henry</h3>
<p class="text-gray-300 text-sm">Lake Como, Italy</p>
</div>
</div>
</div>
<div class="text-center mt-16">
<a href="#" class="inline-block px-6 py-2 border border-gray-300 text-base font-medium rounded-md text-gray-700 hover:bg-gray-50 transition-colors duration-200">
View More Films
</a>
</div>
</div>
</section>
<!-- About Section -->
<section id="about" class="py-20 bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="lg:grid lg:grid-cols-2 lg:gap-16 items-center">
<div class="mb-12 lg:mb-0">
<img src="https://images.unsplash.com/photo-1552664199-fd31f7431a55?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1374&q=80" alt="About Us" class="rounded-lg shadow-md w-full h-auto">
</div>
<div>
<h2 class="text-3xl md:text-4xl font-light text-gray-800 heading-underline">Our Story</h2>
<p class="mt-6 text-gray-600 leading-relaxed">
We're a passionate team of wedding filmmakers dedicated to capturing the essence of your special day.
With over a decade of experience, we've learned that the most beautiful moments are often the quietest -
the stolen glances, the tender touches, the joyful tears.
</p>
<p class="mt-4 text-gray-600 leading-relaxed">
Our approach is unobtrusive and natural. We blend into your day, capturing authentic emotions as they unfold,
creating films that you'll cherish for a lifetime. Every wedding is unique, and we take the time to understand
your story so we can tell it beautifully through film.
</p>
<div class="mt-8 grid grid-cols-2 gap-4">
<div class="flex items-center">
<div class="flex-shrink-0 bg-amber-100 rounded-full p-3">
<i class="fas fa-camera text-amber-700"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-800">Cinematic Style</h3>
<p class="mt-1 text-gray-600">Beautiful, film-like quality</p>
</div>
</div>
<div class="flex items-center">
<div class="flex-shrink-0 bg-amber-100 rounded-full p-3">
<i class="fas fa-heart text-amber-700"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-800">Emotional Storytelling</h3>
<p class="mt-1 text-gray-600">Capturing real moments</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Testimonials -->
<section class="py-20 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16">
<h2 class="text-3xl md:text-4xl font-light text-gray-800 heading-underline">Kind Words</h2>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div class="bg-gray-50 p-8 rounded-lg">
<div class="flex items-center mb-4">
<div class="text-amber-600 text-2xl 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="text-gray-600 italic mb-6">"We couldn't have asked for a more beautiful way to remember our day. The film captured emotions we didn't even realize were happening."</p>
<div class="flex items-center">
<div>
<h4 class="font-medium text-gray-800">Emily & Robert</h4>
<p class="text-gray-600 text-sm">June 2023</p>
</div>
</div>
</div>
<div class="bg-gray-50 p-8 rounded-lg">
<div class="flex items-center mb-4">
<div class="text-amber-600 text-2xl 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="text-gray-600 italic mb-6">"Every time we watch our wedding film, we discover new details and emotions. It's like reliving the best day of our lives over and over."</p>
<div class="flex items-center">
<div>
<h4 class="font-medium text-gray-800">Sophie & David</h4>
<p class="text-gray-600 text-sm">August 2023</p>
</div>
</div>
</div>
<div class="bg-gray-50 p-8 rounded-lg">
<div class="flex items-center mb-4">
<div class="text-amber-600 text-2xl 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="text-gray-600 italic mb-6">"The team was so professional and unobtrusive. We barely noticed them during the day, but the film shows they captured everything perfectly."</p>
<div class="flex items-center">
<div>
<h4 class="font-medium text-gray-800">Jessica & Michael</h4>
<p class="text-gray-600 text-sm">September 2023</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Contact Section -->
<section id="contact" class="py-20 bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="lg:grid lg:grid-cols-2 lg:gap-16">
<div class="mb-12 lg:mb-0">
<h2 class="text-3xl md:text-4xl font-light text-gray-800 heading-underline">Let's Connect</h2>
<p class="mt-6 text-gray-600 leading-relaxed">
We'd love to hear about your wedding plans and how we can help capture your special day.
Whether you're just starting to plan or have all the details finalized, we're here to help.
</p>
<div class="mt-8 space-y-4">
<div class="flex items-center">
<div class="flex-shrink-0 bg-amber-100 rounded-full p-3">
<i class="fas fa-envelope text-amber-700"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-800">Email Us</h3>
<p class="mt-1 text-gray-600">hello@timelessmoments.com</p>
</div>
</div>
<div class="flex items-center">
<div class="flex-shrink-0 bg-amber-100 rounded-full p-3">
<i class="fas fa-phone text-amber-700"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-800">Call Us</h3>
<p class="mt-1 text-gray-600">+1 (555) 123-4567</p>
</div>
</div>
<div class="flex items-center">
<div class="flex-shrink-0 bg-amber-100 rounded-full p-3">
<i class="fas fa-map-marker-alt text-amber-700"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-800">Based In</h3>
<p class="mt-1 text-gray-600">New York, USA<br>Available worldwide</p>
</div>
</div>
</div>
</div>
<div>
<form class="space-y-6">
<div>
<label for="name" class="block text-sm font-medium text-gray-700">Your Name</label>
<div class="mt-1">
<input id="name" name="name" type="text" required class="contact-input py-3 px-4 block w-full border border-gray-300 rounded-md focus:border-amber-500 focus:ring-amber-500">
</div>
</div>
<div>
<label for="email" class="block text-sm font-medium text-gray-700">Email Address</label>
<div class="mt-1">
<input id="email" name="email" type="email" required class="contact-input py-3 px-4 block w-full border border-gray-300 rounded-md focus:border-amber-500 focus:ring-amber-500">
</div>
</div>
<div>
<label for="wedding-date" class="block text-sm font-medium text-gray-700">Wedding Date</label>
<div class="mt-1">
<input id="wedding-date" name="wedding-date" type="date" class="contact-input py-3 px-4 block w-full border border-gray-300 rounded-md focus:border-amber-500 focus:ring-amber-500">
</div>
</div>
<div>
<label for="message" class="block text-sm font-medium text-gray-700">Your Message</label>
<div class="mt-1">
<textarea id="message" name="message" rows="4" class="contact-input py-3 px-4 block w-full border border-gray-300 rounded-md focus:border-amber-500 focus:ring-amber-500"></textarea>
</div>
</div>
<div>
<button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-amber-700 hover:bg-amber-800 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-amber-500 transition-colors duration-200">
Send Message
</button>
</div>
</form>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-white py-12 border-t border-gray-200">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex flex-col md:flex-row justify-between items-center">
<div class="mb-6 md:mb-0">
<span class="text-xl font-light text-gray-800">Timeless Moments</span>
<p class="mt-2 text-sm text-gray-500">Capturing your love story beautifully.</p>
</div>
<div class="flex space-x-6">
<a href="#" class="text-gray-500 hover:text-amber-700">
<i class="fab fa-instagram text-xl"></i>
</a>
<a href="#" class="text-gray-500 hover:text-amber-700">
<i class="fab fa-vimeo-v text-xl"></i>
</a>
<a href="#" class="text-gray-500 hover:text-amber-700">
<i class="fab fa-pinterest-p text-xl"></i>
</a>
</div>
</div>
<div class="mt-8 pt-8 border-t border-gray-200 flex flex-col md:flex-row justify-between items-center">
<p class="text-sm text-gray-500 mb-4 md:mb-0">&copy; 2023 Timeless Moments. All rights reserved.</p>
<div class="flex space-x-6">
<a href="#" class="text-sm text-gray-500 hover:text-amber-700">Privacy Policy</a>
<a href="#" class="text-sm text-gray-500 hover:text-amber-700">Terms of Service</a>
</div>
</div>
</div>
</footer>
<!-- Video Modal -->
<div id="video-modal" class="fixed inset-0 z-50 hidden items-center justify-center bg-black bg-opacity-90 p-4">
<div class="relative w-full max-w-4xl">
<button id="close-modal" class="absolute -top-12 right-0 text-white text-3xl focus:outline-none">
<i class="fas fa-times"></i>
</button>
<div class="aspect-w-16 aspect-h-9">
<iframe id="modal-video" class="w-full h-96 md:h-[32rem]" src="" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
</div>
</div>
</div>
<script>
// Mobile menu toggle
const menuToggle = document.getElementById('menu-toggle');
const mobileMenu = document.getElementById('mobile-menu');
menuToggle.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden');
});
// Close mobile menu when clicking on a link
const mobileLinks = document.querySelectorAll('#mobile-menu a');
mobileLinks.forEach(link => {
link.addEventListener('click', () => {
mobileMenu.classList.add('hidden');
});
});
// Video modal functionality
const videoThumbnails = document.querySelectorAll('.video-thumbnail');
const videoModal = document.getElementById('video-modal');
const modalVideo = document.getElementById('modal-video');
const closeModal = document.getElementById('close-modal');
// Sample video URLs (in a real site, these would be your actual video links)
const videoUrls = [
'https://player.vimeo.com/video/123456789?autoplay=1',
'https://player.vimeo.com/video/987654321?autoplay=1',
'https://player.vimeo.com/video/567891234?autoplay=1',
'https://player.vimeo.com/video/432156789?autoplay=1',
'https://player.vimeo.com/video/876543219?autoplay=1',
'https://player.vimeo.com/video/345678912?autoplay=1'
];
videoThumbnails.forEach((thumbnail, index) => {
thumbnail.addEventListener('click', () => {
modalVideo.src = videoUrls[index];
videoModal.classList.remove('hidden');
document.body.style.overflow = 'hidden';
});
});
closeModal.addEventListener('click', () => {
modalVideo.src = '';
videoModal.classList.add('hidden');
document.body.style.overflow = 'auto';
});
// Close modal when clicking outside the video
videoModal.addEventListener('click', (e) => {
if (e.target === videoModal) {
modalVideo.src = '';
videoModal.classList.add('hidden');
document.body.style.overflow = 'auto';
}
});
// Smooth scrolling for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function(e) {
e.preventDefault();
const targetId = this.getAttribute('href');
if (targetId === '#') return;
const targetElement = document.querySelector(targetId);
if (targetElement) {
const headerOffset = 80;
const elementPosition = targetElement.getBoundingClientRect().top;
const offsetPosition = elementPosition + window.pageYOffset - headerOffset;
window.scrollTo({
top: offsetPosition,
behavior: 'smooth'
});
}
});
});
</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=Cezarxil/portfolio" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>