huggingfaceninja commited on
Commit
7b7542b
·
verified ·
1 Parent(s): 26241c7

add a '5 Star Reviews' section with a scrolling selection of reviews.

Browse files

add an 'Awards and Recognition' section
add a 'Certification / Insured Section'

Files changed (1) hide show
  1. index.html +237 -4
index.html CHANGED
@@ -10,11 +10,22 @@
10
  <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.iife.min.js"></script>
11
  <script src="https://unpkg.com/feather-icons"></script>
12
  <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
13
- <style>
14
  .gradient-bg {
15
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
16
  }
17
- .service-card {
 
 
 
 
 
 
 
 
 
 
 
18
  transition: all 0.3s ease;
19
  }
20
  .service-card:hover {
@@ -298,8 +309,117 @@
298
  </div>
299
  </div>
300
  </section>
301
- <!-- Service Areas Section -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
  <section class="py-20 bg-white">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
303
  <div class="container mx-auto px-4">
304
  <div class="text-center mb-16">
305
  <h2 class="text-4xl font-bold text-gray-800 mb-4">Service Areas</h2>
@@ -579,6 +699,119 @@
579
  // Add mobile menu implementation here
580
  alert('Mobile menu would open here');
581
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
 
583
  // Vanta.js background animation
584
  VANTA.NET({
@@ -596,6 +829,6 @@
596
  maxDistance: 22.00,
597
  spacing: 18.00
598
  });
599
- </script>
600
  </body>
601
  </html>
 
10
  <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.iife.min.js"></script>
11
  <script src="https://unpkg.com/feather-icons"></script>
12
  <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
13
+ <style>
14
  .gradient-bg {
15
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
16
  }
17
+ .animate-scroll {
18
+ animation: scroll 30s linear infinite;
19
+ }
20
+ @keyframes scroll {
21
+ 0% { transform: translateX(0); }
22
+ 100% { transform: translateX(-50%); }
23
+ }
24
+ .review-card {
25
+ min-width: 400px;
26
+ flex-shrink: 0;
27
+ }
28
+ .service-card {
29
  transition: all 0.3s ease;
30
  }
31
  .service-card:hover {
 
309
  </div>
310
  </div>
311
  </section>
312
+
313
+ <!-- 5 Star Reviews Section -->
314
+ <section class="py-20 bg-gray-50">
315
+ <div class="container mx-auto px-4">
316
+ <div class="text-center mb-16">
317
+ <h2 class="text-4xl font-bold text-gray-800 mb-4">5 Star Reviews</h2>
318
+ <p class="text-xl text-gray-600 max-w-2xl mx-auto">What our customers say about our electrical services</p>
319
+ </div>
320
+
321
+ <div class="relative overflow-hidden">
322
+ <div class="flex space-x-6 animate-scroll" id="reviewsContainer">
323
+ <!-- Reviews will be populated by JavaScript -->
324
+ </div>
325
+
326
+ <div class="flex justify-center mt-8 space-x-4">
327
+ <button class="bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 transition-colors" id="prevReview">
328
+ <i data-feather="chevron-left" class="w-5 h-5"></i>
329
+ </button>
330
+ <button class="bg-blue-600 text-white px-6 py-3 rounded-lg hover:bg-blue-700 transition-colors" id="nextReview">
331
+ <i data-feather="chevron-right" class="w-5 h-5"></i>
332
+ </button>
333
+ </div>
334
+ </div>
335
+ </div>
336
+ </section>
337
+
338
+ <!-- Awards and Recognition Section -->
339
  <section class="py-20 bg-white">
340
+ <div class="container mx-auto px-4">
341
+ <div class="text-center mb-16">
342
+ <h2 class="text-4xl font-bold text-gray-800 mb-4">Awards & Recognition</h2>
343
+ <p class="text-xl text-gray-600 max-w-2xl mx-auto">Recognized for excellence in electrical services across Toronto</p>
344
+ </div>
345
+
346
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8">
347
+ <div class="text-center p-6">
348
+ <div class="bg-yellow-100 w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-4">
349
+ <i data-feather="award" class="w-10 h-10 text-yellow-600"></i>
350
+ </div>
351
+ <h3 class="text-xl font-bold text-gray-800 mb-3">Best Electrical Contractor 2024</h2>
352
+ <p class="text-gray-600">Toronto Home Services Awards</p>
353
+ </div>
354
+
355
+ <div class="text-center p-6">
356
+ <div class="bg-blue-100 w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-4">
357
+ <i data-feather="star" class="w-10 h-10 text-blue-600"></i>
358
+ </div>
359
+ <h3 class="text-xl font-bold text-gray-800 mb-3">Excellence in Safety Standards</h3>
360
+ <p class="text-gray-600">Electrical Safety Authority</p>
361
+ </div>
362
+
363
+ <div class="text-center p-6">
364
+ <div class="bg-green-100 w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-4">
365
+ <i data-feather="thumbs-up" class="w-10 h-10 text-green-600"></i>
366
+ </div>
367
+ <h3 class="text-xl font-bold text-gray-800 mb-3">Top Rated Professional</h3>
368
+ <p class="text-gray-600">HomeStars Gold Award</p>
369
+ </div>
370
+
371
+ <div class="text-center p-6">
372
+ <div class="bg-purple-100 w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-4">
373
+ <i data-feather="shield" class="w-10 h-10 text-purple-600"></i>
374
+ </div>
375
+ <h3 class="text-xl font-bold text-gray-800 mb-3">Customer Service Excellence</h3>
376
+ <p class="text-gray-600">Better Business Bureau</p>
377
+ </div>
378
+ </div>
379
+ </div>
380
+ </section>
381
+
382
+ <!-- Certification / Insured Section -->
383
+ <section class="py-20 bg-gray-100">
384
+ <div class="container mx-auto px-4">
385
+ <div class="text-center mb-16">
386
+ <h2 class="text-4xl font-bold text-gray-800 mb-4">Certifications & Insurance</h2>
387
+ <p class="text-xl text-gray-600 max-w-2xl mx-auto">Fully licensed, certified, and insured for your peace of mind</p>
388
+ </div>
389
+
390
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
391
+ <div class="bg-white rounded-xl p-8 text-center shadow-lg">
392
+ <div class="bg-blue-50 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4">
393
+ <i data-feather="file-text" class="w-8 h-8 text-blue-600"></i>
394
+ </div>
395
+ <h3 class="text-xl font-bold text-gray-800 mb-4">ESA Licensed</h3>
396
+ <p class="text-gray-600 mb-4">Fully licensed by the Electrical Safety Authority</p>
397
+ <div class="text-blue-600 font-semibold">License #7008307</div>
398
+ </div>
399
+
400
+ <div class="bg-white rounded-xl p-8 text-center shadow-lg">
401
+ <div class="bg-green-50 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4">
402
+ <i data-feather="shield" class="w-8 h-8 text-green-600"></i>
403
+ </div>
404
+ <h3 class="text-xl font-bold text-gray-800 mb-4">Fully Insured</h3>
405
+ <p class="text-gray-600 mb-4">$5 million in liability insurance coverage</p>
406
+ <div class="text-green-600 font-semibold">Comprehensive Coverage</div>
407
+ </div>
408
+
409
+ <div class="bg-white rounded-xl p-8 text-center shadow-lg">
410
+ <div class="bg-purple-50 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4">
411
+ <i data-feather="check-circle" class="w-8 h-8 text-purple-600"></i>
412
+ </div>
413
+ <h3 class="text-xl font-bold text-gray-800 mb-4">ECRA Certified</h3>
414
+ <p class="text-gray-600 mb-4">Certified Electrical Contractor by ECRA</p>
415
+ <div class="text-purple-600 font-semibold">Master Electrician</div>
416
+ </div>
417
+ </div>
418
+ </div>
419
+ </section>
420
+
421
+ <!-- Service Areas Section -->
422
+ <section class="py-20 bg-white">
423
  <div class="container mx-auto px-4">
424
  <div class="text-center mb-16">
425
  <h2 class="text-4xl font-bold text-gray-800 mb-4">Service Areas</h2>
 
699
  // Add mobile menu implementation here
700
  alert('Mobile menu would open here');
701
  });
