//
// Timeline
// --------------------------------------------------

.timeline {
    position: relative;
    padding: 1rem 0;
    @include list-unstyled();

    &::before {
        position: absolute;
        top: 0;
        left: 1.375rem;
        height: 100%;
        width: .25rem;
        background-color: $body-bg-dark;
        content: "";
        border-radius: $border-radius;
    }
}

.timeline-event {
    position: relative;

    &:not(:last-child) {
        margin-bottom: $space-base;
    }
}

.timeline-event-icon {
    position: absolute;
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: $white;
    border-radius: 1.5rem;
    border: .25rem solid $white;
    z-index: 5;
    box-shadow: 0 .375rem 1.5rem darken($body-bg, 8%);

    &::before {
        position:absolute;
        top: 50%;
        right: -.625rem;
        width: 0;
        height: 0;
        border-top: .625rem solid transparent;
        border-bottom: .625rem solid transparent;
        border-left: .625rem solid $white;
        content: "";
        transform: translateY(-50%);
    }
}

.timeline-event-block {
    margin-left: 4rem;
    margin-bottom: 0 !important;
}

// Centered Timeline in larger screens
@include media-breakpoint-up(xl) {
    .timeline-centered {
        &::before {
            left: 50%;
            margin-left: -.125rem;
        }

        .timeline-event-icon {
            left: 50%;
            margin-left: -1.5rem;

            &::before {
                right: auto;
                left: -.625rem;
                border-right: .625rem solid $white;
                border-left: none;
            }
        }

        .timeline-event-time {
            position: absolute;
            display: inline-block;
            top: 1.5rem;
            left: 50%;
            padding: .5rem .5rem .5rem 2rem;
            width: auto;
            border-radius: $border-radius;
            background-color: $white;
            transform: translateY(-50%);
        }

        .timeline-event-block {
            width: 46%;
            margin-left: 0;
        }

        .timeline-event:not(:last-child) {
            margin-bottom: $space-base * 2;
        }

        &.timeline-alt .timeline-event:nth-child(even),
        .timeline-event.timeline-event-alt {
            .timeline-event-icon {
                left: 50%;
                margin-left: -1.5rem;

                &::before {
                    right: -.625rem;
                    left: auto;
                    border-right: none;
                    border-left: .625rem solid $white;
                }
            }

            .timeline-event-block {
                margin-left: auto;
            }

            .timeline-event-time {
                padding: .5rem 2rem .5rem .5rem;
                right: 50%;
                left: auto;
                text-align: right;
            }
        }
    }
}
