/* Timeline styling */ .timeline { position: relative; padding: 20px 0; list-style: none; } .timeline:before { content: ''; position: absolute; top: 0; bottom: 0; left: 40px; width: 4px; background: linear-gradient(to bottom, var(--bs-primary) 0%, rgba(var(--bs-primary-rgb), 0.2) 100%); border-radius: 2px; } .timeline-item { position: relative; margin-bottom: 60px; } .timeline-badge { position: absolute; top: 10px; left: 40px; width: 60px; height: 60px; margin-left: -30px; border-radius: 50%; text-align: center; background-color: var(--bs-primary); color: white; z-index: 100; display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); padding: 5px; border: 4px solid #fff; transition: transform 0.3s ease, box-shadow 0.3s ease; } .timeline-item:hover .timeline-badge { transform: scale(1.1); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); } .timeline-badge-day { font-size: 1.3rem; font-weight: bold; line-height: 1; } .timeline-badge-month { font-size: 0.85rem; text-transform: uppercase; line-height: 1; font-weight: 600; } .timeline-month-header { position: relative; margin-bottom: 40px; list-style: none; } .timeline-month-header h3 { position: relative; padding-left: 85px; border-bottom: 2px solid rgba(var(--bs-primary-rgb), 0.2); padding-bottom: 12px; font-weight: 700; color: var(--bs-primary); display: inline-block; } .timeline-panel { position: relative; width: calc(100% - 100px); float: right; border-radius: 12px; transition: transform 0.3s ease, box-shadow 0.3s ease; border: 1px solid rgba(0,0,0,0.05) !important; } .timeline-panel:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important; } .timeline-panel:before { content: ''; position: absolute; top: 24px; left: -12px; border-top: 12px solid transparent; border-right: 12px solid #fff; border-bottom: 12px solid transparent; filter: drop-shadow(-2px 0 2px rgba(0,0,0,0.03)); } .timeline-date { display: block; margin-bottom: 10px; font-weight: 600; color: var(--bs-primary); } .timeline-panel .card-title a { transition: color 0.2s ease; } .timeline-panel .card-title a:hover { color: var(--bs-primary) !important; } @media (max-width: 767px) { .timeline:before { left: 30px; } .timeline-badge { left: 30px; width: 50px; height: 50px; margin-left: -25px; } .timeline-badge-day { font-size: 1.1rem; } .timeline-badge-month { font-size: 0.75rem; } .timeline-panel { width: calc(100% - 70px); } .timeline-month-header h3 { padding-left: 65px; } }