$primary: #2566f4; $dark-primary: #303F9F; $light-primary: #000000; $text: #ffffff; $primary-text: #212121; $secondary-text: #757575; $accent: #666666; $background: #dddddd; .timeline { position: relative; &::before { content: ''; background: $light-primary; width: 5px; height: 95%; position: absolute; left: 50%; transform: translateX(-50%); } } .timeline-item { width: 100%; margin-bottom: 70px; &:nth-child(even) { .timeline-content { float: right; padding: 60px 30px 10px 30px; .date { right: auto; left: 0; } &::after { content: ''; position: absolute; border-style: solid; width: 0; height: 0; top: 0px; left: -40px; border-width: 25px 40px 25px 0; border-color: transparent $accent transparent transparent; } } } &::after { content: ''; display: block; clear: both; } } .timeline-content { position: relative; text-align: center; width: 45%; padding: 60px 30px 10px 30px; border-radius: 4px; background: $background; box-shadow: 0 20px 25px -15px rgba(0, 0, 0, .3); &::after { content: ''; position: absolute; border-style: solid; width: 0; height: 0; top: 0px; right: -40px; border-width: 25px 0 25px 40px; border-color: transparent transparent transparent $accent; } } .timeline-content h2 { text-decoration: underline; color: #007aad; } .timeline-img { width: 40px; height: 40px; background: $primary; border-radius: 50%; position: absolute; left: 50%; margin-top: 10px; margin-left: -20px; } .timeline-card { padding: 0!important; p { padding: 0 20px; } a { margin-left: 20px; } } .timeline-img-header { height: 200px; position: relative; margin-bottom: 20px; h2 { color: $text; position: absolute; bottom: 5px; left: 20px; } } blockquote { margin-top: 30px; color: $secondary-text; border-left-color: $primary; padding: 0 20px; } .date { background: $accent; display: inline-block; color: $text; padding: 10px; position: absolute; top: 0; right: 0; } @media screen and (max-width: 768px) { .timeline { &::before { left: 50px; } .timeline-img { left: 50px; } .timeline-content { max-width: 100%; width: auto; margin-left: 70px; } .timeline-item { &:nth-child(even) { .timeline-content { float: none; } } &:nth-child(odd) { .timeline-content { &::after { content: ''; position: absolute; border-style: solid; width: 0; height: 0; top: 30px; left: -15px; border-width: 10px 15px 10px 0; border-color: transparent $background transparent transparent; } } } } } } .framed { padding: 20px; border-radius: 10px; border: 1px solid #dcdcdc; border: 1px solid var(--border-color); max-width: 800px; }