GMA2 commited on
Commit
b34e809
·
verified ·
1 Parent(s): 4b25a06

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +336 -11
  2. prompts.txt +2 -1
index.html CHANGED
@@ -8,6 +8,7 @@
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
10
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
 
11
  <style>
12
  /* Base styles */
13
  body {
@@ -55,16 +56,58 @@
55
  color: transparent;
56
  }
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  /* Interactive cards */
59
  .interactive-card {
60
  position: relative;
61
  overflow: hidden;
62
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
63
  transform-style: preserve-3d;
 
 
 
64
  }
65
 
66
  .interactive-card:hover {
67
  transform: translateY(-10px) scale(1.02);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  }
69
 
70
  .card-content {
@@ -154,8 +197,9 @@
154
  position: relative;
155
  border-radius: 20px;
156
  overflow: hidden;
157
- background: rgba(255,255,255,0.05);
158
- border: 1px solid rgba(255,255,255,0.1);
 
159
  }
160
 
161
  /* Audio visualizer */
@@ -216,6 +260,56 @@
216
  transition: width 0.1s ease;
217
  }
218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
219
  /* Responsive adjustments */
220
  @media (max-width: 768px) {
221
  .hero-title {
@@ -225,6 +319,14 @@
225
  .model-container {
226
  height: 300px;
227
  }
 
 
 
 
 
 
 
 
228
  }
229
  </style>
230
  </head>
@@ -302,7 +404,7 @@
302
  </button>
303
  </div>
304
  <div class="md:w-1/2">
305
- <div class="model-container" id="model-container-1">
306
  <!-- 3D model will be inserted here -->
307
  </div>
308
  </div>
@@ -319,7 +421,7 @@
319
 
320
  <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
321
  <!-- Service Card 1 -->
322
- <div class="interactive-card bg-gradient-to-br from-blue-900/20 to-purple-900/20 rounded-2xl p-8 border border-gray-800/50 backdrop-blur-sm">
323
  <div class="card-content">
324
  <div class="text-5xl mb-6 gradient-text">
325
  <i class="fas fa-vr-cardboard"></i>
@@ -335,7 +437,7 @@
335
  </div>
336
 
337
  <!-- Service Card 2 -->
338
- <div class="interactive-card bg-gradient-to-br from-purple-900/20 to-pink-900/20 rounded-2xl p-8 border border-gray-800/50 backdrop-blur-sm">
339
  <div class="card-content">
340
  <div class="text-5xl mb-6 gradient-text">
341
  <i class="fas fa-cube"></i>
@@ -351,7 +453,7 @@
351
  </div>
352
 
353
  <!-- Service Card 3 -->
354
- <div class="interactive-card bg-gradient-to-br from-pink-900/20 to-blue-900/20 rounded-2xl p-8 border border-gray-800/50 backdrop-blur-sm">
355
  <div class="card-content">
356
  <div class="text-5xl mb-6 gradient-text">
357
  <i class="fas fa-headphones"></i>
@@ -380,7 +482,7 @@
380
  <!-- Project 1 -->
381
  <div class="flex flex-col md:flex-row items-center gap-12">
382
  <div class="md:w-1/2">
383
- <div class="model-container" id="model-container-2">
384
  <!-- 3D model will be inserted here -->
385
  </div>
386
  </div>
@@ -404,7 +506,7 @@
404
  <!-- Project 2 -->
405
  <div class="flex flex-col md:flex-row-reverse items-center gap-12">
406
  <div class="md:w-1/2">
407
- <div class="model-container" id="model-container-3">
408
  <!-- 3D model will be inserted here -->
409
  </div>
410
  </div>
@@ -428,6 +530,126 @@
428
  </div>
429
  </section>
430
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
  <!-- Contact Section -->
432
  <section class="py-20 relative noise">
433
  <div class="container mx-auto px-6">
@@ -439,7 +661,7 @@
439
  Ready to bring your vision to life? Get in touch with our team to discuss your next immersive project.
440
  </p>
441
 
442
- <form class="grid grid-cols-1 md:grid-cols-2 gap-6 text-left">
443
  <div>
444
  <label class="block text-gray-400 mb-2">Name</label>
445
  <input type="text" class="interactive w-full bg-gray-900/50 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-all duration-300">
@@ -649,10 +871,80 @@
649
  });
