RushiMane2003 commited on
Commit
46c5eb5
·
verified ·
1 Parent(s): 5aefaa8

Update templates/welcome.html

Browse files
Files changed (1) hide show
  1. templates/welcome.html +336 -1
templates/welcome.html CHANGED
@@ -4,7 +4,342 @@
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <title>🌧️ Rainwater Quest Adventure</title>
7
- <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  </head>
9
  <body>
10
  <div class="welcome-container">
 
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
  <title>🌧️ Rainwater Quest Adventure</title>
7
+ <style>
8
+ /* Import Google Fonts */
9
+ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Roboto:wght@300;400;500;700&display=swap');
10
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');
11
+
12
+
13
+ /* Main styling */
14
+ body {
15
+ background: linear-gradient(135deg, #e0f2f7 0%, #b3e0f2 100%); /* Light blue gradient */
16
+ font-family: 'Roboto', sans-serif;
17
+ margin: 0;
18
+ padding: 0;
19
+ color: #333; /* Default text color */
20
+ }
21
+
22
+ .container {
23
+ max-width: 1200px;
24
+ margin: 20px auto;
25
+ padding: 20px;
26
+ }
27
+
28
+ /* Header styling */
29
+ .game-header {
30
+ background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1);
31
+ background-size: 300% 300%;
32
+ animation: gradientShift 3s ease infinite;
33
+ color: white;
34
+ text-align: center;
35
+ padding: 20px;
36
+ border-radius: 15px;
37
+ margin-bottom: 20px;
38
+ box-shadow: 0 8px 32px rgba(0,0,0,0.3);
39
+ font-family: 'Orbitron', monospace;
40
+ font-weight: 900;
41
+ text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
42
+ }
43
+
44
+ @keyframes gradientShift {
45
+ 0% { background-position: 0% 50%; }
46
+ 50% { background-position: 100% 50%; }
47
+ 100% { background-position: 0% 50%; }
48
+ }
49
+
50
+ /* Game card styling */
51
+ .game-card {
52
+ background: rgba(255, 255, 255, 0.95);
53
+ border-radius: 20px;
54
+ padding: 25px;
55
+ margin: 15px 0;
56
+ box-shadow: 0 15px 35px rgba(0,0,0,0.1);
57
+ backdrop-filter: blur(10px);
58
+ border: 2px solid rgba(255,255,255,0.18);
59
+ transition: all 0.3s ease;
60
+ }
61
+
62
+ .game-card:hover {
63
+ transform: translateY(-5px);
64
+ box-shadow: 0 20px 40px rgba(0,0,0,0.15);
65
+ }
66
+
67
+ /* Progress bar styling */
68
+ .progress-container {
69
+ background: rgba(255,255,255,0.2);
70
+ border-radius: 25px;
71
+ padding: 5px;
72
+ margin: 20px 0;
73
+ }
74
+
75
+ .progress-bar {
76
+ background: linear-gradient(90deg, #00C9FF, #92FE9D);
77
+ height: 30px;
78
+ border-radius: 20px;
79
+ transition: width 0.5s ease;
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ color: white;
84
+ font-weight: bold;
85
+ text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
86
+ min-width: 0; /* Allow it to be 0% width */
87
+ }
88
+
89
+ /* XP and Level styling */
90
+ .stats-container {
91
+ display: flex;
92
+ justify-content: space-around;
93
+ margin: 20px 0;
94
+ flex-wrap: wrap; /* Allow wrapping on smaller screens */
95
+ gap: 10px; /* Space between items */
96
+ }
97
+
98
+ .stat-item {
99
+ background: linear-gradient(135deg, #667eea, #764ba2);
100
+ color: white;
101
+ padding: 15px 20px;
102
+ border-radius: 15px;
103
+ text-align: center;
104
+ min-width: 120px;
105
+ box-shadow: 0 5px 15px rgba(0,0,0,0.2);
106
+ font-family: 'Orbitron', monospace;
107
+ flex-grow: 1; /* Allow items to grow */
108
+ }
109
+
110
+ .stat-value {
111
+ font-size: 24px;
112
+ font-weight: 900;
113
+ margin-bottom: 5px;
114
+ }
115
+
116
+ .stat-label {
117
+ font-size: 12px;
118
+ opacity: 0.8;
119
+ }
120
+
121
+ /* General button styling */
122
+ .button-group {
123
+ display: flex;
124
+ gap: 10px; /* Space between buttons */
125
+ flex-wrap: wrap;
126
+ justify-content: center;
127
+ margin-top: 20px;
128
+ }
129
+
130
+ .button-group button, .button-full-width {
131
+ background: linear-gradient(135deg, #667eea, #764ba2);
132
+ color: white;
133
+ border: none;
134
+ border-radius: 15px;
135
+ padding: 15px 25px;
136
+ cursor: pointer;
137
+ transition: all 0.3s ease;
138
+ font-size: 16px;
139
+ font-weight: 500;
140
+ text-align: center;
141
+ box-shadow: 0 5px 15px rgba(0,0,0,0.2);
142
+ flex: 1; /* Make buttons grow to fill space */
143
+ min-width: 150px; /* Minimum width for buttons */
144
+ text-decoration: none; /* For anchor tags acting as buttons */
145
+ display: inline-block;
146
+ }
147
+
148
+ .button-full-width {
149
+ width: 100%;
150
+ }
151
+
152
+ .button-group button:hover, .button-full-width:hover {
153
+ transform: translateY(-3px);
154
+ box-shadow: 0 8px 25px rgba(0,0,0,0.3);
155
+ background: linear-gradient(135deg, #7b8cec, #8a5bb8);
156
+ }
157
+
158
+
159
+ /* Achievement badge */
160
+ .achievement {
161
+ background: linear-gradient(45deg, #FFD700, #FFA500);
162
+ color: #333;
163
+ padding: 10px 20px;
164
+ border-radius: 25px;
165
+ display: inline-block;
166
+ margin: 10px 5px;
167
+ font-weight: bold;
168
+ box-shadow: 0 5px 15px rgba(255, 215, 0, 0.3);
169
+ animation: pulse 2s infinite;
170
+ }
171
+
172
+ @keyframes pulse {
173
+ 0% { transform: scale(1); }
174
+ 50% { transform: scale(1.05); }
175
+ 100% { transform: scale(1); }
176
+ }
177
+
178
+ /* Welcome screen styling */
179
+ .welcome-container {
180
+ text-align: center;
181
+ padding: 50px;
182
+ background: rgba(255,255,255,0.1);
183
+ border-radius: 30px;
184
+ backdrop-filter: blur(10px);
185
+ margin: 20px auto; /* Centered */
186
+ max-width: 900px;
187
+ box-shadow: 0 20px 40px rgba(0,0,0,0.1);
188
+ }
189
+
190
+ .welcome-title {
191
+ font-size: 3.5em;
192
+ font-family: 'Orbitron', monospace;
193
+ font-weight: 900;
194
+ background: linear-gradient(45deg, #FF6B6B, #4ECDC4, #45B7D1);
195
+ -webkit-background-clip: text;
196
+ -webkit-text-fill-color: transparent;
197
+ margin-bottom: 20px;
198
+ text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
199
+ }
200
+
201
+ .welcome-text {
202
+ font-size: 1.3em;
203
+ color: #34495e; /* Darker text for readability */
204
+ margin: 30px 0;
205
+ line-height: 1.6;
206
+ }
207
+
208
+ .welcome-text strong {
209
+ color: #2c3e50;
210
+ }
211
+
212
+ .welcome-image {
213
+ max-width: 100%;
214
+ max-height: 100px; /* ✅ fixed syntax */
215
+ border-radius: 12px; /* slightly softer than 15px */
216
+ margin-top:60px;
217
+ object-fit: contain; /* keeps aspect ratio without distortion */
218
+ display: block;
219
+ margin-left: auto;
220
+ margin-right: auto; /* ✅ centers the image */
221
+ box-shadow: 0 6px 15px rgba(0,0,0,0.15); /* softer shadow for a clean look */
222
+ }
223
+
224
+
225
+ /* Certificate styling */
226
+ .certificate {
227
+ background: linear-gradient(135deg, #667eea, #764ba2);
228
+ color: white;
229
+ padding: 40px;
230
+ border-radius: 20px;
231
+ text-align: center;
232
+ margin: 20px auto;
233
+ max-width: 600px;
234
+ box-shadow: 0 20px 40px rgba(0,0,0,0.3);
235
+ border: 3px solid #FFD700;
236
+ }
237
+
238
+ /* Video container styling */
239
+ .video-container {
240
+ border-radius: 20px;
241
+ overflow: hidden;
242
+ box-shadow: 0 15px 35px rgba(0,0,0,0.2);
243
+ margin: 20px 0;
244
+ width: 100%; /* Ensure video container takes full width */
245
+ }
246
+
247
+ .video-container video {
248
+ width: 100%;
249
+ height: auto;
250
+ display: block;
251
+ }
252
+
253
+ /* Question container styling */
254
+ .question-container {
255
+ background: linear-gradient(135deg, #FF6B6B, #4ECDC4);
256
+ color: white;
257
+ padding: 25px;
258
+ border-radius: 20px;
259
+ margin: 20px 0;
260
+ box-shadow: 0 10px 30px rgba(0,0,0,0.2);
261
+ text-align: center;
262
+ }
263
+
264
+ /* Video watched indicator */
265
+ .video-watched {
266
+ background: rgba(76, 175, 80, 0.1);
267
+ border: 2px solid #4CAF50;
268
+ border-radius: 10px;
269
+ padding: 15px;
270
+ margin: 10px 0;
271
+ color: #2E7D32;
272
+ font-weight: bold;
273
+ text-align: center;
274
+ }
275
+
276
+ /* Feedback messages */
277
+ .feedback.success {
278
+ background-color: #d4edda;
279
+ color: #155724;
280
+ border: 1px solid #badbcc;
281
+ padding: 15px;
282
+ margin: 15px 0;
283
+ border-radius: 8px;
284
+ text-align: center;
285
+ }
286
+
287
+ .feedback.error {
288
+ background-color: #f8d7da;
289
+ color: #721c24;
290
+ border: 1px solid #f5c6cb;
291
+ padding: 15px;
292
+ margin: 15px 0;
293
+ border-radius: 8px;
294
+ text-align: center;
295
+ }
296
+
297
+ .feedback.info {
298
+ background-color: #d1ecf1;
299
+ color: #0c5460;
300
+ border: 1px solid #bee5eb;
301
+ padding: 15px;
302
+ margin: 15px 0;
303
+ border-radius: 8px;
304
+ text-align: center;
305
+ }
306
+
307
+ /* Utility classes for layout */
308
+ .columns-3 {
309
+ display: flex;
310
+ justify-content: center;
311
+ gap: 20px;
312
+ margin-top: 20px;
313
+ flex-wrap: wrap; /* Allow wrapping */
314
+ }
315
+
316
+ .columns-3 > div {
317
+ flex: 1;
318
+ min-width: 250px; /* Ensure columns don't get too small */
319
+ }
320
+
321
+ .columns-5 {
322
+ display: flex;
323
+ justify-content: space-around;
324
+ gap: 10px;
325
+ margin-top: 20px;
326
+ flex-wrap: wrap;
327
+ }
328
+
329
+ .columns-5 > div {
330
+ flex: 1;
331
+ min-width: 150px;
332
+ }
333
+
334
+ h1, h2, h3, h4, h5, h6 {
335
+ font-family: 'Orbitron', monospace;
336
+ color: #34495e;
337
+ }
338
+
339
+ p {
340
+ line-height: 1.6;
341
+ }
342
+ </style>
343
  </head>
344
  <body>
345
  <div class="welcome-container">