702
+ // Reviews data
703
+ const reviews = [
704
+ {
705
+ name: "Sarah Johnson",
706
+ rating: 5,
707
+ date: "2024-12-15",
708
+ text: "MP Electric did an outstanding job upgrading our electrical panel. Professional, punctual, and the quality of work was exceptional. Highly recommend their services!",
709
+ service: "Service Upgrade"
710
+ },
711
+ {
712
+ name: "Michael Chen",
713
+ rating: 5,
714
+ date: "2024-12-10",
715
+ text: "Excellent service from start to finish. They replaced all our knob and tube wiring and were very clean and efficient.",
716
+ service: "Knob & Tube Rewire"
717
+ },
718
+ {
719
+ name: "The Wilson Family",
720
+ rating: 5,
721
+ date: "2024-12-05",
722
+ text: "The team at MP Electric installed our EV charging station perfectly. Very knowledgeable and professional.",
723
+ service: "EV Charging Station"
724
+ },
725
+ {
726
+ name: "Jennifer Martinez",
727
+ rating: 5,
728
+ date: "2024-11-28",
729
+ text: "Quick response for emergency electrical repair. Fixed our issue same day and the pricing was very fair.",
730
+ service: "Emergency Repair"
731
+ },
732
+ {
733
+ name: "Robert Williams",
734
+ rating: 5,
735
+ date: "2024-11-20",
736
+ text: "Outstanding work on our basement renovation. The lighting design and installation exceeded our expectations.",
737
+ service: "Basement Renovation"
738
+ },
739
+ {
740
+ name: "Amanda Thompson",
741
+ rating: 5,
742
+ date: "2024-11-15",
743
+ text: "Professional, reliable, and high-quality work. They installed new LED lighting throughout our office space.",
744
+ service: "LED Retrofitting"
745
+ },
746
+ {
747
+ name: "David Park",
748
+ rating: 5,
749
+ date: "2024-11-08",
750
+ text: "Great experience from the initial consultation to the final installation. Will definitely use MP Electric again.",
751
+ service: "General Electrical"
752
+ }
753
+ ];
754
+
755
+ // Populate reviews
756
+ const reviewsContainer = document.getElementById('reviewsContainer');
757
+ reviews.forEach(review => {
758
+ const stars = '★'.repeat(review.rating);
759
+ const reviewCard = document.createElement('div');
760
+ reviewCard.className = 'review-card bg-white rounded-xl p-6 shadow-lg border border-gray-200";
761
+ reviewCard.innerHTML = `
762
+ <div class="flex items-center mb-4">
763
+ <div class="flex text-yellow-400 text-lg">${stars}</div>
764
+ <div class="ml-auto text-sm text-gray-500">${review.date}</div>
765
+ </div>
766
+ <p class="text-gray-700 mb-4">"${review.text}"</p>
767
+ <div class="flex justify-between items-center">
768
+ <div>
769
+ <div class="font-semibold text-gray-800">${review.name}</div>
770
+ <div class="text-blue-600 font-medium">${review.service}</div>
771
+ </div>
772
+ `;
773
+ reviewsContainer.appendChild(reviewCard);
774
+ });
775
+
776
+ // Duplicate reviews for infinite scroll
777
+ reviews.forEach(review => {
778
+ const stars = '★'.repeat(review.rating);
779
+ const reviewCard = document.createElement('div');
780
+ reviewCard.className = 'review-card bg-white rounded-xl p-6 shadow-lg border border-gray-200";
781
+ reviewCard.innerHTML = `
782
+ <div class="flex items-center mb-4">
783
+ <div class="flex text-yellow-400 text-lg">${stars}</div>
784
+ <div class="ml-auto text-sm text-gray-500">${review.date}</div>
785
+ </div>
786
+ <p class="text-gray-700 mb-4">"${review.text}"</p>
787
+ <div class="flex justify-between items-center">
788
+ <div>
789
+ <div class="font-semibold text-gray-800">${review.name}</div>
790
+ <div class="text-blue-600 font-medium">${review.service}</div>
791
+ </div>
792
+ `;
793
+ reviewsContainer.appendChild(reviewCard);
794
+ });
795
+
796
+ // Review navigation
797
+ let currentReview = 0;
798
+ const reviewCards = document.querySelectorAll('.review-card');
799
+
800
+ document.getElementById('prevReview').addEventListener('click', () => {
801
+ currentReview = (currentReview - 1 + reviews.length) % reviews.length;
802
+ updateReviewDisplay();
803
+ });
804
+
805
+ document.getElementById('nextReview').addEventListener('click', () => {
806
+ currentReview = (currentReview + 1) % reviews.length;
807
+ updateReviewDisplay();
808
+ });
809
+
810
+ function updateReviewDisplay() {
811
+ reviewCards.forEach((card, index) => {
812
+ card.style.display = Math.floor(index / reviews.length) === Math.floor(currentReview / reviews.length) ? 'block' : 'none';
813
+ });
814
+ }
815
 
816
  // Vanta.js background animation
817
  VANTA.NET({
 
829
  maxDistance: 22.00,
830
  spacing: 18.00
831
  });
832
+ </script>
833
  </body>
834
  </html>