/* 时间线 */

.timeline-container {
  margin: auto;
  width: 98%;
  height: 850px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 0;

  --timeline-dot-left: 100px;
  --timeline-dot-color: #cd1614;
  --timeline-dot-width: 20px;
}

.timeline-area {
  flex: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding-bottom: 10px;
  padding-right: 5px;
}


.timeline-area::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  left: 0;
  right: 12px;
  top: 0;
  height: 25px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0)
  );
}

.timeline-area::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  left: 0;
  right: 12px;
  bottom: 10px;
  height: 25px;
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 1),
    rgba(255, 255, 255, 0)
  );
}

.timeline-wrapper {
  flex: 1;
  overflow-y: auto;
  padding: 15px 5px 0 0;
}


.timeline-wrapper::-webkit-scrollbar {
  width: 6px;
  background-color: transparent;
}

.timeline-wrapper::-webkit-scrollbar-track-piece {
  margin: 20px;
}

.timeline-wrapper::-webkit-scrollbar-thumb {
  background-color: rgba($color: #000000, $alpha: 0.08);
}


.timeline {
  position: relative;
}

.timeline::before {
  content: "";
  position: absolute;
  left: var(--timeline-dot-left);
  width: 1px;
  top: 20px;
  bottom: -15px;
  background-image: linear-gradient(
    to bottom,
    rgba(144, 156, 173, 0.6) 60%,
    rgba(255, 255, 255, 0) 0%
  );
  background-position: left;
  background-size: 1px 5px;
  background-repeat: repeat-y;
}

.timeline-item {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-top: 15px;
}

.timeline-dot {
  left: var(--timeline-dot-left);
  width: var(--timeline-dot-width, 16px);
  height: var(--timeline-dot-width, 16px);
  position: absolute;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #d8d8d8;
  background: white;
  text-align: center;
  top: 0;
  line-height: 40px;
  margin-left: calc(-1 * var(--timeline-dot-width) / 2);
}

.timeline-dot::before {
  position: absolute;
  left: 7px;
  top: -11px;
  content: 'L';
  font-size: 80%;
  font-weight: bold;
  color: #ccc;
}

.timeline-item.current .timeline-dot {
  width: 10px;
  height: 10px;
  background-color: var(--timeline-dot-color);
  box-shadow: 0 0 4px var(--timeline-dot-color);
  border: 1px solid white;
  margin-left: -5px;
}

.timeline-left {
  display: block;
  width: calc(var(--timeline-dot-left) - var(--timeline-dot-width));
  line-height: var(--timeline-dot-width);
  height: var(--timeline-dot-width);
  position: absolute;
  text-align: right;
  color: #8492a5;
}

.timeline-right {
  position: relative;
  margin: -13px 0 10px calc(var(--timeline-dot-left) + 25px);
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.timeline-right::before {
  position: absolute;
  left: -20px;
  top: 13px;
  width: 0px;
  height: 0px;
  content: '';
 
  border-top: 10px solid transparent;
  border-right: 10px solid #ccc;
  border-left: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.timeline-right::after {
  position: absolute;
  left: -16px;
  top: 15px;
  width: 0px;
  height: 0px;
  content: '';
 
  border-top: 8px solid transparent;
  border-right: 8px solid #fff;
  border-left: 8px solid transparent;
  border-bottom: 8px solid transparent;
}

.timeline-left__title {
  font-size: 20px;
  font-weight: 500;
  color: var(--timeline-dot-color);
}