nonamelife commited on
Commit
02d0963
·
verified ·
1 Parent(s): 947a53a

Update static/style.css

Browse files
Files changed (1) hide show
  1. static/style.css +446 -387
static/style.css CHANGED
@@ -1,387 +1,446 @@
1
- body {
2
- font-family: 'Roboto Mono', monospace;
3
- background: linear-gradient(135deg, #1C2526 0%, #252C2D 100%);
4
- margin: 0;
5
- padding: 0;
6
- color: #E0E7E8;
7
- min-height: 100vh;
8
- display: flex;
9
- flex-direction: column;
10
- }
11
-
12
- /* Navbar */
13
- .navbar {
14
- background: #2E3536;
15
- padding: 15px 30px;
16
- display: flex;
17
- justify-content: space-between;
18
- align-items: center;
19
- }
20
-
21
- .nav-brand {
22
- font-size: 1.5rem;
23
- color: #26A69A;
24
- }
25
-
26
- .nav-links {
27
- list-style: none;
28
- margin: 0;
29
- padding: 0;
30
- display: flex;
31
- gap: 20px;
32
- }
33
-
34
- .nav-links li a {
35
- color: #E0E7E8;
36
- text-decoration: none;
37
- font-weight: 500;
38
- transition: color 0.3s ease;
39
- }
40
-
41
- .nav-links li a:hover,
42
- .nav-links li a.active {
43
- color: #26A69A;
44
- }
45
-
46
- /* Hero Section */
47
- .hero {
48
- flex: 1;
49
- display: flex;
50
- flex-direction: column;
51
- justify-content: center;
52
- align-items: center;
53
- text-align: center;
54
- padding: 50px 20px;
55
- background: linear-gradient(135deg, rgba(28, 37, 38, 0.9), rgba(37, 44, 45, 0.9));
56
- }
57
-
58
- .hero h1 {
59
- font-family: 'Montserrat', sans-serif;
60
- font-size: 3rem;
61
- color: #E0E7E8;
62
- margin: 0 0 20px 0;
63
- }
64
-
65
- .hero-subtitle {
66
- font-size: 1.2rem;
67
- color: #A0A8A9;
68
- margin-bottom: 30px;
69
- }
70
-
71
- .cta-btn {
72
- padding: 12px 24px;
73
- background: #26A69A;
74
- color: #E0E7E8;
75
- text-decoration: none;
76
- border-radius: 5px;
77
- font-weight: 500;
78
- transition: background 0.3s ease;
79
- }
80
-
81
- .cta-btn:hover {
82
- background: #1E7E74;
83
- }
84
-
85
- /* Main Container */
86
- .container {
87
- flex: 1;
88
- max-width: 1000px;
89
- margin: 40px auto;
90
- padding: 20px;
91
- text-align: center;
92
- }
93
-
94
- header h1, .result-card h3 {
95
- font-family: 'Montserrat', sans-serif;
96
- font-size: 2rem;
97
- color: #E0E7E8;
98
- margin-bottom: 10px;
99
- }
100
-
101
- .subtitle {
102
- font-size: 1rem;
103
- color: #A0A8A9;
104
- margin-bottom: 30px;
105
- }
106
-
107
- .main-content {
108
- display: flex;
109
- flex-direction: column;
110
- align-items: center;
111
- gap: 20px;
112
- }
113
-
114
- /* Custom File Upload */
115
- .custom-file-upload {
116
- display: flex;
117
- flex-direction: column;
118
- align-items: center;
119
- justify-content: center;
120
- width: 300px;
121
- height: 150px;
122
- padding: 20px;
123
- border: 2px solid #2E3536;
124
- background: #252C2D;
125
- border-radius: 12px;
126
- cursor: pointer;
127
- transition: border-color 0.3s ease, transform 0.2s ease;
128
- }
129
-
130
- .custom-file-upload:hover {
131
- border-color: #26A69A;
132
- transform: scale(1.02);
133
- }
134
-
135
- .custom-file-upload .icon {
136
- margin-bottom: 15px;
137
- }
138
-
139
- .custom-file-upload .icon svg {
140
- width: 60px;
141
- height: 60px;
142
- fill: #26A69A;
143
- }
144
-
145
- .custom-file-upload .text span {
146
- font-size: 1.1rem;
147
- font-weight: 500;
148
- color: #E0E7E8;
149
- text-transform: uppercase;
150
- letter-spacing: 1px;
151
- }
152
-
153
- .custom-file-upload input {
154
- display: none;
155
- }
156
-
157
- /* Bouncing Particles Loader */
158
- .loader {
159
- display: flex;
160
- justify-content: center;
161
- align-items: center;
162
- width: 150px;
163
- height: 150px;
164
- margin: 20px auto;
165
- }
166
-
167
- @keyframes bounce {
168
- 0%, 100% { transform: translateY(36px); }
169
- 50% { transform: translateY(46px); }
170
- }
171
-
172
- @keyframes bounce2 {
173
- 0%, 100% { transform: translateY(46px); }
174
- 50% { transform: translateY(56px); }
175
- }
176
-
177
- @keyframes umbral {
178
- 0% { stop-color: #26A69A33; }
179
- 50% { stop-color: #26A69A88; }
180
- 100% { stop-color: #26A69A33; }
181
- }
182
-
183
- @keyframes particles {
184
- 0%, 100% { transform: translateY(16px); }
185
- 50% { transform: translateY(6px); }
186
- }
187
-
188
- #particles {
189
- animation: particles 4s ease-in-out infinite;
190
- }
191
-
192
- #animatedStop {
193
- animation: umbral 4s infinite;
194
- }
195
-
196
- #bounce {
197
- animation: bounce 4s ease-in-out infinite;
198
- transform: translateY(36px);
199
- }
200
-
201
- #bounce2 {
202
- animation: bounce2 4s ease-in-out infinite;
203
- transform: translateY(46px);
204
- animation-delay: 0.5s;
205
- }
206
-
207
- /* Results Section */
208
- .results-section {
209
- padding: 20px 0;
210
- }
211
-
212
- .results-grid {
213
- display: grid;
214
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
215
- gap: 20px;
216
- }
217
-
218
- .result-card {
219
- background: #252C2D;
220
- padding: 15px;
221
- border-radius: 8px;
222
- text-align: center;
223
- }
224
-
225
- .result-card img {
226
- width: 100%;
227
- max-width: 300px;
228
- height: auto;
229
- border-radius: 10px;
230
- margin: 0 auto 10px auto;
231
- display: block;
232
- box-shadow: 0 0 8px rgba(0,0,0,0.3);
233
- }
234
-
235
- .result-card h3 {
236
- font-size: 1.5rem;
237
- color: #26A69A;
238
- margin: 0 0 10px 0;
239
- }
240
-
241
- .result-card p {
242
- font-size: 1rem;
243
- color: #E0E7E8;
244
- margin: 0;
245
- }
246
-
247
- .back-btn {
248
- display: inline-block;
249
- padding: 10px 20px;
250
- background: #2E3536;
251
- color: #E0E7E8;
252
- text-decoration: none;
253
- border-radius: 5px;
254
- margin-top: 20px;
255
- transition: background 0.3s ease;
256
- }
257
-
258
- .back-btn:hover {
259
- background: #26A69A;
260
- }
261
-
262
- /* Error Message */
263
- .error {
264
- color: #FF6B6B;
265
- font-size: 1rem;
266
- margin-top: 20px;
267
- background-color: rgba(255, 107, 107, 0.2);
268
- padding: 10px;
269
- border-radius: 8px;
270
- }
271
-
272
- /* About Section */
273
- .about-section {
274
- text-align: left;
275
- padding: 20px;
276
- background: #252C2D;
277
- border-radius: 8px;
278
- }
279
-
280
- .about-section p {
281
- color: #A0A8A9;
282
- line-height: 1.6;
283
- }
284
-
285
- /* Team Section */
286
- .team-section {
287
- padding: 20px 0;
288
- }
289
-
290
- .team-list {
291
- display: grid;
292
- grid-template-columns: repeat(3, 1fr);
293
- gap: 30px;
294
- justify-content: center;
295
- }
296
-
297
- .team-card h3 {
298
- font-size: 1.1rem;
299
- color: #E0E7E8;
300
- margin: 0;
301
- }
302
-
303
- .team-card .role {
304
- font-size: 0.9rem;
305
- color: #26A69A;
306
- margin: 5px 0;
307
- }
308
-
309
- .team-card p {
310
- font-size: 0.8rem;
311
- color: #A0A8A9;
312
- margin: 5px 0;
313
- }
314
-
315
- .edit-btn {
316
- padding: 8px 16px;
317
- background: #2E3536;
318
- color: #E0E7E8;
319
- border: none;
320
- border-radius: 5px;
321
- cursor: pointer;
322
- transition: background 0.3s ease;
323
- }
324
-
325
- .edit-btn:hover {
326
- background: #26A69A;
327
- }
328
-
329
- .edit-input {
330
- width: 100%;
331
- padding: 8px;
332
- margin: 5px 0;
333
- background: #1C2526;
334
- border: 1px solid #2E3536;
335
- border-radius: 5px;
336
- color: #E0E7E8;
337
- font-family: 'Roboto Mono', monospace;
338
- }
339
-
340
- /* Footer */
341
- .footer {
342
- background: #2E3536;
343
- padding: 15px;
344
- text-align: center;
345
- color: #A0A8A9;
346
- font-size: 0.9rem;
347
- }
348
-
349
- /* Responsive Design */
350
- @media (max-width: 600px) {
351
- .navbar {
352
- flex-direction: column;
353
- gap: 10px;
354
- }
355
- .nav-links {
356
- flex-direction: column;
357
- text-align: center;
358
- }
359
- .hero h1 {
360
- font-size: 2rem;
361
- }
362
- .hero-subtitle {
363
- font-size: 1rem;
364
- }
365
- .custom-file-upload {
366
- width: 100%;
367
- max-width: 300px;
368
- height: 120px;
369
- }
370
- .custom-file-upload .icon svg {
371
- width: 50px;
372
- height: 50px;
373
- }
374
- .custom-file-upload .text span {
375
- font-size: 1rem;
376
- }
377
- .loader svg {
378
- width: 120px;
379
- height: 120px;
380
- }
381
- .results-grid {
382
- grid-template-columns: 1fr;
383
- }
384
- .result-card img {
385
- max-width: 80%;
386
- }
387
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Color Palette Variables for easy reference */
2
+ :root {
3
+ --floral-white: #fffcf2;
4
+ --timberwolf: #ccc5b9;
5
+ --black-olive: #403d39;
6
+ --eerie-black: #252422;
7
+ --flame: #eb5e28;
8
+ }
9
+
10
+ body {
11
+ font-family: 'Roboto Mono', monospace;
12
+ background: linear-gradient(135deg, var(--eerie-black) 0%, #2e2d2aff 100%);
13
+ margin: 0;
14
+ padding: 0;
15
+ color: var(--floral-white);
16
+ min-height: 100vh; /* This is already set correctly on body */
17
+ display: flex;
18
+ flex-direction: column;
19
+ }
20
+
21
+ /* Navbar */
22
+ .navbar {
23
+ background: var(--black-olive);
24
+ padding: 15px 30px;
25
+ display: flex;
26
+ justify-content: space-between;
27
+ align-items: center;
28
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
29
+ }
30
+
31
+ .nav-brand {
32
+ font-size: 1.5rem;
33
+ color: var(--flame);
34
+ }
35
+
36
+ .nav-links {
37
+ list-style: none;
38
+ margin: 0;
39
+ padding: 0;
40
+ display: flex;
41
+ gap: 20px;
42
+ }
43
+
44
+ .nav-links li a {
45
+ color: var(--floral-white);
46
+ text-decoration: none;
47
+ font-weight: 500;
48
+ transition: color 0.3s ease;
49
+ }
50
+
51
+ .nav-links li a:hover,
52
+ .nav-links li a.active {
53
+ color: var(--flame);
54
+ }
55
+
56
+ /* Hero Section */
57
+ .hero {
58
+ flex: 1; /* This is crucial for distributing available space */
59
+ display: flex;
60
+ flex-direction: column;
61
+ justify-content: center;
62
+ align-items: center;
63
+ text-align: center;
64
+ padding: 50px 20px;
65
+ background: linear-gradient(135deg, rgba(37, 36, 34, 0.9), rgba(64, 61, 57, 0.8));
66
+ min-height: calc(100vh - 80px); /* Adjust this line */
67
+ /*
68
+ * Explanation for min-height:
69
+ * - 100vh makes it full viewport height.
70
+ * - The `calc()` is used to subtract the fixed height of your navbar.
71
+ * Assuming navbar height is around 50px + 15px top/bottom padding = 80px.
72
+ * Adjust '80px' if your navbar's actual height changes.
73
+ * - If you want the hero to be *exactly* 100vh and let the navbar overlap or push content,
74
+ * you could just use min-height: 100vh; and adjust body flex accordingly.
75
+ * However, keeping the navbar visible is usually desired.
76
+ */
77
+ }
78
+
79
+
80
+ .hero h1 {
81
+ font-family: 'Montserrat', sans-serif;
82
+ font-size: 3rem;
83
+ color: var(--floral-white);
84
+ margin: 0 0 20px 0;
85
+ }
86
+
87
+ .hero-subtitle {
88
+ font-size: 1.2rem;
89
+ color: var(--timberwolf);
90
+ margin-bottom: 30px;
91
+ }
92
+
93
+ .cta-btn {
94
+ padding: 12px 24px;
95
+ background: var(--flame);
96
+ color: var(--eerie-black);
97
+ text-decoration: none;
98
+ border-radius: 5px;
99
+ font-weight: 500;
100
+ transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
101
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
102
+ }
103
+
104
+ .cta-btn:hover {
105
+ background: #cc4d1f;
106
+ transform: translateY(-2px);
107
+ box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
108
+ }
109
+
110
+ /* Main Container (Assuming this wraps the tool page content) */
111
+ .container {
112
+ flex: 1;
113
+ max-width: 1000px;
114
+ margin: 40px auto;
115
+ padding: 20px;
116
+ text-align: center;
117
+ }
118
+
119
+ header h1, .result-card h3 {
120
+ font-family: 'Montserrat', sans-serif;
121
+ font-size: 2rem;
122
+ color: var(--floral-white);
123
+ margin-bottom: 10px;
124
+ }
125
+
126
+ .subtitle {
127
+ font-size: 1rem;
128
+ color: var(--timberwolf);
129
+ margin-bottom: 30px;
130
+ }
131
+
132
+ .main-content {
133
+ display: flex;
134
+ flex-direction: column;
135
+ align-items: center;
136
+ gap: 20px;
137
+ }
138
+
139
+ /* Custom File Upload */
140
+ .custom-file-upload {
141
+ display: flex;
142
+ flex-direction: column;
143
+ align-items: center;
144
+ justify-content: center;
145
+ width: 300px;
146
+ height: 150px;
147
+ padding: 20px;
148
+ border: 2px solid var(--black-olive);
149
+ background: var(--eerie-black);
150
+ border-radius: 12px;
151
+ cursor: pointer;
152
+ transition: border-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
153
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
154
+ }
155
+
156
+ .custom-file-upload:hover {
157
+ border-color: var(--flame);
158
+ transform: scale(1.03);
159
+ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
160
+ }
161
+
162
+ .custom-file-upload .icon {
163
+ margin-bottom: 15px;
164
+ }
165
+
166
+ .custom-file-upload .icon svg {
167
+ width: 60px;
168
+ height: 60px;
169
+ fill: var(--flame);
170
+ }
171
+
172
+ .custom-file-upload .text span {
173
+ font-size: 1.1rem;
174
+ font-weight: 500;
175
+ color: var(--floral-white);
176
+ text-transform: uppercase;
177
+ letter-spacing: 1px;
178
+ }
179
+
180
+ .custom-file-upload input {
181
+ display: none;
182
+ }
183
+
184
+ /* Bouncing Particles Loader */
185
+ .loader {
186
+ display: flex;
187
+ justify-content: center;
188
+ align-items: center;
189
+ width: 150px;
190
+ height: 150px;
191
+ margin: 20px auto;
192
+ }
193
+
194
+ @keyframes bounce {
195
+ 0%, 100% { transform: translateY(36px); }
196
+ 50% { transform: translateY(46px); }
197
+ }
198
+
199
+ @keyframes bounce2 {
200
+ 0%, 100% { transform: translateY(46px); }
201
+ 50% { transform: translateY(56px); }
202
+ }
203
+
204
+ /* Adjust loader colors to match new palette */
205
+ @keyframes umbral {
206
+ 0% { stop-color: #eb5e2833; }
207
+ 50% { stop-color: #eb5e2888; }
208
+ 100% { stop-color: #eb5e2833; }
209
+ }
210
+
211
+ @keyframes particles {
212
+ 0%, 100% { transform: translateY(16px); }
213
+ 50% { transform: translateY(6px); }
214
+ }
215
+
216
+ #particles {
217
+ animation: particles 4s ease-in-out infinite;
218
+ }
219
+
220
+ #animatedStop {
221
+ animation: umbral 4s infinite;
222
+ }
223
+
224
+ #bounce {
225
+ animation: bounce 4s ease-in-out infinite;
226
+ transform: translateY(36px);
227
+ }
228
+
229
+ #bounce2 {
230
+ animation: bounce2 4s ease-in-out infinite;
231
+ transform: translateY(46px);
232
+ animation-delay: 0.5s;
233
+ }
234
+
235
+ /* Results Section */
236
+ .results-section {
237
+ padding: 20px 0;
238
+ }
239
+
240
+ .results-grid {
241
+ display: grid;
242
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
243
+ gap: 20px;
244
+ }
245
+
246
+ .result-card {
247
+ background: var(--eerie-black);
248
+ padding: 15px;
249
+ border-radius: 8px;
250
+ text-align: center;
251
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
252
+ }
253
+
254
+ .result-card img {
255
+ width: 100%;
256
+ max-width: 300px;
257
+ height: auto;
258
+ border-radius: 10px;
259
+ margin: 0 auto 10px auto;
260
+ display: block;
261
+ box-shadow: 0 0 8px rgba(0,0,0,0.3);
262
+ }
263
+
264
+ .result-card h3 {
265
+ font-size: 1.5rem;
266
+ color: var(--flame);
267
+ margin: 0 0 10px 0;
268
+ }
269
+
270
+ .result-card p {
271
+ font-size: 1rem;
272
+ color: var(--floral-white);
273
+ margin: 0;
274
+ }
275
+
276
+ .back-btn {
277
+ display: inline-block;
278
+ padding: 10px 20px;
279
+ background: var(--black-olive);
280
+ color: var(--floral-white);
281
+ text-decoration: none;
282
+ border-radius: 5px;
283
+ margin-top: 20px;
284
+ transition: background 0.3s ease, transform 0.2s ease;
285
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
286
+ }
287
+
288
+ .back-btn:hover {
289
+ background: var(--flame);
290
+ transform: translateY(-1px);
291
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
292
+ }
293
+
294
+ /* Error Message */
295
+ .error {
296
+ color: #ff9187;
297
+ font-size: 1rem;
298
+ margin-top: 20px;
299
+ background-color: rgba(235, 94, 40, 0.2);
300
+ padding: 10px;
301
+ border-radius: 8px;
302
+ }
303
+
304
+ /* About Section */
305
+ .about-section {
306
+ text-align: center;
307
+ text-wrap: wrap;
308
+ margin-left: auto;
309
+ margin-right: auto;
310
+ max-width: 800px;
311
+ padding: 20px;
312
+ background: var(--eerie-black);
313
+ border-radius: 8px;
314
+ color: var(--floral-white);
315
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
316
+ }
317
+
318
+ .about-section h2 {
319
+ font-family: 'Montserrat', sans-serif;
320
+ color: var(--flame);
321
+ margin-bottom: 15px;
322
+ }
323
+
324
+ .about-section p {
325
+ color: var(--timberwolf);
326
+ line-height: 1.6;
327
+ }
328
+
329
+ /* Team Section */
330
+ .team-section {
331
+ padding: 20px 0;
332
+ }
333
+
334
+ .team-list {
335
+ display: grid;
336
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
337
+ gap: 30px;
338
+ justify-content: center;
339
+ }
340
+
341
+ .team-card {
342
+ background: var(--eerie-black);
343
+ padding: 20px;
344
+ border-radius: 8px;
345
+ text-align: center;
346
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
347
+ }
348
+
349
+ .team-card h3 {
350
+ font-size: 1.1rem;
351
+ color: var(--floral-white);
352
+ margin: 0;
353
+ }
354
+
355
+ .team-card .role {
356
+ font-size: 0.9rem;
357
+ color: var(--flame);
358
+ margin: 5px 0;
359
+ }
360
+
361
+ .team-card p {
362
+ font-size: 0.8rem;
363
+ color: var(--timberwolf);
364
+ margin: 5px 0;
365
+ }
366
+
367
+ .edit-btn {
368
+ padding: 8px 16px;
369
+ background: var(--black-olive);
370
+ color: var(--floral-white);
371
+ border: none;
372
+ border-radius: 5px;
373
+ cursor: pointer;
374
+ transition: background 0.3s ease, transform 0.2s ease;
375
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
376
+ }
377
+
378
+ .edit-btn:hover {
379
+ background: var(--flame);
380
+ transform: translateY(-1px);
381
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
382
+ }
383
+
384
+ .edit-input {
385
+ width: 100%;
386
+ padding: 8px;
387
+ margin: 5px 0;
388
+ background: var(--eerie-black);
389
+ border: 1px solid var(--black-olive);
390
+ border-radius: 5px;
391
+ color: var(--floral-white);
392
+ font-family: 'Roboto Mono', monospace;
393
+ }
394
+
395
+ /* Footer */
396
+ .footer {
397
+ background: var(--black-olive);
398
+ padding: 15px;
399
+ text-align: center;
400
+ color: var(--timberwolf);
401
+ font-size: 0.9rem;
402
+ box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
403
+ }
404
+
405
+ /* Responsive Design */
406
+ @media (max-width: 600px) {
407
+ .navbar {
408
+ flex-direction: column;
409
+ gap: 10px;
410
+ }
411
+ .nav-links {
412
+ flex-direction: column;
413
+ text-align: center;
414
+ }
415
+ .hero h1 {
416
+ font-size: 2rem;
417
+ }
418
+ .hero-subtitle {
419
+ font-size: 1rem;
420
+ }
421
+ .custom-file-upload {
422
+ width: 100%;
423
+ max-width: 300px;
424
+ height: 120px;
425
+ }
426
+ .custom-file-upload .icon svg {
427
+ width: 50px;
428
+ height: 50px;
429
+ }
430
+ .custom-file-upload .text span {
431
+ font-size: 1rem;
432
+ }
433
+ .loader svg {
434
+ width: 120px;
435
+ height: 120px;
436
+ }
437
+ .results-grid {
438
+ grid-template-columns: 1fr;
439
+ }
440
+ .result-card img {
441
+ max-width: 80%;
442
+ }
443
+ .team-list {
444
+ grid-template-columns: 1fr;
445
+ }
446
+ }