MarcRyan commited on
Commit
ed18e04
·
verified ·
1 Parent(s): b11234d

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +6 -4
  2. index.html +800 -19
  3. prompts.txt +3 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Random Classics
3
- emoji: 📊
4
  colorFrom: purple
5
- colorTo: pink
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: random-classics
3
+ emoji: 🐳
4
  colorFrom: purple
5
+ colorTo: purple
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,800 @@
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>Epic Vintage Cinema - Classic Films from the Golden Age</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Montserrat:wght@300;400;600&display=swap');
11
+
12
+ :root {
13
+ --gold: #FFD700;
14
+ --dark: #0a0a12;
15
+ --maroon: #800020;
16
+ }
17
+
18
+ body {
19
+ font-family: 'Montserrat', sans-serif;
20
+ background-color: var(--dark);
21
+ color: #f8f8f8;
22
+ overflow-x: hidden;
23
+ }
24
+
25
+ .hero {
26
+ height: 100vh;
27
+ background: linear-gradient(rgba(10, 10, 18, 0.7), rgba(10, 10, 18, 0.9)),
28
+ url('https://images.unsplash.com/photo-1517604931442-7e0c8ed2963c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80') no-repeat center center/cover;
29
+ position: relative;
30
+ overflow: hidden;
31
+ }
32
+
33
+ .film-grain {
34
+ position: absolute;
35
+ top: 0;
36
+ left: 0;
37
+ width: 100%;
38
+ height: 100%;
39
+ background: url('https://grainy-gradients.vercel.app/noise.svg');
40
+ opacity: 0.08;
41
+ pointer-events: none;
42
+ }
43
+
44
+ .title {
45
+ font-family: 'Cinzel', serif;
46
+ text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
47
+ letter-spacing: 2px;
48
+ }
49
+
50
+ .sparkle {
51
+ position: absolute;
52
+ width: 5px;
53
+ height: 5px;
54
+ background-color: white;
55
+ border-radius: 50%;
56
+ box-shadow: 0 0 10px 2px white;
57
+ animation: sparkle 2s infinite alternate;
58
+ }
59
+
60
+ @keyframes sparkle {
61
+ 0% { opacity: 0.3; transform: scale(0.8); }
62
+ 100% { opacity: 1; transform: scale(1.2); }
63
+ }
64
+
65
+ .theater-screen {
66
+ width: 90%;
67
+ max-width: 1200px;
68
+ height: 0;
69
+ padding-bottom: 45%;
70
+ background: #111;
71
+ position: relative;
72
+ margin: 0 auto;
73
+ border-radius: 8px 8px 0 0;
74
+ box-shadow: 0 0 60px rgba(0, 0, 0, 0.8);
75
+ border: 12px solid var(--maroon);
76
+ border-bottom: none;
77
+ }
78
+
79
+ .theater-screen:before {
80
+ content: '';
81
+ position: absolute;
82
+ top: -20px;
83
+ left: -20px;
84
+ right: -20px;
85
+ height: 40px;
86
+ background: linear-gradient(90deg,
87
+ var(--gold) 0%,
88
+ #111 10%,
89
+ #111 90%,
90
+ var(--gold) 100%);
91
+ z-index: -1;
92
+ }
93
+
94
+ .theater-screen:after {
95
+ content: '';
96
+ position: absolute;
97
+ bottom: -40px;
98
+ left: -20px;
99
+ right: -20px;
100
+ height: 40px;
101
+ background: linear-gradient(90deg,
102
+ var(--gold) 0%,
103
+ #111 10%,
104
+ #111 90%,
105
+ var(--gold) 100%);
106
+ z-index: -1;
107
+ }
108
+
109
+ .screen-content {
110
+ position: absolute;
111
+ top: 0;
112
+ left: 0;
113
+ width: 100%;
114
+ height: 100%;
115
+ background: #000;
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ overflow: hidden;
120
+ }
121
+
122
+ .screen-curtains {
123
+ position: absolute;
124
+ top: 0;
125
+ left: 0;
126
+ width: 100%;
127
+ height: 100%;
128
+ background: linear-gradient(90deg,
129
+ rgba(139, 0, 0, 0.7) 0%,
130
+ rgba(139, 0, 0, 0.5) 50%,
131
+ rgba(139, 0, 0, 0.7) 100%);
132
+ z-index: 2;
133
+ display: flex;
134
+ justify-content: space-between;
135
+ }
136
+
137
+ .curtain {
138
+ width: 25%;
139
+ height: 100%;
140
+ background: var(--maroon);
141
+ position: relative;
142
+ transition: transform 1.5s ease-out;
143
+ }
144
+
145
+ .curtain-left {
146
+ transform-origin: right center;
147
+ }
148
+
149
+ .curtain-right {
150
+ transform-origin: left center;
151
+ }
152
+
153
+ .screen-open .curtain-left {
154
+ transform: perspective(800px) rotateY(-60deg);
155
+ }
156
+
157
+ .screen-open .curtain-right {
158
+ transform: perspective(800px) rotateY(60deg);
159
+ }
160
+
161
+ .film-strip {
162
+ position: absolute;
163
+ width: 100%;
164
+ height: 20px;
165
+ background: repeating-linear-gradient(
166
+ 90deg,
167
+ #000,
168
+ #000 10px,
169
+ #fff 10px,
170
+ #fff 20px
171
+ );
172
+ opacity: 0.3;
173
+ }
174
+
175
+ .film-strip.top {
176
+ top: 0;
177
+ }
178
+
179
+ .film-strip.bottom {
180
+ bottom: 0;
181
+ }
182
+
183
+ .movie-card {
184
+ background: rgba(0, 0, 0, 0.7);
185
+ border: 1px solid var(--gold);
186
+ transition: all 0.3s ease;
187
+ cursor: pointer;
188
+ }
189
+
190
+ .movie-card:hover {
191
+ transform: translateY(-10px);
192
+ box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
193
+ border-color: #fff;
194
+ }
195
+
196
+ .movie-card.active {
197
+ border: 3px solid var(--gold);
198
+ box-shadow: 0 0 30px var(--gold);
199
+ }
200
+
201
+ .floating-particles {
202
+ position: absolute;
203
+ width: 100%;
204
+ height: 100%;
205
+ top: 0;
206
+ left: 0;
207
+ pointer-events: none;
208
+ }
209
+
210
+ .particle {
211
+ position: absolute;
212
+ background: linear-gradient(to right, var(--gold), #fff);
213
+ border-radius: 50%;
214
+ opacity: 0.6;
215
+ animation: float-up 15s linear infinite;
216
+ }
217
+
218
+ @keyframes float-up {
219
+ 0% {
220
+ transform: translateY(100vh) rotate(0deg);
221
+ opacity: 0;
222
+ }
223
+ 10% {
224
+ opacity: 0.6;
225
+ }
226
+ 90% {
227
+ opacity: 0.6;
228
+ }
229
+ 100% {
230
+ transform: translateY(-100px) rotate(360deg);
231
+ opacity: 0;
232
+ }
233
+ }
234
+
235
+ .marquee {
236
+ width: 100%;
237
+ overflow: hidden;
238
+ white-space: nowrap;
239
+ box-sizing: border-box;
240
+ background: rgba(0, 0, 0, 0.5);
241
+ border-top: 2px solid var(--gold);
242
+ border-bottom: 2px solid var(--gold);
243
+ }
244
+
245
+ .marquee-content {
246
+ display: inline-block;
247
+ padding-left: 100%;
248
+ animation: marquee 20s linear infinite;
249
+ }
250
+
251
+ @keyframes marquee {
252
+ 0% { transform: translateX(0); }
253
+ 100% { transform: translateX(-100%); }
254
+ }
255
+
256
+ .projector-light {
257
+ position: absolute;
258
+ width: 100%;
259
+ height: 100%;
260
+ background: radial-gradient(
261
+ ellipse at center,
262
+ rgba(255, 215, 0, 0.2) 0%,
263
+ rgba(255, 215, 0, 0.1) 40%,
264
+ rgba(255, 215, 0, 0) 70%
265
+ );
266
+ pointer-events: none;
267
+ z-index: 1;
268
+ opacity: 0;
269
+ transition: opacity 0.5s ease;
270
+ }
271
+
272
+ .screen-open .projector-light {
273
+ opacity: 1;
274
+ }
275
+
276
+ .scroll-down {
277
+ position: absolute;
278
+ bottom: 30px;
279
+ left: 50%;
280
+ transform: translateX(-50%);
281
+ animation: bounce 2s infinite;
282
+ }
283
+
284
+ @keyframes bounce {
285
+ 0%, 20%, 50%, 80%, 100% {
286
+ transform: translateY(0) translateX(-50%);
287
+ }
288
+ 40% {
289
+ transform: translateY(-20px) translateX(-50%);
290
+ }
291
+ 60% {
292
+ transform: translateY(-10px) translateX(-50%);
293
+ }
294
+ }
295
+
296
+ /* Theater seats styling */
297
+ .theater-seats {
298
+ perspective: 1000px;
299
+ margin-top: 50px;
300
+ }
301
+
302
+ .seat-row {
303
+ display: flex;
304
+ justify-content: center;
305
+ margin-bottom: 15px;
306
+ }
307
+
308
+ .seat {
309
+ width: 30px;
310
+ height: 30px;
311
+ margin: 0 5px;
312
+ background: #333;
313
+ border-radius: 5px 5px 0 0;
314
+ position: relative;
315
+ transition: all 0.3s ease;
316
+ }
317
+
318
+ .seat:before {
319
+ content: '';
320
+ position: absolute;
321
+ top: -5px;
322
+ left: 5px;
323
+ right: 5px;
324
+ height: 5px;
325
+ background: #555;
326
+ border-radius: 3px 3px 0 0;
327
+ }
328
+
329
+ .seat:hover {
330
+ background: #555;
331
+ transform: translateY(-5px);
332
+ }
333
+
334
+ .seat.selected {
335
+ background: var(--gold);
336
+ }
337
+
338
+ .aisle {
339
+ width: 40px;
340
+ }
341
+
342
+ /* Loading animation */
343
+ .film-reel {
344
+ width: 60px;
345
+ height: 60px;
346
+ border: 3px solid var(--gold);
347
+ border-radius: 50%;
348
+ position: relative;
349
+ animation: spin 2s linear infinite;
350
+ }
351
+
352
+ .film-reel:before {
353
+ content: '';
354
+ position: absolute;
355
+ top: 5px;
356
+ left: 5px;
357
+ right: 5px;
358
+ bottom: 5px;
359
+ border: 3px solid var(--gold);
360
+ border-radius: 50%;
361
+ }
362
+
363
+ .film-reel:after {
364
+ content: '';
365
+ position: absolute;
366
+ top: 15px;
367
+ left: 15px;
368
+ right: 15px;
369
+ bottom: 15px;
370
+ border: 3px solid var(--gold);
371
+ border-radius: 50%;
372
+ }
373
+
374
+ @keyframes spin {
375
+ 0% { transform: rotate(0deg); }
376
+ 100% { transform: rotate(360deg); }
377
+ }
378
+ </style>
379
+ </head>
380
+ <body>
381
+ <!-- Hero Section -->
382
+ <section class="hero flex items-center justify-center text-center relative">
383
+ <div class="film-grain"></div>
384
+ <div class="floating-particles" id="particles"></div>
385
+
386
+ <div class="z-10 px-6">
387
+ <h1 class="title text-6xl md:text-8xl font-bold mb-6">
388
+ <span class="text-transparent bg-clip-text bg-gradient-to-r from-amber-200 to-white">Epic Vintage</span>
389
+ <span class="block text-5xl md:text-7xl mt-4">Cinema</span>
390
+ </h1>
391
+ <p class="text-xl md:text-2xl mb-8 max-w-2xl mx-auto tracking-wider">Classic films from the Golden Age of Hollywood</p>
392
+ <div class="flex flex-col sm:flex-row justify-center space-y-4 sm:space-y-0 sm:space-x-4">
393
+ <button id="featuredBtn" class="px-8 py-3 bg-gradient-to-r from-amber-500 to-amber-700 rounded-full font-semibold hover:scale-105 transition-transform duration-300 shadow-lg hover:shadow-xl">
394
+ Featured Films
395
+ </button>
396
+ <button id="randomBtn" class="px-8 py-3 border-2 border-white rounded-full font-semibold hover:bg-white hover:text-black transition-colors duration-300">
397
+ Random Classic
398
+ </button>
399
+ </div>
400
+ </div>
401
+
402
+ <div class="scroll-down">
403
+ <i class="fas fa-chevron-down text-2xl text-white"></i>
404
+ </div>
405
+
406
+ <!-- Create random sparkles -->
407
+ <div id="sparkles"></div>
408
+ </section>
409
+
410
+ <!-- Main Theater Section -->
411
+ <section class="py-20 px-4">
412
+ <div class="text-center mb-16">
413
+ <h2 class="title text-4xl md:text-5xl font-bold mb-4">The Grand Theater</h2>
414
+ <div class="w-24 h-1 bg-gradient-to-r from-amber-400 to-amber-600 mx-auto"></div>
415
+ </div>
416
+
417
+ <!-- Theater Screen -->
418
+ <div class="theater-screen">
419
+ <div class="screen-curtains">
420
+ <div class="curtain curtain-left"></div>
421
+ <div class="curtain curtain-right"></div>
422
+ </div>
423
+ <div class="projector-light"></div>
424
+ <div class="screen-content">
425
+ <div class="film-strip top"></div>
426
+ <div class="film-strip bottom"></div>
427
+ <div id="playerContainer" class="w-full h-full flex items-center justify-center">
428
+ <div class="text-center">
429
+ <div class="film-reel mx-auto mb-4"></div>
430
+ <p class="text-xl">Select a film from our collection</p>
431
+ </div>
432
+ </div>
433
+ </div>
434
+ </div>
435
+
436
+ <!-- Theater Controls -->
437
+ <div class="max-w-4xl mx-auto mt-8 flex justify-center space-x-4">
438
+ <button id="openCurtainsBtn" class="px-6 py-2 bg-amber-600 rounded font-semibold hover:bg-amber-700 transition-colors duration-300 flex items-center">
439
+ <i class="fas fa-theater-masks mr-2"></i> Open Curtains
440
+ </button>
441
+ <button id="fullscreenBtn" class="px-6 py-2 bg-gray-700 rounded font-semibold hover:bg-gray-600 transition-colors duration-300 flex items-center">
442
+ <i class="fas fa-expand mr-2"></i> Full Screen
443
+ </button>
444
+ <button id="volumeBtn" class="px-6 py-2 bg-gray-700 rounded font-semibold hover:bg-gray-600 transition-colors duration-300 flex items-center">
445
+ <i class="fas fa-volume-up mr-2"></i> Volume
446
+ </button>
447
+ </div>
448
+
449
+ <!-- Theater Seats (for decoration) -->
450
+ <div class="theater-seats mt-12">
451
+ <div class="seat-row">
452
+ <div class="seat"></div>
453
+ <div class="seat"></div>
454
+ <div class="seat"></div>
455
+ <div class="seat selected"></div>
456
+ <div class="seat selected"></div>
457
+ <div class="aisle"></div>
458
+ <div class="seat selected"></div>
459
+ <div class="seat selected"></div>
460
+ <div class="seat"></div>
461
+ <div class="seat"></div>
462
+ </div>
463
+ <div class="seat-row">
464
+ <div class="seat"></div>
465
+ <div class="seat"></div>
466
+ <div class="seat selected"></div>
467
+ <div class="seat selected"></div>
468
+ <div class="seat selected"></div>
469
+ <div class="aisle"></div>
470
+ <div class="seat selected"></div>
471
+ <div class="seat selected"></div>
472
+ <div class="seat selected"></div>
473
+ <div class="seat"></div>
474
+ </div>
475
+ <div class="seat-row">
476
+ <div class="seat"></div>
477
+ <div class="seat selected"></div>
478
+ <div class="seat selected"></div>
479
+ <div class="seat selected"></div>
480
+ <div class="seat selected"></div>
481
+ <div class="aisle"></div>
482
+ <div class="seat selected"></div>
483
+ <div class="seat selected"></div>
484
+ <div class="seat selected"></div>
485
+ <div class="seat selected"></div>
486
+ </div>
487
+ </div>
488
+ </section>
489
+
490
+ <!-- Movie Collection Section -->
491
+ <section class="py-20 px-6 bg-black bg-opacity-70">
492
+ <div class="max-w-6xl mx-auto">
493
+ <div class="text-center mb-16">
494
+ <h2 class="title text-4xl md:text-5xl font-bold mb-4">Classic Film Collection</h2>
495
+ <div class="w-24 h-1 bg-gradient-to-r from-amber-400 to-amber-600 mx-auto"></div>
496
+ <p class="mt-6 max-w-2xl mx-auto">Browse our curated selection of timeless classics from the Internet Archive</p>
497
+ </div>
498
+
499
+ <div class="marquee mb-8">
500
+ <div class="marquee-content">
501
+ NOW PLAYING: THE GENERAL (1926) • METROPOLIS (1927) • CITY LIGHTS (1931) • GONE WITH THE WIND (1939) • CASABLANCA (1942) • CITIZEN KANE (1941) • SINGIN' IN THE RAIN (1952) • SOME LIKE IT HOT (1959) •
502
+ </div>
503
+ </div>
504
+
505
+ <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8" id="movieGrid">
506
+ <!-- Movies will be loaded here -->
507
+ </div>
508
+ </div>
509
+ </section>
510
+
511
+ <!-- About Section -->
512
+ <section class="py-20 px-6">
513
+ <div class="max-w-4xl mx-auto">
514
+ <div class="text-center mb-16">
515
+ <h2 class="title text-4xl md:text-5xl font-bold mb-4">About Epic Vintage Cinema</h2>
516
+ <div class="w-24 h-1 bg-gradient-to-r from-amber-400 to-amber-600 mx-auto"></div>
517
+ </div>
518
+
519
+ <div class="grid md:grid-cols-2 gap-12 items-center">
520
+ <div class="relative">
521
+ <img src="https://images.unsplash.com/photo-1517604931442-7e0c8ed2963c?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80"
522
+ alt="Old movie theater"
523
+ class="rounded-lg shadow-2xl transform hover:scale-105 transition-transform duration-500">
524
+ <div class="absolute -inset-4 border-2 border-amber-400 rounded-lg opacity-0 hover:opacity-100 transition-opacity duration-300 pointer-events-none"></div>
525
+ </div>
526
+ <div>
527
+ <h3 class="text-3xl font-semibold mb-6">Preserving Film History</h3>
528
+ <p class="text-lg leading-relaxed mb-6">Epic Vintage Cinema is dedicated to preserving and showcasing classic films from the golden age of Hollywood and beyond. Our collection features rare and public domain films from the Internet Archive, carefully curated for film enthusiasts.</p>
529
+ <p class="text-lg leading-relaxed">Experience cinema as it was meant to be seen - on our virtual grand theater screen with authentic vintage atmosphere. From silent films to noir classics, we bring history to life.</p>
530
+ </div>
531
+ </div>
532
+ </div>
533
+ </section>
534
+
535
+ <!-- Footer -->
536
+ <footer class="py-12 px-6 bg-black bg-opacity-80 text-center">
537
+ <div class="max-w-4xl mx-auto">
538
+ <h3 class="title text-2xl font-semibold mb-6">Epic Vintage Cinema</h3>
539
+ <div class="flex justify-center space-x-6 mb-8">
540
+ <a href="#" class="text-2xl hover:text-amber-400 transition-colors duration-300"><i class="fab fa-twitter"></i></a>
541
+ <a href="#" class="text-2xl hover:text-amber-400 transition-colors duration-300"><i class="fab fa-facebook"></i></a>
542
+ <a href="#" class="text-2xl hover:text-amber-400 transition-colors duration-300"><i class="fab fa-instagram"></i></a>
543
+ <a href="https://archive.org/" target="_blank" class="text-2xl hover:text-amber-400 transition-colors duration-300"><i class="fas fa-archive"></i></a>
544
+ </div>
545
+ <p class="text-sm opacity-70 mb-2">All films are provided by the Internet Archive and are in the public domain.</p>
546
+ <p class="text-xs opacity-50">This site is for educational purposes only. No copyright infringement intended.</p>
547
+ </div>
548
+ </footer>
549
+
550
+ <script>
551
+ // Sample movie data (in a real app, this would come from RSS feed)
552
+ const movies = [
553
+ {
554
+ title: "The General (1926)",
555
+ description: "Buster Keaton's classic silent comedy about a train engineer pursuing his beloved locomotive.",
556
+ thumbnail: "https://archive.org/download/the-general-1926_202111/The%20General%20%281926%29.thumbs/The%20General%20%281926%29_000057.jpg",
557
+ archiveUrl: "https://archive.org/embed/the-general-1926_202111",
558
+ year: "1926",
559
+ director: "Buster Keaton, Clyde Bruckman",
560
+ runtime: "1h 47m"
561
+ },
562
+ {
563
+ title: "Metropolis (1927)",
564
+ description: "Fritz Lang's groundbreaking sci-fi silent film about class struggle in a futuristic city.",
565
+ thumbnail: "https://archive.org/download/metropolis-1927_202110/Metropolis%20%281927%29.thumbs/Metropolis%20%281927%29_000270.jpg",
566
+ archiveUrl: "https://archive.org/embed/metropolis-1927_202110",
567
+ year: "1927",
568
+ director: "Fritz Lang",
569
+ runtime: "2h 33m"
570
+ },
571
+ {
572
+ title: "City Lights (1931)",
573
+ description: "Charlie Chaplin's masterpiece about the Tramp who falls in love with a blind flower girl.",
574
+ thumbnail: "https://archive.org/download/city-lights-1931_202110/City%20Lights%20%281931%29.thumbs/City%20Lights%20%281931%29_000270.jpg",
575
+ archiveUrl: "https://archive.org/embed/city-lights-1931_202110",
576
+ year: "1931",
577
+ director: "Charlie Chaplin",
578
+ runtime: "1h 27m"
579
+ },
580
+ {
581
+ title: "Casablanca (1942)",
582
+ description: "Humphrey Bogart and Ingrid Bergman star in this timeless wartime romance.",
583
+ thumbnail: "https://archive.org/download/casablanca_202108/Casablanca.thumbs/Casablanca_000270.jpg",
584
+ archiveUrl: "https://archive.org/embed/casablanca_202108",
585
+ year: "1942",
586
+ director: "Michael Curtiz",
587
+ runtime: "1h 42m"
588
+ },
589
+ {
590
+ title: "Citizen Kane (1941)",
591
+ description: "Orson Welles' revolutionary drama about the life of a newspaper tycoon.",
592
+ thumbnail: "https://archive.org/download/citizen-kane_202108/Citizen%20Kane.thumbs/Citizen%20Kane_000270.jpg",
593
+ archiveUrl: "https://archive.org/embed/citizen-kane_202108",
594
+ year: "1941",
595
+ director: "Orson Welles",
596
+ runtime: "1h 59m"
597
+ },
598
+ {
599
+ title: "Nosferatu (1922)",
600
+ description: "F.W. Murnau's unauthorized Dracula adaptation that became a horror classic.",
601
+ thumbnail: "https://archive.org/download/nosferatu-1922_202110/Nosferatu%20%281922%29.thumbs/Nosferatu%20%281922%29_000270.jpg",
602
+ archiveUrl: "https://archive.org/embed/nosferatu-1922_202110",
603
+ year: "1922",
604
+ director: "F.W. Murnau",
605
+ runtime: "1h 34m"
606
+ }
607
+ ];
608
+
609
+ // Create floating particles
610
+ function createParticles() {
611
+ const container = document.getElementById('particles');
612
+ const particleCount = 30;
613
+
614
+ for (let i = 0; i < particleCount; i++) {
615
+ const particle = document.createElement('div');
616
+ particle.className = 'particle';
617
+
618
+ // Random size
619
+ const size = Math.random() * 5 + 2;
620
+ particle.style.width = `${size}px`;
621
+ particle.style.height = `${size}px`;
622
+
623
+ // Random position
624
+ particle.style.left = Math.random() * 100 + 'vw';
625
+
626
+ // Random animation duration
627
+ particle.style.animationDuration = 5 + Math.random() * 20 + 's';
628
+ particle.style.animationDelay = Math.random() * 5 + 's';
629
+
630
+ container.appendChild(particle);
631
+ }
632
+ }
633
+
634
+ // Create sparkles
635
+ function createSparkles() {
636
+ const container = document.getElementById('sparkles');
637
+ const sparkleCount = 20;
638
+
639
+ for (let i = 0; i < sparkleCount; i++) {
640
+ const sparkle = document.createElement('div');
641
+ sparkle.className = 'sparkle';
642
+
643
+ // Random position
644
+ sparkle.style.left = Math.random() * 100 + 'vw';
645
+ sparkle.style.top = Math.random() * 100 + 'vh';
646
+
647
+ // Random animation delay
648
+ sparkle.style.animationDelay = Math.random() * 3 + 's';
649
+
650
+ container.appendChild(sparkle);
651
+ }
652
+ }
653
+
654
+ // Load movies into grid
655
+ function loadMovies() {
656
+ const movieGrid = document.getElementById('movieGrid');
657
+ movieGrid.innerHTML = '';
658
+
659
+ movies.forEach((movie, index) => {
660
+ const movieCard = document.createElement('div');
661
+ movieCard.className = 'movie-card rounded-lg overflow-hidden relative group';
662
+ movieCard.innerHTML = `
663
+ <img src="${movie.thumbnail}" alt="${movie.title}" class="w-full h-64 object-cover">
664
+ <div class="p-4">
665
+ <h3 class="text-xl font-bold mb-2">${movie.title}</h3>
666
+ <p class="text-gray-300 text-sm mb-3">${movie.year} • ${movie.runtime}</p>
667
+ <p class="text-gray-400 mb-4">${movie.description}</p>
668
+ <button class="play-btn px-4 py-2 bg-amber-600 rounded text-sm font-semibold hover:bg-amber-700 transition-colors duration-300" data-index="${index}">
669
+ <i class="fas fa-play mr-1"></i> Play Film
670
+ </button>
671
+ </div>
672
+ `;
673
+ movieGrid.appendChild(movieCard);
674
+ });
675
+ }
676
+
677
+ // Play selected movie
678
+ function playMovie(movieIndex) {
679
+ const movie = movies[movieIndex];
680
+ const playerContainer = document.getElementById('playerContainer');
681
+
682
+ // Open curtains
683
+ document.querySelector('.theater-screen').classList.add('screen-open');
684
+
685
+ // Load player
686
+ playerContainer.innerHTML = `
687
+ <iframe src="${movie.archiveUrl}"
688
+ width="100%"
689
+ height="100%"
690
+ frameborder="0"
691
+ webkitallowfullscreen="true"
692
+ mozallowfullscreen="true"
693
+ allowfullscreen
694
+ id="moviePlayer">
695
+ </iframe>
696
+ `;
697
+
698
+ // Update marquee
699
+ document.querySelector('.marquee-content').textContent = `NOW PLAYING: ${movie.title.toUpperCase()} • DIRECTED BY ${movie.director.toUpperCase()} • ${movie.year}`;
700
+
701
+ // Highlight selected movie card
702
+ document.querySelectorAll('.movie-card').forEach(card => card.classList.remove('active'));
703
+ document.querySelectorAll('.movie-card')[movieIndex].classList.add('active');
704
+
705
+ // Scroll to theater
706
+ document.querySelector('.theater-screen').scrollIntoView({ behavior: 'smooth' });
707
+ }
708
+
709
+ // Toggle fullscreen
710
+ function toggleFullscreen() {
711
+ const player = document.getElementById('moviePlayer');
712
+ if (!player) return;
713
+
714
+ if (player.requestFullscreen) {
715
+ player.requestFullscreen();
716
+ } else if (player.webkitRequestFullscreen) { /* Safari */
717
+ player.webkitRequestFullscreen();
718
+ } else if (player.msRequestFullscreen) { /* IE11 */
719
+ player.msRequestFullscreen();
720
+ }
721
+ }
722
+
723
+ // Toggle curtains
724
+ function toggleCurtains() {
725
+ const screen = document.querySelector('.theater-screen');
726
+ if (screen.classList.contains('screen-open')) {
727
+ screen.classList.remove('screen-open');
728
+ document.getElementById('playerContainer').innerHTML = `
729
+ <div class="text-center">
730
+ <div class="film-reel mx-auto mb-4"></div>
731
+ <p class="text-xl">Select a film from our collection</p>
732
+ </div>
733
+ `;
734
+ } else {
735
+ screen.classList.add('screen-open');
736
+ }
737
+ }
738
+
739
+ // Initialize
740
+ document.addEventListener('DOMContentLoaded', () => {
741
+ createParticles();
742
+ createSparkles();
743
+ loadMovies();
744
+
745
+ // Play movie when button clicked
746
+ document.addEventListener('click', (e) => {
747
+ if (e.target.classList.contains('play-btn')) {
748
+ const movieIndex = e.target.getAttribute('data-index');
749
+ playMovie(movieIndex);
750
+ }
751
+
752
+ // Fullscreen button
753
+ if (e.target.id === 'fullscreenBtn' || e.target.closest('#fullscreenBtn')) {
754
+ toggleFullscreen();
755
+ }
756
+
757
+ // Curtains button
758
+ if (e.target.id === 'openCurtainsBtn' || e.target.closest('#openCurtainsBtn')) {
759
+ toggleCurtains();
760
+ }
761
+
762
+ // Featured films button
763
+ if (e.target.id === 'featuredBtn' || e.target.closest('#featuredBtn')) {
764
+ document.getElementById('movieGrid').scrollIntoView({ behavior: 'smooth' });
765
+ }
766
+
767
+ // Random film button
768
+ if (e.target.id === 'randomBtn' || e.target.closest('#randomBtn')) {
769
+ const randomIndex = Math.floor(Math.random() * movies.length);
770
+ playMovie(randomIndex);
771
+ }
772
+ });
773
+
774
+ // Create more sparkles on mousemove
775
+ document.addEventListener('mousemove', (e) => {
776
+ const sparkle = document.createElement('div');
777
+ sparkle.className = 'sparkle';
778
+ sparkle.style.left = `${e.clientX}px`;
779
+ sparkle.style.top = `${e.clientY}px`;
780
+ document.body.appendChild(sparkle);
781
+
782
+ // Remove after animation completes
783
+ setTimeout(() => {
784
+ sparkle.remove();
785
+ }, 2000);
786
+ });
787
+
788
+ // Smooth scroll for anchor links
789
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
790
+ anchor.addEventListener('click', function(e) {
791
+ e.preventDefault();
792
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
793
+ behavior: 'smooth'
794
+ });
795
+ });
796
+ });
797
+ });
798
+ </script>
799
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=MarcRyan/random-classics" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
800
+ </html>
prompts.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ create epic cinematic engagement
2
+ create epic cinema
3
+ turn this into a website that uses this style and effect to playback classic movies from the internet archives that are movie choices populated via rss feed are picked and played on a giant screen wide xxxxl card that looks like a movie theater screen from the 1920's