650
  };
651
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
652
  // Initialize scroll animations
653
  const initScrollAnimations = () => {
654
- gsap.registerPlugin(ScrollTrigger);
655
-
656
  // Animate sections on scroll
657
  gsap.utils.toArray('section').forEach((section, i) => {
658
  if (i > 0) { // Skip hero section
@@ -701,6 +993,22 @@
701
  ease: "power2.out"
702
  });
703
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
704
  };
705
 
706
  // Initialize everything when DOM is loaded
@@ -709,6 +1017,8 @@
709
  initCursorFollower();
710
  initScrollProgress();
711
  initAudio();
 
 
712
  initScrollAnimations();
713
 
714
  // Add click sound to buttons
@@ -730,6 +1040,21 @@
730
  audio.play().catch(e => console.log("Sound play failed:", e));
731
  });
732
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
733
  });
734
  </script>
735
  <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=GMA2/hero-ex" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
 
8
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
10
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
12
  <style>
13
  /* Base styles */
14
  body {
 
56
  color: transparent;
57
  }
58
 
59
+ /* Glass morphism effect */
60
+ .glass-container {
61
+ background: rgba(10, 10, 15, 0.5);
62
+ backdrop-filter: blur(16px) saturate(180%);
63
+ -webkit-backdrop-filter: blur(16px) saturate(180%);
64
+ border: 1px solid rgba(255, 255, 255, 0.1);
65
+ box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);
66
+ position: relative;
67
+ overflow: hidden;
68
+ }
69
+
70
+ .glass-container::before {
71
+ content: '';
72
+ position: absolute;
73
+ top: 0;
74
+ left: 0;
75
+ right: 0;
76
+ bottom: 0;
77
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 60%);
78
+ z-index: -1;
79
+ }
80
+
81
  /* Interactive cards */
82
  .interactive-card {
83
  position: relative;
84
  overflow: hidden;
85
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
86
  transform-style: preserve-3d;
87
+ background: rgba(15, 15, 20, 0.6);
88
+ backdrop-filter: blur(12px);
89
+ border: 1px solid rgba(255, 255, 255, 0.1);
90
  }
91
 
92
  .interactive-card:hover {
93
  transform: translateY(-10px) scale(1.02);
94
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
95
+ }
96
+
97
+ .interactive-card::after {
98
+ content: '';
99
+ position: absolute;
100
+ top: 0;
101
+ left: 0;
102
+ width: 100%;
103
+ height: 100%;
104
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 60%);
105
+ opacity: 0;
106
+ transition: opacity 0.3s ease;
107
+ }
108
+
109
+ .interactive-card:hover::after {
110
+ opacity: 1;
111
  }
112
 
113
  .card-content {
 
197
  position: relative;
198
  border-radius: 20px;
199
  overflow: hidden;
200
+ background: rgba(15, 15, 20, 0.6);
201
+ backdrop-filter: blur(12px);
202
+ border: 1px solid rgba(255, 255, 255, 0.1);
203
  }
204
 
205
  /* Audio visualizer */
 
260
  transition: width 0.1s ease;
261
  }
262
 
