00Boobs00 commited on
Commit
6ef2c05
·
verified ·
1 Parent(s): 011a9bf

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +842 -19
index.html CHANGED
@@ -1,19 +1,842 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Dynamic Portfolio Showcase</title>
7
+ <style>
8
+ * {
9
+ margin: 0;
10
+ padding: 0;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ :root {
15
+ --primary: #667eea;
16
+ --primary-dark: #5a67d8;
17
+ --secondary: #f56565;
18
+ --dark: #2d3748;
19
+ --light: #f7fafc;
20
+ --text: #4a5568;
21
+ --gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
22
+ --shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
23
+ --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.15);
24
+ }
25
+
26
+ body {
27
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
28
+ line-height: 1.6;
29
+ color: var(--text);
30
+ overflow-x: hidden;
31
+ background: linear-gradient(to bottom, #f7fafc, #edf2f7);
32
+ }
33
+
34
+ /* Header */
35
+ header {
36
+ background: white;
37
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
38
+ position: fixed;
39
+ width: 100%;
40
+ top: 0;
41
+ z-index: 1000;
42
+ transition: all 0.3s ease;
43
+ }
44
+
45
+ nav {
46
+ max-width: 1200px;
47
+ margin: 0 auto;
48
+ padding: 1rem 2rem;
49
+ display: flex;
50
+ justify-content: space-between;
51
+ align-items: center;
52
+ }
53
+
54
+ .logo {
55
+ font-size: 1.5rem;
56
+ font-weight: bold;
57
+ background: var(--gradient);
58
+ -webkit-background-clip: text;
59
+ -webkit-text-fill-color: transparent;
60
+ background-clip: text;
61
+ animation: gradientShift 3s ease infinite;
62
+ }
63
+
64
+ @keyframes gradientShift {
65
+ 0%, 100% { filter: hue-rotate(0deg); }
66
+ 50% { filter: hue-rotate(30deg); }
67
+ }
68
+
69
+ .nav-links {
70
+ display: flex;
71
+ gap: 2rem;
72
+ list-style: none;
73
+ }
74
+
75
+ .nav-links a {
76
+ color: var(--text);
77
+ text-decoration: none;
78
+ position: relative;
79
+ transition: color 0.3s ease;
80
+ font-weight: 500;
81
+ }
82
+
83
+ .nav-links a::after {
84
+ content: '';
85
+ position: absolute;
86
+ bottom: -5px;
87
+ left: 0;
88
+ width: 0;
89
+ height: 2px;
90
+ background: var(--gradient);
91
+ transition: width 0.3s ease;
92
+ }
93
+
94
+ .nav-links a:hover::after {
95
+ width: 100%;
96
+ }
97
+
98
+ .nav-links a:hover {
99
+ color: var(--primary);
100
+ }
101
+
102
+ .anycoder-link {
103
+ color: var(--primary) !important;
104
+ font-weight: 600;
105
+ }
106
+
107
+ /* Hero Section */
108
+ .hero {
109
+ margin-top: 80px;
110
+ padding: 4rem 2rem;
111
+ min-height: 60vh;
112
+ display: flex;
113
+ align-items: center;
114
+ position: relative;
115
+ overflow: hidden;
116
+ }
117
+
118
+ .hero::before {
119
+ content: '';
120
+ position: absolute;
121
+ top: -50%;
122
+ right: -10%;
123
+ width: 600px;
124
+ height: 600px;
125
+ background: var(--gradient);
126
+ border-radius: 50%;
127
+ opacity: 0.1;
128
+ animation: float 20s ease-in-out infinite;
129
+ }
130
+
131
+ @keyframes float {
132
+ 0%, 100% { transform: translateY(0) rotate(0deg); }
133
+ 50% { transform: translateY(-30px) rotate(180deg); }
134
+ }
135
+
136
+ .hero-content {
137
+ max-width: 1200px;
138
+ margin: 0 auto;
139
+ display: grid;
140
+ grid-template-columns: 1fr 1fr;
141
+ gap: 4rem;
142
+ align-items: center;
143
+ position: relative;
144
+ z-index: 1;
145
+ }
146
+
147
+ .hero-text h1 {
148
+ font-size: 3rem;
149
+ margin-bottom: 1rem;
150
+ background: var(--gradient);
151
+ -webkit-background-clip: text;
152
+ -webkit-text-fill-color: transparent;
153
+ background-clip: text;
154
+ animation: fadeInUp 0.8s ease;
155
+ }
156
+
157
+ .hero-text p {
158
+ font-size: 1.2rem;
159
+ margin-bottom: 2rem;
160
+ color: var(--text);
161
+ animation: fadeInUp 0.8s ease 0.2s both;
162
+ }
163
+
164
+ .cta-buttons {
165
+ display: flex;
166
+ gap: 1rem;
167
+ animation: fadeInUp 0.8s ease 0.4s both;
168
+ }
169
+
170
+ .btn {
171
+ padding: 0.8rem 2rem;
172
+ border-radius: 50px;
173
+ text-decoration: none;
174
+ font-weight: 600;
175
+ transition: all 0.3s ease;
176
+ display: inline-block;
177
+ position: relative;
178
+ overflow: hidden;
179
+ }
180
+
181
+ .btn-primary {
182
+ background: var(--gradient);
183
+ color: white;
184
+ border: none;
185
+ box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
186
+ }
187
+
188
+ .btn-primary:hover {
189
+ transform: translateY(-2px);
190
+ box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5);
191
+ }
192
+
193
+ .btn-secondary {
194
+ background: white;
195
+ color: var(--primary);
196
+ border: 2px solid var(--primary);
197
+ }
198
+
199
+ .btn-secondary:hover {
200
+ background: var(--primary);
201
+ color: white;
202
+ transform: translateY(-2px);
203
+ }
204
+
205
+ .hero-visual {
206
+ position: relative;
207
+ animation: fadeInUp 0.8s ease 0.6s both;
208
+ }
209
+
210
+ .floating-card {
211
+ background: white;
212
+ border-radius: 20px;
213
+ padding: 2rem;
214
+ box-shadow: var(--shadow-lg);
215
+ position: relative;
216
+ transition: transform 0.3s ease;
217
+ }
218
+
219
+ .floating-card:hover {
220
+ transform: translateY(-10px);
221
+ }
222
+
223
+ .card-stats {
224
+ display: grid;
225
+ grid-template-columns: repeat(3, 1fr);
226
+ gap: 1rem;
227
+ margin-top: 1rem;
228
+ }
229
+
230
+ .stat {
231
+ text-align: center;
232
+ padding: 1rem;
233
+ background: linear-gradient(135deg, #667eea15, #764ba215);
234
+ border-radius: 10px;
235
+ transition: all 0.3s ease;
236
+ }
237
+
238
+ .stat:hover {
239
+ transform: scale(1.05);
240
+ background: linear-gradient(135deg, #667eea25, #764ba225);
241
+ }
242
+
243
+ .stat-number {
244
+ font-size: 1.5rem;
245
+ font-weight: bold;
246
+ color: var(--primary);
247
+ }
248
+
249
+ .stat-label {
250
+ font-size: 0.9rem;
251
+ color: var(--text);
252
+ }
253
+
254
+ /* Features Section */
255
+ .features {
256
+ padding: 4rem 2rem;
257
+ background: white;
258
+ }
259
+
260
+ .container {
261
+ max-width: 1200px;
262
+ margin: 0 auto;
263
+ }
264
+
265
+ .section-title {
266
+ text-align: center;
267
+ font-size: 2.5rem;
268
+ margin-bottom: 3rem;
269
+ background: var(--gradient);
270
+ -webkit-background-clip: text;
271
+ -webkit-text-fill-color: transparent;
272
+ background-clip: text;
273
+ }
274
+
275
+ .features-grid {
276
+ display: grid;
277
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
278
+ gap: 2rem;
279
+ }
280
+
281
+ .feature-card {
282
+ background: linear-gradient(135deg, #f7fafc, #edf2f7);
283
+ padding: 2rem;
284
+ border-radius: 15px;
285
+ text-align: center;
286
+ transition: all 0.3s ease;
287
+ position: relative;
288
+ overflow: hidden;
289
+ }
290
+
291
+ .feature-card::before {
292
+ content: '';
293
+ position: absolute;
294
+ top: 0;
295
+ left: 0;
296
+ width: 100%;
297
+ height: 4px;
298
+ background: var(--gradient);
299
+ transform: scaleX(0);
300
+ transition: transform 0.3s ease;
301
+ }
302
+
303
+ .feature-card:hover::before {
304
+ transform: scaleX(1);
305
+ }
306
+
307
+ .feature-card:hover {
308
+ transform: translateY(-5px);
309
+ box-shadow: var(--shadow);
310
+ }
311
+
312
+ .feature-icon {
313
+ width: 60px;
314
+ height: 60px;
315
+ margin: 0 auto 1rem;
316
+ background: var(--gradient);
317
+ border-radius: 50%;
318
+ display: flex;
319
+ align-items: center;
320
+ justify-content: center;
321
+ font-size: 1.5rem;
322
+ color: white;
323
+ }
324
+
325
+ .feature-title {
326
+ font-size: 1.2rem;
327
+ margin-bottom: 0.5rem;
328
+ color: var(--dark);
329
+ }
330
+
331
+ .feature-description {
332
+ color: var(--text);
333
+ line-height: 1.6;
334
+ }
335
+
336
+ /* Interactive Section */
337
+ .interactive {
338
+ padding: 4rem 2rem;
339
+ background: linear-gradient(135deg, #667eea10, #764ba210);
340
+ }
341
+
342
+ .color-palette {
343
+ display: flex;
344
+ justify-content: center;
345
+ gap: 1rem;
346
+ margin-bottom: 2rem;
347
+ flex-wrap: wrap;
348
+ }
349
+
350
+ .color-box {
351
+ width: 80px;
352
+ height: 80px;
353
+ border-radius: 10px;
354
+ cursor: pointer;
355
+ transition: all 0.3s ease;
356
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
357
+ position: relative;
358
+ overflow: hidden;
359
+ }
360
+
361
+ .color-box::after {
362
+ content: '✓';
363
+ position: absolute;
364
+ top: 50%;
365
+ left: 50%;
366
+ transform: translate(-50%, -50%) scale(0);
367
+ color: white;
368
+ font-size: 2rem;
369
+ transition: transform 0.3s ease;
370
+ }
371
+
372
+ .color-box.selected::after {
373
+ transform: translate(-50%, -50%) scale(1);
374
+ }
375
+
376
+ .color-box:hover {
377
+ transform: scale(1.1) rotate(5deg);
378
+ }
379
+
380
+ .demo-box {
381
+ width: 100%;
382
+ max-width: 600px;
383
+ margin: 0 auto;
384
+ height: 200px;
385
+ border-radius: 15px;
386
+ display: flex;
387
+ align-items: center;
388
+ justify-content: center;
389
+ color: white;
390
+ font-size: 1.5rem;
391
+ font-weight: bold;
392
+ transition: all 0.5s ease;
393
+ box-shadow: var(--shadow-lg);
394
+ }
395
+
396
+ /* Footer */
397
+ footer {
398
+ background: var(--dark);
399
+ color: white;
400
+ padding: 3rem 2rem 1rem;
401
+ margin-top: 4rem;
402
+ }
403
+
404
+ .footer-content {
405
+ max-width: 1200px;
406
+ margin: 0 auto;
407
+ display: grid;
408
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
409
+ gap: 2rem;
410
+ margin-bottom: 2rem;
411
+ }
412
+
413
+ .footer-section h3 {
414
+ margin-bottom: 1rem;
415
+ color: white;
416
+ }
417
+
418
+ .footer-section a {
419
+ color: #cbd5e0;
420
+ text-decoration: none;
421
+ display: block;
422
+ margin-bottom: 0.5rem;
423
+ transition: color 0.3s ease;
424
+ }
425
+
426
+ .footer-section a:hover {
427
+ color: var(--primary);
428
+ }
429
+
430
+ .footer-bottom {
431
+ text-align: center;
432
+ padding-top: 2rem;
433
+ border-top: 1px solid #4a5568;
434
+ color: #cbd5e0;
435
+ }
436
+
437
+ /* Animations */
438
+ @keyframes fadeInUp {
439
+ from {
440
+ opacity: 0;
441
+ transform: translateY(30px);
442
+ }
443
+ to {
444
+ opacity: 1;
445
+ transform: translateY(0);
446
+ }
447
+ }
448
+
449
+ /* Responsive Design */
450
+ @media (max-width: 768px) {
451
+ .nav-links {
452
+ display: none;
453
+ }
454
+
455
+ .hero-content {
456
+ grid-template-columns: 1fr;
457
+ text-align: center;
458
+ }
459
+
460
+ .hero-text h1 {
461
+ font-size: 2rem;
462
+ }
463
+
464
+ .cta-buttons {
465
+ justify-content: center;
466
+ }
467
+
468
+ .card-stats {
469
+ grid-template-columns: 1fr;
470
+ }
471
+
472
+ .features-grid {
473
+ grid-template-columns: 1fr;
474
+ }
475
+ }
476
+
477
+ /* Scroll animations */
478
+ .scroll-reveal {
479
+ opacity: 0;
480
+ transform: translateY(30px);
481
+ transition: all 0.8s ease;
482
+ }
483
+
484
+ .scroll-reveal.active {
485
+ opacity: 1;
486
+ transform: translateY(0);
487
+ }
488
+
489
+ /* Loading animation */
490
+ .loader {
491
+ position: fixed;
492
+ top: 0;
493
+ left: 0;
494
+ width: 100%;
495
+ height: 100%;
496
+ background: white;
497
+ display: flex;
498
+ justify-content: center;
499
+ align-items: center;
500
+ z-index: 9999;
501
+ transition: opacity 0.5s ease;
502
+ }
503
+
504
+ .loader.hidden {
505
+ opacity: 0;
506
+ pointer-events: none;
507
+ }
508
+
509
+ .loader-circle {
510
+ width: 50px;
511
+ height: 50px;
512
+ border: 4px solid #f3f3f3;
513
+ border-top: 4px solid var(--primary);
514
+ border-radius: 50%;
515
+ animation: spin 1s linear infinite;
516
+ }
517
+
518
+ @keyframes spin {
519
+ 0% { transform: rotate(0deg); }
520
+ 100% { transform: rotate(360deg); }
521
+ }
522
+ </style>
523
+ </head>
524
+ <body>
525
+ <!-- Loading Screen -->
526
+ <div class="loader" id="loader">
527
+ <div class="loader-circle"></div>
528
+ </div>
529
+
530
+ <!-- Header -->
531
+ <header id="header">
532
+ <nav>
533
+ <div class="logo">Portfolio Pro</div>
534
+ <ul class="nav-links">
535
+ <li><a href="#home">Home</a></li>
536
+ <li><a href="#features">Features</a></li>
537
+ <li><a href="#interactive">Interactive</a></li>
538
+ <li><a href="#contact">Contact</a></li>
539
+ <li><a href="https://huggingface.co/spaces/akhaliq/anycoder" class="anycoder-link" target="_blank">Built with anycoder</a></li>
540
+ </ul>
541
+ </nav>
542
+ </header>
543
+
544
+ <!-- Hero Section -->
545
+ <section class="hero" id="home">
546
+ <div class="hero-content">
547
+ <div class="hero-text">
548
+ <h1>Welcome to Innovation</h1>
549
+ <p>Experience the future of web development with cutting-edge design, seamless interactions, and responsive layouts that adapt to any device.</p>
550
+ <div class="cta-buttons">
551
+ <a href="#features" class="btn btn-primary">Explore Features</a>
552
+ <a href="#interactive" class="btn btn-secondary">Try Demo</a>
553
+ </div>
554
+ </div>
555
+ <div class="hero-visual">
556
+ <div class="floating-card">
557
+ <h3>Live Statistics</h3>
558
+ <div class="card-stats">
559
+ <div class="stat">
560
+ <div class="stat-number" data-target="150">0</div>
561
+ <div class="stat-label">Projects</div>
562
+ </div>
563
+ <div class="stat">
564
+ <div class="stat-number" data-target="50">0</div>
565
+ <div class="stat-label">Clients</div>
566
+ </div>
567
+ <div class="stat">
568
+ <div class="stat-number" data-target="98">0</div>
569
+ <div class="stat-label">Success %</div>
570
+ </div>
571
+ </div>
572
+ </div>
573
+ </div>
574
+ </div>
575
+ </section>
576
+
577
+ <!-- Features Section -->
578
+ <section class="features" id="features">
579
+ <div class="container">
580
+ <h2 class="section-title scroll-reveal">Amazing Features</h2>
581
+ <div class="features-grid">
582
+ <div class="feature-card scroll-reveal">
583
+ <div class="feature-icon">⚡</div>
584
+ <h3 class="feature-title">Lightning Fast</h3>
585
+ <p class="feature-description">Optimized performance with blazing fast load times and smooth animations.</p>
586
+ </div>
587
+ <div class="feature-card scroll-reveal">
588
+ <div class="feature-icon">📱</div>
589
+ <h3 class="feature-title">Fully Responsive</h3>
590
+ <p class="feature-description">Perfectly adapted for all devices, from mobile phones to desktop computers.</p>
591
+ </div>
592
+ <div class="feature-card scroll-reveal">
593
+ <div class="feature-icon">🎨</div>
594
+ <h3 class="feature-title">Modern Design</h3>
595
+ <p class="feature-description">Clean, elegant interfaces with the latest design trends and best practices.</p>
596
+ </div>
597
+ <div class="feature-card scroll-reveal">
598
+ <div class="feature-icon">🔧</div>
599
+ <h3 class="feature-title">Easy to Customize</h3>
600
+ <p class="feature-description">Flexible components and modular structure for easy customization.</p>
601
+ </div>
602
+ <div class="feature-card scroll-reveal">
603
+ <div class="feature-icon">🚀</div>
604
+ <h3 class="feature-title">SEO Optimized</h3>
605
+ <p class="feature-description">Built with SEO best practices to help your content rank higher.</p>
606
+ </div>
607
+ <div class="feature-card scroll-reveal">
608
+ <div class="feature-icon">🛡️</div>
609
+ <h3 class="feature-title">Secure & Reliable</h3>
610
+ <p class="feature-description">Robust security measures and reliable performance you can trust.</p>
611
+ </div>
612
+ </div>
613
+ </div>
614
+ </section>
615
+
616
+ <!-- Interactive Section -->
617
+ <section class="interactive" id="interactive">
618
+ <div class="container">
619
+ <h2 class="section-title scroll-reveal">Interactive Color Palette</h2>
620
+ <p style="text-align: center; margin-bottom: 2rem;">Click on colors to change the demo box background!</p>
621
+ <div class="color-palette scroll-reveal">
622
+ <div class="color-box" style="background: linear-gradient(135deg, #667eea, #764ba2);" data-color="linear-gradient(135deg, #667eea, #764ba2)"></div>
623
+ <div class="color-box" style="background: linear-gradient(135deg, #f093fb, #f5576c);" data-color="linear-gradient(135deg, #f093fb, #f5576c)"></div>
624
+ <div class="color-box" style="background: linear-gradient(135deg, #4facfe, #00f2fe);" data-color="linear-gradient(135deg, #4facfe, #00f2fe)"></div>
625
+ <div class="color-box" style="background: linear-gradient(135deg, #43e97b, #38f9d7);" data-color="linear-gradient(135deg, #43e97b, #38f9d7)"></div>
626
+ <div class="color-box" style="background: linear-gradient(135deg, #fa709a, #fee140);" data-color="linear-gradient(135deg, #fa709a, #fee140)"></div>
627
+ <div class="color-box" style="background: linear-gradient(135deg, #30cfd0, #330867);" data-color="linear-gradient(135deg, #30cfd0, #330867)"></div>
628
+ </div>
629
+ <div class="demo-box scroll-reveal" id="demoBox">
630
+ Dynamic Color Change
631
+ </div>
632
+ </div>
633
+ </section>
634
+
635
+ <!-- Footer -->
636
+ <footer id="contact">
637
+ <div class="footer-content">
638
+ <div class="footer-section">
639
+ <h3>About</h3>
640
+ <p>Creating beautiful, functional web experiences with modern technologies.</p>
641
+ </div>
642
+ <div class="footer-section">
643
+ <h3>Quick Links</h3>
644
+ <a href="#home">Home</a>
645
+ <a href="#features">Features</a>
646
+ <a href="#interactive">Interactive</a>
647
+ <a href="#contact">Contact</a>
648
+ </div>
649
+ <div class="footer-section">
650
+ <h3>Resources</h3>
651
+ <a href="#">Documentation</a>
652
+ <a href="#">Support</a>
653
+ <a href="#">Blog</a>
654
+ <a href="#">Community</a>
655
+ </div>
656
+ <div class="footer-section">
657
+ <h3>Connect</h3>
658
+ <a href="#">Twitter</a>
659
+ <a href="#">GitHub</a>
660
+ <a href="#">LinkedIn</a>
661
+ <a href="#">Email</a>
662
+ </div>
663
+ </div>
664
+ <div class="footer-bottom">
665
+ <p>&copy; 2024 Portfolio Pro. All rights reserved. | Built with passion and modern web technologies.</p>
666
+ </div>
667
+ </footer>
668
+
669
+ <script>
670
+ // Remove loader after page loads
671
+ window.addEventListener('load', () => {
672
+ setTimeout(() => {
673
+ document.getElementById('loader').classList.add('hidden');
674
+ }, 1000);
675
+ });
676
+
677
+ // Smooth scrolling for navigation links
678
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
679
+ anchor.addEventListener('click', function (e) {
680
+ e.preventDefault();
681
+ const target = document.querySelector(this.getAttribute('href'));
682
+ if (target) {
683
+ target.scrollIntoView({
684
+ behavior: 'smooth',
685
+ block: 'start'
686
+ });
687
+ }
688
+ });
689
+ });
690
+
691
+ // Header scroll effect
692
+ let lastScroll = 0;
693
+ window.addEventListener('scroll', () => {
694
+ const header = document.getElementById('header');
695
+ const currentScroll = window.pageYOffset;
696
+
697
+ if (currentScroll > 100) {
698
+ header.style.boxShadow = '0 4px 20px rgba(0, 0, 0, 0.1)';
699
+ header.style.background = 'rgba(255, 255, 255, 0.95)';
700
+ header.style.backdropFilter = 'blur(10px)';
701
+ } else {
702
+ header.style.boxShadow = '0 2px 10px rgba(0, 0, 0, 0.05)';
703
+ header.style.background = 'white';
704
+ header.style.backdropFilter = 'none';
705
+ }
706
+
707
+ lastScroll = currentScroll;
708
+ });
709
+
710
+ // Animated counter for statistics
711
+ const counters = document.querySelectorAll('.stat-number');
712
+ const speed = 200;
713
+
714
+ const animateCounters = () => {
715
+ counters.forEach(counter => {
716
+ const animate = () => {
717
+ const target = +counter.getAttribute('data-target');
718
+ const count = +counter.innerText;
719
+ const increment = target / speed;
720
+
721
+ if (count < target) {
722
+ counter.innerText = Math.ceil(count + increment);
723
+ setTimeout(animate, 10);
724
+ } else {
725
+ counter.innerText = target;
726
+ }
727
+ };
728
+ animate();
729
+ });
730
+ };
731
+
732
+ // Trigger counter animation when in viewport
733
+ const observerOptions = {
734
+ threshold: 0.5
735
+ };
736
+
737
+ const observer = new IntersectionObserver((entries) => {
738
+ entries.forEach(entry => {
739
+ if (entry.isIntersecting) {
740
+ animateCounters();
741
+ observer.unobserve(entry.target);
742
+ }
743
+ });
744
+ }, observerOptions);
745
+
746
+ const statsSection = document.querySelector('.card-stats');
747
+ if (statsSection) {
748
+ observer.observe(statsSection);
749
+ }
750
+
751
+ // Scroll reveal animation
752
+ const scrollRevealElements = document.querySelectorAll('.scroll-reveal');
753
+
754
+ const scrollRevealObserver = new IntersectionObserver((entries) => {
755
+ entries.forEach(entry => {
756
+ if (entry.isIntersecting) {
757
+ entry.target.classList.add('active');
758
+ }
759
+ });
760
+ }, {
761
+ threshold: 0.1
762
+ });
763
+
764
+ scrollRevealElements.forEach(element => {
765
+ scrollRevealObserver.observe(element);
766
+ });
767
+
768
+ // Interactive color palette
769
+ const colorBoxes = document.querySelectorAll('.color-box');
770
+ const demoBox = document.getElementById('demoBox');
771
+
772
+ colorBoxes.forEach(box => {
773
+ box.addEventListener('click', function() {
774
+ // Remove selected class from all boxes
775
+ colorBoxes.forEach(b => b.classList.remove('selected'));
776
+ // Add selected class to clicked box
777
+ this.classList.add('selected');
778
+ // Change demo box background
779
+ const color = this.getAttribute('data-color');
780
+ demoBox.style.background = color;
781
+
782
+ // Add animation effect
783
+ demoBox.style.transform = 'scale(0.95)';
784
+ setTimeout(() => {
785
+ demoBox.style.transform = 'scale(1)';
786
+ }, 200);
787
+ });
788
+ });
789
+
790
+ // Parallax effect for hero section
791
+ window.addEventListener('scroll', () => {
792
+ const scrolled = window.pageYOffset;
793
+ const hero = document.querySelector('.hero');
794
+ if (hero) {
795
+ hero.style.transform = `translateY(${scrolled * 0.5}px)`;
796
+ }
797
+ });
798
+
799
+ // Add interactive hover effect to feature cards
800
+ const featureCards = document.querySelectorAll('.feature-card');
801
+ featureCards.forEach(card => {
802
+ card.addEventListener('mouseenter', function() {
803
+ this.style.transform = 'translateY(-10px) rotateX(5deg)';
804
+ });
805
+
806
+ card.addEventListener('mouseleave', function() {
807
+ this.style.transform = 'translateY(0) rotateX(0)';
808
+ });
809
+ });
810
+
811
+ // Dynamic time display in footer
812
+ function updateTime() {
813
+ const now = new Date();
814
+ const timeString = now.toLocaleTimeString();
815
+ // You can add this display somewhere if needed
816
+ }
817
+ setInterval(updateTime, 1000);
818
+
819
+ // Add keyboard navigation
820
+ document.addEventListener('keydown', (e) => {
821
+ if (e.key === 'Escape') {
822
+ // Close any open modals or reset states
823
+ colorBoxes.forEach(box => box.classList.remove('selected'));
824
+ demoBox.style.background = 'linear-gradient(135deg, #667eea, #764ba2)';
825
+ }
826
+ });
827
+
828
+ // Performance optimization: Throttle scroll events
829
+ let ticking = false;
830
+ function updateOnScroll() {
831
+ if (!ticking) {
832
+ window.requestAnimationFrame(() => {
833
+ // Scroll-related updates here
834
+ ticking = false;
835
+ });
836
+ ticking = true;
837
+ }
838
+ }
839
+ window.addEventListener('scroll', updateOnScroll);
840
+ </script>
841
+ </body>
842
+ </html>