
.vtimeline {
    list-style: none;
    padding: 0;
    position: relative;
    margin-bottom: 20px;
}

.vtimeline:before {
    top: 0;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 3px;
    background-color: #d1d4e4;
    left: 50%;
    margin-left: -1.5px;
}

.vtimeline .timeline-wrapper {
    display: block;
    margin-bottom: 20px;
    position: relative;
    width: 100%;
    padding-right: 90px;
}

.vtimeline .timeline-wrapper:before {
    content: " ";
    display: table;
}

.vtimeline .timeline-wrapper:after {
    content: " ";
    display: table;
    clear: both;
}

.vtimeline .timeline-wrapper .timeline-panel {
    border-radius: 2px;
    padding: 20px;
    position: relative;
    background: #f2f3f9;
    border-radius: 0px;
    box-shadow: 0 4px 8px 0 rgba(162, 169, 204, 0.24);
    width: 42%;
    margin-left: 9%;
}

.vtimeline .timeline-wrapper .timeline-panel:before {
    position: absolute;
    top: 0;
    width: 100%;
    height: 2px;
    content: "";
    left: 0;
    right: 0;
}

.vtimeline .timeline-wrapper .timeline-panel:after {
    position: absolute;
    top: 10px;
    right: -14px;
    display: inline-block;
    border-top: 14px solid transparent;
    border-left: 14px solid #f2f3f9;
    border-right: 0 solid #f2f3f9;
    border-bottom: 14px solid transparent;
    content: " ";
}

.vtimeline .timeline-wrapper .timeline-panel .timeline-title {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.625rem;
}

.vtimeline .timeline-wrapper .timeline-panel .timeline-body p+p {
    margin-top: 5px;
}

.vtimeline .timeline-wrapper .timeline-panel .timeline-body ul {
    margin-bottom: 0;
}

.vtimeline .timeline-wrapper .timeline-panel .timeline-footer span {
    font-size: 0.6875rem;
}

.vtimeline .timeline-wrapper .timeline-badge {
    width: 14px;
    height: 14px;
    position: absolute;
    top: 16px;
    left: calc(50% - 7px);
    z-index: 0;
    border-top-right-radius: 50%;
    border-top-left-radius: 50%;
    border-bottom-right-radius: 50%;
    border-bottom-left-radius: 50%;
    border: 2px solid #fff;
}

.vtimeline .timeline-wrapper .timeline-badge i {
    color: #fff;
}

.vtimeline .timeline-wrapper.timeline-inverted {
    padding-right: 0;
    padding-left: 90px;
}

.vtimeline .timeline-wrapper.timeline-inverted .timeline-panel {
    margin-left: auto;
    margin-right: 9%;
}

.vtimeline .timeline-wrapper.timeline-inverted .timeline-panel:after {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
}

.timeline-wrapper-primary .timeline-panel:before,
.timeline-wrapper-primary .timeline-badge {
    background: #aa1346;
}

.timeline-wrapper-secondary .timeline-panel:before,
.timeline-wrapper-secondary .timeline-badge {
    background: #fb6b25;
}

.timeline-wrapper-success .timeline-panel:before,
.timeline-wrapper-success .timeline-badge {
    background: #09ad95;
}

.timeline-wrapper-info .timeline-panel:before,
.timeline-wrapper-info .timeline-badge {
    background: #45aaf2;
}

.timeline-wrapper-warning .timeline-panel:before,
.timeline-wrapper-warning .timeline-badge {
    background: #fcd539;
}

.timeline-wrapper-danger .timeline-panel:before,
.timeline-wrapper-danger .timeline-badge {
    background: #f16d75;
}

.timeline-wrapper-light .timeline-panel:before,
.timeline-wrapper-light .timeline-badge {
    background: #f1f2f9;
}

.timeline-wrapper-dark .timeline-panel:before,
.timeline-wrapper-dark .timeline-badge {
    background: #828db1;
}

@media (max-width: 767px) {
    .vtimeline .timeline-wrapper {
        padding-right: 0 !important;
    }

    .vtimeline .timeline-wrapper .timeline-badge {
        left: 0 !important;
    }

    .vtimeline .timeline-wrapper .timeline-panel {
        width: auto !important;
        margin-left: 10% !important;
    }

    .vtimeline .timeline-wrapper.timeline-inverted {
        padding-left: 0 !important;
    }

    .vtimeline .timeline-wrapper.timeline-inverted .timeline-panel {
        margin-right: 0 !important;
        width: auto !important;
    }

    .vtimeline:before {
        left: 6px !important;
    }

    .vtimeline .timeline-wrapper .timeline-panel:after {
        border-right: 14px solid #cad4e4 !important;
        border-left: 0 solid #cad4e4 !important;
        left: -14px !important;
        right: auto !important;
    }
}

@media (max-width: 420px) {
    .vtimeline .timeline-wrapper .timeline-panel:after {
        display: none;
    }
}

.timeline-body p {text-align: justify;}