263
+ /* Impact numbers */
264
+ .impact-number {
265
+ font-size: 4rem;
266
+ font-weight: 700;
267
+ background: linear-gradient(90deg, #3b82f6, #8b5cf6);
268
+ -webkit-background-clip: text;
269
+ background-clip: text;
270
+ color: transparent;
271
+ line-height: 1;
272
+ }
273
+
274
+ /* Floating grid */
275
+ .floating-grid {
276
+ display: grid;
277
+ grid-template-columns: repeat(3, 1fr);
278
+ gap: 20px;
279
+ perspective: 1000px;
280
+ }
281
+
282
+ .floating-item {
283
+ position: relative;
284
+ transform-style: preserve-3d;
285
+ transition: transform 0.5s ease;
286
+ }
287
+
288
+ /* Client logos */
289
+ .client-logo {
290
+ filter: grayscale(100%) brightness(0.8);
291
+ transition: all 0.3s ease;
292
+ opacity: 0.7;
293
+ }
294
+
295
+ .client-logo:hover {
296
+ filter: grayscale(0%) brightness(1);
297
+ opacity: 1;
298
+ }
299
+
300
+ /* Testimonial cards */
301
+ .testimonial-card {
302
+ background: rgba(15, 15, 20, 0.6);
303
+ backdrop-filter: blur(12px);
304
+ border: 1px solid rgba(255, 255, 255, 0.1);
305
+ transition: all 0.4s ease;
306
+ }
307
+
308
+ .testimonial-card:hover {
309
+ transform: translateY(-10px);
310
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
311
+ }
312
+
313
  /* Responsive adjustments */
314
  @media (max-width: 768px) {
315
  .hero-title {
 
319
  .model-container {
320
  height: 300px;
321
  }
322
+
323
+ .floating-grid {
324
+ grid-template-columns: 1fr;
325
+ }
326
+
327
+ .impact-number {
328
+ font-size: 3rem;
329
+ }
330
  }
331
  </style>
332
  </head>
 
404
  </button>
405
  </div>
406
  <div class="md:w-1/2">
407
+ <div class="model-container glass-container" id="model-container-1">
408
  <!-- 3D model will be inserted here -->
409
  </div>
410
  </div>
 
421
 
422
  <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
423
  <!-- Service Card 1 -->
424
+ <div class="interactive-card glass-container rounded-2xl p-8">
425
  <div class="card-content">
426
  <div class="text-5xl mb-6 gradient-text">
427
  <i class="fas fa-vr-cardboard"></i>
 
437
  </div>
438
 
439
  <!-- Service Card 2 -->
440
+ <div class="interactive-card glass-container rounded-2xl p-8">
441
  <div class="card-content">
442
  <div class="text-5xl mb-6 gradient-text">
443
  <i class="fas fa-cube"></i>
 
453
  </div>
454
 
455
  <!-- Service Card 3 -->
456
+ <div class="interactive-card glass-container rounded-2xl p-8">
457
  <div class="card-content">
458
  <div class="text-5xl mb-6 gradient-text">
459
  <i class="fas fa-headphones"></i>
 
482
  <!-- Project 1 -->
483
  <div class="flex flex-col md:flex-row items-center gap-12">
484
  <div class="md:w-1/2">
485
+ <div class="model-container glass-container" id="model-container-2">
486
  <!-- 3D model will be inserted here -->
487
  </div>
488
  </div>
 
506
  <!-- Project 2 -->
507
  <div class="flex flex-col md:flex-row-reverse items-center gap-12">
508
  <div class="md:w-1/2">
509
+ <div class="model-container glass-container" id="model-container-3">
510
  <!-- 3D model will be inserted here -->
511
  </div>
512
  </div>
 
530
  </div>
531
  </section>
532
 
533
+ <!-- Impact Section -->
534
+ <section class="py-20 relative noise">
535
+ <div class="container mx-auto px-6">
536
+ <h2 class="text-4xl md:text-6xl font-bold mb-20 text-center">
537
+ <span class="gradient-text">Our</span> Impact
538
+ </h2>
539
+
540
+ <div class="floating-grid mb-20">
541
+ <div class="floating-item glass-container p-8 rounded-2xl">
542
+ <div class="impact-number mb-4" data-count="150">0</div>
543
+ <h3 class="text-xl font-bold mb-2">Projects Completed</h3>
544
+ <p class="text-gray-300">Across various industries and platforms</p>
545
+ </div>
546
+ <div class="floating-item glass-container p-8 rounded-2xl">
547
+ <div class="impact-number mb-4" data-count="98">0</div>
548
+ <h3 class="text-xl font-bold mb-2">Client Satisfaction</h3>
549
+ <p class="text-gray-300">Percentage of returning clients</p>
550
+ </div>
551
+ <div class="floating-item glass-container p-8 rounded-2xl">
552
+ <div class="impact-number mb-4" data-count="25">0</div>
553
+ <h3 class="text-xl font-bold mb-2">Awards Won</h3>
554
+ <p class="text-gray-300">Industry recognition for excellence</p>
555
+ </div>
556
+ </div>
557
+
558
+ <div class="glass-container p-12 rounded-3xl">
559
+ <div class="flex flex-col md:flex-row items-center gap-12">
560
+ <div class="md:w-1/2">
561
+ <h3 class="text-3xl md:text-4xl font-bold mb-6">Transforming Digital Experiences</h3>
562
+ <p class="text-xl text-gray-300 mb-8">
563
+ Our work has helped clients redefine their digital presence, creating memorable experiences that engage and inspire audiences worldwide.
564
+ </p>
565
+ <button class="interactive bg-gradient-to-r from-blue-500 to-purple-500 text-white px-8 py-3 rounded-full font-medium hover:from-blue-600 hover:to-purple-600 transition-all duration-300">
566
+ See Case Studies <i class="fas fa-arrow-right ml-2"></i>
567
+ </button>
568
+ </div>
569
+ <div class="md:w-1/2">
570
+ <div class="grid grid-cols-3 gap-4">
571
+ <div class="glass-container p-6 rounded-xl flex items-center justify-center h-24">
572
+ <img src="https://via.placeholder.com/100x50?text=Client+1" alt="Client Logo" class="client-logo max-h-12">
573
+ </div>
574
+ <div class="glass-container p-6 rounded-xl flex items-center justify-center h-24">
575
+ <img src="https://via.placeholder.com/100x50?text=Client+2" alt="Client Logo" class="client-logo max-h-12">
576
+ </div>
577
+ <div class="glass-container p-6 rounded-xl flex items-center justify-center h-24">
578
+ <img src="https://via.placeholder.com/100x50?text=Client+3" alt="Client Logo" class="client-logo max-h-12">
579
+ </div>
580
+ <div class="glass-container p-6 rounded-xl flex items-center justify-center h-24">
581
+ <img src="https://via.placeholder.com/100x50?text=Client+4" alt="Client Logo" class="client-logo max-h-12">
582
+ </div>
583
+ <div class="glass-container p-6 rounded-xl flex items-center justify-center h-24">
584
+ <img src="https://via.placeholder.com/100x50?text=Client+5" alt="Client Logo" class="client-logo max-h-12">
585
+ </div>
586
+ <div class="glass-container p-6 rounded-xl flex items-center justify-center h-24">
587
+ <img src="https://via.placeholder.com/100x50?text=Client+6" alt="Client Logo" class="client-logo max-h-12">
588
+ </div>
589
+ </div>
590
+ </div>
591
+ </div>
592
+ </div>
593
+ </div>
594
+ </section>
595
+
596
+ <!-- Testimonials Section -->
597
+ <section class="py-20 relative noise">
598
+ <div class="container mx-auto px-6">
599
+ <h2 class="text-4xl md:text-6xl font-bold mb-20 text-center">
600
+ <span class="gradient-text">Client</span> Testimonials
601
+ </h2>
602
+
603
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
604
+ <div class="testimonial-card glass-container p-8 rounded-2xl">
605
+ <div class="text-yellow-400 text-2xl mb-4">
606
+ <i class="fas fa-quote-left"></i>
607
+ </div>
608
+ <p class="text-gray-300 mb-6">
609
+ "Their team transformed our digital presence completely. The immersive experience they created increased our engagement by 300%."
610
+ </p>
611
+ <div class="flex items-center gap-4">
612
+ <div class="w-12 h-12 rounded-full bg-gradient-to-r from-blue-500 to-purple-500"></div>
613
+ <div>
614
+ <h4 class="font-bold">Sarah Johnson</h4>
615
+ <p class="text-sm text-gray-400">CEO, TechCorp</p>
616
+ </div>
617
+ </div>
618
+ </div>
619
+ <div class="testimonial-card glass-container p-8 rounded-2xl">
620
+ <div class="text-yellow-400 text-2xl mb-4">
621
+ <i class="fas fa-quote-left"></i>
622
+ </div>
623
+ <p class="text-gray-300 mb-6">
624
+ "The VR solution they developed for our training program has been revolutionary. Our employees are more engaged and retain information better."
625
+ </p>
626
+ <div class="flex items-center gap-4">
627
+ <div class="w-12 h-12 rounded-full bg-gradient-to-r from-purple-500 to-pink-500"></div>
628
+ <div>
629
+ <h4 class="font-bold">Michael Chen</h4>
630
+ <p class="text-sm text-gray-400">CTO, LearnTech</p>
631
+ </div>
632
+ </div>
633
+ </div>
634
+ <div class="testimonial-card glass-container p-8 rounded-2xl">
635
+ <div class="text-yellow-400 text-2xl mb-4">
636
+ <i class="fas fa-quote-left"></i>
637
+ </div>
638
+ <p class="text-gray-300 mb-6">
639
+ "Working with them was a game-changer for our brand. Their innovative approach to 3D web experiences set us apart from competitors."
640
+ </p>
641
+ <div class="flex items-center gap-4">
642
+ <div class="w-12 h-12 rounded-full bg-gradient-to-r from-pink-500 to-blue-500"></div>
643
+ <div>
644
+ <h4 class="font-bold">Emma Rodriguez</h4>
645
+ <p class="text-sm text-gray-400">Marketing Director, StyleHub</p>
646
+ </div>
647
+ </div>
648
+ </div>
649
+ </div>
650
+ </div>
651
+ </section>
652
+
653
  <!-- Contact Section -->
654
  <section class="py-20 relative noise">
655
  <div class="container mx-auto px-6">
 
661
  Ready to bring your vision to life? Get in touch with our team to discuss your next immersive project.
662
  </p>
663
 
664
+ <form class="grid grid-cols-1 md:grid-cols-2 gap-6 text-left glass-container p-8 rounded-2xl">
665
  <div>
666
  <label class="block text-gray-400 mb-2">Name</label>
667
  <input type="text" class="interactive w-full bg-gray-900/50 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-all duration-300">
 
871
  });
