*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body{
  padding: 10px;
}
.timeline{
  padding: 10px 0px;
  margin-left: 8px ;
  position: relative;
}
.timeline::before{
  content: '';
  position: absolute;
  /* width: 8px; */
  border-left: 2px dashed #1c1c1c;
  height: 100%;
  top: 0;
  left: calc(var(--width) + 80px);
}
.timeline-box{
  padding: 8px 4px 8px 30px;
  position: relative;
}
.timeline-box::before{
  content: '';
  position: absolute;
  width: calc(var(--width) + 8px);
  height: calc(var(--width) + 8px );
  top: calc(var(--width) + 2px);
  left: calc(var(--width) - (var(--width) + 12px));
  border: 2px dashed transparent;
  border-left: 2px dashed #1c1c1c;
  border-top: 2px dashed #1c1c1c;
  transform: rotate(-45deg);
  background: #fff;
  border-radius: 50%;
  z-index: 1;
}
.timeline-box::after{
  content: var(--content);
  position: absolute;
  width: var(--width);
  height: var(--width);
  top: calc(var(--width) + 0.1rem);
  left:  -6px;
  background: #d86262;
  color: white;
  border-radius: 50%;
  z-index: 1;
  transform-origin: center;
}
.timeline-box.right{
  
}
.timeline-content{
  padding:0 10px;
}
.timeline-content h2{
  color: #d86262;
  font-size: 24px;
}
.timeline-content ul{
  list-style: none;
  all: unset;
}
.timeline-content ul li{
  position: relative;
  margin-left: 18px;
}
.timeline-content ul li::before{
  content: '';
  position: absolute;
  left: -18px;
  top: 4px;
  width: 12px;
  height: 12px;
  background: #999;
  border-radius: 50%;
}