*{
  margin:0;
  padding:0;
  font-family: 'Roboto', sans-serif;
  background:#1d1e22;
  color:#fff;
 z-index:0;
}

.header {
  width: 100%;
  padding: 20px;
}

#back-button {
  position: relative;
  left: 10%;
  color: rgba(59,112,239,1);
  text-decoration: none;
  font-weight: bold;
}

.timeline:before {
  content: '';
  position:absolute;
  height:100%;
  left:50%;
  width:2px;
  top:-20px;
  background:#fff;
  z-index:1;
}

.timeline {
  position: relative;
  margin: 50px auto;
  width: 98vw;
  padding: 50px 0;
}


.timeline ul {
  margin: 0;
  padding: 0;
}

.timeline ul li {
  list-style: none;
  box-sizing: border-box; 
  line-height: normal;
  position: relative;
  width: 50%;
  padding: 20px 70px 70px 70px;
}

.right-content h2 {
  color: rgba(59,112,239,1);
  padding: 0px 2px 18px 0px;
}

.timeline ul li:nth-child(odd){
  float:left;
  text-align:right;
  clear:both;
}

.timeline li:nth-child(even){
  float:right;
  text-align:left;
  clear:both;
}

.left-content{
  padding-bottom:20px;
}

.timeline li:nth-child(odd):before{
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  background: rgba(59,112,239,1);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(58,112,239,0.2);
  right: -6px;
  top: 24px;
  z-index: 1;
}

.timeline li:nth-child(even):before{
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  background: rgba(59,112,239,1);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(58,112,239,0.2);
  left: -6px;
  top: 24px;
}

.timeline li:nth-child(odd) .left-content{
  position:absolute;
  top: 25px;
  left: 105%;
  margin:0;
  padding:8px 16px;
  color:#fff;
  box-shadow:0 0 0 3px rgba(59,112,239,0.3);
  border-radius:18px;
  
}

.timeline li:nth-child(even) .left-content{
  position:absolute;
  top: 25px;
  right: 105%;
  margin:0;
  padding:8px 16px;
  color:#fff;
  box-shadow:0 0 0 3px rgba(59,112,239,0.3);
  border-radius:18px;
}

/* This forces all h3 text to present as a single line. */
.timeline li h3 {
  white-space: nowrap; 
  overflow: hidden;
  text-overflow: ellipsis; 
}

/* The following pertains to the dropdown or accordion menus. */
details {
    margin-bottom: 5px;
}

details[open] summary ~ * {
  animation: sweep .5s ease-in-out;
}

@keyframes sweep {
  0%    {opacity: 0; margin-left: -10px}
  100%  {opacity: 1; margin-left: 0px}
}

summary {
    padding: 10px;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    outline: none;
    list-style: none; /* Removes default marker */
    display: block; /* Ensures full-width clickable */
}

/* Removes the default arrow */
summary::-webkit-details-marker,
summary::marker {
    display: none;
    content: "";
}

details p {
  padding-left: 10px;
}
  
  @media (max-width: 1000px){
    .timeline{
      width:100%;
    }
  }
  
  @media (max-width: 767px){
    .timeline{
      width:100%;
    }
    .timeline:before{
      left:20px;
    }
    .timeline li:nth-child(odd),
    .timeline li:nth-child(even){
      width:100%;
      text-align:left;
     padding-left:50px; 
    }
    
    .timeline li:nth-child(odd):before
      {
      top:-18px;
      left:16px;
    
    }
    .timeline li:nth-child(even):before
    { 
      top:-18px;
      left:16px;
    }
    
      .timeline li:nth-child(odd) .left-content,
    .timeline li:nth-child(even) .left-content
    {
      top:-30px;
      left:50px;
      right:inherit;
    } 
  }