GLOBO CARPET CARE | Professional Carpet Cleaning Services
/* Custom styles */
.hero {
background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(‘https://images.unsplash.com/photo-1583845112203-454c7c581fad?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1600&q=80’);
background-size: cover;
background-position: center;
}
.service-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.testimonial-card {
transition: all 0.3s ease;
}
.testimonial-card:hover {
transform: scale(1.02);
}
.chat-box {
transition: all 0.3s ease;
}
.chat-box.hidden {
transform: translateY(100%);
opacity: 0;
}
.fade-in {
animation: fadeIn 0.5s ease-in;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
/* Ensure footer sticks to bottom */
html, body {
height: 100%;
}
body {
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
Experience the GLOBO CARPET CARE Difference
Spotless Clean, Every Time.
Professional Carpet Cleaning Services for Homes & Businesses in Your Area
Our Professional Services
Residential Carpet Cleaning
Deep cleaning for homes, removing dirt, allergens, and stains to restore your carpets to like-new condition.
Commercial Carpet Cleaning
Tailored solutions for businesses, ensuring a clean and professional environment for employees and customers.
Stain & Odor Removal
Expert treatment for stubborn stains and unpleasant odors, using advanced techniques to eliminate even the toughest problems.
Upholstery Cleaning
Revitalize your furniture with our gentle yet effective cleaning that removes dirt and allergens while protecting fabrics.
Area Rug Cleaning
Specialized care for all types of area rugs, from delicate hand-woven pieces to durable synthetic fibers.
Emergency Cleaning
24/7 response for urgent cleaning needs, including water damage restoration and immediate stain treatment.
Your Trusted Partner for a Cleaner Home & Office
At GLOBO CARPET CARE, we’re dedicated to providing exceptional carpet cleaning services that exceed your expectations. With years of experience in the industry, our certified technicians use state-of-the-art equipment and eco-friendly solutions to deliver outstanding results.
We understand that your home or business is important to you, which is why we treat every job with the utmost care and attention to detail. Our commitment to quality and customer satisfaction is what sets us apart from the competition.
Whether you need routine maintenance cleaning or specialized stain removal, you can trust GLOBO CARPET CARE to get the job done right the first time.
Why Choose GLOBO CARPET CARE
Eco-Friendly Solutions
Safe for your family, pets, and the planet. We use environmentally responsible cleaning products.
Experienced Technicians
Certified professionals with extensive training delivering exceptional results every time.
Satisfaction Guarantee
We’re not happy until you are. Your complete satisfaction is our top priority.
Advanced Technology
State-of-the-art equipment for a deeper clean that lasts longer and looks better.
What Our Happy Customers Say
“Globo Carpet Care transformed my living room! The carpets look brand new and the team was professional and efficient. Highly recommend their meticulous service.”
Jane D.
Residential Client
“Our office carpets were in terrible shape after years of heavy traffic. GLOBO CARPET CARE did an amazing job – the place looks and smells fresh again!”
Michael T.
Business Owner
“I was amazed at how they removed a red wine stain that had been there for months! Friendly, on-time, and reasonably priced. Will definitely use them again.”
Sarah K.
Homeowner
Get Your Free Estimate Today!
Contact Information
Phone
(123) 456-7890
info@globocarpetcare.com
Address
22 Hassard Short Lane, Ajex, ONT
Business Hours
Monday – Friday: 8:00 AM – 6:00 PM
Saturday: 9:00 AM – 4:00 PM
Sunday: Closed
Book Your Service Now
Contact Information
Service Details
Select a service
Residential Carpet Cleaning
Commercial Carpet Cleaning
Stain & Odor Removal
Upholstery Cleaning
Area Rug Cleaning
Emergency Cleaning
Scheduling
Select a time
Morning (8 AM – 12 PM)
Afternoon (12 PM – 4 PM)
Evening (4 PM – 6 PM)
Property Address
// Mobile menu toggle
const mobileMenuButton = document.getElementById(‘mobile-menu-button’);
const mobileMenu = document.getElementById(‘mobile-menu’);
mobileMenuButton.addEventListener(‘click’, () => {
mobileMenu.classList.toggle(‘hidden’);
});
// Chat box toggle
const chatButton = document.getElementById(‘chat-btn’);
const chatBox = document.getElementById(‘chat-box’);
const closeChat = document.getElementById(‘close-chat’);
chatButton.addEventListener(‘click’, () => {
chatBox.classList.toggle(‘hidden’);
});
closeChat.addEventListener(‘click’, () => {
chatBox.classList.add(‘hidden’);
});
// Review modal
const reviewButton = document.getElementById(‘review-btn’);
const reviewModal = document.getElementById(‘review-modal’);
const closeReviewModal = document.getElementById(‘close-review-modal’);
reviewButton.addEventListener(‘click’, () => {
reviewModal.classList.remove(‘hidden’);
});
closeReviewModal.addEventListener(‘click’, () => {
reviewModal.classList.add(‘hidden’);
});
// Rating stars
const stars = document.querySelectorAll(‘.rating-star’);
const ratingInput = document.getElementById(‘review-rating’);
stars.forEach(star => {
star.addEventListener(‘click’, () => {
const value = parseInt(star.getAttribute(‘data-value’));
ratingInput.value = value;
stars.forEach((s, index) => {
if (index {
successModal.classList.add(‘hidden’);
});
// Form submissions
const contactForm = document.getElementById(‘contact-form’);
const reviewForm = document.getElementById(‘review-form’);
const orderForm = document.getElementById(‘order-form’);
const successMessage = document.getElementById(‘success-message’);
contactForm.addEventListener(‘submit’, (e) => {
e.preventDefault();
// In a real implementation, this would send the data to your backend
const formData = new FormData(contactForm);
const data = Object.fromEntries(formData);
console.log(‘Contact form submitted:’, data);
// Show success message
successMessage.textContent = “Your message has been sent successfully. We’ll get back to you soon.”;
successModal.classList.remove(‘hidden’);
// Reset form
contactForm.reset();
});
reviewForm.addEventListener(‘submit’, (e) => {
e.preventDefault();
// In a real implementation, this would send the data to your backend
const formData = new FormData(reviewForm);
const data = Object.fromEntries(formData);
console.log(‘Review form submitted:’, data);
// Show success message
successMessage.textContent = “Thank you for your review! We appreciate your feedback.”;
successModal.classList.remove(‘hidden’);
// Reset form and close modal
reviewForm.reset();
reviewModal.classList.add(‘hidden’);
// Reset stars
stars.forEach(star => {
star.classList.remove(‘fas’);
star.classList.add(‘far’);
star.classList.remove(‘text-yellow-400’);
star.classList.add(‘text-gray-400’);
});
ratingInput.value = ‘0’;
});
orderForm.addEventListener(‘submit’, (e) => {
e.preventDefault();
// In a real implementation, this would send the data to your backend
const formData = new FormData(orderForm);
const data = Object.fromEntries(formData);
console.log(‘Order form submitted:’, data);
// Show success message
successMessage.textContent = “Your service has been booked successfully! We’ll contact you shortly to confirm the details.”;
successModal.classList.remove(‘hidden’);
// Reset form
orderForm.reset();
});
// 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) {
targetElement.scrollIntoView({
behavior: ‘smooth’
});
// Close mobile menu if open
if (!mobileMenu.classList.contains(‘hidden’)) {
mobileMenu.classList.add(‘hidden’);
}
}
});
});
// Fade-in animation on scroll
const fadeElements = document.querySelectorAll(‘.fade-in’);
const fadeInOnScroll = () => {
fadeElements.forEach(element => {
const elementTop = element.getBoundingClientRect().top;
const windowHeight = window.innerHeight;
if (elementTop {
element.style.opacity = ‘0’;
element.style.transition = ‘opacity 0.6s ease-out’;
});
// Check on load and scroll
window.addEventListener(‘load’, fadeInOnScroll);
window.addEventListener(‘scroll’, fadeInOnScroll);
