Skip to content

Commit be0c147

Browse files
authored
style.css
1 parent cb2acb2 commit be0c147

1 file changed

Lines changed: 102 additions & 45 deletions

File tree

style.css

Lines changed: 102 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
:root {
1+
:root {
22
--primary: #3b82f6;
33
--secondary: #a855f7;
44
--dark: #1e293b;
@@ -225,7 +225,7 @@ h1 {
225225
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
226226
gap: 2rem;
227227
}
228-
.skill-category {
228+
.quottegory {
229229
background: rgba(30,41,59,0.7);
230230
border-radius: 15px;
231231
padding: 2rem;
@@ -269,59 +269,47 @@ h1 {
269269
transform: translateX(3px);
270270
}
271271

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-
}
284272
.quote span.typing {
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;
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;
292281
}
282+
283+
/* Ajusta “70ch” al número de caracteres de tu frase. */
293284
@keyframes typing {
294-
from { width: 0ch; }
295-
to { width: 80ch; }
285+
from { width: 0ch; }
286+
to { width: 70ch; }
296287
}
288+
289+
/* Cursor que parpadea */
297290
.quote span.typing::after {
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;
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;
306299
}
300+
307301
@keyframes blink-caret {
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;
302+
0%,100% { opacity: 0; }
303+
50% { opacity: 1; }
319304
}
305+
306+
320307
@keyframes fadeInAuthor {
321-
from { opacity: 0; transform: translateY(10px); }
322-
to { opacity: 1; transform: translateY(0); }
308+
from { opacity: 0; transform: translateY(10px); }
309+
to { opacity: 1; transform: translateY(0); }
323310
}
324311

312+
325313
/* Roadmap */
326314
.roadmap-container {
327315
overflow-x: auto;
@@ -442,4 +430,73 @@ h1 {
442430
background: rgba(59,130,246,0.3);
443431
color: var(--primary);
444432
border-radius: 50px;
445-
text-decoration
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+
}

0 commit comments

Comments
 (0)