khy_website/contact.html
George Birikorang 195286e6c8
All checks were successful
continuous-integration/drone/push Build is passing
Update product data, fix icon paths, improve carousel, and increase product card heights
- Added products 50-88 to products.json with complete details
- Fixed icon paths after moving phone2.png and mail.png to icons folder
- Updated carousel to support 6 images with proper indicators
- Renamed first_homepage.jpg to index_hero.jpg and updated all references
- Increased product card heights from 29vh to 32vh for better visual presence
- Removed unused icon files (admin.png, calendar.png, search.png, tag.png)
- Added storage.jpg to our_story carousel images
2025-09-17 17:34:11 -07:00

906 lines
32 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Contact - KHY</title>
<meta
name="description"
content="Get in touch with KHY for professional furniture and design services."
/>
<link rel="stylesheet" href="styles/main.css" />
<style>
/* Smooth scrolling for the entire page */
html {
scroll-behavior: smooth;
}
/* Active navigation link styling */
.nav-link.active {
color: #b8873f !important;
font-weight: 500;
}
/* Force responsive behavior */
@media (min-width: 640px) {
.sm\:hidden {
display: none !important;
}
.sm\:flex {
display: flex !important;
}
}
</style>
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@100;200;300;400;500;600;700&family=Poppins:wght@400;500;600&display=swap"
rel="stylesheet"
/>
</head>
<body class="bg-white font-sans text-gray-800">
<!-- Header -->
<header
class="fixed w-full h-20 sm:h-28 top-0 left-0 bg-white shadow-[0_8px_24px_rgba(0,0,0,0.06)] border-b border-black/10 z-50"
>
<nav class="h-full">
<div
class="max-w-7xl mx-auto h-full flex items-center justify-between px-5"
>
<!-- Logo Section -->
<div class="flex items-center">
<a href="index.html" class="cursor-pointer">
<img
src="assets/images/khy_logo.png"
alt="KHY Logo"
class="h-12 sm:h-20 w-auto drop-shadow-sm hover:opacity-80 transition-opacity"
/>
</a>
</div>
<!-- Desktop Navigation -->
<ul class="hidden sm:flex space-x-10">
<li>
<a
href="index.html"
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
>Home</a
>
</li>
<li>
<a
href="index.html#products"
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
>Products</a
>
</li>
<li>
<a
href="index.html#about"
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
>About</a
>
</li>
<li>
<a
href="contact.html"
class="nav-link text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors text-shadow-default"
>Contact</a
>
</li>
</ul>
<!-- Mobile Hamburger -->
<div class="sm:hidden flex items-center">
<!-- Hamburger Button -->
<button
id="mobile-menu-button"
class="text-black hover:text-gray-600 transition-colors"
aria-label="Open mobile menu"
>
<svg
class="w-7 h-7"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M4 6h16M4 12h16M4 18h16"
></path>
</svg>
</button>
</div>
</div>
</nav>
</header>
<!-- Mobile Menu Overlay -->
<div
id="mobile-menu-overlay"
class="fixed inset-0 bg-black bg-opacity-50 z-40 hidden transition-opacity duration-300 sm:hidden"
></div>
<!-- Mobile Menu -->
<div
id="mobile-menu"
class="fixed top-0 right-0 h-full w-80 bg-white shadow-xl z-50 transform translate-x-full transition-transform duration-300 sm:hidden"
>
<!-- Mobile Menu Header -->
<div class="flex items-center justify-end p-5 border-b border-gray-200">
<button
id="mobile-menu-close"
class="p-2 text-black hover:text-gray-600 transition-colors"
aria-label="Close mobile menu"
>
<svg
class="w-6 h-6"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M6 18L18 6M6 6l12 12"
></path>
</svg>
</button>
</div>
<!-- Mobile Menu Items -->
<nav class="p-5">
<ul class="flex flex-col space-y-4">
<li>
<a
href="index.html"
class="nav-link block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
>Home</a
>
</li>
<li>
<a
href="index.html#products"
class="nav-link block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
>Products</a
>
</li>
<li>
<a
href="index.html#about"
class="nav-link block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
>About</a
>
</li>
<li>
<a
href="contact.html"
class="block text-black hover:text-gray-600 font-playfair text-md font-extralight tracking-wider transition-colors py-2"
>Contact</a
>
</li>
</ul>
</nav>
</div>
<main>
<!-- Hero Section -->
<section class="relative h-80 mt-20 sm:mt-28">
<!-- Background Image -->
<div class="absolute inset-0 w-full h-full">
<img
src="assets/images/index_hero.jpg"
alt="Modern office interior"
class="w-full h-full object-cover object-center"
style="filter: blur(2px)"
/>
</div>
<!-- White Overlay -->
<div class="absolute inset-0 bg-white bg-opacity-60"></div>
<!-- Overlay Content -->
<div
class="absolute z-10 inset-0 flex items-center justify-center text-center text-black"
>
<h1
class="font-playfair font-medium text-3xl md:text-4xl lg:text-5xl leading-tight"
>
Contact
</h1>
</div>
</section>
<!-- Get In Touch Section -->
<section class="relative bg-white py-20">
<div class="max-w-7xl mx-auto px-5">
<!-- Section Header -->
<div class="text-center mb-16">
<h2
class="font-playfair font-bold text-2xl md:text-3xl lg:text-4xl leading-tight text-black mb-6"
>
Get In Touch With Us
</h2>
<p
class="font-playfair font-normal text-base leading-relaxed text-gray-500 max-w-2xl mx-auto"
>
For More Information About Our Product & Services. Please Feel
Free To Drop Us An Email. Our Staff Always Be There To Help You
Out. Do Not Hesitate!
</p>
</div>
<!-- Contact Content -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-16">
<!-- Contact Information -->
<div class="bg-white p-8 rounded-lg shadow-sm">
<div class="space-y-8">
<!-- Address -->
<div class="flex items-start space-x-4">
<img
src="assets/icons/address.png"
alt="Address"
class="w-6 mt-1"
/>
<div>
<h3
class="font-playfair font-semibold text-2xl text-black mb-2"
>
Address
</h3>
<p
class="font-playfair font-normal text-base leading-relaxed text-black"
>
5 Labone Crescent, <br />
Greater Accra, <br />
Ghana
</p>
</div>
</div>
<!-- Phone -->
<div class="flex items-start space-x-4">
<img
src="assets/icons/phone.png"
alt="Phone"
class="w-6 h-6 mt-1"
/>
<div>
<h3
class="font-playfair font-semibold text-2xl text-black mb-2"
>
Phone
</h3>
<p
class="font-playfair font-normal text-base leading-relaxed text-black"
>
Mobile: +(233) 546-6789
</p>
</div>
</div>
<!-- Working Time -->
<div class="flex items-start space-x-4">
<img
src="assets/icons/time.png"
alt="Time"
class="w-6 h-6 mt-1"
/>
<div>
<h3
class="font-playfair font-semibold text-2xl text-black mb-2"
>
Working Time
</h3>
<p
class="font-playfair font-normal text-base leading-relaxed text-black"
>
Monday-Friday: 9AM - 5PM
</p>
</div>
</div>
</div>
</div>
<!-- Contact Form -->
<div class="bg-white p-8 rounded-lg shadow-sm">
<form id="contact-form" class="space-y-6">
<!-- Name -->
<div>
<label
class="block font-playfair font-semibold text-base text-black mb-2"
>
Your name
</label>
<input
type="text"
id="contact-name"
name="name"
placeholder="First name last name"
class="w-full px-4 py-3 font-playfair font-normal text-base text-gray-500 bg-white border border-gray-300 rounded-lg focus:outline-none focus:border-uc-gold"
required
/>
</div>
<!-- Email -->
<div>
<label
class="block font-playfair font-semibold text-base text-black mb-2"
>
Email address
</label>
<input
type="email"
id="contact-email"
name="email"
placeholder="your@email.com"
class="w-full px-4 py-3 font-playfair font-normal text-base text-gray-500 bg-white border border-gray-300 rounded-lg focus:outline-none focus:border-uc-gold"
required
/>
</div>
<!-- Subject -->
<div>
<label
class="block font-playfair font-semibold text-base text-black mb-2"
>
Subject
</label>
<input
type="text"
id="contact-subject"
name="subject"
placeholder="Title of your message"
class="w-full px-4 py-3 font-playfair font-normal text-base text-gray-500 bg-white border border-gray-300 rounded-lg focus:outline-none focus:border-uc-gold"
required
/>
</div>
<!-- Message -->
<div>
<label
class="block font-playfair font-semibold text-base text-black mb-2"
>
Message
</label>
<textarea
rows="5"
id="contact-message"
name="message"
placeholder="Type your message here ..."
class="w-full px-4 py-3 font-playfair font-normal text-base text-gray-500 bg-white border border-gray-300 rounded-lg focus:outline-none focus:border-uc-gold resize-none"
required
></textarea>
</div>
<!-- Success Message -->
<div
id="contact-success"
class="hidden bg-green-50 border border-green-200 text-green-800 px-4 py-3 rounded-lg font-playfair font-normal text-base mb-4"
style="display: none"
>
Thank you for your message! We will reply to you shortly.
</div>
<!-- Error Message -->
<div
id="contact-error"
class="hidden bg-red-50 border border-red-200 text-red-800 px-4 py-3 rounded-lg font-playfair font-normal text-base mb-4"
style="display: none"
>
Please fill in all required fields before submitting.
</div>
<!-- Submit Button -->
<button
type="submit"
id="contact-submit"
class="bg-uc-gold text-white font-playfair font-normal text-base px-8 py-3 rounded-lg hover:bg-opacity-90 transition-all"
>
Submit
</button>
</form>
</div>
</div>
<!-- Quote Request Section -->
<div class="mt-20 bg-gray-50 p-8 rounded-lg">
<div class="text-center mb-8">
<h3
class="font-playfair font-bold text-2xl md:text-3xl leading-tight text-black mb-4"
>
Need a Quote?
</h3>
<p
class="font-playfair font-normal text-base leading-relaxed text-gray-600 max-w-2xl mx-auto"
>
Looking for a custom quote for your furniture needs? Simply
provide your contact information above and mention "Quote
Request" in your message. Our team will get back to you with a
personalized quote tailored to your requirements.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 text-center">
<div class="bg-white p-6 rounded-lg shadow-sm">
<div
class="w-12 h-12 bg-uc-gold rounded-full flex items-center justify-center mx-auto mb-4"
>
<svg
class="w-6 h-6 text-white"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
></path>
</svg>
</div>
<h4 class="font-playfair font-semibold text-lg text-black mb-2">
Quick Response
</h4>
<p class="font-playfair font-normal text-sm text-gray-600">
We'll get back to you within 24 hours with your personalized
quote.
</p>
</div>
<div class="bg-white p-6 rounded-lg shadow-sm">
<div
class="w-12 h-12 bg-uc-gold rounded-full flex items-center justify-center mx-auto mb-4"
>
<svg
class="w-6 h-6 text-white"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1"
></path>
</svg>
</div>
<h4 class="font-playfair font-semibold text-lg text-black mb-2">
Competitive Pricing
</h4>
<p class="font-playfair font-normal text-sm text-gray-600">
Get the best value with our competitive and transparent
pricing.
</p>
</div>
<div class="bg-white p-6 rounded-lg shadow-sm">
<div
class="w-12 h-12 bg-uc-gold rounded-full flex items-center justify-center mx-auto mb-4"
>
<svg
class="w-6 h-6 text-white"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"
></path>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M15 11a3 3 0 11-6 0 3 3 0 016 0z"
></path>
</svg>
</div>
<h4 class="font-playfair font-semibold text-lg text-black mb-2">
Local Service
</h4>
<p class="font-playfair font-normal text-sm text-gray-600">
Serving Greater Accra with quality furniture and excellent
service.
</p>
</div>
</div>
</div>
</div>
</section>
<!-- Features Section -->
<section class="relative bg-floral-white py-16">
<div class="max-w-7xl mx-auto px-5">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
<!-- High Quality -->
<div class="flex items-center space-x-4">
<div class="w-12 h-12">
<img
src="assets/icons/trophy.png"
alt="Trophy"
class="w-full h-full object-contain"
/>
</div>
<div>
<h3
class="font-playfair font-semibold text-2xl text-black mb-1"
>
High Quality
</h3>
<p class="font-playfair font-normal text-lg text-gray-500">
crafted from top materials
</p>
</div>
</div>
<!-- Warranty Protection -->
<div class="flex items-center space-x-4">
<div class="w-12 h-12">
<img
src="assets/icons/warranty.png"
alt="Guarantee"
class="w-full h-full object-contain"
/>
</div>
<div>
<h3
class="font-playfair font-semibold text-2xl text-black mb-1"
>
Warranty Protection
</h3>
<p class="font-playfair font-normal text-lg text-gray-500">
Over 2 years
</p>
</div>
</div>
<!-- Free Shipping -->
<div class="flex items-center space-x-4">
<div class="w-12 h-12">
<img
src="assets/icons/shipping.png"
alt="Shipping"
class="w-full h-full object-contain"
/>
</div>
<div>
<h3
class="font-playfair font-semibold text-2xl text-black mb-1"
>
Free Shipping
</h3>
<p class="font-playfair font-normal text-lg text-gray-500">
Order over 150 $
</p>
</div>
</div>
<!-- 24/7 Support -->
<div class="flex items-center space-x-4">
<div class="w-12 h-12">
<img
src="assets/icons/support.png"
alt="Support"
class="w-full h-full object-contain"
/>
</div>
<div>
<h3
class="font-playfair font-semibold text-2xl text-black mb-1"
>
24 / 7 Support
</h3>
<p class="font-playfair font-normal text-lg text-gray-500">
Dedicated support
</p>
</div>
</div>
</div>
</div>
</section>
</main>
<!-- Footer Separator -->
<div class="border-t border-gray-200"></div>
<!-- Footer -->
<footer class="bg-white">
<!-- Main Footer Content -->
<div class="max-w-7xl mx-auto px-5 py-16">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
<!-- Company Information -->
<div class="space-y-2">
<!-- Logo -->
<div class="w-16 h-20">
<a
href="index.html"
aria-label="Go to KHY home"
title="KHY Home"
class="inline-block w-full h-full group focus:outline-none focus-visible:ring-2 focus-visible:ring-uc-gold rounded-md transition"
>
<img
src="assets/images/khy_logo.png"
alt="khy"
class="w-full h-full object-contain transition-transform duration-300 group-hover:scale-105"
/>
</a>
</div>
<!-- Address -->
<p
class="font-playfair font-normal text-base leading-relaxed text-gray-600"
>
5 Labone Crescent, Greater Accra, Ghana
</p>
<!-- Contact Info -->
<div class="space-y-1">
<!-- Phone -->
<div class="flex items-center space-x-3">
<img
src="assets/icons/phone2.png"
alt="Phone"
class="w-4 h-4"
/>
<span class="font-playfair font-normal text-base text-gray-800">
+233 (555) 76677
</span>
</div>
<!-- Email -->
<div class="flex items-center space-x-3">
<img src="assets/icons/mail.png" alt="Email" class="w-4 h-4" />
<span class="font-playfair font-normal text-base text-gray-800">
design@khyltd.com
</span>
</div>
</div>
</div>
<!-- Quick Links -->
<div class="space-y-4 md:ml-6 lg:ml-8">
<h3
class="font-playfair font-normal text-sm leading-snug tracking-widest text-eerie-black uppercase"
>
Quick Links
</h3>
<div class="space-y-4">
<a
href="index.html"
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
>
Home
</a>
<a
href="product-catalog.html"
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
>
Products
</a>
<a
href="#about"
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
>
About
</a>
<a
href="contact.html"
class="block font-playfair font-normal text-base leading-relaxed tracking-wider text-gray-900 hover:text-black transition-colors"
>
Contact Us
</a>
</div>
</div>
<!-- Company / Hours / Social -->
<div class="space-y-4">
<h3
class="font-playfair font-normal text-sm leading-snug tracking-widest text-eerie-black uppercase"
>
Company
</h3>
<div class="space-y-4">
<p
class="font-playfair font-normal text-base leading-relaxed text-gray-900"
>
MonFri: 9AM 5PM · Accra, Ghana
</p>
<div class="flex items-center space-x-6">
<a
href="#"
class="font-playfair font-normal text-base leading-relaxed text-gray-900 hover:text-black transition-colors"
>Instagram</a
>
<a
href="#"
class="font-playfair font-normal text-base leading-relaxed text-gray-900 hover:text-black transition-colors"
>LinkedIn</a
>
</div>
</div>
</div>
</div>
</div>
<!-- Copyright Section -->
<div class="border-t border-light-silver">
<div class="max-w-7xl mx-auto px-5 py-4">
<p
class="font-playfair font-normal text-xs leading-relaxed text-davys-grey"
>
© 2025 khy. All rights reserved.
</p>
</div>
</div>
</footer>
<script src="scripts/main.js?v=1.1"></script>
<script>
// Contact form validation and submission
document.addEventListener("DOMContentLoaded", function () {
const contactForm = document.getElementById("contact-form");
const successMessage = document.getElementById("contact-success");
const errorMessage = document.getElementById("contact-error");
const submitButton = document.getElementById("contact-submit");
if (contactForm) {
contactForm.addEventListener("submit", function (e) {
e.preventDefault();
// Get form fields
const name = document.getElementById("contact-name").value.trim();
const email = document.getElementById("contact-email").value.trim();
const subject = document
.getElementById("contact-subject")
.value.trim();
const message = document
.getElementById("contact-message")
.value.trim();
// Hide any existing messages
successMessage.classList.add("hidden");
errorMessage.classList.add("hidden");
// Validate all fields
if (!name || !email || !subject || !message) {
// Show error message
errorMessage.classList.remove("hidden");
errorMessage.style.display = "block";
// Highlight empty fields with red border
const fields = [name, email, subject, message];
const fieldIds = [
"contact-name",
"contact-email",
"contact-subject",
"contact-message",
];
fieldIds.forEach((fieldId, index) => {
const field = document.getElementById(fieldId);
if (!fields[index]) {
field.classList.add("border-red-500");
field.classList.remove("border-gray-300");
} else {
field.classList.remove("border-red-500");
field.classList.add("border-gray-300");
}
});
// Scroll to error message
errorMessage.scrollIntoView({
behavior: "smooth",
block: "center",
});
// Hide error message after 3 seconds
setTimeout(() => {
errorMessage.classList.add("hidden");
errorMessage.style.display = "none";
}, 3000);
return;
}
// Validate email format
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailRegex.test(email)) {
errorMessage.textContent = "Please enter a valid email address.";
errorMessage.classList.remove("hidden");
errorMessage.style.display = "block";
document
.getElementById("contact-email")
.classList.add("border-red-500");
document
.getElementById("contact-email")
.classList.remove("border-gray-300");
// Hide error message after 3 seconds
setTimeout(() => {
errorMessage.classList.add("hidden");
errorMessage.style.display = "none";
}, 3000);
return;
}
// All validation passed - show success message
successMessage.classList.remove("hidden");
successMessage.style.display = "block";
// Reset form
contactForm.reset();
// Reset all field borders
const allFields = [
"contact-name",
"contact-email",
"contact-subject",
"contact-message",
];
allFields.forEach((fieldId) => {
const field = document.getElementById(fieldId);
field.classList.remove("border-red-500");
field.classList.add("border-gray-300");
});
// Scroll to success message
successMessage.scrollIntoView({
behavior: "smooth",
block: "center",
});
// Hide success message after 3 seconds
setTimeout(() => {
successMessage.classList.add("hidden");
successMessage.style.display = "none";
}, 3000);
// Optional: Disable submit button temporarily
submitButton.disabled = true;
submitButton.textContent = "Message Sent!";
submitButton.classList.add("bg-green-600");
submitButton.classList.remove("bg-uc-gold");
// Re-enable button after 3 seconds
setTimeout(() => {
submitButton.disabled = false;
submitButton.textContent = "Submit";
submitButton.classList.remove("bg-green-600");
submitButton.classList.add("bg-uc-gold");
}, 3000);
});
// Real-time validation feedback
const formFields = [
"contact-name",
"contact-email",
"contact-subject",
"contact-message",
];
formFields.forEach((fieldId) => {
const field = document.getElementById(fieldId);
if (field) {
field.addEventListener("input", function () {
// Remove error styling when user starts typing
this.classList.remove("border-red-500");
this.classList.add("border-gray-300");
// Hide error message when user starts correcting
if (this.value.trim()) {
errorMessage.classList.add("hidden");
}
});
}
});
}
});
</script>
</body>
</html>