Tour Packages Card Template
Preview
Edit
Download
Run
Download Options
HTML File
Download as .html file
CSS File
Download as .css file
JavaScript File
Download as .js file
Combined HTML
All code in one HTML file
Project ZIP
All files in a ZIP archive
Cancel
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Premium Tour Packages</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> </head> <body> <div class="header"> <h1>Premium Travel Experiences</h1> <p>Discover our exclusive collection of handcrafted tours, designed for the discerning traveler seeking authentic experiences and unparalleled luxury.</p> </div> <div class="packages-container"> <!-- Bali Package --> <div class="card"> <div class="card-image" style="background-image: url('https://images.unsplash.com/photo-1518548419970-58e3b4079ab2?ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80');"> <div class="badge">Popular</div> </div> <div class="card-content"> <h2 class="destination">Bali Tropical Paradise</h2> <p class="description">Experience the enchanting island of Bali with luxury villa stays, private temple tours, and breathtaking ocean views. Includes spa treatments and gourmet dining.</p> <div class="details"> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-calendar-alt"></i></div> <div class="detail-label">Duration</div> <div class="detail-value">8 Days</div> </div> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-moon"></i></div> <div class="detail-label">Nights</div> <div class="detail-value">7 Nights</div> </div> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-users"></i></div> <div class="detail-label">Group Size</div> <div class="detail-value">Max 12</div> </div> </div> <div class="price">$2,499 <span>/ person</span></div> <button class="book-btn">Book Now</button> </div> </div> <!-- Swiss Alps Package --> <div class="card"> <div class="card-image" style="background-image: url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80');"> <div class="badge">Luxury</div> </div> <div class="card-content"> <h2 class="destination">Swiss Alpine Retreat</h2> <p class="description">Journey through the majestic Swiss Alps with guided mountain excursions, luxury chalet accommodation, and gourmet fondue experiences in picturesque villages.</p> <div class="details"> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-calendar-alt"></i></div> <div class="detail-label">Duration</div> <div class="detail-value">10 Days</div> </div> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-moon"></i></div> <div class="detail-label">Nights</div> <div class="detail-value">9 Nights</div> </div> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-users"></i></div> <div class="detail-label">Group Size</div> <div class="detail-value">Max 10</div> </div> </div> <div class="price">$3,899 <span>/ person</span></div> <button class="book-btn">Book Now</button> </div> </div> <!-- Japan Package --> <div class="card"> <div class="card-image" style="background-image: url('https://images.unsplash.com/photo-1493976040374-85c8e12f0c0e?ixlib=rb-1.2.1&auto=format&fit=crop&w=800&q=80');"> <div class="badge">Cultural</div> </div> <div class="card-content"> <h2 class="destination">Japanese Cultural Odyssey</h2> <p class="description">Immerse yourself in Japan's rich heritage with visits to ancient temples, traditional tea ceremonies, sushi-making classes, and stays in authentic ryokans.</p> <div class="details"> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-calendar-alt"></i></div> <div class="detail-label">Duration</div> <div class="detail-value">12 Days</div> </div> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-moon"></i></div> <div class="detail-label">Nights</div> <div class="detail-value">11 Nights</div> </div> <div class="detail-item"> <div class="detail-icon"><i class="fas fa-users"></i></div> <div class="detail-label">Group Size</div> <div class="detail-value">Max 15</div> </div> </div> <div class="price">$4,299 <span>/ person</span></div> <button class="book-btn">Book Now</button> </div> </div> </div> <div class="footer"> <p>© 2023 Premium Travel Co. All rights reserved. | <a href="#" style="color: #3b82f6; text-decoration: none;">Contact Us</a> | <a href="#" style="color: #3b82f6; text-decoration: none;">Terms & Conditions</a></p> </div> </body> </html>
CSS
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } body { background-color: #f8fafc; color: #333; padding: 20px; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; } .header { text-align: center; margin-bottom: 50px; max-width: 800px; } .header h1 { font-size: 2.8rem; color: #1e3a8a; margin-bottom: 15px; font-weight: 700; } .header p { font-size: 1.2rem; color: #64748b; line-height: 1.6; } .packages-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; max-width: 1200px; margin: 0 auto; } .card { background-color: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08); transition: all 0.4s ease; flex: 1; min-width: 300px; max-width: 350px; display: flex; flex-direction: column; height: 100%; } .card:hover { transform: translateY(-12px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15); } .card-image { height: 220px; width: 100%; background-size: cover; background-position: center; position: relative; } .card-image::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 40%; background: linear-gradient(to top, rgba(0,0,0,0.1), transparent); } .badge { position: absolute; top: 20px; right: 20px; background-color: #f59e0b; color: white; padding: 6px 14px; border-radius: 20px; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.5px; } .card-content { padding: 28px; display: flex; flex-direction: column; flex-grow: 1; } .destination { font-size: 1.6rem; font-weight: 700; color: #1e3a8a; margin-bottom: 12px; line-height: 1.3; } .description { color: #64748b; line-height: 1.6; margin-bottom: 24px; flex-grow: 1; } .details { display: flex; justify-content: space-between; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid #e2e8f0; } .detail-item { display: flex; flex-direction: column; align-items: center; } .detail-icon { color: #3b82f6; font-size: 1.4rem; margin-bottom: 8px; } .detail-label { font-size: 0.85rem; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; } .detail-value { font-weight: 700; color: #1e293b; } .price { font-size: 2.2rem; font-weight: 800; color: #1e3a8a; margin-bottom: 25px; text-align: center; } .price span { font-size: 1rem; color: #64748b; font-weight: 500; } .book-btn { background: linear-gradient(to right, #3b82f6, #1d4ed8); color: white; border: none; padding: 16px; border-radius: 12px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; letter-spacing: 0.5px; width: 100%; } .book-btn:hover { background: linear-gradient(to right, #1d4ed8, #1e3a8a); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(59, 130, 246, 0.3); } .book-btn:active { transform: translateY(0); } .footer { margin-top: 60px; text-align: center; color: #64748b; font-size: 0.9rem; padding: 20px; } /* Responsive Design */ @media (max-width: 1100px) { .packages-container { gap: 25px; } .card { min-width: 280px; } } @media (max-width: 768px) { .packages-container { flex-direction: column; align-items: center; } .card { max-width: 450px; width: 100%; } .header h1 { font-size: 2.2rem; } .header p { font-size: 1rem; } } @media (max-width: 480px) { .card { min-width: 100%; } .card-content { padding: 20px; } .destination { font-size: 1.4rem; } .price { font-size: 1.9rem; } .header h1 { font-size: 1.9rem; } }
JavaScript
// Add button interaction document.querySelectorAll('.book-btn').forEach(button => { button.addEventListener('click', function() { const destination = this.closest('.card').querySelector('.destination').textContent; const price = this.closest('.card').querySelector('.price').textContent; // Create a confirmation modal const modal = document.createElement('div'); modal.style.cssText = ` position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); display: flex; justify-content: center; align-items: center; z-index: 1000; `; modal.innerHTML = ` <div style="background: white; padding: 30px; border-radius: 16px; max-width: 500px; width: 90%; text-align: center;"> <h2 style="color: #1e3a8a; margin-bottom: 15px;">Book ${destination}</h2> <p style="color: #64748b; margin-bottom: 20px;">You've selected the ${destination} package for ${price}. Our travel consultant will contact you within 24 hours to complete your booking.</p> <div style="display: flex; gap: 15px; justify-content: center;"> <button id="confirmBtn" style="background: #3b82f6; color: white; border: none; padding: 12px 25px; border-radius: 8px; font-weight: 600; cursor: pointer;">Continue</button> <button id="cancelBtn" style="background: #e2e8f0; color: #64748b; border: none; padding: 12px 25px; border-radius: 8px; font-weight: 600; cursor: pointer;">Cancel</button> </div> </div> `; document.body.appendChild(modal); // Add event listeners for modal buttons modal.querySelector('#confirmBtn').addEventListener('click', () => { document.body.removeChild(modal); alert(`Thank you for your interest in ${destination}! Our team will contact you shortly.`); }); modal.querySelector('#cancelBtn').addEventListener('click', () => { document.body.removeChild(modal); }); // Close modal when clicking outside modal.addEventListener('click', (e) => { if (e.target === modal) { document.body.removeChild(modal); } }); }); });
Output Preview
Desktop
Mobile
Fullscreen