Vijithkumar commited on
Commit
ab0e7ea
·
verified ·
1 Parent(s): 88e97b9

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +877 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Video University
3
- emoji: 📊
4
- colorFrom: yellow
5
- colorTo: purple
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: video-university
3
+ emoji: 🐳
4
+ colorFrom: blue
5
+ colorTo: blue
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,877 @@
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>University Building Animation</title>
7
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
8
+ <style>
9
+ * {
10
+ margin: 0;
11
+ padding: 0;
12
+ box-sizing: border-box;
13
+ }
14
+
15
+ body {
16
+ font-family: 'Georgia', serif;
17
+ background: linear-gradient(to bottom, #87CEEB, #E0F7FA);
18
+ display: flex;
19
+ justify-content: center;
20
+ align-items: center;
21
+ min-height: 100vh;
22
+ overflow: hidden;
23
+ }
24
+
25
+ .university-container {
26
+ position: relative;
27
+ width: 900px;
28
+ height: 600px;
29
+ perspective: 1000px;
30
+ }
31
+
32
+ .building-facade {
33
+ position: absolute;
34
+ width: 100%;
35
+ height: 100%;
36
+ background-color: #D3C7B7;
37
+ border-radius: 10px;
38
+ box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
39
+ transform-style: preserve-3d;
40
+ transform: rotateX(5deg);
41
+ overflow: hidden;
42
+ }
43
+
44
+ /* Main building structure */
45
+ .main-building {
46
+ position: absolute;
47
+ bottom: 0;
48
+ width: 100%;
49
+ height: 80%;
50
+ background: linear-gradient(to bottom, #C0B3A0, #D3C7B7);
51
+ border-top: 15px solid #A89984;
52
+ }
53
+
54
+ /* Columns and architectural details */
55
+ .columns {
56
+ position: absolute;
57
+ bottom: 0;
58
+ width: 100%;
59
+ height: 85%;
60
+ display: flex;
61
+ justify-content: space-around;
62
+ }
63
+
64
+ .column {
65
+ width: 60px;
66
+ height: 100%;
67
+ background: linear-gradient(to bottom, #A89984, #C0B3A0);
68
+ position: relative;
69
+ box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
70
+ }
71
+
72
+ .column::before {
73
+ content: '';
74
+ position: absolute;
75
+ top: 0;
76
+ width: 100%;
77
+ height: 40px;
78
+ background-color: #8F7B5E;
79
+ border-radius: 5px 5px 0 0;
80
+ }
81
+
82
+ .column::after {
83
+ content: '';
84
+ position: absolute;
85
+ bottom: 0;
86
+ width: 70px;
87
+ height: 30px;
88
+ background-color: #8F7B5E;
89
+ left: -5px;
90
+ border-radius: 5px;
91
+ }
92
+
93
+ /* Windows */
94
+ .windows {
95
+ position: absolute;
96
+ top: 20%;
97
+ width: 100%;
98
+ height: 50%;
99
+ display: grid;
100
+ grid-template-columns: repeat(8, 1fr);
101
+ grid-template-rows: repeat(4, 1fr);
102
+ gap: 15px;
103
+ padding: 0 40px;
104
+ }
105
+
106
+ .window {
107
+ background-color: #3A5F8F;
108
+ border: 3px solid #2C4A7A;
109
+ border-radius: 5px;
110
+ position: relative;
111
+ overflow: hidden;
112
+ box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.3);
113
+ transition: all 0.3s;
114
+ }
115
+
116
+ .window:hover {
117
+ transform: scale(1.05);
118
+ box-shadow: 0 0 15px gold;
119
+ }
120
+
121
+ .window-pane {
122
+ position: absolute;
123
+ width: 100%;
124
+ height: 100%;
125
+ background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0.2) 100%);
126
+ }
127
+
128
+ .window-sill {
129
+ position: absolute;
130
+ bottom: -5px;
131
+ width: 110%;
132
+ height: 8px;
133
+ background-color: #A89984;
134
+ left: -5%;
135
+ border-radius: 3px;
136
+ }
137
+
138
+ /* Main entrance */
139
+ .entrance {
140
+ position: absolute;
141
+ bottom: 0;
142
+ left: 50%;
143
+ transform: translateX(-50%);
144
+ width: 200px;
145
+ height: 250px;
146
+ background: linear-gradient(to bottom, #8F7B5E, #A89984);
147
+ border-radius: 10px 10px 0 0;
148
+ z-index: 2;
149
+ }
150
+
151
+ .door {
152
+ position: absolute;
153
+ bottom: 0;
154
+ left: 50%;
155
+ transform: translateX(-50%);
156
+ width: 80px;
157
+ height: 180px;
158
+ background-color: #5D4037;
159
+ border: 5px solid #4E342E;
160
+ border-bottom: none;
161
+ display: flex;
162
+ justify-content: center;
163
+ align-items: center;
164
+ color: #D7CCC8;
165
+ font-size: 24px;
166
+ transition: all 0.5s;
167
+ }
168
+
169
+ .door:hover {
170
+ background-color: #6D4C41;
171
+ transform: translateX(-50%) scale(1.02);
172
+ }
173
+
174
+ .steps {
175
+ position: absolute;
176
+ bottom: -30px;
177
+ width: 250px;
178
+ height: 30px;
179
+ left: 50%;
180
+ transform: translateX(-50%);
181
+ display: flex;
182
+ flex-direction: column;
183
+ align-items: center;
184
+ }
185
+
186
+ .step {
187
+ width: 100%;
188
+ height: 10px;
189
+ background-color: #A89984;
190
+ margin-bottom: 3px;
191
+ border-radius: 2px;
192
+ }
193
+
194
+ /* Clock tower */
195
+ .clock-tower {
196
+ position: absolute;
197
+ top: 0;
198
+ left: 50%;
199
+ transform: translateX(-50%);
200
+ width: 120px;
201
+ height: 30%;
202
+ background: linear-gradient(to bottom, #C0B3A0, #A89984);
203
+ border-radius: 10px 10px 0 0;
204
+ z-index: 3;
205
+ }
206
+
207
+ .clock-face {
208
+ position: absolute;
209
+ top: 50%;
210
+ left: 50%;
211
+ transform: translate(-50%, -50%);
212
+ width: 70px;
213
+ height: 70px;
214
+ background-color: #F5F5F5;
215
+ border-radius: 50%;
216
+ border: 5px solid #5D4037;
217
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
218
+ }
219
+
220
+ .clock-hour {
221
+ position: absolute;
222
+ top: 50%;
223
+ left: 50%;
224
+ width: 4px;
225
+ height: 20px;
226
+ background-color: #333;
227
+ transform-origin: bottom center;
228
+ transform: translate(-50%, -100%) rotate(0deg);
229
+ }
230
+
231
+ .clock-minute {
232
+ position: absolute;
233
+ top: 50%;
234
+ left: 50%;
235
+ width: 3px;
236
+ height: 30px;
237
+ background-color: #333;
238
+ transform-origin: bottom center;
239
+ transform: translate(-50%, -100%) rotate(0deg);
240
+ }
241
+
242
+ .clock-second {
243
+ position: absolute;
244
+ top: 50%;
245
+ left: 50%;
246
+ width: 2px;
247
+ height: 30px;
248
+ background-color: #D32F2F;
249
+ transform-origin: bottom center;
250
+ transform: translate(-50%, -100%) rotate(0deg);
251
+ }
252
+
253
+ /* Roof details */
254
+ .roof {
255
+ position: absolute;
256
+ top: 0;
257
+ width: 100%;
258
+ height: 10%;
259
+ background: linear-gradient(to bottom, #8F7B5E, #A89984);
260
+ border-radius: 10px 10px 0 0;
261
+ z-index: 2;
262
+ }
263
+
264
+ .roof-decoration {
265
+ position: absolute;
266
+ top: -15px;
267
+ width: 100%;
268
+ height: 30px;
269
+ background-color: #5D4037;
270
+ clip-path: polygon(0% 100%, 2% 0%, 98% 0%, 100% 100%);
271
+ }
272
+
273
+ /* Bell tower */
274
+ .bell-tower {
275
+ position: absolute;
276
+ top: -80px;
277
+ left: 50%;
278
+ transform: translateX(-50%);
279
+ width: 60px;
280
+ height: 80px;
281
+ background: linear-gradient(to bottom, #A89984, #8F7B5E);
282
+ border-radius: 10px 10px 0 0;
283
+ z-index: 4;
284
+ }
285
+
286
+ .bell {
287
+ position: absolute;
288
+ bottom: 10px;
289
+ left: 50%;
290
+ transform: translateX(-50%);
291
+ width: 40px;
292
+ height: 40px;
293
+ background-color: #D3C7B7;
294
+ border-radius: 50%;
295
+ box-shadow: inset 0 -5px 10px rgba(0, 0, 0, 0.3);
296
+ animation: bellSwing 5s infinite ease-in-out;
297
+ transform-origin: top center;
298
+ }
299
+
300
+ @keyframes bellSwing {
301
+ 0%, 100% { transform: translateX(-50%) rotate(-5deg); }
302
+ 50% { transform: translateX(-50%) rotate(5deg); }
303
+ }
304
+
305
+ /* People walking */
306
+ .people {
307
+ position: absolute;
308
+ bottom: 0;
309
+ width: 100%;
310
+ height: 100px;
311
+ }
312
+
313
+ .person {
314
+ position: absolute;
315
+ bottom: 30px;
316
+ width: 20px;
317
+ height: 50px;
318
+ animation: walk 15s linear infinite;
319
+ transform-origin: bottom center;
320
+ }
321
+
322
+ .person:nth-child(2) {
323
+ bottom: 40px;
324
+ animation-delay: -3s;
325
+ animation-duration: 18s;
326
+ }
327
+
328
+ .person:nth-child(3) {
329
+ bottom: 35px;
330
+ animation-delay: -7s;
331
+ animation-duration: 20s;
332
+ }
333
+
334
+ .person-head {
335
+ position: absolute;
336
+ top: 0;
337
+ left: 5px;
338
+ width: 10px;
339
+ height: 10px;
340
+ background-color: #5D4037;
341
+ border-radius: 50%;
342
+ }
343
+
344
+ .person-body {
345
+ position: absolute;
346
+ top: 10px;
347
+ left: 5px;
348
+ width: 10px;
349
+ height: 25px;
350
+ background-color: #3A5F8F;
351
+ border-radius: 3px;
352
+ }
353
+
354
+ .person-legs {
355
+ position: absolute;
356
+ top: 35px;
357
+ left: 5px;
358
+ width: 10px;
359
+ height: 15px;
360
+ }
361
+
362
+ .leg {
363
+ position: absolute;
364
+ width: 3px;
365
+ height: 15px;
366
+ background-color: #2C4A7A;
367
+ animation: walkLeg 0.5s infinite alternate;
368
+ }
369
+
370
+ .leg.left {
371
+ left: 2px;
372
+ animation-delay: 0.25s;
373
+ }
374
+
375
+ .leg.right {
376
+ right: 2px;
377
+ }
378
+
379
+ @keyframes walk {
380
+ 0% { left: -30px; }
381
+ 100% { left: calc(100% + 30px); }
382
+ }
383
+
384
+ @keyframes walkLeg {
385
+ 0% { transform: rotate(-15deg); }
386
+ 100% { transform: rotate(15deg); }
387
+ }
388
+
389
+ /* Clouds */
390
+ .clouds {
391
+ position: absolute;
392
+ top: 0;
393
+ width: 100%;
394
+ height: 30%;
395
+ }
396
+
397
+ .cloud {
398
+ position: absolute;
399
+ background-color: white;
400
+ border-radius: 50%;
401
+ filter: blur(5px);
402
+ opacity: 0.8;
403
+ animation: cloudMove 60s linear infinite;
404
+ }
405
+
406
+ @keyframes cloudMove {
407
+ 0% { transform: translateX(-100px); }
408
+ 100% { transform: translateX(1000px); }
409
+ }
410
+
411
+ /* University name */
412
+ .university-name {
413
+ position: absolute;
414
+ top: 10px;
415
+ left: 50%;
416
+ transform: translateX(-50%);
417
+ font-family: 'Times New Roman', serif;
418
+ font-size: 28px;
419
+ color: #5D4037;
420
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
421
+ z-index: 10;
422
+ }
423
+
424
+ /* Controls */
425
+ .controls {
426
+ position: absolute;
427
+ bottom: 20px;
428
+ left: 50%;
429
+ transform: translateX(-50%);
430
+ display: flex;
431
+ gap: 10px;
432
+ z-index: 100;
433
+ }
434
+
435
+ .control-btn {
436
+ padding: 8px 15px;
437
+ background-color: #5D4037;
438
+ color: white;
439
+ border: none;
440
+ border-radius: 5px;
441
+ cursor: pointer;
442
+ font-size: 14px;
443
+ transition: all 0.3s;
444
+ display: flex;
445
+ align-items: center;
446
+ gap: 5px;
447
+ }
448
+
449
+ .control-btn:hover {
450
+ background-color: #8D6E63;
451
+ transform: translateY(-2px);
452
+ }
453
+
454
+ .control-btn:active {
455
+ transform: translateY(0);
456
+ }
457
+
458
+ /* Time display */
459
+ .time-display {
460
+ position: absolute;
461
+ top: 20px;
462
+ right: 20px;
463
+ background-color: rgba(0, 0, 0, 0.5);
464
+ color: white;
465
+ padding: 10px;
466
+ border-radius: 5px;
467
+ font-family: 'Courier New', monospace;
468
+ z-index: 100;
469
+ }
470
+
471
+ /* Interactive elements */
472
+ .info-panel {
473
+ position: absolute;
474
+ top: 50%;
475
+ left: 50%;
476
+ transform: translate(-50%, -50%);
477
+ width: 300px;
478
+ background-color: rgba(255, 255, 255, 0.9);
479
+ border-radius: 10px;
480
+ padding: 20px;
481
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
482
+ z-index: 200;
483
+ display: none;
484
+ }
485
+
486
+ .close-btn {
487
+ position: absolute;
488
+ top: 10px;
489
+ right: 10px;
490
+ background: none;
491
+ border: none;
492
+ font-size: 20px;
493
+ cursor: pointer;
494
+ color: #5D4037;
495
+ }
496
+
497
+ /* Birds */
498
+ .birds {
499
+ position: absolute;
500
+ top: 20%;
501
+ width: 100%;
502
+ height: 20%;
503
+ }
504
+
505
+ .bird {
506
+ position: absolute;
507
+ color: #5D4037;
508
+ font-size: 20px;
509
+ animation: birdFly 20s linear infinite;
510
+ }
511
+
512
+ @keyframes birdFly {
513
+ 0% { transform: translateX(-50px) translateY(0); }
514
+ 25% { transform: translateX(200px) translateY(-20px); }
515
+ 50% { transform: translateX(450px) translateY(0); }
516
+ 75% { transform: translateX(700px) translateY(-20px); }
517
+ 100% { transform: translateX(950px) translateY(0); }
518
+ }
519
+ </style>
520
+ </head>
521
+ <body>
522
+ <div class="university-container">
523
+ <div class="building-facade">
524
+ <div class="main-building">
525
+ <div class="columns">
526
+ <div class="column"></div>
527
+ <div class="column"></div>
528
+ <div class="column"></div>
529
+ <div class="column"></div>
530
+ <div class="column"></div>
531
+ <div class="column"></div>
532
+ </div>
533
+
534
+ <div class="windows">
535
+ <!-- 32 windows (8 columns x 4 rows) -->
536
+ <div class="window" onclick="showInfo('Lecture Hall A')">
537
+ <div class="window-pane"></div>
538
+ <div class="window-sill"></div>
539
+ </div>
540
+ <!-- Repeat for all windows -->
541
+ <div class="window" onclick="showInfo('Chemistry Lab')">
542
+ <div class="window-pane"></div>
543
+ <div class="window-sill"></div>
544
+ </div>
545
+ <div class="window" onclick="showInfo('Physics Department')">
546
+ <div class="window-pane"></div>
547
+ <div class="window-sill"></div>
548
+ </div>
549
+ <div class="window" onclick="showInfo('Library')">
550
+ <div class="window-pane"></div>
551
+ <div class="window-sill"></div>
552
+ </div>
553
+ <div class="window" onclick="showInfo('Computer Lab')">
554
+ <div class="window-pane"></div>
555
+ <div class="window-sill"></div>
556
+ </div>
557
+ <div class="window" onclick="showInfo('Faculty Office')">
558
+ <div class="window-pane"></div>
559
+ <div class="window-sill"></div>
560
+ </div>
561
+ <div class="window" onclick="showInfo('Student Lounge')">
562
+ <div class="window-pane"></div>
563
+ <div class="window-sill"></div>
564
+ </div>
565
+ <div class="window" onclick="showInfo('Conference Room')">
566
+ <div class="window-pane"></div>
567
+ <div class="window-sill"></div>
568
+ </div>
569
+ <!-- Repeat for 4 rows -->
570
+ <div class="window" onclick="showInfo('Biology Lab')">
571
+ <div class="window-pane"></div>
572
+ <div class="window-sill"></div>
573
+ </div>
574
+ <div class="window" onclick="showInfo('Mathematics Dept')">
575
+ <div class="window-pane"></div>
576
+ <div class="window-sill"></div>
577
+ </div>
578
+ <div class="window" onclick="showInfo('History Dept')">
579
+ <div class="window-pane"></div>
580
+ <div class="window-sill"></div>
581
+ </div>
582
+ <div class="window" onclick="showInfo('Language Center')">
583
+ <div class="window-pane"></div>
584
+ <div class="window-sill"></div>
585
+ </div>
586
+ <div class="window" onclick="showInfo('Research Lab')">
587
+ <div class="window-pane"></div>
588
+ <div class="window-sill"></div>
589
+ </div>
590
+ <div class="window" onclick="showInfo('Dean\'s Office')">
591
+ <div class="window-pane"></div>
592
+ <div class="window-sill"></div>
593
+ </div>
594
+ <div class="window" onclick="showInfo('Admissions')">
595
+ <div class="window-pane"></div>
596
+ <div class="window-sill"></div>
597
+ </div>
598
+ <div class="window" onclick="showInfo('Career Center')">
599
+ <div class="window-pane"></div>
600
+ <div class="window-sill"></div>
601
+ </div>
602
+ </div>
603
+
604
+ <div class="entrance">
605
+ <div class="door" onclick="showInfo('Main Entrance')">
606
+ <i class="fas fa-door-open"></i>
607
+ </div>
608
+ <div class="steps">
609
+ <div class="step"></div>
610
+ <div class="step"></div>
611
+ <div class="step"></div>
612
+ </div>
613
+ </div>
614
+ </div>
615
+
616
+ <div class="roof">
617
+ <div class="roof-decoration"></div>
618
+ </div>
619
+
620
+ <div class="clock-tower">
621
+ <div class="clock-face">
622
+ <div class="clock-hour" id="clock-hour"></div>
623
+ <div class="clock-minute" id="clock-minute"></div>
624
+ <div class="clock-second" id="clock-second"></div>
625
+ </div>
626
+ </div>
627
+
628
+ <div class="bell-tower">
629
+ <div class="bell"></div>
630
+ </div>
631
+
632
+ <div class="people">
633
+ <div class="person">
634
+ <div class="person-head"></div>
635
+ <div class="person-body"></div>
636
+ <div class="person-legs">
637
+ <div class="leg left"></div>
638
+ <div class="leg right"></div>
639
+ </div>
640
+ </div>
641
+ <div class="person">
642
+ <div class="person-head"></div>
643
+ <div class="person-body"></div>
644
+ <div class="person-legs">
645
+ <div class="leg left"></div>
646
+ <div class="leg right"></div>
647
+ </div>
648
+ </div>
649
+ <div class="person">
650
+ <div class="person-head"></div>
651
+ <div class="person-body"></div>
652
+ <div class="person-legs">
653
+ <div class="leg left"></div>
654
+ <div class="leg right"></div>
655
+ </div>
656
+ </div>
657
+ </div>
658
+
659
+ <div class="clouds" id="clouds"></div>
660
+
661
+ <div class="birds">
662
+ <div class="bird">🐦</div>
663
+ <div class="bird" style="top: 30px; animation-delay: -5s;">🦅</div>
664
+ <div class="bird" style="top: 10px; animation-delay: -10s;">🕊️</div>
665
+ </div>
666
+
667
+ <div class="university-name">Prestige University</div>
668
+ </div>
669
+
670
+ <div class="controls">
671
+ <button class="control-btn" id="dayNightBtn">
672
+ <i class="fas fa-moon"></i> Night Mode
673
+ </button>
674
+ <button class="control-btn" id="weatherBtn">
675
+ <i class="fas fa-cloud-sun"></i> Change Weather
676
+ </button>
677
+ <button class="control-btn" id="bellBtn">
678
+ <i class="fas fa-bell"></i> Ring Bell
679
+ </button>
680
+ </div>
681
+
682
+ <div class="time-display" id="time-display">
683
+ <i class="fas fa-clock"></i> <span id="time-text">10:15 AM</span>
684
+ </div>
685
+
686
+ <div class="info-panel" id="info-panel">
687
+ <button class="close-btn" onclick="closeInfo()">&times;</button>
688
+ <h3 id="info-title">Room Information</h3>
689
+ <p id="info-content">Select a room or area to see details about it.</p>
690
+ </div>
691
+ </div>
692
+
693
+ <script>
694
+ document.addEventListener('DOMContentLoaded', function() {
695
+ // Create clouds
696
+ function createClouds() {
697
+ const cloudsContainer = document.getElementById('clouds');
698
+ cloudsContainer.innerHTML = '';
699
+
700
+ for (let i = 0; i < 5; i++) {
701
+ const cloud = document.createElement('div');
702
+ cloud.className = 'cloud';
703
+
704
+ // Random size and position
705
+ const size = Math.random() * 100 + 50;
706
+ cloud.style.width = `${size}px`;
707
+ cloud.style.height = `${size/2}px`;
708
+ cloud.style.top = `${Math.random() * 50}px`;
709
+ cloud.style.left = `${Math.random() * 800 - 100}px`;
710
+
711
+ // Random animation duration
712
+ const duration = Math.random() * 40 + 40;
713
+ cloud.style.animationDuration = `${duration}s`;
714
+
715
+ cloudsContainer.appendChild(cloud);
716
+ }
717
+ }
718
+
719
+ // Update clock hands
720
+ function updateClock() {
721
+ const now = new Date();
722
+ const hours = now.getHours() % 12;
723
+ const minutes = now.getMinutes();
724
+ const seconds = now.getSeconds();
725
+
726
+ // Calculate angles
727
+ const hourAngle = (hours * 30) + (minutes * 0.5);
728
+ const minuteAngle = minutes * 6;
729
+ const secondAngle = seconds * 6;
730
+
731
+ // Apply rotations
732
+ document.getElementById('clock-hour').style.transform =
733
+ `translate(-50%, -100%) rotate(${hourAngle}deg)`;
734
+ document.getElementById('clock-minute').style.transform =
735
+ `translate(-50%, -100%) rotate(${minuteAngle}deg)`;
736
+ document.getElementById('clock-second').style.transform =
737
+ `translate(-50%, -100%) rotate(${secondAngle}deg)`;
738
+
739
+ // Update digital time
740
+ const timeString = now.toLocaleTimeString('en-US', {
741
+ hour: '2-digit',
742
+ minute: '2-digit'
743
+ });
744
+ document.getElementById('time-text').textContent = timeString;
745
+
746
+ setTimeout(updateClock, 1000);
747
+ }
748
+
749
+ // Show info panel
750
+ function showInfo(roomName) {
751
+ const infoPanel = document.getElementById('info-panel');
752
+ const infoTitle = document.getElementById('info-title');
753
+ const infoContent = document.getElementById('info-content');
754
+
755
+ infoTitle.textContent = roomName;
756
+
757
+ // Different descriptions for different rooms
758
+ const roomDescriptions = {
759
+ 'Main Entrance': 'The grand entrance to Prestige University. Open daily from 7AM to 9PM.',
760
+ 'Lecture Hall A': 'Capacity: 200 students. Equipped with modern audio-visual systems.',
761
+ 'Chemistry Lab': 'State-of-the-art laboratory with fume hoods and analytical equipment.',
762
+ 'Physics Department': 'Home to Nobel laureates and cutting-edge research facilities.',
763
+ 'Library': 'Over 1 million volumes. Open 24/7 during exam periods.',
764
+ 'Computer Lab': '200 workstations with specialized software for all disciplines.',
765
+ 'Faculty Office': 'Office hours posted on each professor\'s door.',
766
+ 'Student Lounge': 'Relaxation area with vending machines and comfortable seating.',
767
+ 'Conference Room': 'Reservations required. Capacity: 50 people.',
768
+ 'Biology Lab': 'Contains DNA sequencers, microscopes, and tissue culture facilities.',
769
+ 'Mathematics Dept': 'Offering tutoring services for all undergraduate courses.',
770
+ 'History Dept': 'Special collections include rare medieval manuscripts.',
771
+ 'Language Center': 'Interactive learning environment with native speaker tutors.',
772
+ 'Research Lab': 'Graduate students and faculty conduct advanced research here.',
773
+ 'Dean\'s Office': 'Administrative heart of the university.',
774
+ 'Admissions': 'Information about applications, tours, and requirements.',
775
+ 'Career Center': 'Resume workshops, interview prep, and job fairs.'
776
+ };
777
+
778
+ infoContent.textContent = roomDescriptions[roomName] ||
779
+ 'This room is part of our historic campus. More information available at the information desk.';
780
+
781
+ infoPanel.style.display = 'block';
782
+ }
783
+
784
+ // Close info panel
785
+ function closeInfo() {
786
+ document.getElementById('info-panel').style.display = 'none';
787
+ }
788
+
789
+ // Toggle day/night mode
790
+ document.getElementById('dayNightBtn').addEventListener('click', function() {
791
+ const body = document.body;
792
+ const isNight = body.style.background.includes('dark');
793
+
794
+ if (isNight) {
795
+ body.style.background = 'linear-gradient(to bottom, #87CEEB, #E0F7FA)';
796
+ document.querySelectorAll('.window').forEach(window => {
797
+ window.style.backgroundColor = '#3A5F8F';
798
+ });
799
+ this.innerHTML = '<i class="fas fa-moon"></i> Night Mode';
800
+ } else {
801
+ body.style.background = 'linear-gradient(to bottom, #0F2027, #203A43, #2C5364)';
802
+ document.querySelectorAll('.window').forEach(window => {
803
+ window.style.backgroundColor = '#FFD700';
804
+ });
805
+ this.innerHTML = '<i class="fas fa-sun"></i> Day Mode';
806
+ }
807
+ });
808
+
809
+ // Change weather
810
+ document.getElementById('weatherBtn').addEventListener('click', function() {
811
+ const clouds = document.getElementById('clouds');
812
+ const isRaining = clouds.style.animation.includes('rain');
813
+
814
+ if (isRaining) {
815
+ // Clear weather
816
+ clouds.innerHTML = '';
817
+ createClouds();
818
+ this.innerHTML = '<i class="fas fa-cloud-sun"></i> Change Weather';
819
+ } else {
820
+ // Rainy weather
821
+ clouds.innerHTML = '';
822
+ for (let i = 0; i < 100; i++) {
823
+ const drop = document.createElement('div');
824
+ drop.className = 'rain-drop';
825
+ drop.style.left = `${Math.random() * 100}%`;
826
+ drop.style.top = `${Math.random() * 100}%`;
827
+ drop.style.animationDuration = `${Math.random() * 0.5 + 0.5}s`;
828
+ drop.style.animationDelay = `${Math.random() * 2}s`;
829
+ clouds.appendChild(drop);
830
+ }
831
+ this.innerHTML = '<i class="fas fa-sun"></i> Clear Sky';
832
+ }
833
+ });
834
+
835
+ // Ring bell
836
+ document.getElementById('bellBtn').addEventListener('click', function() {
837
+ const bell = document.querySelector('.bell');
838
+ bell.style.animation = 'bellSwing 0.5s infinite ease-in-out';
839
+
840
+ setTimeout(() => {
841
+ bell.style.animation = 'bellSwing 5s infinite ease-in-out';
842
+ }, 2000);
843
+
844
+ this.innerHTML = '<i class="fas fa-bell"></i> Bell Ringing!';
845
+ setTimeout(() => {
846
+ this.innerHTML = '<i class="fas fa-bell"></i> Ring Bell';
847
+ }, 2000);
848
+ });
849
+
850
+ // Initialize
851
+ createClouds();
852
+ updateClock();
853
+
854
+ // Add rain drop style if not already present
855
+ if (!document.querySelector('style[data-rain]')) {
856
+ const style = document.createElement('style');
857
+ style.setAttribute('data-rain', 'true');
858
+ style.textContent = `
859
+ .rain-drop {
860
+ position: absolute;
861
+ width: 2px;
862
+ height: 15px;
863
+ background-color: rgba(255, 255, 255, 0.7);
864
+ animation: rainFall linear infinite;
865
+ }
866
+
867
+ @keyframes rainFall {
868
+ 0% { transform: translateY(-100px); opacity: 1; }
869
+ 100% { transform: translateY(600px); opacity: 0; }
870
+ }
871
+ `;
872
+ document.head.appendChild(style);
873
+ }
874
+ });
875
+ </script>
876
+ <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 <a href="https://enzostvs-deepsite.hf.space" style="color: #fff;" target="_blank" >DeepSite</a> <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;"></p></body>
877
+ </html>