Mrdips commited on
Commit
fad96f6
·
verified ·
1 Parent(s): 018041a

Create a dental clinic website with services offered, meet the dentist section with credentials, patient testimonials, before/after smile gallery, insurance accepted, appointment booking system, emergency contact, and dental tips blog.

Browse files
Files changed (6) hide show
  1. README.md +8 -5
  2. components/footer.js +232 -0
  3. components/navbar.js +216 -0
  4. index.html +360 -19
  5. script.js +192 -0
  6. style.css +221 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Smilecraft Studio
3
- emoji: 🐢
4
- colorFrom: green
5
- colorTo: yellow
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: SmileCraft Studio 🦷
3
+ colorFrom: pink
4
+ colorTo: gray
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,232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ constructor() {
3
+ super();
4
+ this.attachShadow({ mode: 'open' });
5
+ }
6
+
7
+ connectedCallback() {
8
+ this.shadowRoot.innerHTML = `
9
+ <style>
10
+ :host {
11
+ display: block;
12
+ margin-top: 4rem;
13
+ }
14
+
15
+ .footer {
16
+ background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
17
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
18
+ padding: 3rem 0 1rem;
19
+ }
20
+
21
+ .container {
22
+ max-width: 1280px;
23
+ margin: 0 auto;
24
+ padding: 0 1rem;
25
+ }
26
+
27
+ .footer-content {
28
+ display: grid;
29
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
30
+ gap: 2rem;
31
+ margin-bottom: 2rem;
32
+ }
33
+
34
+ .footer-section h3 {
35
+ color: #22c55e;
36
+ font-size: 1.125rem;
37
+ font-weight: 600;
38
+ margin-bottom: 1rem;
39
+ }
40
+
41
+ .footer-section p {
42
+ color: #9ca3af;
43
+ margin-bottom: 1rem;
44
+ line-height: 1.6;
45
+ }
46
+
47
+ .footer-links {
48
+ list-style: none;
49
+ margin: 0;
50
+ padding: 0;
51
+ }
52
+
53
+ .footer-link {
54
+ color: #9ca3af;
55
+ text-decoration: none;
56
+ display: flex;
57
+ align-items: center;
58
+ gap: 0.5rem;
59
+ padding: 0.5rem 0;
60
+ transition: all 0.3s ease;
61
+ }
62
+
63
+ .footer-link:hover {
64
+ color: #22c55e;
65
+ transform: translateX(5px);
66
+ }
67
+
68
+ .footer-link svg {
69
+ width: 16px;
70
+ height: 16px;
71
+ }
72
+
73
+ .contact-info {
74
+ display: flex;
75
+ flex-direction: column;
76
+ gap: 0.75rem;
77
+ }
78
+
79
+ .contact-item {
80
+ display: flex;
81
+ align-items: center;
82
+ gap: 0.75rem;
83
+ color: #9ca3af;
84
+ }
85
+
86
+ .contact-item svg {
87
+ width: 20px;
88
+ height: 20px;
89
+ color: #22c55e;
90
+ }
91
+
92
+ .social-links {
93
+ display: flex;
94
+ gap: 1rem;
95
+ margin-top: 1rem;
96
+ }
97
+
98
+ .social-link {
99
+ width: 40px;
100
+ height: 40px;
101
+ background: rgba(255, 255, 255, 0.05);
102
+ border: 1px solid rgba(255, 255, 255, 0.1);
103
+ border-radius: 50%;
104
+ display: flex;
105
+ align-items: center;
106
+ justify-content: center;
107
+ transition: all 0.3s ease;
108
+ }
109
+
110
+ .social-link:hover {
111
+ background: #22c55e;
112
+ border-color: #22c55e;
113
+ transform: translateY(-3px);
114
+ }
115
+
116
+ .footer-bottom {
117
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
118
+ padding-top: 1rem;
119
+ text-align: center;
120
+ color: #6b7280;
121
+ font-size: 0.875rem;
122
+ }
123
+
124
+ .footer-bottom a {
125
+ color: #9ca3af;
126
+ text-decoration: none;
127
+ transition: color 0.3s ease;
128
+ }
129
+
130
+ .footer-bottom a:hover {
131
+ color: #22c55e;
132
+ }
133
+
134
+ @media (max-width: 640px) {
135
+ .footer-content {
136
+ grid-template-columns: 1fr;
137
+ gap: 1.5rem;
138
+ }
139
+ }
140
+ </style>
141
+
142
+ <footer class="footer">
143
+ <div class="container">
144
+ <div class="footer-content">
145
+ <div class="footer-section">
146
+ <h3>SmileCraft Studio</h3>
147
+ <p>Your trusted partner in dental care. We combine advanced technology with compassionate care to deliver exceptional results.</p>
148
+ <div class="social-links">
149
+ <a href="#" class="social-link">
150
+ <i data-feather="facebook" width="20" height="20"></i>
151
+ </a>
152
+ <a href="#" class="social-link">
153
+ <i data-feather="instagram" width="20" height="20"></i>
154
+ </a>
155
+ <a href="#" class="social-link">
156
+ <i data-feather="twitter" width="20" height="20"></i>
157
+ </a>
158
+ <a href="#" class="social-link">
159
+ <i data-feather="linkedin" width="20" height="20"></i>
160
+ </a>
161
+ </div>
162
+ </div>
163
+
164
+ <div class="footer-section">
165
+ <h3>Quick Links</h3>
166
+ <ul class="footer-links">
167
+ <li><a href="#services" class="footer-link"><i data-feather="chevron-right"></i> Services</a></li>
168
+ <li><a href="#about" class="footer-link"><i data-feather="chevron-right"></i> About Us</a></li>
169
+ <li><a href="#testimonials" class="footer-link"><i data-feather="chevron-right"></i> Patient Reviews</a></li>
170
+ <li><a href="#gallery" class="footer-link"><i data-feather="chevron-right"></i> Before & After</a></li>
171
+ <li><a href="#blog" class="footer-link"><i data-feather="chevron-right"></i> Dental Tips</a></li>
172
+ </ul>
173
+ </div>
174
+
175
+ <div class="footer-section">
176
+ <h3>Services</h3>
177
+ <ul class="footer-links">
178
+ <li><a href="#" class="footer-link"><i data-feather="chevron-right"></i> Cosmetic Dentistry</a></li>
179
+ <li><a href="#" class="footer-link"><i data-feather="chevron-right"></i> Dental Implants</a></li>
180
+ <li><a href="#" class="footer-link"><i data-feather="chevron-right"></i> Orthodontics</a></li>
181
+ <li><a href="#" class="footer-link"><i data-feather="chevron-right"></i> Emergency Care</a></li>
182
+ <li><a href="#" class="footer-link"><i data-feather="chevron-right"></i> Pediatric Dentistry</a></li>
183
+ </ul>
184
+ </div>
185
+
186
+ <div class="footer-section">
187
+ <h3>Contact Info</h3>
188
+ <div class="contact-info">
189
+ <div class="contact-item">
190
+ <i data-feather="map-pin"></i>
191
+ <span>123 Dental Street, Medical District, City 12345</span>
192
+ </div>
193
+ <div class="contact-item">
194
+ <i data-feather="phone"></i>
195
+ <span>(555) 123-4567</span>
196
+ </div>
197
+ <div class="contact-item">
198
+ <i data-feather="mail"></i>
199
+ <span>hello@smilecraft.com</span>
200
+ </div>
201
+ <div class="contact-item">
202
+ <i data-feather="clock"></i>
203
+ <span>Mon-Fri: 8AM-6PM | Sat: 9AM-2PM</span>
204
+ </div>
205
+ </div>
206
+ </div>
207
+ </div>
208
+
209
+ <div class="footer-bottom">
210
+ <p>
211
+ © <span class="current-year">2024</span> SmileCraft Studio. All rights reserved.
212
+ <a href="#">Privacy Policy</a> |
213
+ <a href="#">Terms of Service</a> |
214
+ <a href="#">HIPAA Notice</a>
215
+ </p>
216
+ </div>
217
+ </div>
218
+ </footer>
219
+ `;
220
+
221
+ // Refresh feather icons
222
+ if (typeof feather !== 'undefined') {
223
+ feather.replace({ 'stroke-width': 1.5 });
224
+ }
225
+ }
226
+
227
+ disconnectedCallback() {
228
+ // Cleanup
229
+ }
230
+ }
231
+
232
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ constructor() {
3
+ super();
4
+ this.attachShadow({ mode: 'open' });
5
+ }
6
+
7
+ connectedCallback() {
8
+ this.shadowRoot.innerHTML = `
9
+ <style>
10
+ :host {
11
+ display: block;
12
+ position: fixed;
13
+ top: 0;
14
+ left: 0;
15
+ right: 0;
16
+ z-index: 1000;
17
+ }
18
+
19
+ .navbar {
20
+ background: linear-gradient(135deg, rgba(31, 41, 55, 0.95) 0%, rgba(17, 24, 39, 0.95) 100%);
21
+ backdrop-filter: blur(10px);
22
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
23
+ transition: all 0.3s ease;
24
+ }
25
+
26
+ .container {
27
+ max-width: 1280px;
28
+ margin: 0 auto;
29
+ padding: 0 1rem;
30
+ }
31
+
32
+ .nav-content {
33
+ display: flex;
34
+ justify-content: space-between;
35
+ align-items: center;
36
+ height: 5rem;
37
+ }
38
+
39
+ .logo {
40
+ display: flex;
41
+ align-items: center;
42
+ gap: 0.75rem;
43
+ text-decoration: none;
44
+ color: white;
45
+ font-size: 1.5rem;
46
+ font-weight: bold;
47
+ }
48
+
49
+ .logo-icon {
50
+ width: 2.5rem;
51
+ height: 2.5rem;
52
+ background: linear-gradient(135deg, #22c55e 0%, #0ea5e9 100%);
53
+ border-radius: 50%;
54
+ display: flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ }
58
+
59
+ .nav-links {
60
+ display: flex;
61
+ gap: 2rem;
62
+ list-style: none;
63
+ margin: 0;
64
+ padding: 0;
65
+ }
66
+
67
+ .nav-link {
68
+ color: #d1d5db;
69
+ text-decoration: none;
70
+ transition: all 0.3s ease;
71
+ position: relative;
72
+ padding: 0.5rem 0;
73
+ }
74
+
75
+ .nav-link:hover {
76
+ color: #22c55e;
77
+ }
78
+
79
+ .nav-link::after {
80
+ content: '';
81
+ position: absolute;
82
+ bottom: 0;
83
+ left: 0;
84
+ width: 0;
85
+ height: 2px;
86
+ background: linear-gradient(90deg, #22c55e 0%, #0ea5e9 100%);
87
+ transition: width 0.3s ease;
88
+ }
89
+
90
+ .nav-link:hover::after {
91
+ width: 100%;
92
+ }
93
+
94
+ .mobile-menu-btn {
95
+ display: none;
96
+ background: none;
97
+ border: none;
98
+ color: white;
99
+ cursor: pointer;
100
+ padding: 0.5rem;
101
+ }
102
+
103
+ .mobile-menu {
104
+ display: none;
105
+ position: absolute;
106
+ top: 100%;
107
+ left: 0;
108
+ right: 0;
109
+ background: linear-gradient(135deg, rgba(31, 41, 55, 0.98) 0%, rgba(17, 24, 39, 0.98) 100%);
110
+ backdrop-filter: blur(10px);
111
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
112
+ padding: 1rem 0;
113
+ }
114
+
115
+ .mobile-menu.active {
116
+ display: block;
117
+ }
118
+
119
+ .mobile-nav-links {
120
+ list-style: none;
121
+ margin: 0;
122
+ padding: 0;
123
+ }
124
+
125
+ .mobile-nav-link {
126
+ display: block;
127
+ padding: 0.75rem 1rem;
128
+ color: #d1d5db;
129
+ text-decoration: none;
130
+ transition: all 0.3s ease;
131
+ }
132
+
133
+ .mobile-nav-link:hover {
134
+ color: #22c55e;
135
+ background: rgba(34, 197, 94, 0.1);
136
+ }
137
+
138
+ .cta-button {
139
+ background: linear-gradient(135deg, #22c55e 0%, #0ea5e9 100%);
140
+ color: white;
141
+ padding: 0.75rem 1.5rem;
142
+ border-radius: 9999px;
143
+ text-decoration: none;
144
+ transition: all 0.3s ease;
145
+ font-weight: 600;
146
+ }
147
+
148
+ .cta-button:hover {
149
+ transform: translateY(-2px);
150
+ box-shadow: 0 10px 20px rgba(34, 197, 94, 0.3);
151
+ }
152
+
153
+ @media (max-width: 768px) {
154
+ .nav-links {
155
+ display: none;
156
+ }
157
+
158
+ .mobile-menu-btn {
159
+ display: block;
160
+ }
161
+ }
162
+ </style>
163
+
164
+ <nav class="navbar">
165
+ <div class="container">
166
+ <div class="nav-content">
167
+ <a href="/" class="logo">
168
+ <div class="logo-icon">
169
+ <i data-feather="smile" width="24" height="24"></i>
170
+ </div>
171
+ <span>SmileCraft</span>
172
+ </a>
173
+
174
+ <ul class="nav-links">
175
+ <li><a href="#services" class="nav-link">Services</a></li>
176
+ <li><a href="#about" class="nav-link">About</a></li>
177
+ <li><a href="#testimonials" class="nav-link">Testimonials</a></li>
178
+ <li><a href="#gallery" class="nav-link">Gallery</a></li>
179
+ <li><a href="#blog" class="nav-link">Blog</a></li>
180
+ <li><a href="#contact" class="cta-button">Book Now</a></li>
181
+ </ul>
182
+
183
+ <button class="mobile-menu-btn" onclick="this.parentElement.parentElement.querySelector('.mobile-menu').classList.toggle('active')">
184
+ <i data-feather="menu" width="24" height="24"></i>
185
+ </button>
186
+ </div>
187
+
188
+ <div class="mobile-menu">
189
+ <ul class="mobile-nav-links">
190
+ <li><a href="#services" class="mobile-nav-link">Services</a></li>
191
+ <li><a href="#about" class="mobile-nav-link">About</a></li>
192
+ <li><a href="#testimonials" class="mobile-nav-link">Testimonials</a></li>
193
+ <li><a href="#gallery" class="mobile-nav-link">Gallery</a></li>
194
+ <li><a href="#blog" class="mobile-nav-link">Blog</a></li>
195
+ <li><a href="#contact" class="mobile-nav-link">Book Now</a></li>
196
+ </ul>
197
+ </div>
198
+ </div>
199
+ </nav>
200
+ `;
201
+
202
+ // Close mobile menu when clicking outside
203
+ this.shadowRoot.addEventListener('click', (e) => {
204
+ const mobileMenu = this.shadowRoot.querySelector('.mobile-menu');
205
+ if (mobileMenu && !mobileMenu.contains(e.target)) {
206
+ mobileMenu.classList.remove('active');
207
+ }
208
+ });
209
+ }
210
+
211
+ disconnectedCallback() {
212
+ // Cleanup
213
+ }
214
+ }
215
+
216
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,360 @@
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="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>SmileCraft Studio - Premium Dental Care</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <link rel="stylesheet" href="style.css">
9
+ <script src="https://cdn.tailwindcss.com"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="https://unpkg.com/feather-icons"></script>
12
+ <script>
13
+ tailwind.config = {
14
+ darkMode: 'class',
15
+ theme: {
16
+ extend: {
17
+ colors: {
18
+ primary: {
19
+ 50: '#f0fdf4',
20
+ 100: '#dcfce7',
21
+ 200: '#bbf7d0',
22
+ 300: '#86efac',
23
+ 400: '#4ade80',
24
+ 500: '#22c55e',
25
+ 600: '#16a34a',
26
+ 700: '#15803d',
27
+ 800: '#166534',
28
+ 900: '#14532d',
29
+ },
30
+ secondary: {
31
+ 50: '#f0f9ff',
32
+ 100: '#e0f2fe',
33
+ 200: '#bae6fd',
34
+ 300: '#7dd3fc',
35
+ 400: '#38bdf8',
36
+ 500: '#0ea5e9',
37
+ 600: '#0284c7',
38
+ 700: '#0369a1',
39
+ 800: '#075985',
40
+ 900: '#0c4a6e',
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ </script>
47
+ </head>
48
+ <body class="dark bg-gray-900 text-white">
49
+ <custom-navbar></custom-navbar>
50
+
51
+ <!-- Hero Section -->
52
+ <section class="relative min-h-screen flex items-center justify-center overflow-hidden">
53
+ <div class="absolute inset-0 bg-gradient-to-br from-gray-900 via-gray-800 to-primary-900 opacity-90"></div>
54
+ <div class="absolute inset-0">
55
+ <div class="floating-tooth"></div>
56
+ <div class="floating-tooth delay-3000"></div>
57
+ <div class="floating-tooth delay-5000"></div>
58
+ </div>
59
+ <div class="relative z-10 text-center px-4 max-w-4xl mx-auto">
60
+ <h1 class="text-5xl md:text-7xl font-bold mb-6 bg-gradient-to-r from-primary-400 to-secondary-400 bg-clip-text text-transparent">
61
+ Crafting Perfect Smiles
62
+ </h1>
63
+ <p class="text-xl md:text-2xl text-gray-300 mb-8 leading-relaxed">
64
+ Experience premium dental care with cutting-edge technology and personalized treatment plans
65
+ </p>
66
+ <div class="flex flex-col sm:flex-row gap-4 justify-center">
67
+ <button class="px-8 py-4 bg-primary-600 hover:bg-primary-700 rounded-full font-semibold text-lg transition-all transform hover:scale-105 shadow-lg">
68
+ Book Appointment
69
+ </button>
70
+ <button class="px-8 py-4 border-2 border-secondary-400 text-secondary-400 hover:bg-secondary-400 hover:text-gray-900 rounded-full font-semibold text-lg transition-all">
71
+ Emergency Contact
72
+ </button>
73
+ </div>
74
+ </div>
75
+ </section>
76
+
77
+ <!-- Services Section -->
78
+ <section class="py-20 px-4">
79
+ <div class="max-w-6xl mx-auto">
80
+ <h2 class="text-4xl font-bold text-center mb-12">Our Premium Services</h2>
81
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
82
+ <div class="service-card">
83
+ <div class="text-primary-400 mb-4">
84
+ <i data-feather="smile" class="w-12 h-12"></i>
85
+ </div>
86
+ <h3 class="text-xl font-semibold mb-3">Cosmetic Dentistry</h3>
87
+ <p class="text-gray-400">Transform your smile with veneers, whitening, and complete smile makeovers</p>
88
+ </div>
89
+ <div class="service-card">
90
+ <div class="text-secondary-400 mb-4">
91
+ <i data-feather="shield" class="w-12 h-12"></i>
92
+ </div>
93
+ <h3 class="text-xl font-semibold mb-3">Preventive Care</h3>
94
+ <p class="text-gray-400">Regular checkups, cleanings, and protective treatments</p>
95
+ </div>
96
+ <div class="service-card">
97
+ <div class="text-primary-400 mb-4">
98
+ <i data-feather="target" class="w-12 h-12"></i>
99
+ </div>
100
+ <h3 class="text-xl font-semibold mb-3">Dental Implants</h3>
101
+ <p class="text-gray-400">Permanent solutions for missing teeth with natural results</p>
102
+ </div>
103
+ <div class="service-card">
104
+ <div class="text-secondary-400 mb-4">
105
+ <i data-feather="git-branch" class="w-12 h-12"></i>
106
+ </div>
107
+ <h3 class="text-xl font-semibold mb-3">Orthodontics</h3>
108
+ <p class="text-gray-400">Invisalign and traditional braces for perfect alignment</p>
109
+ </div>
110
+ <div class="service-card">
111
+ <div class="text-primary-400 mb-4">
112
+ <i data-feather="heart" class="w-12 h-12"></i>
113
+ </div>
114
+ <h3 class="text-xl font-semibold mb-3">Pediatric Dentistry</h3>
115
+ <p class="text-gray-400">Gentle care for children's developing smiles</p>
116
+ </div>
117
+ <div class="service-card">
118
+ <div class="text-secondary-400 mb-4">
119
+ <i data-feather="zap" class="w-12 h-12"></i>
120
+ </div>
121
+ <h3 class="text-xl font-semibold mb-3">Emergency Care</h3>
122
+ <p class="text-gray-400">24/7 emergency dental services when you need them most</p>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ </section>
127
+
128
+ <!-- Meet the Dentist Section -->
129
+ <section class="py-20 px-4 bg-gray-800">
130
+ <div class="max-w-4xl mx-auto text-center">
131
+ <h2 class="text-4xl font-bold mb-12">Meet Dr. Sarah Chen</h2>
132
+ <img src="http://static.photos/people/320x320/123" alt="Dr. Sarah Chen" class="w-64 h-64 rounded-full mx-auto mb-8 border-4 border-primary-400">
133
+ <h3 class="text-2xl font-semibold mb-4">DDS, MS - Founder & Lead Dentist</h3>
134
+ <div class="max-w-2xl mx-auto mb-8">
135
+ <p class="text-gray-300 leading-relaxed mb-4">
136
+ With over 15 years of experience, Dr. Chen is passionate about creating beautiful, healthy smiles.
137
+ She combines artistry with advanced dental techniques to deliver exceptional results.
138
+ </p>
139
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-4 mt-8">
140
+ <div class="text-center">
141
+ <div class="text-3xl font-bold text-primary-400">5000+</div>
142
+ <div class="text-sm text-gray-400">Smiles Transformed</div>
143
+ </div>
144
+ <div class="text-center">
145
+ <div class="text-3xl font-bold text-secondary-400">15+</div>
146
+ <div class="text-sm text-gray-400">Years Experience</div>
147
+ </div>
148
+ <div class="text-center">
149
+ <div class="text-3xl font-bold text-primary-400">98%</div>
150
+ <div class="text-sm text-gray-400">Satisfaction Rate</div>
151
+ </div>
152
+ <div class="text-center">
153
+ <div class="text-3xl font-bold text-secondary-400">24/7</div>
154
+ <div class="text-sm text-gray-400">Emergency Care</div>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ <div class="flex flex-wrap justify-center gap-2">
159
+ <span class="px-4 py-2 bg-primary-900 rounded-full text-sm">Harvard Dental School</span>
160
+ <span class="px-4 py-2 bg-secondary-900 rounded-full text-sm">ADA Member</span>
161
+ <span class="px-4 py-2 bg-primary-900 rounded-full text-sm">Cosmetic Dentistry Certified</span>
162
+ <span class="px-4 py-2 bg-secondary-900 rounded-full text-sm">Implantology Expert</span>
163
+ </div>
164
+ </div>
165
+ </section>
166
+
167
+ <!-- Testimonials Section -->
168
+ <section class="py-20 px-4">
169
+ <div class="max-w-6xl mx-auto">
170
+ <h2 class="text-4xl font-bold text-center mb-12">Patient Testimonials</h2>
171
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
172
+ <div class="testimonial-card">
173
+ <div class="flex mb-4">
174
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
175
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
176
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
177
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
178
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
179
+ </div>
180
+ <p class="text-gray-300 mb-4 italic">"Dr. Chen transformed my smile completely! The entire process was painless and the results exceeded my expectations."</p>
181
+ <div class="flex items-center">
182
+ <img src="http://static.photos/people/200x200/234" alt="Patient" class="w-12 h-12 rounded-full mr-3">
183
+ <div>
184
+ <div class="font-semibold">Emily Rodriguez</div>
185
+ <div class="text-sm text-gray-400">Smile Makeover Patient</div>
186
+ </div>
187
+ </div>
188
+ </div>
189
+ <div class="testimonial-card">
190
+ <div class="flex mb-4">
191
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
192
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
193
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
194
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
195
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
196
+ </div>
197
+ <p class="text-gray-300 mb-4 italic">"The emergency care I received was exceptional. Dr. Chen saved my tooth and I'm forever grateful!"</p>
198
+ <div class="flex items-center">
199
+ <img src="http://static.photos/people/200x200/345" alt="Patient" class="w-12 h-12 rounded-full mr-3">
200
+ <div>
201
+ <div class="font-semibold">Michael Thompson</div>
202
+ <div class="text-sm text-gray-400">Emergency Patient</div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ <div class="testimonial-card">
207
+ <div class="flex mb-4">
208
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
209
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
210
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
211
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
212
+ <i data-feather="star" class="w-5 h-5 fill-current text-yellow-400"></i>
213
+ </div>
214
+ <p class="text-gray-300 mb-4 italic">"My Invisalign treatment was a breeze. The results are amazing - I can't stop smiling!"</p>
215
+ <div class="flex items-center">
216
+ <img src="http://static.photos/people/200x200/456" alt="Patient" class="w-12 h-12 rounded-full mr-3">
217
+ <div>
218
+ <div class="font-semibold">Sarah Johnson</div>
219
+ <div class="text-sm text-gray-400">Orthodontic Patient</div>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ </div>
224
+ </div>
225
+ </section>
226
+
227
+ <!-- Before/After Gallery -->
228
+ <section class="py-20 px-4 bg-gray-800">
229
+ <div class="max-w-6xl mx-auto">
230
+ <h2 class="text-4xl font-bold text-center mb-12">Smile Transformations</h2>
231
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
232
+ <div class="before-after-card">
233
+ <div class="grid grid-cols-2 gap-4">
234
+ <div>
235
+ <div class="text-sm text-gray-400 mb-2">BEFORE</div>
236
+ <img src="http://static.photos/medical/320x240/567" alt="Before" class="rounded-lg">
237
+ </div>
238
+ <div>
239
+ <div class="text-sm text-primary-400 mb-2">AFTER</div>
240
+ <img src="http://static.photos/people/320x240/678" alt="After" class="rounded-lg">
241
+ </div>
242
+ </div>
243
+ <p class="mt-4 text-center text-gray-300">Complete smile makeover with veneers</p>
244
+ </div>
245
+ <div class="before-after-card">
246
+ <div class="grid grid-cols-2 gap-4">
247
+ <div>
248
+ <div class="text-sm text-gray-400 mb-2">BEFORE</div>
249
+ <img src="http://static.photos/medical/320x240/789" alt="Before" class="rounded-lg">
250
+ </div>
251
+ <div>
252
+ <div class="text-sm text-primary-400 mb-2">AFTER</div>
253
+ <img src="http://static.photos/people/320x240/890" alt="After" class="rounded-lg">
254
+ </div>
255
+ </div>
256
+ <p class="mt-4 text-center text-gray-300">Implant restoration and whitening</p>
257
+ </div>
258
+ </div>
259
+ </div>
260
+ </section>
261
+
262
+ <!-- Insurance Section -->
263
+ <section class="py-20 px-4">
264
+ <div class="max-w-4xl mx-auto text-center">
265
+ <h2 class="text-4xl font-bold mb-8">Insurance Accepted</h2>
266
+ <p class="text-xl text-gray-300 mb-12">We work with most major insurance providers to make your dental care affordable</p>
267
+ <div class="grid grid-cols-2 md:grid-cols-4 gap-6">
268
+ <div class="insurance-logo">Delta Dental</div>
269
+ <div class="insurance-logo">Aetna</div>
270
+ <div class="insurance-logo">Cigna</div>
271
+ <div class="insurance-logo">MetLife</div>
272
+ </div>
273
+ <button class="mt-12 px-8 py-4 bg-primary-600 hover:bg-primary-700 rounded-full font-semibold text-lg transition-all">
274
+ Check Your Coverage
275
+ </button>
276
+ </div>
277
+ </section>
278
+
279
+ <!-- Emergency Contact -->
280
+ <section class="py-20 px-4 bg-red-900">
281
+ <div class="max-w-4xl mx-auto text-center">
282
+ <div class="flex justify-center mb-6">
283
+ <i data-feather="phone-call" class="w-16 h-16 text-red-400 animate-pulse"></i>
284
+ </div>
285
+ <h2 class="text-4xl font-bold mb-4">24/7 Emergency Care</h2>
286
+ <p class="text-xl mb-8">Dental emergencies can't wait. We're here when you need us most.</p>
287
+ <div class="text-5xl font-bold mb-4 text-red-400">(555) 911-SMILE</div>
288
+ <p class="text-lg">No appointment needed for emergencies</p>
289
+ </div>
290
+ </section>
291
+
292
+ <!-- Blog Section -->
293
+ <section class="py-20 px-4 bg-gray-800">
294
+ <div class="max-w-6xl mx-auto">
295
+ <h2 class="text-4xl font-bold text-center mb-12">Dental Health Tips</h2>
296
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
297
+ <article class="blog-card">
298
+ <img src="http://static.photos/people/320x240/999" alt="Blog" class="w-full h-48 object-cover rounded-t-lg">
299
+ <div class="p-6">
300
+ <h3 class="text-xl font-semibold mb-2">5 Foods That Naturally Whiten Teeth</h3>
301
+ <p class="text-gray-400 text-sm mb-4">Discover natural ways to brighten your smile through diet...</p>
302
+ <a href="#" class="text-primary-400 hover:text-primary-300 font-semibold">Read More →</a>
303
+ </div>
304
+ </article>
305
+ <article class="blog-card">
306
+ <img src="http://static.photos/medical/320x240/888" alt="Blog" class="w-full h-48 object-cover rounded-t-lg">
307
+ <div class="p-6">
308
+ <h3 class="text-xl font-semibold mb-2">The Truth About Flossing</h3>
309
+ <p class="text-gray-400 text-sm mb-4">Why flossing is crucial for your overall health...</p>
310
+ <a href="#" class="text-primary-400 hover:text-primary-300 font-semibold">Read More →</a>
311
+ </div>
312
+ </article>
313
+ <article class="blog-card">
314
+ <img src="http://static.photos/people/320x240/777" alt="Blog" class="w-full h-48 object-cover rounded-t-lg">
315
+ <div class="p-6">
316
+ <h3 class="text-xl font-semibold mb-2">Dental Care for Kids</h3>
317
+ <p class="text-gray-400 text-sm mb-4">Tips for making dental hygiene fun for children...</p>
318
+ <a href="#" class="text-primary-400 hover:text-primary-300 font-semibold">Read More →</a>
319
+ </div>
320
+ </article>
321
+ </div>
322
+ </div>
323
+ </section>
324
+
325
+ <!-- Appointment Booking -->
326
+ <section class="py-20 px-4">
327
+ <div class="max-w-2xl mx-auto">
328
+ <h2 class="text-4xl font-bold text-center mb-12">Book Your Appointment</h2>
329
+ <form class="space-y-6">
330
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
331
+ <input type="text" placeholder="First Name" class="form-input">
332
+ <input type="text" placeholder="Last Name" class="form-input">
333
+ </div>
334
+ <input type="email" placeholder="Email Address" class="form-input">
335
+ <input type="tel" placeholder="Phone Number" class="form-input">
336
+ <select class="form-input">
337
+ <option>Select Service</option>
338
+ <option>General Checkup</option>
339
+ <option>Cosmetic Dentistry</option>
340
+ <option>Orthodontics</option>
341
+ <option>Emergency Care</option>
342
+ </select>
343
+ <input type="date" class="form-input">
344
+ <textarea placeholder="Additional Notes" rows="4" class="form-input"></textarea>
345
+ <button type="submit" class="w-full py-4 bg-primary-600 hover:bg-primary-700 rounded-lg font-semibold text-lg transition-all">
346
+ Schedule Appointment
347
+ </button>
348
+ </form>
349
+ </div>
350
+ </section>
351
+
352
+ <custom-footer></custom-footer>
353
+
354
+ <script src="components/navbar.js"></script>
355
+ <script src="components/footer.js"></script>
356
+ <script src="script.js"></script>
357
+ <script>feather.replace();</script>
358
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
359
+ </body>
360
+ </html>
script.js ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Mobile Menu Toggle
2
+ function toggleMobileMenu() {
3
+ const mobileMenu = document.getElementById('mobile-menu');
4
+ mobileMenu.classList.toggle('hidden');
5
+ }
6
+
7
+ // Smooth Scroll for Anchor Links
8
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
9
+ anchor.addEventListener('click', function (e) {
10
+ e.preventDefault();
11
+ const target = document.querySelector(this.getAttribute('href'));
12
+ if (target) {
13
+ target.scrollIntoView({
14
+ behavior: 'smooth',
15
+ block: 'start'
16
+ });
17
+ }
18
+ });
19
+ });
20
+
21
+ // Form Submission Handler
22
+ document.querySelectorAll('form').forEach(form => {
23
+ form.addEventListener('submit', async (e) => {
24
+ e.preventDefault();
25
+
26
+ const submitButton = form.querySelector('button[type="submit"]');
27
+ const originalText = submitButton.textContent;
28
+
29
+ // Show loading state
30
+ submitButton.innerHTML = '<span class="loading"></span> Processing...';
31
+ submitButton.disabled = true;
32
+
33
+ // Simulate API call
34
+ await new Promise(resolve => setTimeout(resolve, 2000));
35
+
36
+ // Show success message
37
+ submitButton.textContent = '✓ Success!';
38
+ submitButton.classList.add('bg-green-600');
39
+
40
+ // Reset form after delay
41
+ setTimeout(() => {
42
+ form.reset();
43
+ submitButton.textContent = originalText;
44
+ submitButton.classList.remove('bg-green-600');
45
+ submitButton.disabled = false;
46
+ }, 3000);
47
+ });
48
+ });
49
+
50
+ // Intersection Observer for Animations
51
+ const observerOptions = {
52
+ threshold: 0.1,
53
+ rootMargin: '0px 0px -50px 0px'
54
+ };
55
+
56
+ const observer = new IntersectionObserver((entries) => {
57
+ entries.forEach(entry => {
58
+ if (entry.isIntersecting) {
59
+ entry.target.style.opacity = '1';
60
+ entry.target.style.transform = 'translateY(0)';
61
+ }
62
+ });
63
+ }, observerOptions);
64
+
65
+ // Observe elements for animation
66
+ document.addEventListener('DOMContentLoaded', () => {
67
+ const animatedElements = document.querySelectorAll('.service-card, .testimonial-card, .blog-card');
68
+ animatedElements.forEach(el => {
69
+ el.style.opacity = '0';
70
+ el.style.transform = 'translateY(20px)';
71
+ el.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
72
+ observer.observe(el);
73
+ });
74
+ });
75
+
76
+ // Dynamic Year in Footer
77
+ const currentYear = new Date().getFullYear();
78
+ const yearElements = document.querySelectorAll('.current-year');
79
+ yearElements.forEach(el => {
80
+ el.textContent = currentYear;
81
+ });
82
+
83
+ // Phone Number Formatting
84
+ const phoneInputs = document.querySelectorAll('input[type="tel"]');
85
+ phoneInputs.forEach(input => {
86
+ input.addEventListener('input', function(e) {
87
+ let phone = e.target.value.replace(/\D/g, '');
88
+ let formatted = phone;
89
+
90
+ if (phone.length >= 6) {
91
+ formatted = `(${phone.slice(0, 3)}) ${phone.slice(3, 6)}-${phone.slice(6, 10)}`;
92
+ } else if (phone.length >= 3) {
93
+ formatted = `(${phone.slice(0, 3)}) ${phone.slice(3)}`;
94
+ }
95
+
96
+ e.target.value = formatted;
97
+ });
98
+ });
99
+
100
+ // Insurance Checker
101
+ function checkInsurance() {
102
+ const insuranceChecker = document.createElement('div');
103
+ insuranceChecker.innerHTML = `
104
+ <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
105
+ <div class="bg-gray-800 p-8 rounded-2xl max-w-md w-full mx-4">
106
+ <h3 class="text-2xl font-bold mb-4">Check Your Insurance</h3>
107
+ <input type="text" placeholder="Enter Insurance Provider" class="form-input mb-4">
108
+ <input type="text" placeholder="Policy Number (Optional)" class="form-input mb-6">
109
+ <div class="flex gap-4">
110
+ <button onclick="this.parentElement.parentElement.parentElement.remove()" class="flex-1 py-3 bg-gray-700 hover:bg-gray-600 rounded-lg transition-colors">
111
+ Cancel
112
+ </button>
113
+ <button onclick="checkCoverage(this)" class="flex-1 py-3 bg-primary-600 hover:bg-primary-700 rounded-lg transition-colors">
114
+ Check Coverage
115
+ </button>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ `;
120
+ document.body.appendChild(insuranceChecker);
121
+ }
122
+
123
+ function checkCoverage(button) {
124
+ button.innerHTML = '<span class="loading"></span> Checking...';
125
+ button.disabled = true;
126
+
127
+ setTimeout(() => {
128
+ const modal = button.closest('.fixed');
129
+ modal.innerHTML = `
130
+ <div class="bg-gray-800 p-8 rounded-2xl max-w-md w-full mx-4 text-center">
131
+ <i data-feather="check-circle" class="w-16 h-16 text-green-400 mx-auto mb-4"></i>
132
+ <h3 class="text-2xl font-bold mb-2">Coverage Confirmed!</h3>
133
+ <p class="text-gray-300 mb-6">Your insurance covers 80% of preventive care and 50% of major procedures.</p>
134
+ <button onclick="this.parentElement.parentElement.parentElement.remove()" class="py-3 bg-primary-600 hover:bg-primary-700 rounded-lg transition-colors px-8">
135
+ Great!
136
+ </button>
137
+ </div>
138
+ `;
139
+ feather.replace();
140
+ }, 2000);
141
+ }
142
+
143
+ // Add click event to insurance check button
144
+ document.addEventListener('DOMContentLoaded', () => {
145
+ const insuranceButton = document.querySelector('button[onclick="checkInsurance()"]');
146
+ if (insuranceButton) {
147
+ insuranceButton.addEventListener('click', checkInsurance);
148
+ }
149
+ });
150
+
151
+ // Real-time Form Validation
152
+ function validateForm() {
153
+ const inputs = document.querySelectorAll('.form-input');
154
+ inputs.forEach(input => {
155
+ input.addEventListener('blur', function() {
156
+ if (this.value.trim() === '' && this.hasAttribute('required')) {
157
+ this.classList.add('border-red-500');
158
+ this.classList.remove('border-green-500');
159
+ } else if (this.value.trim() !== '') {
160
+ this.classList.add('border-green-500');
161
+ this.classList.remove('border-red-500');
162
+ }
163
+ });
164
+
165
+ input.addEventListener('input', function() {
166
+ if (this.classList.contains('border-red-500') && this.value.trim() !== '') {
167
+ this.classList.remove('border-red-500');
168
+ this.classList.add('border-green-500');
169
+ }
170
+ });
171
+ });
172
+ }
173
+
174
+ // Initialize validation
175
+ validateForm();
176
+
177
+ // Dark mode detection and persistence
178
+ if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
179
+ document.documentElement.classList.add('dark');
180
+ } else {
181
+ document.documentElement.classList.remove('dark');
182
+ }
183
+
184
+ window.toggleDarkMode = function() {
185
+ if (document.documentElement.classList.contains('dark')) {
186
+ document.documentElement.classList.remove('dark');
187
+ localStorage.theme = 'light';
188
+ } else {
189
+ document.documentElement.classList.add('dark');
190
+ localStorage.theme = 'dark';
191
+ }
192
+ };
style.css CHANGED
@@ -1,28 +1,231 @@
 
 
 
 
 
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
+ /* Global Styles */
2
+ * {
3
+ box-sizing: border-box;
4
+ }
5
+
6
  body {
7
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
8
+ line-height: 1.6;
9
+ }
10
+
11
+ /* Floating Tooth Animation */
12
+ .floating-tooth {
13
+ position: absolute;
14
+ width: 40px;
15
+ height: 50px;
16
+ background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, rgba(14, 165, 233, 0.1) 100%);
17
+ border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
18
+ animation: float 20s infinite ease-in-out;
19
+ opacity: 0.3;
20
+ }
21
+
22
+ .floating-tooth:nth-child(1) {
23
+ top: 20%;
24
+ left: 10%;
25
+ animation-delay: 0s;
26
+ }
27
+
28
+ .floating-tooth:nth-child(2) {
29
+ top: 60%;
30
+ right: 15%;
31
+ animation-delay: 3s;
32
+ }
33
+
34
+ .floating-tooth:nth-child(3) {
35
+ bottom: 20%;
36
+ left: 30%;
37
+ animation-delay: 5s;
38
+ }
39
+
40
+ @keyframes float {
41
+ 0%, 100% {
42
+ transform: translateY(0) rotate(0deg);
43
+ }
44
+ 25% {
45
+ transform: translateY(-20px) rotate(5deg);
46
+ }
47
+ 50% {
48
+ transform: translateY(10px) rotate(-5deg);
49
+ }
50
+ 75% {
51
+ transform: translateY(-10px) rotate(3deg);
52
+ }
53
+ }
54
+
55
+ /* Service Cards */
56
+ .service-card {
57
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
58
+ border: 1px solid rgba(255, 255, 255, 0.1);
59
+ border-radius: 16px;
60
+ padding: 2rem;
61
+ transition: all 0.3s ease;
62
+ position: relative;
63
+ overflow: hidden;
64
  }
65
 
66
+ .service-card::before {
67
+ content: '';
68
+ position: absolute;
69
+ top: 0;
70
+ left: 0;
71
+ right: 0;
72
+ bottom: 0;
73
+ background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, transparent 50%);
74
+ opacity: 0;
75
+ transition: opacity 0.3s ease;
76
  }
