/* ---- Timeline ---- */
#timeline {
    height: 350px;
}

#timeline ol {
    position: relative;
    display: block;
    margin: 100px;
    height: 4px;
    background: #003283;
}

#timeline ol::before,
#timeline ol::after {
    content: "";
    position: absolute;
    top: -8px;
    display: block;
    width: 0;
    height: 0;
    border-radius: 10px;
    border: 10px solid #003283;
}

#timeline ol::before {
    left: -5px;
}

#timeline ol::after {
    right: -10px;
    border: 10px solid transparent;
    border-right: 0;
    border-left: 20px solid #003283;
    border-radius: 3px;
}

/* ---- Timeline elements ---- */
#timeline li {
    position: relative;
    display: inline-block;
    float: left;
    width: 90px;
    font: bold 14px arial;
    height: 50px;
}

#timeline li .date {
    position: absolute;
    top: -47px;
    left: 36%;
    color: #000000;
}

#timeline li .point {
    content: "";
    top: -4px;
    left: 43%;
    display: block;
    width: 12px;
    height: 12px;
    border: 4px solid #003283;
    border-radius: 10px;
    background: #fff;
    position: absolute;
}

#timeline li .description {
    display: none;
    background-color: #f4f4f4;
    padding: 10px;
    margin-top: 20px;
    position: relative;
    font-weight: normal;
    z-index: 1;
    color: #000;
}

#timeline .description::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #f4f4f4;
    position: absolute;
    top: -5px;
    left: 43%;
}

/* ---- Hover effects ---- */
#timeline li:hover {
    cursor: pointer;
    color: #003283;
}

#timeline li:hover .description {
    display: block;
    width: 200px;
    background-color: #fff;
    border-radius: 30px;
}