$body-bg: #ffffff;
$text-color: #373737;
$gray-base: #494949;
$gray-darker: #222;
$gray-dark: #333;
$gray: #555;
$gray-light: #777;
$gray-lighter: #eee;
$brand-primary: #1f9eba;
$brand-success: #59ba1f;
$brand-info: #5bc0de;
$brand-warning: #d1bd10;
$brand-danger: #ba1f1f;

/* Timeline */
.timeline {
    list-style: none;
    padding: 20px;
    position: relative;
    &:before {
        top: 40px;
        bottom: 0;
        position: absolute;
        content: " ";
        width: 3px;
        background-color: #eeeeee;
        left: 50%;
        margin-left: -1.5px;
    }
    .timeline-item {
        margin-bottom: 20px;
        position: relative;
        &:before,
        &:after {
            content: "";
            display: table;
        }
        &:after {
            clear: both;
        }
        .timeline-badge {
            color: #fff;
            width: 54px;
            height: 54px;
            line-height: 52px;
            font-size: 22px;
            text-align: center;
            position: absolute;
            top: 18px;
            left: 50%;
            margin-left: -25px;
            background-color: $gray-dark;
            border: 3px solid $body-bg;
            z-index: 100;
            border-top-right-radius: 50%;
            border-top-left-radius: 50%;
            border-bottom-right-radius: 50%;
            border-bottom-left-radius: 50%;
            i, .fa, .glyphicon {
                top: 2px;
                left: 0px;
            }
            &.primary {
                background-color: $brand-primary;
            }
            &.info {
                background-color: $brand-info;
            }
            &.success {
                background-color: $brand-success;
            }
            &.warning {
                background-color: $brand-warning;
            }
            &.danger {
                background-color: $brand-danger;
            }
        }
        .timeline-panel {
            position: relative;
            width: 46%;
            float: left;
            right: 16px;
            border: 1px solid $gray-light;
            background: $body-bg;
            border-radius: 2px;
            padding: 20px;
            -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
            box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
            &:before {
                position: absolute;
                top: 26px;
                right: -16px;
                display: inline-block;
                border-top: 16px solid transparent;
                border-left: 16px solid $gray-light;
                border-right: 0 solid $gray-light;
                border-bottom: 16px solid transparent;
                content: " ";
            }
            .timeline-title {
                margin-top: 0;
                color: inherit;
            }
            .timeline-body > p,
            .timeline-body > ul {
                margin-bottom: 0;
            }
            .timeline-body > p + p {
                margin-top: 5px;
            }
        }
    }
    .timeline-item:last-child {
        &:nth-child(even) {
            float: right;
        }
    }
    .timeline-item:nth-child(even) {
        .timeline-panel {
            float: right;
            left: 16px;
            &:before {
                border-left-width: 0;
                border-right-width: 14px;
                left: -14px;
                right: auto;
            }
        }
    }
}
.timeline-horizontal:extend(.timeline) {
    list-style: none;
    position: relative;
    padding: 20px 0px 20px 0px;
    display: inline-block;
    &:before {
        height: 3px;
        top: auto;
        bottom: 26px;
        left: 56px;
        right: 0;
        width: 100%;
        margin-bottom: 20px;
    }
    .timeline-item {
        display: table-cell;
        height: 280px;
        width: 20%;
        min-width: 320px;
        float: none !important;
        padding-left: 0px;
        padding-right: 20px;
        margin: 0 auto;
        vertical-align: bottom;
        .timeline-panel {
            top: auto;
            bottom: 64px;
            display: inline-block;
            float: none !important;
            left: 0 !important;
            right: 0 !important;
            width: 100%;
            margin-bottom: 20px;
            &:before {
                top: auto;
                bottom: -16px;
                left: 28px !important;
                right: auto;
                border-right: 16px solid transparent !important;
                border-top: 16px solid $gray-light !important;
                border-bottom: 0 solid $gray-light !important;
                border-left: 16px solid transparent !important;
            }
        }
        &:before,
        &:after {
            display: none;
        }
        .timeline-badge {
            top: auto;
            bottom: 0px;
            left: 43px;
        }
        
    }
}