872
  };
873
 
874
+ // Initialize impact number counters
875
+ const initImpactCounters = () => {
876
+ const counters = document.querySelectorAll('.impact-number');
877
+ const speed = 200;
878
+
879
+ counters.forEach(counter => {
880
+ const target = +counter.getAttribute('data-count');
881
+ const count = +counter.innerText;
882
+ const increment = target / speed;
883
+
884
+ if (count < target) {
885
+ counter.innerText = Math.ceil(count + increment);
886
+ setTimeout(initImpactCounters, 1);
887
+ } else {
888
+ counter.innerText = target;
889
+ }
890
+ });
891
+ };
892
+
893
+ // Initialize floating grid animations
894
+ const initFloatingGrid = () => {
895
+ const floatingItems = document.querySelectorAll('.floating-item');
896
+
897
+ floatingItems.forEach((item, index) => {
898
+ // Initial animation
899
+ gsap.from(item, {
900
+ scrollTrigger: {
901
+ trigger: item,
902
+ start: "top 80%",
903
+ toggleActions: "play none none none"
904
+ },
905
+ y: 50,
906
+ opacity: 0,
907
+ duration: 0.8,
908
+ delay: index * 0.1,
909
+ ease: "power2.out"
910
+ });
911
+
912
+ // Hover animation
913
+ item.addEventListener('mousemove', (e) => {
914
+ const x = e.clientX - item.getBoundingClientRect().left;
915
+ const y = e.clientY - item.getBoundingClientRect().top;
916
+
917
+ const centerX = item.offsetWidth / 2;
918
+ const centerY = item.offsetHeight / 2;
919
+
920
+ const moveX = (x - centerX) / 20;
921
+ const moveY = (y - centerY) / 20;
922
+
923
+ gsap.to(item, {
924
+ x: moveX,
925
+ y: moveY,
926
+ rotateX: -moveY,
927
+ rotateY: moveX,
928
+ duration: 0.5,
929
+ ease: "power2.out"
930
+ });
931
+ });
932
+
933
+ item.addEventListener('mouseleave', () => {
934
+ gsap.to(item, {
935
+ x: 0,
936
+ y: 0,
937
+ rotateX: 0,
938
+ rotateY: 0,
939
+ duration: 0.5,
940
+ ease: "elastic.out(1, 0.3)"
941
+ });
942
+ });
943
+ });
944
+ };
945
+
946
  // Initialize scroll animations
