bribrunner commited on
Commit
57a1dd8
·
verified ·
1 Parent(s): 49a54b8

Manual changes saved

Browse files
Files changed (1) hide show
  1. index.html +117 -116
index.html CHANGED
@@ -489,130 +489,131 @@
489
  </div>
490
  </footer>
491
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
492
 
493
- <script>
494
- // Vanta.js Background
495
- VANTA.WAVES({
496
- el: "#vanta-bg",
497
- mouseControls: true,
498
- touchControls: true,
499
- gyroControls: false,
500
- minHeight: 200.00,
501
- minWidth: 200.00,
502
- scale: 1.00,
503
- scaleMobile: 1.00,
504
- color: 0x1b9aaa,
505
- shininess: 130.00,
506
- waveHeight: 25.00,
507
- waveSpeed: 0.80,
508
- zoom: 0.75
 
 
 
 
 
 
 
 
 
 
 
509
  });
 
 
 
 
 
 
 
 
 
 
 
 
510
 
511
- // Mobile Menu Toggle
512
- const menuBtn = document.getElementById('menu-btn');
513
- const mobileMenu = document.getElementById('mobile-menu');
514
-
515
- menuBtn.addEventListener('click', () => {
516
- const isOpen = mobileMenu.classList.contains('hidden');
517
- if (isOpen) {
518
- mobileMenu.classList.remove('hidden');
519
- mobileMenu.classList.add('flex');
520
- feather.replace();
521
- } else {
522
- mobileMenu.classList.add('hidden');
523
- mobileMenu.classList.remove('flex');
524
- }
525
- });
526
 
527
- // FAQ Accordion
528
- const faqBtns = document.querySelectorAll('.faq-btn');
529
-
530
- faqBtns.forEach(btn => {
531
- btn.addEventListener('click', () => {
532
- const content = btn.nextElementSibling;
533
- const icon = btn.querySelector('i');
534
-
535
- // Toggle content
536
- content.classList.toggle('hidden');
537
-
538
- // Rotate icon
539
- if (content.classList.contains('hidden')) {
540
- icon.style.transform = 'rotate(0deg)';
541
- } else {
542
- icon.style.transform = 'rotate(180deg)';
543
- }
544
- });
545
- });
546
- // Smooth scrolling for anchor links
547
- document.querySelectorAll('a[href^="#"]').forEach(anchor => {
548
- anchor.addEventListener('click', function (e) {
549
- const target = document.querySelector(this.getAttribute('href'));
550
- if (target) {
551
- e.preventDefault();
552
- target.scrollIntoView({
553
- behavior: 'smooth',
554
- block: 'start'
555
- });
556
- // Update URL without page jump
557
- if(history.pushState) {
558
- history.pushState(null, null, this.getAttribute('href'));
559
- }
560
- }
561
- // Close mobile menu if open
562
- if (!mobileMenu.classList.contains('hidden')) {
563
- mobileMenu.classList.add('hidden');
564
- mobileMenu.classList.remove('flex');
565
- }
566
- });
567
- });
568
- </script>
569
-
570
- <script>
571
- // FAQ accordion (only one open at a time)
572
- document.querySelectorAll('.faq-btn').forEach((btn) => {
573
- btn.addEventListener('click', () => {
574
- const content = btn.nextElementSibling;
575
- const isOpen = !content.classList.contains('hidden');
576
- document.querySelectorAll('.faq-content').forEach(c => c.classList.add('hidden'));
577
- document.querySelectorAll('.faq-btn i').forEach(i => i.style.transform = 'rotate(0deg)');
578
- if (!isOpen) {
579
- content.classList.remove('hidden');
580
- btn.querySelector('i').style.transform = 'rotate(180deg)';
581
- }
582
  });
583
- });
584
 
