|
| 1 | +/* Import FontAwesome CSS */ |
| 2 | +@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css'); |
| 3 | + |
1 | 4 | /* Python CDMX Custom Styles */ |
2 | 5 | :root { |
3 | 6 | --python-green: #269f46; |
|
9 | 12 | --python-light-gray: #f5f5f5; |
10 | 13 | } |
11 | 14 |
|
| 15 | +/* FontAwesome Icons Support */ |
| 16 | +.fab, .fas, .far, .fal { |
| 17 | + font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "Font Awesome 6 Solid", "Font Awesome 6 Regular", "Font Awesome 6 Light"; |
| 18 | + font-weight: 900; |
| 19 | + font-style: normal; |
| 20 | + font-variant: normal; |
| 21 | + text-rendering: auto; |
| 22 | + -webkit-font-smoothing: antialiased; |
| 23 | +} |
| 24 | + |
| 25 | +.fab { |
| 26 | + font-family: "Font Awesome 6 Brands"; |
| 27 | + font-weight: 400; |
| 28 | +} |
| 29 | + |
| 30 | +.fas { |
| 31 | + font-family: "Font Awesome 6 Free"; |
| 32 | + font-weight: 900; |
| 33 | +} |
| 34 | + |
| 35 | +.far { |
| 36 | + font-family: "Font Awesome 6 Free"; |
| 37 | + font-weight: 400; |
| 38 | +} |
| 39 | + |
| 40 | +/* Ensure FontAwesome icons are visible */ |
| 41 | +i[class*="fa-"] { |
| 42 | + display: inline-block; |
| 43 | + font-style: normal; |
| 44 | + font-variant: normal; |
| 45 | + text-rendering: auto; |
| 46 | + -webkit-font-smoothing: antialiased; |
| 47 | +} |
| 48 | + |
12 | 49 | /* Hero Section */ |
13 | 50 | .hero-section { |
14 | 51 | background: linear-gradient(135deg, var(--python-green) 0%, var(--python-black) 100%); |
|
211 | 248 | } |
212 | 249 |
|
213 | 250 | .btn-secondary { |
214 | | - background: var(--python-light-gray); |
215 | | - color: var(--python-gray); |
| 251 | + background: var(--python-gray); |
| 252 | + color: white; |
216 | 253 | } |
217 | 254 |
|
218 | 255 | .btn-secondary:hover { |
219 | | - background: #e0e0e0; |
| 256 | + background: #555; |
220 | 257 | transform: translateY(-2px); |
221 | 258 | } |
222 | 259 |
|
|
233 | 270 | /* Status badges */ |
234 | 271 | .status-badge { |
235 | 272 | display: inline-block; |
236 | | - padding: 0.3rem 0.8rem; |
| 273 | + padding: 0.25rem 0.75rem; |
237 | 274 | border-radius: 15px; |
238 | 275 | font-size: 0.8rem; |
239 | | - font-weight: 500; |
| 276 | + font-weight: 600; |
240 | 277 | } |
241 | 278 |
|
242 | 279 | .status-completed { |
243 | | - background: rgba(38, 159, 70, 0.1); |
244 | | - color: var(--python-green); |
| 280 | + background: var(--python-green); |
| 281 | + color: white; |
245 | 282 | } |
246 | 283 |
|
247 | 284 | .status-upcoming { |
248 | | - background: rgba(227, 47, 66, 0.1); |
249 | | - color: var(--python-red); |
| 285 | + background: var(--python-red); |
| 286 | + color: white; |
250 | 287 | } |
251 | 288 |
|
252 | 289 | .status-planned { |
253 | | - background: rgba(102, 102, 102, 0.1); |
254 | | - color: var(--python-gray); |
| 290 | + background: var(--python-gray); |
| 291 | + color: white; |
255 | 292 | } |
256 | 293 |
|
257 | 294 | /* Responsive Design */ |
|
278 | 315 | } |
279 | 316 | } |
280 | 317 |
|
281 | | -/* Dark mode adjustments */ |
| 318 | +/* Dark mode support */ |
282 | 319 | [data-md-color-scheme="slate"] { |
283 | | - --python-light-gray: #2d3748; |
| 320 | + --python-light-gray: #2d2d2d; |
284 | 321 | } |
285 | 322 |
|
286 | 323 | [data-md-color-scheme="slate"] .stat-card, |
287 | 324 | [data-md-color-scheme="slate"] .feature-card, |
288 | 325 | [data-md-color-scheme="slate"] .meetup-card, |
289 | 326 | [data-md-color-scheme="slate"] .community-stats { |
290 | | - background: var(--md-default-bg-color); |
291 | | - border-color: var(--md-default-fg-color--lightest); |
| 327 | + background: #2d2d2d; |
| 328 | + border-color: #444; |
| 329 | + color: #fff; |
292 | 330 | } |
293 | 331 |
|
294 | 332 | /* Animations */ |
295 | 333 | @keyframes fadeInUp { |
296 | 334 | from { |
297 | 335 | opacity: 0; |
298 | | - transform: translateY(20px); |
| 336 | + transform: translateY(30px); |
299 | 337 | } |
300 | 338 | to { |
301 | 339 | opacity: 1; |
|
315 | 353 | } |
316 | 354 |
|
317 | 355 | ::-webkit-scrollbar-track { |
318 | | - background: var(--python-light-gray); |
| 356 | + background: #f1f1f1; |
319 | 357 | } |
320 | 358 |
|
321 | 359 | ::-webkit-scrollbar-thumb { |
|
327 | 365 | background: var(--python-light-green); |
328 | 366 | } |
329 | 367 |
|
330 | | -/* Estilos adaptados del ejemplo Materialize/website.css */ |
331 | | - |
| 368 | +/* Utility classes */ |
332 | 369 | .pyred { |
333 | | - background-color: #E25D60 !important; |
| 370 | + color: var(--python-red); |
334 | 371 | } |
335 | 372 |
|
336 | 373 | .pygreen { |
337 | | - background-color: #468A2E !important; |
| 374 | + color: var(--python-green); |
338 | 375 | } |
339 | 376 |
|
| 377 | +/* Parallax effect for hero sections */ |
340 | 378 | .parallax-container { |
341 | | - min-height: 380px; |
342 | | - line-height: 0; |
343 | | - height: auto; |
344 | | - color: rgba(255, 255, 255, .9); |
345 | | - background: #000000AA; |
346 | 379 | position: relative; |
347 | 380 | overflow: hidden; |
348 | | - border-radius: 16px; |
349 | | - margin-bottom: 2rem; |
| 381 | + background: linear-gradient(135deg, var(--python-green) 0%, var(--python-black) 100%); |
| 382 | + color: white; |
| 383 | + padding: 4rem 2rem; |
| 384 | + margin: 2rem 0; |
| 385 | + border-radius: 15px; |
350 | 386 | } |
351 | 387 |
|
352 | 388 | .parallax-container .section { |
353 | | - width: 100%; |
| 389 | + position: relative; |
| 390 | + z-index: 2; |
354 | 391 | } |
355 | 392 |
|
356 | 393 | .parallax-img { |
357 | | - opacity: 0.5; |
358 | | - width: 100%; |
359 | | - height: auto; |
360 | | - object-fit: cover; |
361 | 394 | position: absolute; |
362 | 395 | top: 0; |
363 | 396 | left: 0; |
364 | | - z-index: 0; |
| 397 | + width: 100%; |
| 398 | + height: 100%; |
| 399 | + background-size: cover; |
| 400 | + background-position: center; |
| 401 | + opacity: 0.1; |
| 402 | + z-index: 1; |
365 | 403 | } |
366 | 404 |
|
| 405 | +/* Floating action button with SVG */ |
367 | 406 | .btn-floating-svg { |
368 | | - padding-left: 10px; |
369 | | - padding-right: 10px; |
370 | | - padding-top: 5px; |
| 407 | + position: fixed; |
| 408 | + bottom: 2rem; |
| 409 | + right: 2rem; |
| 410 | + width: 60px; |
| 411 | + height: 60px; |
| 412 | + border-radius: 50%; |
| 413 | + background: var(--python-green); |
| 414 | + color: white; |
| 415 | + display: flex; |
| 416 | + align-items: center; |
| 417 | + justify-content: center; |
| 418 | + text-decoration: none; |
| 419 | + box-shadow: 0 4px 12px rgba(0,0,0,0.3); |
| 420 | + transition: all 0.3s ease; |
| 421 | + z-index: 1000; |
371 | 422 | } |
372 | 423 |
|
373 | | -/* Responsive tweaks for parallax */ |
| 424 | +/* Responsive adjustments */ |
374 | 425 | @media only screen and (max-width : 992px) { |
375 | 426 | .parallax-container .section { |
376 | | - position: absolute; |
377 | | - top: 40%; |
| 427 | + padding: 2rem 1rem; |
378 | 428 | } |
| 429 | + |
379 | 430 | #index-banner .section { |
380 | | - top: 10%; |
| 431 | + margin-top: 10%; |
381 | 432 | } |
382 | 433 | } |
| 434 | + |
383 | 435 | @media only screen and (max-width : 600px) { |
384 | 436 | #index-banner .section { |
385 | | - top: 0; |
| 437 | + margin-top: 15%; |
| 438 | + } |
| 439 | + |
| 440 | + .btn-floating-svg { |
| 441 | + width: 50px; |
| 442 | + height: 50px; |
| 443 | + bottom: 1rem; |
| 444 | + right: 1rem; |
386 | 445 | } |
387 | 446 | } |
388 | 447 |
|
389 | | -/* Clickable tags */ |
| 448 | +/* Tag filtering styles */ |
390 | 449 | .tag-filter { |
391 | | - cursor: pointer; |
392 | | - transition: all 0.3s ease; |
393 | | - text-decoration: none; |
394 | | - display: inline-block; |
| 450 | + display: inline-block; |
| 451 | + padding: 0.5rem 1rem; |
| 452 | + margin: 0.25rem; |
| 453 | + background: var(--python-light-gray); |
| 454 | + color: var(--python-green); |
| 455 | + border: 2px solid var(--python-green); |
| 456 | + border-radius: 25px; |
| 457 | + text-decoration: none; |
| 458 | + font-weight: 600; |
| 459 | + transition: all 0.3s ease; |
| 460 | + cursor: pointer; |
395 | 461 | } |
396 | 462 |
|
397 | 463 | .tag-filter:hover { |
398 | | - transform: translateY(-2px); |
399 | | - box-shadow: 0 4px 12px rgba(0,0,0,0.2); |
| 464 | + background: var(--python-green); |
| 465 | + color: white; |
| 466 | + transform: translateY(-2px); |
400 | 467 | } |
401 | 468 |
|
402 | 469 | .tag-filter.active { |
403 | | - border: 2px solid #fff; |
404 | | - box-shadow: 0 0 0 2px #007bff; |
| 470 | + background: var(--python-green); |
| 471 | + color: white; |
| 472 | + box-shadow: 0 4px 12px rgba(38, 159, 70, 0.3); |
405 | 473 | } |
406 | 474 |
|
407 | | -/* Meetup cards for filtering */ |
| 475 | +/* Meetup card filtering */ |
408 | 476 | .meetup-card { |
409 | | - transition: all 0.3s ease; |
| 477 | + transition: all 0.3s ease; |
410 | 478 | } |
411 | 479 |
|
412 | 480 | .meetup-card.hidden { |
413 | | - display: none; |
| 481 | + display: none; |
414 | 482 | } |
415 | 483 |
|
416 | | -/* Tag filter container */ |
| 484 | +/* Tag filters container */ |
417 | 485 | .tag-filters { |
418 | | - text-align: center; |
419 | | - margin: 2rem 0; |
420 | | - padding: 1rem; |
421 | | - background: #f8f9fa; |
422 | | - border-radius: 12px; |
| 486 | + text-align: center; |
| 487 | + margin: 2rem 0; |
| 488 | + padding: 1rem; |
| 489 | + background: white; |
| 490 | + border-radius: 15px; |
| 491 | + box-shadow: 0 2px 8px rgba(0,0,0,0.1); |
423 | 492 | } |
424 | 493 |
|
425 | 494 | .tag-filters h3 { |
426 | | - margin-bottom: 1rem; |
427 | | - color: #333; |
| 495 | + margin-bottom: 1rem; |
| 496 | + color: var(--python-green); |
428 | 497 | } |
429 | 498 |
|
430 | 499 | /* Clear filters button */ |
431 | 500 | .clear-filters { |
432 | | - background: #6c757d; |
433 | | - color: white; |
434 | | - padding: 0.5rem 1rem; |
435 | | - border-radius: 20px; |
436 | | - text-decoration: none; |
437 | | - font-weight: 600; |
438 | | - margin-left: 1rem; |
439 | | - transition: all 0.3s ease; |
| 501 | + display: inline-block; |
| 502 | + padding: 0.5rem 1rem; |
| 503 | + background: var(--python-gray); |
| 504 | + color: white; |
| 505 | + border: none; |
| 506 | + border-radius: 20px; |
| 507 | + text-decoration: none; |
| 508 | + font-weight: 600; |
| 509 | + margin-left: 1rem; |
| 510 | + transition: all 0.3s ease; |
440 | 511 | } |
441 | 512 |
|
442 | 513 | .clear-filters:hover { |
443 | | - background: #5a6268; |
444 | | - color: white; |
445 | | - text-decoration: none; |
| 514 | + background: #555; |
| 515 | + transform: translateY(-2px); |
446 | 516 | } |
0 commit comments