/* Timeline styling */ .timeline { position: relative; padding: 0; list-style: none; } .timeline:before { content: ''; position: absolute; top: 0; bottom: 0; left: 40px; width: 4px; background-color: var(--bs-primary); } .timeline-item { position: relative; margin-bottom: 50px; } .timeline-badge { position: absolute; top: 0; 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 8px rgba(0, 0, 0, 0.1); padding: 5px; } .timeline-badge-day { font-size: 1.25rem; font-weight: bold; line-height: 1; } .timeline-badge-month { font-size: 0.8rem; text-transform: uppercase; line-height: 1; } .timeline-month-header { position: relative; margin-bottom: 30px; list-style: none; } .timeline-month-header h3 { position: relative; padding-left: 60px; border-bottom: 2px solid var(--bs-primary); padding-bottom: 10px; } .timeline-panel { position: relative; width: calc(100% - 90px); float: right; border-radius: 8px; } .timeline-panel:before { content: ''; position: absolute; top: 26px; left: -15px; border-top: 15px solid transparent; border-right: 15px solid #fff; border-bottom: 15px solid transparent; } .timeline-date { display: block; margin-bottom: 10px; font-weight: bold; color: var(--bs-primary); } @media (max-width: 767px) { .timeline-badge { margin-left: 0; } }