Spaces:
Running
Running
Upload index.html with huggingface_hub
Browse files- index.html +359 -19
index.html
CHANGED
@@ -1,19 +1,359 @@
|
|
1 |
-
<!
|
2 |
-
<html>
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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>Sin City CNC - Precision Machining with Attitude</title>
|
7 |
+
<style>
|
8 |
+
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Share+Tech+Mono&display=swap');
|
9 |
+
|
10 |
+
* {
|
11 |
+
margin: 0;
|
12 |
+
padding: 0;
|
13 |
+
box-sizing: border-box;
|
14 |
+
}
|
15 |
+
|
16 |
+
:root {
|
17 |
+
--neon-red: #ff0040;
|
18 |
+
--neon-orange: #ff4500;
|
19 |
+
--steel-gray: #2a2a2a;
|
20 |
+
--dark-bg: #0a0a0a;
|
21 |
+
--fire-orange: #ff6b35;
|
22 |
+
--fire-yellow: #ffd700;
|
23 |
+
}
|
24 |
+
|
25 |
+
body {
|
26 |
+
font-family: 'Share Tech Mono', monospace;
|
27 |
+
background: var(--dark-bg);
|
28 |
+
color: #fff;
|
29 |
+
overflow-x: hidden;
|
30 |
+
min-height: 100vh;
|
31 |
+
}
|
32 |
+
|
33 |
+
.hero {
|
34 |
+
position: relative;
|
35 |
+
height: 100vh;
|
36 |
+
display: flex;
|
37 |
+
align-items: center;
|
38 |
+
justify-content: center;
|
39 |
+
overflow: hidden;
|
40 |
+
}
|
41 |
+
|
42 |
+
.devil-bg {
|
43 |
+
position: absolute;
|
44 |
+
top: 0;
|
45 |
+
left: 0;
|
46 |
+
width: 100%;
|
47 |
+
height: 100%;
|
48 |
+
background:
|
49 |
+
radial-gradient(circle at center, transparent 30%, var(--dark-bg) 70%),
|
50 |
+
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400"><path d="M200 50 Q150 30 100 50 Q80 100 100 150 Q120 180 150 200 Q180 220 200 250 Q220 220 250 200 Q280 180 300 150 Q320 100 300 50 Q250 30 200 50" fill="none" stroke="%23ff0040" stroke-width="3"/><circle cx="170" cy="120" r="15" fill="%23ff0040"/><circle cx="230" cy="120" r="15" fill="%23ff0040"/><path d="M170 180 Q200 200 230 180" stroke="%23ff0040" stroke-width="2" fill="none"/><path d="M100 50 L300 50 L280 20 L120 20 Z" fill="%23ff0040"/></svg>') center/contain no-repeat;
|
51 |
+
animation: flicker 2s infinite alternate;
|
52 |
+
z-index: 1;
|
53 |
+
}
|
54 |
+
|
55 |
+
@keyframes flicker {
|
56 |
+
0%, 100% { opacity: 0.8; filter: drop-shadow(0 0 20px var(--neon-red)) drop-shadow(0 0 40px var(--neon-red)); }
|
57 |
+
50% { opacity: 1; filter: drop-shadow(0 0 25px var(--neon-red)) drop-shadow(0 0 50px var(--neon-red)); }
|
58 |
+
75% { opacity: 0.9; filter: drop-shadow(0 0 15px var(--neon-red)) drop-shadow(0 0 30px var(--neon-red)); }
|
59 |
+
}
|
60 |
+
|
61 |
+
.flames {
|
62 |
+
position: absolute;
|
63 |
+
bottom: 0;
|
64 |
+
left: 0;
|
65 |
+
width: 100%;
|
66 |
+
height: 200px;
|
67 |
+
background: linear-gradient(to top, var(--fire-orange), transparent);
|
68 |
+
filter: blur(2px);
|
69 |
+
animation: rise 3s ease-in-out infinite;
|
70 |
+
z-index: 2;
|
71 |
+
}
|
72 |
+
|
73 |
+
.flames::before,
|
74 |
+
.flames::after {
|
75 |
+
content: '';
|
76 |
+
position: absolute;
|
77 |
+
width: 100%;
|
78 |
+
height: 100%;
|
79 |
+
background: inherit;
|
80 |
+
}
|
81 |
+
|
82 |
+
.flames::before {
|
83 |
+
animation: flicker-fire 1.5s ease-in-out infinite;
|
84 |
+
transform: scaleY(0.8);
|
85 |
+
}
|
86 |
+
|
87 |
+
.flames::after {
|
88 |
+
animation: flicker-fire 2s ease-in-out infinite reverse;
|
89 |
+
transform: scaleY(0.6);
|
90 |
+
}
|
91 |
+
|
92 |
+
@keyframes rise {
|
93 |
+
0%, 100% { transform: translateY(0) scaleY(1); }
|
94 |
+
50% { transform: translateY(-20px) scaleY(1.1); }
|
95 |
+
}
|
96 |
+
|
97 |
+
@keyframes flicker-fire {
|
98 |
+
0%, 100% { opacity: 0.8; }
|
99 |
+
50% { opacity: 1; }
|
100 |
+
}
|
101 |
+
|
102 |
+
.content {
|
103 |
+
position: relative;
|
104 |
+
z-index: 10;
|
105 |
+
text-align: center;
|
106 |
+
padding: 2rem;
|
107 |
+
}
|
108 |
+
|
109 |
+
h1 {
|
110 |
+
font-family: 'Orbitron', monospace;
|
111 |
+
font-size: clamp(3rem, 8vw, 8rem);
|
112 |
+
font-weight: 900;
|
113 |
+
background: linear-gradient(135deg, #666, #999, #666);
|
114 |
+
-webkit-background-clip: text;
|
115 |
+
background-clip: text;
|
116 |
+
-webkit-text-fill-color: transparent;
|
117 |
+
text-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
|
118 |
+
margin-bottom: 2rem;
|
119 |
+
animation: zoomIn 3s ease-out forwards;
|
120 |
+
letter-spacing: 0.1em;
|
121 |
+
}
|
122 |
+
|
123 |
+
@keyframes zoomIn {
|
124 |
+
from {
|
125 |
+
transform: scale(0.5);
|
126 |
+
opacity: 0;
|
127 |
+
}
|
128 |
+
to {
|
129 |
+
transform: scale(1);
|
130 |
+
opacity: 1;
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
.blurb {
|
135 |
+
font-size: clamp(1rem, 3vw, 1.5rem);
|
136 |
+
margin-bottom: 3rem;
|
137 |
+
max-width: 600px;
|
138 |
+
margin-left: auto;
|
139 |
+
margin-right: auto;
|
140 |
+
line-height: 1.8;
|
141 |
+
color: #ccc;
|
142 |
+
animation: fadeInUp 1s ease-out 1s both;
|
143 |
+
}
|
144 |
+
|
145 |
+
@keyframes fadeInUp {
|
146 |
+
from {
|
147 |
+
transform: translateY(30px);
|
148 |
+
opacity: 0;
|
149 |
+
}
|
150 |
+
to {
|
151 |
+
transform: translateY(0);
|
152 |
+
opacity: 1;
|
153 |
+
}
|
154 |
+
}
|
155 |
+
|
156 |
+
.nav-menu {
|
157 |
+
display: flex;
|
158 |
+
gap: 2rem;
|
159 |
+
justify-content: center;
|
160 |
+
flex-wrap: wrap;
|
161 |
+
margin-bottom: 3rem;
|
162 |
+
animation: fadeInUp 1s ease-out 1.5s both;
|
163 |
+
}
|
164 |
+
|
165 |
+
.nav-link {
|
166 |
+
color: var(--neon-red);
|
167 |
+
text-decoration: none;
|
168 |
+
font-size: 1.2rem;
|
169 |
+
padding: 0.5rem 1.5rem;
|
170 |
+
border: 2px solid transparent;
|
171 |
+
position: relative;
|
172 |
+
transition: all 0.3s ease;
|
173 |
+
text-transform: uppercase;
|
174 |
+
letter-spacing: 0.1em;
|
175 |
+
}
|
176 |
+
|
177 |
+
.nav-link::before {
|
178 |
+
content: '';
|
179 |
+
position: absolute;
|
180 |
+
top: 0;
|
181 |
+
left: 0;
|
182 |
+
width: 100%;
|
183 |
+
height: 100%;
|
184 |
+
background: linear-gradient(45deg, transparent, var(--neon-red), transparent);
|
185 |
+
opacity: 0;
|
186 |
+
transition: opacity 0.3s ease;
|
187 |
+
z-index: -1;
|
188 |
+
}
|
189 |
+
|
190 |
+
.nav-link:hover {
|
191 |
+
color: #000;
|
192 |
+
border-color: var(--neon-red);
|
193 |
+
box-shadow: 0 0 20px var(--neon-red);
|
194 |
+
}
|
195 |
+
|
196 |
+
.nav-link:hover::before {
|
197 |
+
opacity: 1;
|
198 |
+
}
|
199 |
+
|
200 |
+
.cta-button {
|
201 |
+
display: inline-block;
|
202 |
+
padding: 1rem 3rem;
|
203 |
+
font-size: 1.5rem;
|
204 |
+
text-transform: uppercase;
|
205 |
+
letter-spacing: 0.2em;
|
206 |
+
background: linear-gradient(135deg, var(--steel-gray), #444);
|
207 |
+
color: var(--neon-red);
|
208 |
+
border: 2px solid var(--neon-red);
|
209 |
+
cursor: pointer;
|
210 |
+
position: relative;
|
211 |
+
overflow: hidden;
|
212 |
+
transition: all 0.3s ease;
|
213 |
+
animation: fadeInUp 1s ease-out 2s both;
|
214 |
+
box-shadow: 0 0 20px var(--neon-red);
|
215 |
+
}
|
216 |
+
|
217 |
+
.cta-button::before {
|
218 |
+
content: '';
|
219 |
+
position: absolute;
|
220 |
+
top: 50%;
|
221 |
+
left: 50%;
|
222 |
+
width: 0;
|
223 |
+
height: 0;
|
224 |
+
background: var(--neon-red);
|
225 |
+
transform: translate(-50%, -50%);
|
226 |
+
transition: width 0.6s ease, height 0.6s ease;
|
227 |
+
z-index: -1;
|
228 |
+
}
|
229 |
+
|
230 |
+
.cta-button:hover {
|
231 |
+
color: #000;
|
232 |
+
box-shadow: 0 0 40px var(--neon-red);
|
233 |
+
}
|
234 |
+
|
235 |
+
.cta-button:hover::before {
|
236 |
+
width: 300%;
|
237 |
+
height: 300%;
|
238 |
+
}
|
239 |
+
|
240 |
+
.smoke-particles {
|
241 |
+
position: absolute;
|
242 |
+
width: 100%;
|
243 |
+
height: 100%;
|
244 |
+
overflow: hidden;
|
245 |
+
z-index: 5;
|
246 |
+
}
|
247 |
+
|
248 |
+
.particle {
|
249 |
+
position: absolute;
|
250 |
+
width: 2px;
|
251 |
+
height: 2px;
|
252 |
+
background: rgba(255, 255, 255, 0.5);
|
253 |
+
border-radius: 50%;
|
254 |
+
animation: float 10s infinite ease-in-out;
|
255 |
+
}
|
256 |
+
|
257 |
+
@keyframes float {
|
258 |
+
0% {
|
259 |
+
transform: translateY(100vh) translateX(0);
|
260 |
+
opacity: 0;
|
261 |
+
}
|
262 |
+
10% {
|
263 |
+
opacity: 1;
|
264 |
+
}
|
265 |
+
90% {
|
266 |
+
opacity: 1;
|
267 |
+
}
|
268 |
+
100% {
|
269 |
+
transform: translateY(-100vh) translateX(100px);
|
270 |
+
opacity: 0;
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
@media (max-width: 768px) {
|
275 |
+
.nav-menu {
|
276 |
+
flex-direction: column;
|
277 |
+
gap: 1rem;
|
278 |
+
}
|
279 |
+
|
280 |
+
.nav-link {
|
281 |
+
font-size: 1rem;
|
282 |
+
padding: 0.75rem 2rem;
|
283 |
+
}
|
284 |
+
|
285 |
+
.cta-button {
|
286 |
+
font-size: 1.2rem;
|
287 |
+
padding: 0.75rem 2rem;
|
288 |
+
}
|
289 |
+
}
|
290 |
+
</style>
|
291 |
+
</head>
|
292 |
+
<body>
|
293 |
+
<section class="hero">
|
294 |
+
<div class="devil-bg"></div>
|
295 |
+
<div class="flames"></div>
|
296 |
+
<div class="smoke-particles"></div>
|
297 |
+
|
298 |
+
<div class="content">
|
299 |
+
<h1>SIN CITY CNC</h1>
|
300 |
+
<p class="blurb">
|
301 |
+
Where precision meets darkness. We craft the finest custom parts with devilish accuracy and demonic durability.
|
302 |
+
From aerospace to automotive, we machine your nightmares into reality.
|
303 |
+
</p>
|
304 |
+
|
305 |
+
<nav class="nav-menu">
|
306 |
+
<a href="#services" class="nav-link">Services</a>
|
307 |
+
<a href="#gallery" class="nav-link">Gallery</a>
|
308 |
+
<a href="#contact" class="nav-link">Contact</a>
|
309 |
+
<a href="#about" class="nav-link">About</a>
|
310 |
+
</nav>
|
311 |
+
|
312 |
+
<button class="cta-button" onclick="handleCTAClick()">
|
313 |
+
Summon Your Parts
|
314 |
+
</button>
|
315 |
+
</div>
|
316 |
+
</section>
|
317 |
+
|
318 |
+
<script>
|
319 |
+
// Create smoke particles
|
320 |
+
function createSmokeParticles() {
|
321 |
+
const container = document.querySelector('.smoke-particles');
|
322 |
+
const particleCount = 50;
|
323 |
+
|
324 |
+
for (let i = 0; i < particleCount; i++) {
|
325 |
+
const particle = document.createElement('div');
|
326 |
+
particle.className = 'particle';
|
327 |
+
particle.style.left = Math.random() * 100 + '%';
|
328 |
+
particle.style.animationDelay = Math.random() * 10 + 's';
|
329 |
+
particle.style.animationDuration = (Math.random() * 10 + 10) + 's';
|
330 |
+
container.appendChild(particle);
|
331 |
+
}
|
332 |
+
}
|
333 |
+
|
334 |
+
// Handle CTA click
|
335 |
+
function handleCTAClick() {
|
336 |
+
const button = document.querySelector('.cta-button');
|
337 |
+
button.style.transform = 'scale(0.95)';
|
338 |
+
setTimeout(() => {
|
339 |
+
button.style.transform = 'scale(1)';
|
340 |
+
alert('Welcome to hell... of precision machining!');
|
341 |
+
}, 200);
|
342 |
+
}
|
343 |
+
|
344 |
+
// Initialize
|
345 |
+
createSmokeParticles();
|
346 |
+
|
347 |
+
// Add some interactive hover effects
|
348 |
+
document.querySelectorAll('.nav-link').forEach(link => {
|
349 |
+
link.addEventListener('mouseenter', function() {
|
350 |
+
this.style.textShadow = '0 0 10px var(--neon-red)';
|
351 |
+
});
|
352 |
+
|
353 |
+
link.addEventListener('mouseleave', function() {
|
354 |
+
this.style.textShadow = 'none';
|
355 |
+
});
|
356 |
+
});
|
357 |
+
</script>
|
358 |
+
</body>
|
359 |
+
</html>
|