Add 2 files
Browse files- index.html +336 -11
- 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(
|
| 158 |
-
|
|
|
|
| 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
|
| 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
|
| 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
|
| 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
|