/* vertical timeline */
/* source : https://codepen.io/letsbleachthis/pen/YJgNpv */

.timelineElement {
    font-size: 1em;
    line-height: 1.75em;
    border-top: 3px solid;
    border-image: linear-gradient(to right, #668F6C 0%, #212126 100%);
    border-image-slice: 1;
    border-width: 3px;
    margin: 0;
    padding-left: 40px;
    padding-right: 40px;
    padding-top : 20px;
    padding-bottom: 10px;
    counter-increment: section;
    position: relative;
}

/* numbers */
.timelineElement:before {
    content: attr(date); /*counter(section);*/
    position: absolute;
    border-radius: 0%;
    padding: 10px;
    height: 1em;
    width: 2em;
    background-color: #212126;
    text-align: center;
    line-height: 1em;
    color: #F2EFE9;
    font-size: 1em;
}

.timelineElement:first-child:before {
    content: attr(date); /*counter(section);*/
    position: absolute;
    border-radius: 0%;
    padding: 7.5px 6px 7.5px 6px;

    height: 2em;
    width: 2.5em;
    background-color: #212126;
    text-align: center;
    line-height: 1em;
    color: #F2EFE9;
    border-style: solid;
    border-width: 2px;
    border-color: #668F6C; 
    font-size: 1em;
}

.timelineStarter {
    border-left: 3px solid;
    border-image: linear-gradient(to right, #668F6C 0%, #212126 100%);
    border-image-slice: 1;
    border-width: 3px;
    margin: 0;
    padding-left: 40px;
    padding-right: 40px;
    padding-top : 20px;
    padding-bottom: 10px;

    height: 5rem;
}
@media (min-height: 500px) {
    .timelineStarter {
        height: 8rem;
    }
}
@media (min-height: 600px) {
    .timelineStarter {
        height: 12rem;
    }
}
@media (min-height: 700px) {
    .timelineStarter {
        height: 15rem;
    }
}
@media (min-height: 800px) {
    .timelineStarter {
        height: 50rem;
    }
}
  
.timelineFollower {
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-image: linear-gradient(to right, #668F6C 0%, #212126 100%);
    border-image-slice: 1;
    margin: 0;
    padding-left: 20px;
    padding-right: 20px;
    padding-top : 20px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    position: relative;
}

.timelineSeperator {
    border-bottom: 3px solid;
    border-image: linear-gradient(to right, #668F6C 0%, #212126 100%);
    border-image-slice: 1;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 100%;
}

/* odd number borders */
.timelineElement:nth-child(odd) {
    border-left: 3px solid;
    padding-right: 0px;
}

.timelineElement:nth-child(odd) h5 {
    text-align: left;
}
    
.timelineElement:nth-child(odd):before {
    right: 100%; 
    margin-right: -20px;
}

/* even number borders */
.timelineElement:nth-child(even) {
    border-right: 3px solid;
    padding-left: 0px;
}

.timelineElement:nth-child(even) h5 {
    text-align: right;
}
    
.timelineElement:nth-child(even):before {
    left: 100%; 
    margin-left: -20px;
}

/* handle first and last */
.timelineElement:first-child {
border-top: 0;
border-top-right-radius:0;
border-top-left-radius:0;
}
.timelineElement:last-child {
border-bottom-right-radius:0;
border-bottom-left-radius:0;
}


@media (max-width: 450px) {
    .timelineElement:nth-child(odd):before {
        right: 97%; 
}
.timelineElement:nth-child(even):before {
        left: 97%; 
    }
}