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

body {
  background-color: #03011f;
  font-family: "Source Sans Pro";
  color: #6cacc5;
}

h1 {
  text-align:center;
  font-size: 40px;
}

ul {
  padding: 50px 0;
}

ul li {
  position:relative;
  list-style-type: none;
  width: 6px;
  background-color: white;
  margin: 0 auto;
  padding-top: 50px;
}

ul li::after {
  background: white;
  content: '';
  width: 25px;
  height: 25px;
  border-radius: 50%;
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  bottom: 0;
}

ul li div {
  position: relative;
  width: 400px;
  padding: 15px;
  border-radius: 5px;
  bottom: 0;
  background: rgba(42,50,113, .28);
}

ul li:nth-child(odd) div {
  left: 45px;
}

ul li:nth-child(even) div {
  left: -445px;
}

time {
  font-weight: bold;
  font-size: 18px;
  display: block;
  margin-bottom: 10px;
}

ul li div {
  visibility: hidden;
  opacity: 0;
  transition: all .5s ease-in-out;
}

ul li:nth-child(odd) div {
  transform: translate3d(200px, 0, 0);
}

ul li:nth-child(even) div {
  transform: translate3d(-200px, 0, 0);
}

ul li.show div {
  transform: none;
  visibility: visible;
  opacity: 1;
}

button {
  background-color: #6cacc5;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
}

button:hover {
  background-color: #458891;
}


@media screen and (max-width: 900px) {
  ul li div {
    width: 250px;
  }
  ul li:nth-child(even) div {
    left: -289px;
    /*250+45-6*/
  }
}
