.demo{ background-color: #302E34; }
.main-timeline{
    padding: 30px 0;
}
.main-timeline:after{
    content: '';
    display: block;
    clear: both;
}
.main-timeline:before{
    content: '';
    background-color: #fff;
    height: 100%;
    width: 5px;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    left: 50%;
}
.main-timeline .timeline{
    width: 50%;
    margin: 0 10px 20px 0;
    float: left;
    position: relative;
}
.main-timeline .timeline-content{
    color: #555;
    display: block;
    position: relative;
    z-index: 1;
}
.main-timeline .timeline-content:hover{ text-decoration: none; }
.main-timeline .timeline-content:before{
    content: '';
    background-color: #ff6a14;
    height: calc(100% + 20px);
    width: 135px;
    transform: translateY(-50%);
    position: absolute;
    right: 2px;
    top: 50%;
    z-index: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 30% 100%);
}
.main-timeline .timeline-year{
    color: #fff;
    background-color: #ff6a14;
    font-size: 15px;
    font-weight: 600;
    padding: 10px 30px 10px 20px;
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%);
    transform: translateY(-50%);
    position: absolute;
    left: calc(100% + 3px);
    top: 50%;
}
.main-timeline .timeline-icon{
    color: #fff;
    font-size: 35px;
    text-align: center;
    line-height: 66px;
    height: 70px;
    width: 70px;
    border-radius: 50%;
    text-shadow: 3px 3px 0 rgba(0,0,0,0.15);
    border: 4px solid #fff;
    transform: translateY(-50%);
    position: absolute;
    right: 20px;
    top: 50%;
    z-index: 1;
}
.main-timeline .inner-content{
    background-color: #fff;
    padding: 10px 130px 10px 40px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
}
.main-timeline .title{
    color: #333;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.main-timeline .description{
    font-size: 15px;
    letter-spacing: 1px;
    margin: 0;
}
.main-timeline .timeline:nth-child(even){
    margin: 0 0 20px 10px;
    float: right;
}
.main-timeline .timeline:nth-child(even) .timeline-content:before{
    transform: translateY(-50%) rotateY(180deg);
    right: auto;
    left: 3px;
}
.main-timeline .timeline:nth-child(even) .timeline-year{
    padding: 10px 20px 10px 30px;
    left: auto;
    right: calc(100% + 1px);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
}
.main-timeline .timeline:nth-child(even) .timeline-icon{
    right: auto;
    left: 20px;
}
.main-timeline .timeline:nth-child(even) .inner-content{
    padding: 10px 30px 10px 145px;
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
}
.disable:before{ background-color: #c0c0c0 !important; }
.year-disable{ background-color: #c0c0c0 !important; }

.main-timeline .timeline:nth-child(4n+2) .timeline-content:before{ background-color: #CF18FF; }
.main-timeline .timeline:nth-child(4n+2) .timeline-year{ background-color: #CF18FF; }
.main-timeline .timeline:nth-child(4n+3) .timeline-content:before{ background-color: #00BBFE; }
.main-timeline .timeline:nth-child(4n+3) .timeline-year{ background-color: #00BBFE; }
.main-timeline .timeline:nth-child(4n+4) .timeline-content:before{ background-color: #2be52b; }
.main-timeline .timeline:nth-child(4n+4) .timeline-year{ background-color: #2be52b; }
@media screen and (max-width:767px){
    .main-timeline{ padding: 0; }
    .main-timeline:before{ display: none; }
    .main-timeline .timeline,
    .main-timeline .timeline:nth-child(even){
        width: 100%;
        padding: 60px 0 65px;
        margin: 0 0 20px;
        float: none;
    }
    .main-timeline .inner-content{ padding: 10px 20px 10px 40px; }
    .main-timeline .timeline:nth-child(even) .inner-content{ padding: 10px 40px 10px 20px; }
    .main-timeline .timeline-content:before{
        height: 65px;
        width: 80px;
        transform: translateY(0);
        top: 100%;
        right: 0;
    }
    .main-timeline .timeline:nth-child(even) .timeline-content:before{
        transform: translateY(0) rotateY(180deg);
        left: 0;
    }
    .main-timeline .timeline-year{
        transform: translateY(0);
        left: 0;
        top: -60px;
    }
    .main-timeline .timeline:nth-child(even) .timeline-year{
        transform: translateY(0);
        right: 0;
        top: -60px;
    }
    .main-timeline .timeline-icon{
        font-size: 25px;
        line-height: 48px;
        height: 50px;
        width: 50px;
        border-width: 2px;
        transform: translateY(0);
        top: calc(100% + 7px);
        right: 7px;
    }
    .main-timeline .timeline:nth-child(even) .timeline-icon{ left: 5px; }
}
@media screen and (max-width:567px){
    .main-timeline .title{ font-size: 18px; }
}