77
 
78
+ .service-card:hover {
79
+ transform: translateY(-5px);
80
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
81
+ border-color: rgba(34, 197, 94, 0.3);
 
82
  }
83
 
84
+ .service-card:hover::before {
85
+ opacity: 1;
 
 
 
 
86
  }
87
 
88
+ /* Testimonial Cards */
89
+ .testimonial-card {
90
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
91
+ border: 1px solid rgba(255, 255, 255, 0.1);
92
+ border-radius: 16px;
93
+ padding: 2rem;
94
+ transition: all 0.3s ease;
95
  }
96
+
97
+ .testimonial-card:hover {
98
+ transform: translateY(-3px);
99
+ box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
100
+ }
101
+
102
+ /* Before/After Cards */
103
+ .before-after-card {
104
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, transparent 100%);
105
+ border: 1px solid rgba(255, 255, 255, 0.1);
106
+ border-radius: 16px;
107
+ padding: 1.5rem;
108
+ transition: all 0.3s ease;
109
+ }
110
+
111
+ .before-after-card:hover {
112
+ transform: scale(1.02);
113
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
114
+ }
115
+
116
+ /* Insurance Logos */
117
+ .insurance-logo {
118
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
119
+ border: 1px solid rgba(255, 255, 255, 0.1);
120
+ border-radius: 12px;
121
+ padding: 2rem 1rem;
122
+ display: flex;
123
+ align-items: center;
124
+ justify-content: center;
125
+ font-weight: 600;
126
+ color: #94a3b8;
127
+ transition: all 0.3s ease;
128
+ }
129
+
130
+ .insurance-logo:hover {
131
+ border-color: rgba(14, 165, 233, 0.3);
132
+ color: #e2e8f0;
133
+ transform: translateY(-2px);
134
+ }
135
+
136
+ /* Blog Cards */
137
+ .blog-card {
138
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
139
+ border: 1px solid rgba(255, 255, 255, 0.1);
140
+ border-radius: 16px;
141
+ overflow: hidden;
142
+ transition: all 0.3s ease;
143
+ }
144
+
145
+ .blog-card:hover {
146
+ transform: translateY(-5px);
147
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
148
+ border-color: rgba(34, 197, 94, 0.2);
149
+ }
150
+
151
+ .blog-card img {
152
+ transition: transform 0.3s ease;
153
+ }
154
+
155
+ .blog-card:hover img {
156
+ transform: scale(1.05);
157
+ }
158
+
159
+ /* Form Inputs */
160
+ .form-input {
161
+ width: 100%;
162
+ padding: 1rem;
163
+ background: rgba(255, 255, 255, 0.03);
164
+ border: 1px solid rgba(255, 255, 255, 0.1);
165
+ border-radius: 8px;
166
+ color: white;
167
+ font-size: 1rem;
168
+ transition: all 0.3s ease;
169
+ }
170
+
171
+ .form-input:focus {
172
+ outline: none;
173
+ border-color: rgba(34, 197, 94, 0.5);
174
+ box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1);
175
+ }
176
+
177
+ .form-input::placeholder {
178
+ color: #64748b;
179
+ }
180
+
181
+ /* Smooth Scrolling */
182
+ html {
183
+ scroll-behavior: smooth;
184
+ }
185
+
186
+ /* Custom Scrollbar */
187
+ ::-webkit-scrollbar {
188
+ width: 10px;
189
+ }
190
+
191
+ ::-webkit-scrollbar-track {
192
+ background: #1f2937;
193
+ }
194
+
195
+ ::-webkit-scrollbar-thumb {
196
+ background: #374151;
197
+ border-radius: 5px;
198
+ }
199
+
200
+ ::-webkit-scrollbar-thumb:hover {
201
+ background: #4b5563;
202
+ }
203
+
204
+ /* Loading Animation */
205
+ .loading {
206
+ display: inline-block;
207
+ width: 20px;
208
+ height: 20px;
209
+ border: 3px solid rgba(255, 255, 255, 0.3);
210
+ border-radius: 50%;
211
+ border-top-color: #22c55e;
212
+ animation: spin 1s ease-in-out infinite;
213
+ }
214
+
215
+ @keyframes spin {
216
+ to { transform: rotate(360deg); }
217
+ }
218
+
219
+ /* Responsive Design */
220
+ @media (max-width: 768px) {
221
+ .floating-tooth {
222
+ display: none;
223
+ }
224
+
225
+ .service-card,
226
+ .testimonial-card,
227
+ .before-after-card,
228
+ .blog-card {
229
+ margin: 0 1rem;
230
+ }
231
+ }