@@ -399,139 +399,265 @@ body {
399399 line-height : 1.5 ;
400400}
401401
402- /* Clean Journey Timeline Styles */
403- .journey-timeline {
402+ /* Horizontal Progress Bar Journey Styles */
403+ .journey-progress-container {
404+ background : white;
405+ border-radius : 16px ;
406+ padding : 2rem ;
407+ box-shadow : 0 4px 20px rgba (0 , 0 , 0 , 0.08 );
408+ border : 1px solid rgba (0 , 0 , 0 , 0.06 );
409+ }
410+
411+ .progress-track {
404412 position : relative;
405- padding-left : 0 ;
413+ margin-bottom : 3 rem ;
406414}
407415
408- .timeline-line {
409- opacity : 0.3 ;
416+ .progress-line {
417+ height : 3px ;
418+ background : # e5e7eb ;
419+ border-radius : 2px ;
420+ margin : 2rem 0 ;
421+ }
422+
423+ .progress-fill {
424+ position : absolute;
425+ top : 2rem ;
426+ left : 0 ;
427+ height : 3px ;
428+ background : linear-gradient (90deg , # 3b82f6, # 8b5cf6, # 10b981 );
429+ border-radius : 2px ;
430+ width : 0% ;
431+ transition : width 0.8s cubic-bezier (0.4 , 0 , 0.2 , 1 );
410432}
411433
412- .journey-step {
434+ .progress-steps {
435+ display : flex;
436+ justify-content : space-between;
413437 position : relative;
438+ z-index : 2 ;
439+ }
440+
441+ .progress-step {
414442 display : flex;
415- align-items : flex-start;
416- transition : all 0.2s ease;
443+ flex-direction : column;
444+ align-items : center;
445+ cursor : pointer;
446+ transition : all 0.3s ease;
447+ opacity : 0.6 ;
417448}
418449
419- .journey-step : hover {
450+ .progress-step .active {
451+ opacity : 1 ;
452+ }
453+
454+ .progress-step : hover {
455+ opacity : 1 ;
420456 transform : translateY (-2px );
421457}
422458
423- .step-marker {
459+ .step-circle {
424460 position : relative;
425- flex-shrink : 0 ;
426- width : 4rem ;
427- height : auto;
428- display : flex;
429- flex-direction : column;
430- align-items : center;
431- z-index : 2 ;
461+ margin-bottom : 1rem ;
432462}
433463
434- .marker -dot {
435- width : 12 px ;
436- height : 12 px ;
464+ .step -dot {
465+ width : 16 px ;
466+ height : 16 px ;
437467 border-radius : 50% ;
438- border : 3px solid white;
439- box-shadow : 0 0 0 1px rgba (0 , 0 , 0 , 0.1 );
440- transition : all 0.2s ease;
468+ border : 4px solid white;
469+ box-shadow : 0 0 0 2px rgba (0 , 0 , 0 , 0.1 );
470+ transition : all 0.3s ease;
471+ position : relative;
472+ z-index : 3 ;
441473}
442474
443- .journey -step: hover . marker -dot {
475+ .progress -step. active . step -dot {
444476 transform : scale (1.2 );
445- box-shadow : 0 0 0 3px rgba (59 , 130 , 246 , 0.2 );
477+ box-shadow : 0 0 0 3px rgba (59 , 130 , 246 , 0.3 );
446478}
447479
448- .step-content {
449- flex : 1 ;
450- padding-bottom : 1 rem ;
480+ .step-label {
481+ text-align : center ;
482+ min-width : 120 px ;
451483}
452484
453- .step-header {
454- margin-bottom : 0.5rem ;
485+ .step-title {
486+ font-weight : 600 ;
487+ font-size : 0.9rem ;
488+ color : # 374151 ;
489+ display : block;
490+ margin-bottom : 0.25rem ;
491+ }
492+
493+ .step-years {
494+ font-size : 0.75rem ;
495+ color : # 6b7280 ;
496+ font-weight : 500 ;
497+ }
498+
499+ .progress-step .active .step-title {
500+ color : # 1f2937 ;
501+ }
502+
503+ .progress-step .active .step-years {
504+ color : # 4b5563 ;
505+ }
506+
507+ /* Details Panel */
508+ .details-panel {
509+ position : relative;
510+ min-height : 200px ;
455511}
456512
457513.step-details {
458- margin-top : 0.75rem ;
459- padding-top : 0.75rem ;
460- border-top : 1px solid # f3f4f6 ;
461- transition : all 0.3s ease;
514+ position : absolute;
515+ top : 0 ;
516+ left : 0 ;
517+ right : 0 ;
518+ opacity : 0 ;
519+ visibility : hidden;
520+ transform : translateY (20px );
521+ transition : all 0.4s cubic-bezier (0.4 , 0 , 0.2 , 1 );
462522}
463523
464- .step-details .hidden {
465- display : none;
524+ .step-details .active {
525+ opacity : 1 ;
526+ visibility : visible;
527+ transform : translateY (0 );
466528}
467529
468- .step-toggle {
469- border : none;
470- background : none;
471- cursor : pointer;
530+ .details-header {
531+ margin-bottom : 1.5rem ;
532+ }
533+
534+ .details-title {
535+ font-size : 1.5rem ;
536+ font-weight : 600 ;
537+ color : # 1f2937 ;
538+ margin-bottom : 0.5rem ;
539+ }
540+
541+ .details-institution {
542+ color : # 6b7280 ;
543+ font-size : 1rem ;
544+ }
545+
546+ .details-description {
547+ color : # 4b5563 ;
548+ line-height : 1.6 ;
549+ margin-bottom : 1.5rem ;
550+ }
551+
552+ .details-highlights {
553+ display : flex;
554+ flex-wrap : wrap;
555+ gap : 0.5rem ;
556+ margin-bottom : 1rem ;
557+ }
558+
559+ .highlight-tag {
560+ background : # f3f4f6 ;
561+ color : # 374151 ;
562+ padding : 0.375rem 0.75rem ;
563+ border-radius : 6px ;
472564 font-size : 0.875rem ;
473565 font-weight : 500 ;
474- padding : 0 ;
475- transition : color 0.2s ease;
566+ transition : all 0.2s ease;
476567}
477568
478- .step-toggle : hover {
479- opacity : 0.8 ;
569+ .highlight-tag : hover {
570+ background : # e5e7eb ;
480571}
481572
482- .step-toggle : focus {
483- outline : 2px solid rgba (59 , 130 , 246 , 0.5 );
484- outline-offset : 2px ;
485- border-radius : 2px ;
573+ /* Career Progression */
574+ .career-progression {
575+ display : flex;
576+ flex-direction : column;
577+ gap : 1rem ;
578+ }
579+
580+ .progression-item {
581+ display : flex;
582+ justify-content : space-between;
583+ align-items : center;
584+ padding : 0.75rem 1rem ;
585+ background : # f9fafb ;
586+ border-radius : 8px ;
587+ border-left : 3px solid # 10b981 ;
588+ }
589+
590+ .progression-role {
591+ font-weight : 600 ;
592+ color : # 1f2937 ;
486593}
487594
488- /* Color-coded dots */
489- .marker-dot .bg-blue-500 {
595+ .progression-period {
596+ font-size : 0.875rem ;
597+ color : # 6b7280 ;
598+ font-weight : 500 ;
599+ }
600+
601+ /* Color coding for different steps */
602+ .step-dot .bg-blue-500 {
490603 background-color : # 3b82f6 ;
491604}
492605
493- .marker -dot .bg-purple-500 {
606+ .step -dot .bg-purple-500 {
494607 background-color : # 8b5cf6 ;
495608}
496609
497- .marker -dot .bg-green-500 {
610+ .step -dot .bg-green-500 {
498611 background-color : # 10b981 ;
499612}
500613
501614/* Mobile Responsive */
502615@media (max-width : 768px ) {
503- .journey-step {
616+ .journey-progress-container {
617+ padding : 1.5rem ;
618+ }
619+
620+ .progress-steps {
504621 flex-direction : column;
505- align-items : flex-start;
622+ gap : 2rem ;
623+ align-items : stretch;
506624 }
507625
508- .step-marker {
509- width : 100% ;
626+ .progress-line ,
627+ .progress-fill {
628+ display : none;
629+ }
630+
631+ .progress-step {
510632 flex-direction : row;
511- margin-bottom : 0.75 rem ;
633+ text-align : left ;
512634 }
513635
514- .timeline-line {
515- display : none;
636+ .step-circle {
637+ margin-bottom : 0 ;
638+ margin-right : 1rem ;
516639 }
517640
518- .marker-dot {
519- margin-right : 0.75rem ;
641+ .step-label {
642+ text-align : left;
643+ min-width : auto;
644+ }
645+
646+ .details-panel {
647+ margin-top : 2rem ;
520648 }
521649}
522650
523- /* Subtle animations */
524- .journey-step {
525- opacity : 0 ;
526- transform : translateY (20px );
527- animation : fadeInUp 0.6s ease forwards;
651+ /* Animations */
652+ .journey-progress-container {
653+ animation : slideInUp 0.8s ease forwards;
528654}
529655
530- . journey-step : nth-child ( 1 ) { animation-delay : 0.1 s ; }
531- . journey-step : nth-child ( 2 ) { animation-delay : 0.2 s ; }
532- . journey-step : nth-child ( 3 ) { animation-delay : 0.3 s ; }
533-
534- @keyframes fadeInUp {
656+ @keyframes slideInUp {
657+ from {
658+ opacity : 0 ;
659+ transform : translateY ( 30 px );
660+ }
535661 to {
536662 opacity : 1 ;
537663 transform : translateY (0 );
0 commit comments