VoidVision commited on
Commit
67ebb22
·
verified ·
1 Parent(s): 84cbc67

create me a worlds best digital art designs portfolio website

Browse files
Files changed (6) hide show
  1. README.md +7 -4
  2. components/footer.js +84 -0
  3. components/navbar.js +124 -0
  4. index.html +315 -19
  5. script.js +61 -0
  6. style.css +79 -19
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Pixelpulse Gallery
3
- emoji: 📊
4
  colorFrom: pink
5
- colorTo: red
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: PixelPulse Gallery
 
3
  colorFrom: pink
4
+ colorTo: pink
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/footer.js ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ footer {
7
+ background: linear-gradient(to right, #0c4a6e, #4c1d95);
8
+ }
9
+ .social-icon {
10
+ transition: all 0.3s ease;
11
+ }
12
+ .social-icon:hover {
13
+ transform: translateY(-3px) scale(1.1);
14
+ }
15
+ .footer-link {
16
+ position: relative;
17
+ }
18
+ .footer-link::after {
19
+ content: '';
20
+ position: absolute;
21
+ width: 0;
22
+ height: 2px;
23
+ bottom: 0;
24
+ left: 0;
25
+ background-color: currentColor;
26
+ transition: width 0.3s ease;
27
+ }
28
+ .footer-link:hover::after {
29
+ width: 100%;
30
+ }
31
+ </style>
32
+ <footer class="text-white py-12 px-4 sm:px-6 lg:px-8">
33
+ <div class="max-w-7xl mx-auto">
34
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
35
+ <div class="md:col-span-2">
36
+ <h3 class="text-2xl font-bold mb-4">PixelPulse Gallery</h3>
37
+ <p class="text-white/80 mb-6">Creating digital art that inspires and captivates. Let's bring your vision to life.</p>
38
+ <div class="flex space-x-4">
39
+ <a href="#" class="social-icon text-white hover:text-primary-300">
40
+ <i data-feather="instagram"></i>
41
+ </a>
42
+ <a href="#" class="social-icon text-white hover:text-primary-300">
43
+ <i data-feather="twitter"></i>
44
+ </a>
45
+ <a href="#" class="social-icon text-white hover:text-primary-300">
46
+ <i data-feather="dribbble"></i>
47
+ </a>
48
+ <a href="#" class="social-icon text-white hover:text-primary-300">
49
+ <i data-feather="youtube"></i>
50
+ </a>
51
+ </div>
52
+ </div>
53
+ <div>
54
+ <h4 class="text-lg font-semibold mb-4">Quick Links</h4>
55
+ <ul class="space-y-2">
56
+ <li><a href="#gallery" class="footer-link text-white/80 hover:text-white transition-colors">Gallery</a></li>
57
+ <li><a href="#about" class="footer-link text-white/80 hover:text-white transition-colors">About</a></li>
58
+ <li><a href="#testimonials" class="footer-link text-white/80 hover:text-white transition-colors">Testimonials</a></li>
59
+ <li><a href="#contact" class="footer-link text-white/80 hover:text-white transition-colors">Contact</a></li>
60
+ </ul>
61
+ </div>
62
+ <div>
63
+ <h4 class="text-lg font-semibold mb-4">Legal</h4>
64
+ <ul class="space-y-2">
65
+ <li><a href="#" class="footer-link text-white/80 hover:text-white transition-colors">Privacy Policy</a></li>
66
+ <li><a href="#" class="footer-link text-white/80 hover:text-white transition-colors">Terms of Service</a></li>
67
+ <li><a href="#" class="footer-link text-white/80 hover:text-white transition-colors">Cookie Policy</a></li>
68
+ </ul>
69
+ </div>
70
+ </div>
71
+ <div class="border-t border-white/20 mt-12 pt-6 flex flex-col md:flex-row justify-between items-center">
72
+ <p class="text-white/60">© 2023 PixelPulse Gallery. All rights reserved.</p>
73
+ <p class="text-white/60 mt-4 md:mt-0">Made with <i data-feather="heart" class="w-4 h-4 inline text-red-400"></i> for digital art</p>
74
+ </div>
75
+ </div>
76
+ </footer>
77
+ `;
78
+
79
+ // Initialize feather icons
80
+ feather.replace();
81
+ }
82
+ }
83
+
84
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ transition: all 0.3s ease;
8
+ }
9
+ nav.scrolled {
10
+ background-color: white;
11
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
12
+ }
13
+ nav.scrolled a {
14
+ color: #1f2937;
15
+ }
16
+ nav.scrolled a:hover {
17
+ color: #0ea5e9;
18
+ }
19
+ .nav-link {
20
+ position: relative;
21
+ }
22
+ .nav-link::after {
23
+ content: '';
24
+ position: absolute;
25
+ width: 0;
26
+ height: 2px;
27
+ bottom: 0;
28
+ left: 0;
29
+ background-color: currentColor;
30
+ transition: width 0.3s ease;
31
+ }
32
+ .nav-link:hover::after {
33
+ width: 100%;
34
+ }
35
+ .mobile-menu {
36
+ transition: all 0.3s ease;
37
+ }
38
+ </style>
39
+ <nav class="fixed w-full z-50 py-4 px-6 transition-all duration-300">
40
+ <div class="max-w-7xl mx-auto flex justify-between items-center">
41
+ <a href="/" class="text-2xl font-bold text-gradient">PixelPulse</a>
42
+
43
+ <div class="hidden md:flex items-center space-x-8">
44
+ <a href="#gallery" class="nav-link text-white hover:text-primary-200 transition-colors">Gallery</a>
45
+ <a href="#about" class="nav-link text-white hover:text-primary-200 transition-colors">About</a>
46
+ <a href="#testimonials" class="nav-link text-white hover:text-primary-200 transition-colors">Testimonials</a>
47
+ <a href="#contact" class="nav-link text-white hover:text-primary-200 transition-colors">Contact</a>
48
+ <a href="#" class="px-6 py-2 bg-white text-primary-500 rounded-full font-medium hover:bg-gray-100 transition-colors">Commission</a>
49
+ </div>
50
+
51
+ <button class="md:hidden text-white focus:outline-none" id="mobile-menu-button">
52
+ <i data-feather="menu"></i>
53
+ </button>
54
+ </div>
55
+
56
+ <!-- Mobile menu -->
57
+ <div class="mobile-menu md:hidden hidden absolute left-0 right-0 bg-white py-4 px-6 shadow-lg rounded-b-lg" id="mobile-menu">
58
+ <div class="flex flex-col space-y-4">
59
+ <a href="#gallery" class="nav-link text-gray-800 hover:text-primary-500 transition-colors">Gallery</a>
60
+ <a href="#about" class="nav-link text-gray-800 hover:text-primary-500 transition-colors">About</a>
61
+ <a href="#testimonials" class="nav-link text-gray-800 hover:text-primary-500 transition-colors">Testimonials</a>
62
+ <a href="#contact" class="nav-link text-gray-800 hover:text-primary-500 transition-colors">Contact</a>
63
+ <a href="#" class="px-6 py-2 bg-primary-500 text-white rounded-full font-medium hover:bg-primary-600 transition-colors text-center">Commission</a>
64
+ </div>
65
+ </div>
66
+ </nav>
67
+ `;
68
+
69
+ // Add scroll event listener for navbar
70
+ const nav = this.shadowRoot.querySelector('nav');
71
+ window.addEventListener('scroll', () => {
72
+ if (window.scrollY > 50) {
73
+ nav.classList.add('scrolled');
74
+ // Change all text-white to text-gray-800
75
+ const links = this.shadowRoot.querySelectorAll('.nav-link');
76
+ links.forEach(link => {
77
+ link.classList.remove('text-white');
78
+ link.classList.add('text-gray-800');
79
+ link.classList.add('hover:text-primary-500');
80
+ });
81
+ } else {
82
+ nav.classList.remove('scrolled');
83
+ // Change back to text-white
84
+ const links = this.shadowRoot.querySelectorAll('.nav-link');
85
+ links.forEach(link => {
86
+ link.classList.add('text-white');
87
+ link.classList.remove('text-gray-800');
88
+ link.classList.remove('hover:text-primary-500');
89
+ });
90
+ }
91
+ });
92
+
93
+ // Mobile menu toggle
94
+ const mobileMenuButton = this.shadowRoot.getElementById('mobile-menu-button');
95
+ const mobileMenu = this.shadowRoot.getElementById('mobile-menu');
96
+
97
+ mobileMenuButton.addEventListener('click', () => {
98
+ const menuHidden = mobileMenu.classList.contains('hidden');
99
+ if (menuHidden) {
100
+ mobileMenu.classList.remove('hidden');
101
+ mobileMenuButton.innerHTML = '<i data-feather="x"></i>';
102
+ } else {
103
+ mobileMenu.classList.add('hidden');
104
+ mobileMenuButton.innerHTML = '<i data-feather="menu"></i>';
105
+ }
106
+ feather.replace();
107
+ });
108
+
109
+ // Close mobile menu when clicking on a link
110
+ const mobileLinks = this.shadowRoot.querySelectorAll('#mobile-menu a');
111
+ mobileLinks.forEach(link => {
112
+ link.addEventListener('click', () => {
113
+ mobileMenu.classList.add('hidden');
114
+ mobileMenuButton.innerHTML = '<i data-feather="menu"></i>';
115
+ feather.replace();
116
+ });
117
+ });
118
+
119
+ // Initialize feather icons
120
+ feather.replace();
121
+ }
122
+ }
123
+
124
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,315 @@
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" class="scroll-smooth">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>PixelPulse | Digital Art Portfolio</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script>
12
+ tailwind.config = {
13
+ theme: {
14
+ extend: {
15
+ colors: {
16
+ primary: {
17
+ 50: '#f0f9ff',
18
+ 100: '#e0f2fe',
19
+ 200: '#bae6fd',
20
+ 300: '#7dd3fc',
21
+ 400: '#38bdf8',
22
+ 500: '#0ea5e9',
23
+ 600: '#0284c7',
24
+ 700: '#0369a1',
25
+ 800: '#075985',
26
+ 900: '#0c4a6e',
27
+ },
28
+ secondary: {
29
+ 50: '#f5f3ff',
30
+ 100: '#ede9fe',
31
+ 200: '#ddd6fe',
32
+ 300: '#c4b5fd',
33
+ 400: '#a78bfa',
34
+ 500: '#8b5cf6',
35
+ 600: '#7c3aed',
36
+ 700: '#6d28d9',
37
+ 800: '#5b21b6',
38
+ 900: '#4c1d95',
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ </script>
45
+ </head>
46
+ <body class="bg-gray-50 text-gray-900 font-sans antialiased">
47
+ <custom-navbar></custom-navbar>
48
+ <main>
49
+ <!-- Hero Section -->
50
+ <section class="relative h-screen flex items-center justify-center overflow-hidden">
51
+ <div class="absolute inset-0 bg-gradient-to-br from-primary-500 to-secondary-600 opacity-90"></div>
52
+ <div class="absolute inset-0 bg-[url('https://static.photos/abstract/1200x630/42')] bg-cover bg-center mix-blend-overlay"></div>
53
+ <div class="relative z-10 text-center px-4 max-w-4xl mx-auto">
54
+ <h1 class="text-5xl md:text-7xl font-bold text-white mb-6 animate-fadeIn">PixelPulse Gallery</h1>
55
+ <p class="text-xl md:text-2xl text-white/90 mb-8 max-w-2xl mx-auto animate-fadeIn delay-100">Where digital brushstrokes meet infinite imagination</p>
56
+ <a href="#gallery" class="inline-flex items-center px-8 py-3 bg-white text-primary-600 rounded-full font-semibold shadow-lg hover:bg-gray-100 transition-all duration-300 animate-bounce">
57
+ Explore Artworks
58
+ <i data-feather="arrow-down" class="ml-2"></i>
59
+ </a>
60
+ </div>
61
+ <div class="absolute bottom-10 left-1/2 transform -translate-x-1/2 animate-bounce">
62
+ <i data-feather="chevron-down" class="text-white w-8 h-8"></i>
63
+ </div>
64
+ </section>
65
+
66
+ <!-- Gallery Section -->
67
+ <section id="gallery" class="py-20 px-4 sm:px-6 lg:px-8 bg-white">
68
+ <div class="max-w-7xl mx-auto">
69
+ <div class="text-center mb-16">
70
+ <h2 class="text-3xl md:text-4xl font-bold text-gray-900 mb-4">My Digital Creations</h2>
71
+ <p class="text-lg text-gray-600 max-w-2xl mx-auto">A curated collection of my finest digital artworks, each telling a unique visual story.</p>
72
+ </div>
73
+
74
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
75
+ <!-- Artwork 1 -->
76
+ <div class="group relative overflow-hidden rounded-xl shadow-xl hover:shadow-2xl transition-all duration-500">
77
+ <img src="https://static.photos/abstract/640x360/1" alt="Digital Artwork" class="w-full h-64 object-cover transition-transform duration-500 group-hover:scale-110">
78
+ <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-6">
79
+ <div>
80
+ <h3 class="text-xl font-bold text-white">Cosmic Dreams</h3>
81
+ <p class="text-white/80">Digital Painting | 2023</p>
82
+ <button class="mt-2 px-4 py-2 bg-primary-500 text-white rounded-md hover:bg-primary-600 transition-colors">
83
+ View Details
84
+ </button>
85
+ </div>
86
+ </div>
87
+ </div>
88
+
89
+ <!-- Artwork 2 -->
90
+ <div class="group relative overflow-hidden rounded-xl shadow-xl hover:shadow-2xl transition-all duration-500">
91
+ <img src="https://static.photos/minimal/640x360/2" alt="Digital Artwork" class="w-full h-64 object-cover transition-transform duration-500 group-hover:scale-110">
92
+ <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-6">
93
+ <div>
94
+ <h3 class="text-xl font-bold text-white">Minimal Essence</h3>
95
+ <p class="text-white/80">Vector Art | 2023</p>
96
+ <button class="mt-2 px-4 py-2 bg-primary-500 text-white rounded-md hover:bg-primary-600 transition-colors">
97
+ View Details
98
+ </button>
99
+ </div>
100
+ </div>
101
+ </div>
102
+
103
+ <!-- Artwork 3 -->
104
+ <div class="group relative overflow-hidden rounded-xl shadow-xl hover:shadow-2xl transition-all duration-500">
105
+ <img src="https://static.photos/technology/640x360/3" alt="Digital Artwork" class="w-full h-64 object-cover transition-transform duration-500 group-hover:scale-110">
106
+ <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-6">
107
+ <div>
108
+ <h3 class="text-xl font-bold text-white">Cyber Synth</h3>
109
+ <p class="text-white/80">3D Render | 2023</p>
110
+ <button class="mt-2 px-4 py-2 bg-primary-500 text-white rounded-md hover:bg-primary-600 transition-colors">
111
+ View Details
112
+ </button>
113
+ </div>
114
+ </div>
115
+ </div>
116
+
117
+ <!-- Artwork 4 -->
118
+ <div class="group relative overflow-hidden rounded-xl shadow-xl hover:shadow-2xl transition-all duration-500">
119
+ <img src="https://static.photos/nature/640x360/4" alt="Digital Artwork" class="w-full h-64 object-cover transition-transform duration-500 group-hover:scale-110">
120
+ <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-6">
121
+ <div>
122
+ <h3 class="text-xl font-bold text-white">Ethereal Flora</h3>
123
+ <p class="text-white/80">Digital Painting | 2023</p>
124
+ <button class="mt-2 px-4 py-2 bg-primary-500 text-white rounded-md hover:bg-primary-600 transition-colors">
125
+ View Details
126
+ </button>
127
+ </div>
128
+ </div>
129
+ </div>
130
+
131
+ <!-- Artwork 5 -->
132
+ <div class="group relative overflow-hidden rounded-xl shadow-xl hover:shadow-2xl transition-all duration-500">
133
+ <img src="https://static.photos/abstract/640x360/5" alt="Digital Artwork" class="w-full h-64 object-cover transition-transform duration-500 group-hover:scale-110">
134
+ <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-6">
135
+ <div>
136
+ <h3 class="text-xl font-bold text-white">Liquid Architecture</h3>
137
+ <p class="text-white/80">3D Animation | 2023</p>
138
+ <button class="mt-2 px-4 py-2 bg-primary-500 text-white rounded-md hover:bg-primary-600 transition-colors">
139
+ View Details
140
+ </button>
141
+ </div>
142
+ </div>
143
+ </div>
144
+
145
+ <!-- Artwork 6 -->
146
+ <div class="group relative overflow-hidden rounded-xl shadow-xl hover:shadow-2xl transition-all duration-500">
147
+ <img src="https://static.photos/black/640x360/6" alt="Digital Artwork" class="w-full h-64 object-cover transition-transform duration-500 group-hover:scale-110">
148
+ <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-6">
149
+ <div>
150
+ <h3 class="text-xl font-bold text-white">Monochrome Visions</h3>
151
+ <p class="text-white/80">Digital Illustration | 2023</p>
152
+ <button class="mt-2 px-4 py-2 bg-primary-500 text-white rounded-md hover:bg-primary-600 transition-colors">
153
+ View Details
154
+ </button>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ </div>
159
+
160
+ <div class="text-center mt-16">
161
+ <a href="#" class="inline-flex items-center px-8 py-3 bg-primary-500 text-white rounded-full font-semibold shadow-lg hover:bg-primary-600 transition-all duration-300">
162
+ Load More
163
+ <i data-feather="plus" class="ml-2"></i>
164
+ </a>
165
+ </div>
166
+ </div>
167
+ </section>
168
+
169
+ <!-- About Section -->
170
+ <section class="py-20 px-4 sm:px-6 lg:px-8 bg-gray-50">
171
+ <div class="max-w-7xl mx-auto">
172
+ <div class="flex flex-col lg:flex-row items-center gap-12">
173
+ <div class="lg:w-1/2">
174
+ <img src="https://static.photos/people/640x360/7" alt="Artist" class="rounded-2xl shadow-2xl w-full">
175
+ </div>
176
+ <div class="lg:w-1/2">
177
+ <h2 class="text-3xl md:text-4xl font-bold text-gray-900 mb-6">About The Artist</h2>
178
+ <p class="text-lg text-gray-600 mb-6">I'm a passionate digital artist with over 8 years of experience creating stunning visual experiences. My work spans across various mediums including digital painting, 3D modeling, and vector illustration.</p>
179
+ <p class="text-lg text-gray-600 mb-8">Each piece I create is a journey into imagination, blending technical precision with creative expression to craft artworks that resonate with emotion and meaning.</p>
180
+ <div class="flex flex-wrap gap-4">
181
+ <span class="px-4 py-2 bg-primary-100 text-primary-700 rounded-full">Photoshop</span>
182
+ <span class="px-4 py-2 bg-primary-100 text-primary-700 rounded-full">Illustrator</span>
183
+ <span class="px-4 py-2 bg-primary-100 text-primary-700 rounded-full">Blender</span>
184
+ <span class="px-4 py-2 bg-primary-100 text-primary-700 rounded-full">Procreate</span>
185
+ <span class="px-4 py-2 bg-primary-100 text-primary-700 rounded-full">After Effects</span>
186
+ </div>
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </section>
191
+
192
+ <!-- Testimonials Section -->
193
+ <section class="py-20 px-4 sm:px-6 lg:px-8 bg-gradient-to-r from-primary-500 to-secondary-600">
194
+ <div class="max-w-7xl mx-auto">
195
+ <div class="text-center mb-16">
196
+ <h2 class="text-3xl md:text-4xl font-bold text-white mb-4">Client Testimonials</h2>
197
+ <p class="text-lg text-white/90 max-w-2xl mx-auto">What people say about my work</p>
198
+ </div>
199
+
200
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
201
+ <!-- Testimonial 1 -->
202
+ <div class="bg-white p-8 rounded-xl shadow-lg">
203
+ <div class="flex items-center mb-4">
204
+ <div class="w-12 h-12 rounded-full overflow-hidden mr-4">
205
+ <img src="https://static.photos/people/200x200/8" alt="Client" class="w-full h-full object-cover">
206
+ </div>
207
+ <div>
208
+ <h4 class="font-bold text-gray-900">Sarah Johnson</h4>
209
+ <p class="text-primary-500">Creative Director</p>
210
+ </div>
211
+ </div>
212
+ <p class="text-gray-600">"Absolutely stunning work! The attention to detail and creativity in each piece is remarkable. Our brand visuals have never looked better."</p>
213
+ <div class="flex mt-4 text-yellow-400">
214
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
215
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
216
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
217
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
218
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
219
+ </div>
220
+ </div>
221
+
222
+ <!-- Testimonial 2 -->
223
+ <div class="bg-white p-8 rounded-xl shadow-lg">
224
+ <div class="flex items-center mb-4">
225
+ <div class="w-12 h-12 rounded-full overflow-hidden mr-4">
226
+ <img src="https://static.photos/people/200x200/9" alt="Client" class="w-full h-full object-cover">
227
+ </div>
228
+ <div>
229
+ <h4 class="font-bold text-gray-900">Michael Chen</h4>
230
+ <p class="text-primary-500">Art Director</p>
231
+ </div>
232
+ </div>
233
+ <p class="text-gray-600">"Working with this artist was a game-changer for our project. The ability to translate abstract concepts into breathtaking visuals is truly exceptional."</p>
234
+ <div class="flex mt-4 text-yellow-400">
235
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
236
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
237
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
238
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
239
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
240
+ </div>
241
+ </div>
242
+
243
+ <!-- Testimonial 3 -->
244
+ <div class="bg-white p-8 rounded-xl shadow-lg">
245
+ <div class="flex items-center mb-4">
246
+ <div class="w-12 h-12 rounded-full overflow-hidden mr-4">
247
+ <img src="https://static.photos/people/200x200/10" alt="Client" class="w-full h-full object-cover">
248
+ </div>
249
+ <div>
250
+ <h4 class="font-bold text-gray-900">Emma Rodriguez</h4>
251
+ <p class="text-primary-500">Marketing Director</p>
252
+ </div>
253
+ </div>
254
+ <p class="text-gray-600">"The digital artworks created for our campaign exceeded all expectations. The artist's unique style and professionalism made the entire process seamless."</p>
255
+ <div class="flex mt-4 text-yellow-400">
256
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
257
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
258
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
259
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
260
+ <i data-feather="star" class="w-4 h-4 fill-current"></i>
261
+ </div>
262
+ </div>
263
+ </div>
264
+ </div>
265
+ </section>
266
+
267
+ <!-- Contact Section -->
268
+ <section class="py-20 px-4 sm:px-6 lg:px-8 bg-white">
269
+ <div class="max-w-4xl mx-auto">
270
+ <div class="text-center mb-16">
271
+ <h2 class="text-3xl md:text-4xl font-bold text-gray-900 mb-4">Get In Touch</h2>
272
+ <p class="text-lg text-gray-600 max-w-2xl mx-auto">Have a project in mind? Let's create something amazing together.</p>
273
+ </div>
274
+
275
+ <form class="space-y-6">
276
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
277
+ <div>
278
+ <label for="name" class="block text-sm font-medium text-gray-700 mb-1">Name</label>
279
+ <input type="text" id="name" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition-all">
280
+ </div>
281
+ <div>
282
+ <label for="email" class="block text-sm font-medium text-gray-700 mb-1">Email</label>
283
+ <input type="email" id="email" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition-all">
284
+ </div>
285
+ </div>
286
+ <div>
287
+ <label for="subject" class="block text-sm font-medium text-gray-700 mb-1">Subject</label>
288
+ <input type="text" id="subject" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition-all">
289
+ </div>
290
+ <div>
291
+ <label for="message" class="block text-sm font-medium text-gray-700 mb-1">Message</label>
292
+ <textarea id="message" rows="5" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition-all"></textarea>
293
+ </div>
294
+ <div>
295
+ <button type="submit" class="w-full px-6 py-4 bg-primary-500 text-white font-semibold rounded-lg hover:bg-primary-600 transition-colors shadow-lg">
296
+ Send Message
297
+ <i data-feather="send" class="ml-2 inline"></i>
298
+ </button>
299
+ </div>
300
+ </form>
301
+ </div>
302
+ </section>
303
+ </main>
304
+
305
+ <custom-footer></custom-footer>
306
+
307
+ <script src="components/navbar.js"></script>
308
+ <script src="components/footer.js"></script>
309
+ <script src="script.js"></script>
310
+ <script>
311
+ feather.replace();
312
+ </script>
313
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
314
+ </body>
315
+ </html>
script.js ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener('DOMContentLoaded', function() {
2
+ // Smooth scrolling for anchor links
3
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
4
+ anchor.addEventListener('click', function (e) {
5
+ e.preventDefault();
6
+
7
+ const targetId = this.getAttribute('href');
8
+ if (targetId === '#') return;
9
+
10
+ const targetElement = document.querySelector(targetId);
11
+ if (targetElement) {
12
+ targetElement.scrollIntoView({
13
+ behavior: 'smooth'
14
+ });
15
+ }
16
+ });
17
+ });
18
+
19
+ // Artwork modal functionality
20
+ const artworkButtons = document.querySelectorAll('[data-artwork]');
21
+ artworkButtons.forEach(button => {
22
+ button.addEventListener('click', function() {
23
+ const artworkId = this.getAttribute('data-artwork');
24
+ // In a real implementation, you would show a modal with the artwork details
25
+ console.log(`Viewing artwork ${artworkId}`);
26
+ });
27
+ });
28
+
29
+ // Form submission
30
+ const contactForm = document.querySelector('form');
31
+ if (contactForm) {
32
+ contactForm.addEventListener('submit', function(e) {
33
+ e.preventDefault();
34
+ // In a real implementation, you would send the form data to a server
35
+ alert('Thank you for your message! I will get back to you soon.');
36
+ this.reset();
37
+ });
38
+ }
39
+
40
+ // Intersection Observer for animations
41
+ const animateOnScroll = () => {
42
+ const elements = document.querySelectorAll('.scroll-animate');
43
+
44
+ const observer = new IntersectionObserver((entries) => {
45
+ entries.forEach(entry => {
46
+ if (entry.isIntersecting) {
47
+ entry.target.classList.add('animate-fadeIn');
48
+ observer.unobserve(entry.target);
49
+ }
50
+ });
51
+ }, {
52
+ threshold: 0.1
53
+ });
54
+
55
+ elements.forEach(element => {
56
+ observer.observe(element);
57
+ });
58
+ };
59
+
60
+ animateOnScroll();
61
+ });
style.css CHANGED
@@ -1,28 +1,88 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @keyframes fadeIn {
2
+ from { opacity: 0; transform: translateY(20px); }
3
+ to { opacity: 1; transform: translateY(0); }
4
  }
5
 
6
+ @keyframes bounce {
7
+ 0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
8
+ 40% { transform: translateY(-20px); }
9
+ 60% { transform: translateY(-10px); }
10
  }
11
 
12
+ .animate-fadeIn {
13
+ animation: fadeIn 1s ease-out forwards;
 
 
 
14
  }
15
 
16
+ .delay-100 {
17
+ animation-delay: 100ms;
 
 
 
 
18
  }
19
 
20
+ .delay-200 {
21
+ animation-delay: 200ms;
22
  }
23
+
24
+ .animate-bounce {
25
+ animation: bounce 2s infinite;
26
+ }
27
+
28
+ /* Custom scrollbar */
29
+ ::-webkit-scrollbar {
30
+ width: 8px;
31
+ height: 8px;
32
+ }
33
+
34
+ ::-webkit-scrollbar-track {
35
+ background: #f1f1f1;
36
+ }
37
+
38
+ ::-webkit-scrollbar-thumb {
39
+ background: linear-gradient(to bottom, #0ea5e9, #7c3aed);
40
+ border-radius: 10px;
41
+ }
42
+
43
+ ::-webkit-scrollbar-thumb:hover {
44
+ background: linear-gradient(to bottom, #0284c7, #6d28d9);
45
+ }
46
+
47
+ /* Hover effects */
48
+ .group:hover .group-hover\:opacity-100 {
49
+ opacity: 1;
50
+ }
51
+
52
+ /* Smooth transitions */
53
+ .transition-all {
54
+ transition-property: all;
55
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
56
+ transition-duration: 300ms;
57
+ }
58
+
59
+ /* Artwork hover effect */
60
+ .group:hover img {
61
+ transform: scale(1.1);
62
+ }
63
+
64
+ /* Custom shadow */
65
+ .shadow-lg {
66
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
67
+ }
68
+
69
+ .shadow-xl {
70
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
71
+ }
72
+
73
+ .shadow-2xl {
74
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
75
+ }
76
+
77
+ /* Button hover effect */
78
+ button:hover, a:hover {
79
+ transform: translateY(-2px);
80
+ }
81
+
82
+ /* Gradient text */
83
+ .text-gradient {
84
+ background: linear-gradient(to right, #0ea5e9, #7c3aed);
85
+ -webkit-background-clip: text;
86
+ background-clip: text;
87
+ color: transparent;
88
+ }