.main-timeline{ font-family: 'Libre Franklin', sans-serif; }
.main-timeline:after{
    content: '';
    display: block;
    clear: both;
}
.main-timeline .timeline{
    width: calc(50% + 200px);
    padding: 0 190px 0 0;
    margin: 0 0 50px;
    float: left;
}

.main-timeline .timeline-content:hover{ text-decoration: none; }
.main-timeline .timeline-content:after{
    content: "";
    background: linear-gradient(to right,#555,#fff);
    width: 60px;
    height: 10px;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 100%;
    z-index: -1;
}


.main-timeline .title{
    background: linear-gradient(to right, #558955, #14780b); /*caixa disciplina*/
    font-size: 2.0rem;
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 1px;
    padding: 10px 10px;
    margin: 0;
    border-radius: 10px 10px 10px 10px;
}
.main-timeline .description{
    background: linear-gradient(to left, #267430, #228305); /*caixa descrição da rota*/
     font-size: 1.5rem;
    color: #fff;
    letter-spacing: 1px;
    padding: 20px;
    margin: 0;
    border-radius: 10px 10px 10px 10px;
}
.des{
    color: #fff;
    background: linear-gradient(to left, #a8e70a, #228305); /*caixa descrição da rota*/
}




.main-timeline .timeline:nth-child(even){
    float: right;
    padding: 0 0 0 190px;
    margin: 0 0 50px;
}
.main-timeline .timeline:nth-child(even) .timeline-content:after{
    transform: translateY(-50%) rotate(180deg);
    left: auto;
    right: 100%;
}
.main-timeline .timeline:nth-child(even) .timeline-year{
    left: auto;
    right: calc(100% + 40px);
}


@media screen and (max-width:767px){
    .main-timeline .timeline{ width: 100%; }
}
@media screen and (max-width:576px){
    .main-timeline .timeline,
    .main-timeline .timeline:nth-child(even){
        text-align: center;
        padding: 100px 0 0 0;
        margin: 0 0 30px;
    }
    .main-timeline .timeline-content:after,
    .main-timeline .timeline:nth-child(even) .timeline-content:after{
        background: linear-gradient(to bottom, #fff,#666);
        width: 10px;
        height: 60px;
        transform: translateX(-50%) translateY(0);
        top: auto;
        left: 50%;
        right: 0;
        bottom: 100%;
    }
    .main-timeline .timeline-year,
    .main-timeline .timeline:nth-child(even) .timeline-year{
        padding: 10px 0;
        transform: translateX(-50%) translateY(0);
        top: auto;
        bottom: calc(100% + 30px);
        left: 50%;
    }
    .main-timeline .title{ font-size: 20px; }
}