A modern, responsive website for Apartment Veve, a luxury vacation rental in Privlaka, Croatia.
- Responsive Design: Fully responsive layout that works on all devices
- Modern UI: Clean, professional design with smooth animations
- Interactive Gallery: Click on images to view them in a modal
- Mobile Menu: Hamburger menu for mobile devices
- Smooth Scrolling: Seamless navigation between sections
- Contact Form: Easy-to-use contact form with validation
- SEO Optimized: Proper meta tags and semantic HTML
- Performance: Lazy loading images and optimized assets
apveve/
├── index.html # Main HTML file
├── css/
│ └── styles.css # All styling
├── js/
│ └── script.js # JavaScript functionality
├── images/ # Image assets (placeholders included)
│ ├── hero-bg.jpg
│ ├── apartment-exterior.jpg
│ ├── living-room.jpg
│ ├── bedroom.jpg
│ ├── kitchen.jpg
│ ├── bathroom.jpg
│ ├── balcony.jpg
│ └── beach.jpg
└── README.md # This file
- Clone or download this repository
- Replace placeholder images with actual photos of your apartment
- Update contact information in
index.html:- Change email address in the contact section
- Update Google Calendar embed URL
- Customize content as needed
- Open
index.htmlin a web browser to view the site
The website uses CSS variables for easy color customization. Edit these in css/styles.css:
:root {
--primary-color: #50b3a2;
--secondary-color: #e8491d;
--dark-color: #333;
--light-color: #f4f4f4;
--white: #ffffff;
--text-color: #555;
}All content can be edited directly in index.html. The website is organized into sections:
- Hero Section
- About Section
- Gallery Section
- Facilities Section
- Nearby Attractions
- Policies Section
- Availability Section
- Contact Section
Replace the placeholder SVG images in the /images folder with actual photographs:
- hero-bg.jpg: Main hero background image (recommended size: 1920x1080px)
- apartment-exterior.jpg: Exterior view (recommended size: 800x600px)
- living-room.jpg: Living room photo
- bedroom.jpg: Bedroom photo
- kitchen.jpg: Kitchen photo
- bathroom.jpg: Bathroom photo
- balcony.jpg: Balcony with sea view
- beach.jpg: Nearby beach
To integrate your availability calendar:
- Go to Google Calendar
- Create a calendar for your rental availability
- Get the embed code
- Replace the iframe
srcin the availability section ofindex.html
The mobile menu automatically activates on screens smaller than 768px. It includes:
- Hamburger menu animation
- Smooth slide-in effect
- Click outside to close
- Auto-close when clicking on links
Click any gallery image to view it in a fullscreen modal:
- Click outside or press ESC to close
- Zoom animation on open
- Responsive sizing
The contact form currently uses mailto: functionality. For production:
- Consider integrating with a backend service
- Use services like Formspree, EmailJS, or your own server
- Update the email address in both HTML and JavaScript
All anchor links smoothly scroll to their target sections, accounting for the fixed navbar height.
A floating button appears when scrolling down, allowing users to quickly return to the top of the page.
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
- Optimize images before uploading (use tools like TinyPNG)
- Consider using WebP format for better compression
- Enable gzip compression on your server
- Use a CDN for faster global delivery
- Minify CSS and JavaScript for production
This is a static website and can be deployed to:
- GitHub Pages: Free hosting for static sites
- Netlify: Easy deployment with continuous integration
- Vercel: Fast deployment platform
- Traditional Web Hosting: Upload files via FTP
- AWS S3: For scalable hosting
- Push this repository to GitHub
- Go to repository Settings
- Navigate to Pages
- Select your branch and root folder
- Your site will be live at
https://yourusername.github.io/apveve
- HTML5
- CSS3 (with CSS Grid and Flexbox)
- Vanilla JavaScript (ES6+)
- Google Fonts (Poppins)
- SVG for icons and placeholders
This project is free to use for personal and commercial purposes.
For questions or issues, please open an issue in the repository or contact the developer.
Note: Remember to replace all placeholder content, images, and contact information before deploying to production!