585
- // CTA scroll to contact
586
- document.getElementById('cta-scroll').addEventListener('click', () => {
587
- const target = document.getElementById('contact');
588
- target.scrollIntoView({ behavior: 'smooth', block: 'start' });
589
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
590
 
591
- // Testimonials carousel
592
- let index = 0;
593
- const carousel = document.getElementById('testimonial-carousel');
594
- const total = carousel.children.length;
 
 
 
 
 
 
 
 
 
595
 
596
- function updateCarousel() {
597
- carousel.style.transform = `translateX(-${index * 100}%)`;
598
  feather.replace();
599
- }
600
-
601
- document.getElementById('next-review').addEventListener('click', () => {
602
- index = (index + 1) % total;
603
- updateCarousel();
604
- });
605
- document.getElementById('prev-review').addEventListener('click', () => {
606
- index = (index - 1 + total) % total;
607
- updateCarousel();
608
- });
609
-
610
- // Auto-slide every 7 seconds
611
- setInterval(() => {
612
- index = (index + 1) % total;
613
- updateCarousel();
614
- }, 7000);
615
-
616
- feather.replace();</script>
617
  </body>
618
  </html>
 
489
  </div>
490
  </footer>
491
  </div>
492
+
493
+ <script>
494
+ // Vanta.js Background
495
+ VANTA.WAVES({
496
+ el: "#vanta-bg",
497
+ mouseControls: true,
498
+ touchControls: true,
499
+ gyroControls: false,
500
+ minHeight: 200.00,
501
+ minWidth: 200.00,
502
+ scale: 1.00,
503
+ scaleMobile: 1.00,
504
+ color: 0x1b9aaa,
505
+ shininess: 130.00,
506
+ waveHeight: 25.00,
507
+ waveSpeed: 0.80,
508
+ zoom: 0.75
509
+ });
510
 
511
+ // Mobile Menu Toggle
512
+ const menuBtn = document.getElementById('menu-btn');
513
+ const mobileMenu = document.getElementById('mobile-menu');
514
+
515
+ if (menuBtn && mobileMenu) {
516
+ menuBtn.addEventListener('click', () => {
517
+ const isOpen = mobileMenu.classList.contains('hidden');
518
+ if (isOpen) {
519
+ mobileMenu.classList.remove('hidden');
520
+ mobileMenu.classList.add('flex');
521
+ feather.replace();
522
+ } else {
523
+ mobileMenu.classList.add('hidden');
524
+ mobileMenu.classList.remove('flex');
525
+ }
526
+ });
527
+ }
528
+
529
+ // Smooth scrolling for anchor links
530
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
531
+ anchor.addEventListener('click', function (e) {
532
+ const target = document.querySelector(this.getAttribute('href'));
533
+ if (target) {
534
+ e.preventDefault();
535
+ target.scrollIntoView({
536
+ behavior: 'smooth',
537
+ block: 'start'
538
  });
539
+ // Update URL without jumping
540
+ if (history.pushState) {
541
+ history.pushState(null, null, this.getAttribute('href'));
542
+ }
543
+ }
544
+ // Close mobile menu if open
545
+ if (mobileMenu && !mobileMenu.classList.contains('hidden')) {
546
+ mobileMenu.classList.add('hidden');
547
+ mobileMenu.classList.remove('flex');
548
+ }
549
+ });
550
+ });
551
 
552
+ // FAQ accordion (only one open at a time)
553
+ document.querySelectorAll('.faq-btn').forEach((btn) => {
554
+ btn.addEventListener('click', () => {
555
+ const content = btn.nextElementSibling;
556
+ const isOpen = !content.classList.contains('hidden');
 
 
 
 
 
 
 
 
 
 
557
 
558
+ document.querySelectorAll('.faq-content').forEach(c => c.classList.add('hidden'));
559
+ document.querySelectorAll('.faq-btn i').forEach(i => i.style.transform = 'rotate(0deg)');
560
+
561
+ if (!isOpen) {
562
+ content.classList.remove('hidden');
563
+ btn.querySelector('i').style.transform = 'rotate(180deg)';
564
+ }
565
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
566
  });
 
567
 
568
+ // CTA scroll to contact section
569
+ const ctaBtn = document.getElementById('cta-scroll');
570
+ if (ctaBtn) {
571
+ ctaBtn.addEventListener('click', () => {
572
+ const target = document.getElementById('contact');
573
+ if (target) {
574
+ target.scrollIntoView({ behavior: 'smooth', block: 'start' });
575
+ }
576
+ });
577
+ }
578
+
579
+ // Testimonials carousel
580
+ const carousel = document.getElementById('testimonial-carousel');
581
+ const nextBtn = document.getElementById('next-review');
582
+ const prevBtn = document.getElementById('prev-review');
583
+
584
+ if (carousel) {
585
+ let index = 0;
586
+ const total = carousel.children.length;
587
+
588
+ function updateCarousel() {
589
+ carousel.style.transform = `translateX(-${index * 100}%)`;
590
+ feather.replace();
591
+ }
592
+
593
+ if (nextBtn) {
594
+ nextBtn.addEventListener('click', () => {
595
+ index = (index + 1) % total;
596
+ updateCarousel();
597
+ });
598
+ }
599
 
600
+ if (prevBtn) {
601
+ prevBtn.addEventListener('click', () => {
602
+ index = (index - 1 + total) % total;
603
+ updateCarousel();
604
+ });
605
+ }
606
+
607
+ // Auto-slide every 7 seconds
608
+ setInterval(() => {
609
+ index = (index + 1) % total;
610
+ updateCarousel();
611
+ }, 7000);
612
+ }
613
 
614
+ // Initialize feather icons
 
615
  feather.replace();
616
+ </script>
617
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
618
  </body>
619
  </html>