.timeline-wrapper{max-width:900px;margin:0 auto;position:relative;padding:40px 20px}.timeline-line-bg,.timeline-line-progress{position:absolute;top:0;bottom:0;left:10px;width:2px;z-index:0}.timeline-line-bg{background:#222;bottom:0}.timeline-line-progress{background:#5f5;height:0;z-index:1;bottom:auto;box-shadow:0 0 10px #5f5;transition:height .05s linear}.month-block{position:relative;z-index:2;margin-top:2rem}.month-header{margin-left:50px;font-family:Oswald,sans-serif;color:#5f5;font-size:1.5rem;margin-bottom:2rem;text-transform:uppercase}.event-item{display:flex;position:relative;margin-bottom:1.5rem;align-items:center;opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.event-item.in-view{opacity:1;transform:translateY(0)}.timeline-sidebar{width:70px;flex-shrink:0;display:flex;justify-content:center;align-items:center;height:100%}.event-marker{width:14px;height:14px;background:#000;border:2px solid #333;border-radius:50%;z-index:3;transition:all .2s ease}.event-marker.active{background:#5f5;border-color:#5f5;box-shadow:0 0 10px #5f5;transform:scale(1.3)}.timeline-content{flex-grow:1;padding-left:5px}.event-card{background:#111;border:1px solid #222;padding:1rem;display:flex;align-items:center;position:relative;transition:all .3s ease}.event-card:hover{border-color:#5f5}.card-date-large{font-family:Oswald,sans-serif;font-size:2rem;color:#5f5;line-height:1;padding-right:1.5rem;border-right:1px solid #333;margin-right:1.5rem;text-align:center;min-width:60px}.card-info{flex-grow:1}.card-title{font-family:Oswald,sans-serif;font-size:1.3rem;margin:0;color:#fff;text-transform:uppercase;line-height:1.1;margin-bottom:.3rem}.card-meta{color:#aaa;font-size:.85rem;display:flex;align-items:center}.premium-badge{position:absolute;top:-8px;right:10px;background:#5f5;color:#000;font-size:.6rem;font-weight:700;padding:2px 6px;text-transform:uppercase}@media(max-width:600px){.timeline-line-bg,.timeline-line-progress{left:15px}.timeline-sidebar{width:50px}.event-card{flex-direction:column;align-items:flex-start;padding:1rem}.card-date-large{border-right:none;border-bottom:1px solid #333;padding-right:0;padding-bottom:.5rem;margin-right:0;margin-bottom:.5rem;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;font-size:1.5rem}.card-date-large:after{content:"DATE";font-size:.7rem;color:#555}.card-title{font-size:1.2rem}}
