.timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}

.timeline:before {
    content: '';
    top: 0;
    position: absolute;
    width: 4px;
    height: 100%;
    background: var(--go-ortho-color-purple);
    left: 24px;
    margin-left: -1.5px;
}

@media screen and (min-width: 992px){
    .timeline:before {
        left: 50%;
        margin-left: -2px;
    }
}

.timeline-block {
    margin-bottom: 4rem;

    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 991px) {
    .timeline-block {
        margin-left: 75px;
    }
}

@media screen and (min-width: 992px){
    .timeline-block:nth-child(even) {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
}

.timeline .timeline-block .timeline-panel {

    border-radius: 50px;
    background: white;
    padding: 20px;
    position: relative;
    -webkit-box-shadow: 0 3px 0 #d7e4ed;
    box-shadow: 0 3px 0 #d7e4ed;
    width: 100%;

    /*-webkit-animation-name: bounceInRight;*/
    /*animation-name: bounceInRight;*/
    /*animation-duration: 1s;*/
}

@media screen and (min-width: 992px) {
    .timeline .timeline-block .timeline-panel {
        width: 45%;
    }

    .timeline .timeline-block:nth-child(odd) .timeline-panel {
        -webkit-animation-name: bounceInLeft;
        animation-name: bounceInLeft;
        animation-duration: 1s;
    }

    .timeline .timeline-block:nth-child(even) .timeline-panel {
        -webkit-animation-name: bounceInRight;
        animation-name: bounceInRight;
        animation-duration: 1s;
    }
}

.timeline .timeline-block .timeline-panel:before {
    content: '';
    position: absolute;
    top: 18px;
    right: 100%;
    height: 0;
    width: 0;
    background: white;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

@media screen and (min-width: 992px) {
    .timeline .timeline-block .timeline-panel:before {
        top: 25px;
        left: 100%;
        border-color: transparent;
        border-left-color: white;
    }
}

@media screen and (min-width: 992px) {
    .timeline .timeline-block:nth-child(even) > .timeline-panel:before {
        left: auto;
        right: 100%;
        border-color: transparent;
        border-right-color: white;
    }
}

.timeline-badge {
    color: #fff;
    width: 50px;
    height: 50px;
    font-size: 30px;
    display : flex;
    justify-content: center;
    align-items: center;
  
    position: absolute;
    left: 0;
    background-color: white;
    z-index: 1;
    border-radius: 50%;
    box-shadow: 0 0 0 4px var(--go-ortho-color-kaki), inset 0 2px 0 rgba(0,0,0,.08), 0 3px 0 4px rgba(0,0,0,.05);

    -webkit-animation-name: rubberBand;
    animation-name: rubberBand;
    animation-duration: 1s;
}

@media screen and (min-width: 992px){
    .timeline-badge {
        width: 60px;
        height: 60px;
        left: 50%;
        margin-left: -30px;
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0);
    }
}


/*When screen is small all bubble are right*/
.timeline .timeline-block .timeline-panel {
    border-radius: 0px 50px 50px 50px;
}

/*Left bubble*/
@media screen and (min-width: 992px) {
    .timeline .timeline-block .timeline-panel {
        border-radius: 50px 0px 50px 50px;
    }
}

/*Right bubble*/
@media screen and (min-width: 992px) {
    .timeline .timeline-block:nth-child(even) > .timeline-panel {
        border-radius: 0px 50px 50px 50px;
    }
}