*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
    overflow-x: hidden;
}

time {
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    padding-left: 10px;
    background: #ce171f;
    color: #fff;
}

.intro {
    font: normal 16px/1.5 "Helvetica Neue", sans-serif;
    font-size: 2.5rem;
    /*background: #FFBF27;*/
    /*padding: 100px 0;*/
    /*margin-top: 50px;*/
}
/*
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
*/

.timeline {
    /*background-color: #5B7F95;*/
    margin-top: -55px;
    padding-top: 0;
    font: normal 16px/1.5 "Helvetica Neue", sans-serif;
}

.timeline ul li {
    list-style-type: none;
    position: relative;
    width: 6px;
    margin: 0 auto;
    padding-top: 50px;
    background: #fff;
    background: #666;
}
 
.timeline ul li::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: inherit;
}
   
.timeline-box {
    border: 3px solid #ce171f;
    position: relative;
    bottom: 0;
    width: 400px;
    background: #fff;
    /*background: #F45B69;*/
}

.timeline-content {
    width: 100%;
    padding: 15px;
}
 
.timeline ul li div::before {
    content: '';
    color: #fff;
    position: absolute;
    bottom: 7px;
    width: 0;
    height: 0;
    border-style: solid;
}

/* styles for odd elements */
.timeline ul li:nth-child(odd) .timeline-box {
    left: 45px;
}
 
.timeline ul li:nth-child(odd) .timeline-box::before {
    left: -16px;
    border-width: 8px 16px 8px 0;
    border-color: transparent #ce171f transparent transparent;
}

/* styles for even elements */
.timeline ul li:nth-child(even) .timeline-box {
  left: -439px;
}
 
.timeline ul li:nth-child(even) .timeline-box::before {
  right: -16px;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent #ce171f;
}

/* styles to hide and reveal items*/
.timeline ul li::after {
    background: #faa21c;
    transition: background .5s ease-in-out;
}
 
.timeline ul li.in-view::after {
    background: no-repeat center/55% url("../assets/img/heart_1.jpg");
    background-clip: border-box;
    background-color: #fff;
    border-radius: 50%;
    border: 1px dotted #778;
}
 
.timeline ul li div {
    visibility: hidden;
    opacity: 0;
    transition: all .5s ease-in-out;
}
 
.timeline ul li:nth-child(odd) div {
    transform: translate3d(200px,0,0);
}
 
.timeline ul li:nth-child(even) div {
    transform: translate3d(-200px,0,0);
}
 
.timeline ul li.in-view div {
    transform: none;
    visibility: visible;
    opacity: 1;
}

/* media queries / responsive styles */
@media screen and (max-width: 900px) {
    .timeline-box {
        width: 250px;
    }

    .timeline ul li:nth-child(even) .timeline-box {
        left: -289px; /*250+45-6*/
    }
}

@media screen and (max-width: 600px) {
    .timeline ul li {
        margin-left: 20px;
    }
   
    .timeline-box {
        width: calc(100vw - 91px);
    }
   
    .timeline ul li:nth-child(even) .timeline-box {
        left: 45px;
    }
   
    .timeline ul li:nth-child(even) .timeline-box::before {
        left: -16px;
        border-width: 8px 16px 8px 0;
        border-color: transparent #ce171f transparent transparent;
    }
}