947
  const initScrollAnimations = () => {
 
 
948
  // Animate sections on scroll
949
  gsap.utils.toArray('section').forEach((section, i) => {
950
  if (i > 0) { // Skip hero section
 
993
  ease: "power2.out"
994
  });
995
  });
996
+
997
+ // Animate testimonial cards
998
+ gsap.utils.toArray('.testimonial-card').forEach((card, i) => {
999
+ gsap.from(card, {
1000
+ scrollTrigger: {
1001
+ trigger: card,
1002
+ start: "top 80%",
1003
+ toggleActions: "play none none none"
1004
+ },
1005
+ opacity: 0,
1006
+ y: 50,
1007
+ duration: 0.8,
1008
+ delay: i * 0.1,
1009
+ ease: "power2.out"
1010
+ });
1011
+ });
1012
  };
1013
 
1014
  // Initialize everything when DOM is loaded
 
1017
  initCursorFollower();
1018
  initScrollProgress();
1019
  initAudio();
1020
+ initImpactCounters();
1021
+ initFloatingGrid();
1022
  initScrollAnimations();
1023
 
1024
  // Add click sound to buttons
 
1040
  audio.play().catch(e => console.log("Sound play failed:", e));
1041
  });
1042
  });
1043
+
1044
+ // Start impact counters when in view
1045
+ const impactSection = document.querySelector('.impact-number');
1046
+ if (impactSection) {
1047
+ const observer = new IntersectionObserver((entries) => {
1048
+ entries.forEach(entry => {
1049
+ if (entry.isIntersecting) {
1050
+ initImpactCounters();
1051
+ observer.unobserve(entry.target);
1052
+ }
1053
+ });
1054
+ }, { threshold: 0.5 });
1055
+
1056
+ observer.observe(impactSection);
1057
+ }
1058
  });
