|
225 | 225 | grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); |
226 | 226 | gap: 2rem; |
227 | 227 | } |
228 | | -.quottegory { |
| 228 | +.skill-category { |
229 | 229 | background: rgba(30,41,59,0.7); |
230 | 230 | border-radius: 15px; |
231 | 231 | padding: 2rem; |
@@ -269,47 +269,59 @@ h1 { |
269 | 269 | transform: translateX(3px); |
270 | 270 | } |
271 | 271 |
|
| 272 | +/* Typing Quote */ |
| 273 | +.quote { |
| 274 | + font-family: 'Roboto Mono', monospace; |
| 275 | + background: rgba(30,41,59,0.9); |
| 276 | + padding: 2.5rem; |
| 277 | + border-radius: 15px; |
| 278 | + border-left: 6px solid var(--primary); |
| 279 | + box-shadow: 0 0 15px rgba(59,130,246,0.3); |
| 280 | + overflow: hidden; |
| 281 | + margin: 2.5rem 0; |
| 282 | + position: relative; |
| 283 | +} |
272 | 284 | .quote span.typing { |
273 | | - display: inline-block; |
274 | | - white-space: pre-wrap; /* Para respetar saltos de línea */ |
275 | | - overflow: hidden; |
276 | | - font-family: 'Roboto Mono', monospace; |
277 | | - font-size: 1.3rem; |
278 | | - line-height: 1.6; |
279 | | - /* Anima de 0 hasta N caracteres, y steps(N) asegura 1 paso = 1 letra */ |
280 | | - animation: typing 4s steps(70, end) forwards; |
| 285 | + display: inline-block; |
| 286 | + white-space: pre-wrap; |
| 287 | + overflow: hidden; |
| 288 | + font-size: 1.3rem; |
| 289 | + line-height: 1.6; |
| 290 | + width: 0ch; |
| 291 | + animation: typing 4s steps(80,end) forwards; |
281 | 292 | } |
282 | | - |
283 | | -/* Ajusta “70ch” al número de caracteres de tu frase. */ |
284 | 293 | @keyframes typing { |
285 | | - from { width: 0ch; } |
286 | | - to { width: 70ch; } |
| 294 | + from { width: 0ch; } |
| 295 | + to { width: 80ch; } |
287 | 296 | } |
288 | | - |
289 | | -/* Cursor que parpadea */ |
290 | 297 | .quote span.typing::after { |
291 | | - content: ''; |
292 | | - display: inline-block; |
293 | | - width: 2px; |
294 | | - height: 1.6em; |
295 | | - background: var(--primary); |
296 | | - margin-left: 2px; |
297 | | - vertical-align: bottom; |
298 | | - animation: blink-caret .75s step-end infinite; |
| 298 | + content: ''; |
| 299 | + position: absolute; |
| 300 | + top: 0; |
| 301 | + left: 100%; |
| 302 | + width: 2px; |
| 303 | + height: 1.6em; |
| 304 | + background: var(--primary); |
| 305 | + animation: blink-caret .75s step-end infinite; |
299 | 306 | } |
300 | | - |
301 | 307 | @keyframes blink-caret { |
302 | | - 0%,100% { opacity: 0; } |
303 | | - 50% { opacity: 1; } |
| 308 | + 0%,100% { opacity: 0; } |
| 309 | + 50% { opacity: 1; } |
| 310 | +} |
| 311 | +.quote span.author { |
| 312 | + display: block; |
| 313 | + opacity: 0; |
| 314 | + font-size: 1.3rem; |
| 315 | + line-height: 1.6; |
| 316 | + margin-top: .5rem; |
| 317 | + animation: fadeInAuthor .6s ease forwards; |
| 318 | + animation-delay: 4s; |
304 | 319 | } |
305 | | - |
306 | | - |
307 | 320 | @keyframes fadeInAuthor { |
308 | | - from { opacity: 0; transform: translateY(10px); } |
309 | | - to { opacity: 1; transform: translateY(0); } |
| 321 | + from { opacity: 0; transform: translateY(10px); } |
| 322 | + to { opacity: 1; transform: translateY(0); } |
310 | 323 | } |
311 | 324 |
|
312 | | - |
313 | 325 | /* Roadmap */ |
314 | 326 | .roadmap-container { |
315 | 327 | overflow-x: auto; |
@@ -430,73 +442,4 @@ h1 { |
430 | 442 | background: rgba(59,130,246,0.3); |
431 | 443 | color: var(--primary); |
432 | 444 | border-radius: 50px; |
433 | | - text-decoration: none; |
434 | | - font-weight: 500; |
435 | | - transition: all 0.3s ease; |
436 | | -} |
437 | | -.project-link:hover { |
438 | | - background: rgba(59,130,246,0.6); |
439 | | - transform: scale(1.05); |
440 | | -} |
441 | | - |
442 | | -/* Contact Methods */ |
443 | | -.contact-methods { |
444 | | - display: grid; |
445 | | - grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); |
446 | | - gap: 2rem; |
447 | | -} |
448 | | -.contact-card { |
449 | | - background: rgba(30,41,59,0.7); |
450 | | - border-radius: 15px; |
451 | | - padding: 2rem; |
452 | | - text-align: center; |
453 | | - transition: transform 0.4s ease, background 0.4s ease; |
454 | | -} |
455 | | -.contact-card:hover { |
456 | | - transform: translateY(-10px); |
457 | | - background: rgba(30,41,59,0.9); |
458 | | - box-shadow: 0 8px 25px rgba(59,130,246,0.3); |
459 | | -} |
460 | | -.contact-card i { |
461 | | - font-size: 2.2rem; |
462 | | - color: var(--primary); |
463 | | - margin-bottom: 1rem; |
464 | | - transition: transform 0.3s ease; |
465 | | -} |
466 | | -.contact-card:hover i { |
467 | | - transform: translateY(-5px); |
468 | | -} |
469 | | -.contact-title { |
470 | | - font-size: 1.2rem; |
471 | | - margin-bottom: 0.5rem; |
472 | | -} |
473 | | -.contact-info { |
474 | | - color: var(--gray); |
475 | | - margin-bottom: 1rem; |
476 | | -} |
477 | | -.contact-link { |
478 | | - color: var(--primary); |
479 | | - text-decoration: none; |
480 | | - font-weight: 500; |
481 | | - transition: color 0.3s ease; |
482 | | -} |
483 | | -.contact-link:hover { |
484 | | - color: var(--secondary); |
485 | | -} |
486 | | - |
487 | | -/* Footer */ |
488 | | -footer { |
489 | | - text-align: center; |
490 | | - color: var(--gray); |
491 | | - font-size: 0.9rem; |
492 | | - padding: 2rem 0; |
493 | | - border-top: 1px solid rgba(255,255,255,0.1); |
494 | | -} |
495 | | - |
496 | | -/* Responsive */ |
497 | | -@media (max-width: 768px) { |
498 | | - .about-content, .projects-grid, .skills-container, .contact-methods { |
499 | | - grid-template-columns: 1fr; |
500 | | - } |
501 | | - .roadmap { min-width: unset; flex-direction: column; } |
502 | | -} |
| 445 | + text-decoration |
0 commit comments