1059
  </script>
1060
  <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=GMA2/hero-ex" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
prompts.txt CHANGED
@@ -5,4 +5,5 @@ add this second section <div class="framer-13uxw2p" data-framer-name="shape " st
5
  add this now import {noopReturn as t, defaults as i, isEasingGenerator as e, isEasingList as s, interpolate as a} from /*"@motionone/utils"*/ 'blob:https://project-41greio8c1druf3s6mhc.framercanvas.com/9380b8e6-de74-40c1-ad3c-86d348965543'; import {cubicBezier as n, steps as r} from /*"@motionone/easing"*/ 'blob:https://project-41greio8c1druf3s6mhc.framercanvas.com/73c737b7-407c-4458-b349-21655a8ea152'; const o = { ease: n(.25, .1, .25, 1), "ease-in": n(.42, 0, 1, 1), "ease-in-out": n(.42, 0, .58, 1), "ease-out": n(0, 0, .58, 1) }; const h = /\((.*?)\)/; function getEasingFunction(i) { if ("function" === typeof i) return i; if (Array.isArray(i)) return n(...i); if (o[i]) return o[i]; if (i.startsWith("steps")) { const t = h.exec(i); if (t) { const i = t[1].split(","); return r(parseFloat(i[0]), i[1].trim()) } } return t } class Animation { constructor(n, r=[0, 1], {easing: o, duration: h=i.duration, delay: u=i.delay, endDelay: l=i.endDelay, repeat: m=i.repeat, offset: c, direction: p="normal"}={}) { this.startTime = null; this.rate = 1; this.t = 0; this.cancelTimestamp = null; this.easing = t; this.duration = 0; this.totalDuration = 0; this.repeat = 0; this.playState = "idle"; this.finished = new Promise(( (t, i) => { this.resolve = t; this.reject = i } )); o = o || i.easing; if (e(o)) { const t = o.createAnimation(r, ( () => "0"), true); o = t.easing; void 0 !== t.keyframes && (r = t.keyframes); void 0 !== t.duration && (h = t.duration) } this.repeat = m; this.easing = s(o) ? t : getEasingFunction(o); this.updateDuration(h); const d = a(r, c, s(o) ? o.map(getEasingFunction) : t); this.tick = t => { var i; u = u; let e = 0; e = void 0 !== this.pauseTime ? this.pauseTime : (t - this.startTime) * this.rate; this.t = e; e /= 1e3; e = Math.max(e - u, 0); "finished" === this.playState && void 0 === this.pauseTime && (e = this.totalDuration); const s = e / this.duration; let a = Math.floor(s); let r = s % 1; !r && s >= 1 && (r = 1); 1 === r && a--; const o = a % 2; ("reverse" === p || "alternate" === p && o || "alternate-reverse" === p && !o) && (r = 1 - r); const h = e >= this.totalDuration ? 1 : Math.min(r, 1); const m = d(this.easing(h)); n(m); const c = void 0 === this.pauseTime && ("finished" === this.playState || e >= this.totalDuration + l); if (c) { this.playState = "finished"; null === (i = this.resolve) || void 0 === i ? void 0 : i.call(this, m) } else "idle" !== this.playState && (this.frameRequestId = requestAnimationFrame(this.tick)) } ; this.play() } play() { const t = performance.now(); this.playState = "running"; void 0 !== this.pauseTime ? this.startTime = t - this.pauseTime : this.startTime || (this.startTime = t); this.cancelTimestamp = this.startTime; this.pauseTime = void 0; this.frameRequestId = requestAnimationFrame(this.tick) } pause() { this.playState = "paused"; this.pauseTime = this.t } finish() { this.playState = "finished"; this.tick(0) } stop() { var t; this.playState = "idle"; void 0 !== this.frameRequestId && cancelAnimationFrame(this.frameRequestId); null === (t = this.reject) || void 0 === t ? void 0 : t.call(this, false) } cancel() { this.stop(); this.tick(this.cancelTimestamp) } reverse() { this.rate *= -1 } commitStyles() {} updateDuration(t) { this.duration = t; this.totalDuration = t * (this.repeat + 1) } get currentTime() { return this.t } set currentTime(t) { void 0 !== this.pauseTime || 0 === this.rate ? this.pauseTime = t : this.startTime = performance.now() - t / this.rate } get playbackRate() { return this.rate } set playbackRate(t) { this.rate = t } } export {Animation, getEasingFunction}; //# sourceMappingURL=https://ga.jspm.io/npm:@motionone/[email protected]/dist/index.es.js.map //# sourceURL=https://ga.jspm.io/npm:@motionone/[email protected]/dist/index.es.js
6
  create another section and have the tech cards follow scroll and zoom out
7
  can you add more sections and add these elements https://www.madeful.de/
8
- can you now add some of these elements from this site, sound, immersive, 3D etc. https://kodemedia.com/immersive
 
 
5
  add this now import {noopReturn as t, defaults as i, isEasingGenerator as e, isEasingList as s, interpolate as a} from /*"@motionone/utils"*/ 'blob:https://project-41greio8c1druf3s6mhc.framercanvas.com/9380b8e6-de74-40c1-ad3c-86d348965543'; import {cubicBezier as n, steps as r} from /*"@motionone/easing"*/ 'blob:https://project-41greio8c1druf3s6mhc.framercanvas.com/73c737b7-407c-4458-b349-21655a8ea152'; const o = { ease: n(.25, .1, .25, 1), "ease-in": n(.42, 0, 1, 1), "ease-in-out": n(.42, 0, .58, 1), "ease-out": n(0, 0, .58, 1) }; const h = /\((.*?)\)/; function getEasingFunction(i) { if ("function" === typeof i) return i; if (Array.isArray(i)) return n(...i); if (o[i]) return o[i]; if (i.startsWith("steps")) { const t = h.exec(i); if (t) { const i = t[1].split(","); return r(parseFloat(i[0]), i[1].trim()) } } return t } class Animation { constructor(n, r=[0, 1], {easing: o, duration: h=i.duration, delay: u=i.delay, endDelay: l=i.endDelay, repeat: m=i.repeat, offset: c, direction: p="normal"}={}) { this.startTime = null; this.rate = 1; this.t = 0; this.cancelTimestamp = null; this.easing = t; this.duration = 0; this.totalDuration = 0; this.repeat = 0; this.playState = "idle"; this.finished = new Promise(( (t, i) => { this.resolve = t; this.reject = i } )); o = o || i.easing; if (e(o)) { const t = o.createAnimation(r, ( () => "0"), true); o = t.easing; void 0 !== t.keyframes && (r = t.keyframes); void 0 !== t.duration && (h = t.duration) } this.repeat = m; this.easing = s(o) ? t : getEasingFunction(o); this.updateDuration(h); const d = a(r, c, s(o) ? o.map(getEasingFunction) : t); this.tick = t => { var i; u = u; let e = 0; e = void 0 !== this.pauseTime ? this.pauseTime : (t - this.startTime) * this.rate; this.t = e; e /= 1e3; e = Math.max(e - u, 0); "finished" === this.playState && void 0 === this.pauseTime && (e = this.totalDuration); const s = e / this.duration; let a = Math.floor(s); let r = s % 1; !r && s >= 1 && (r = 1); 1 === r && a--; const o = a % 2; ("reverse" === p || "alternate" === p && o || "alternate-reverse" === p && !o) && (r = 1 - r); const h = e >= this.totalDuration ? 1 : Math.min(r, 1); const m = d(this.easing(h)); n(m); const c = void 0 === this.pauseTime && ("finished" === this.playState || e >= this.totalDuration + l); if (c) { this.playState = "finished"; null === (i = this.resolve) || void 0 === i ? void 0 : i.call(this, m) } else "idle" !== this.playState && (this.frameRequestId = requestAnimationFrame(this.tick)) } ; this.play() } play() { const t = performance.now(); this.playState = "running"; void 0 !== this.pauseTime ? this.startTime = t - this.pauseTime : this.startTime || (this.startTime = t); this.cancelTimestamp = this.startTime; this.pauseTime = void 0; this.frameRequestId = requestAnimationFrame(this.tick) } pause() { this.playState = "paused"; this.pauseTime = this.t } finish() { this.playState = "finished"; this.tick(0) } stop() { var t; this.playState = "idle"; void 0 !== this.frameRequestId && cancelAnimationFrame(this.frameRequestId); null === (t = this.reject) || void 0 === t ? void 0 : t.call(this, false) } cancel() { this.stop(); this.tick(this.cancelTimestamp) } reverse() { this.rate *= -1 } commitStyles() {} updateDuration(t) { this.duration = t; this.totalDuration = t * (this.repeat + 1) } get currentTime() { return this.t } set currentTime(t) { void 0 !== this.pauseTime || 0 === this.rate ? this.pauseTime = t : this.startTime = performance.now() - t / this.rate } get playbackRate() { return this.rate } set playbackRate(t) { this.rate = t } } export {Animation, getEasingFunction}; //# sourceMappingURL=https://ga.jspm.io/npm:@motionone/[email protected]/dist/index.es.js.map //# sourceURL=https://ga.jspm.io/npm:@motionone/[email protected]/dist/index.es.js
6
  create another section and have the tech cards follow scroll and zoom out
7
  can you add more sections and add these elements https://www.madeful.de/
8
+ can you now add some of these elements from this site, sound, immersive, 3D etc. https://kodemedia.com/immersive
9
+ before the contact or let's create together section can you add some of the sections in and animations from this site in addition to what you already have. can you make all boxes and containers look like black glass with highlights as they move? https://www.altermind.studio/impact