/* ==================== TIMELINE ==================== */

.timeline ul {
  margin-top: 8vh;
}

.timeline ul.none {
  display: none;
}

.timeline ul li.not {
  display: none;
}

.timeline ul li.ok {
  list-style-type: none;
  position: relative;
  width: 6px;
  margin: 0 auto;
  padding-top: 0;
  background: var(--primary-text-color);
}

.timeline ul li.ok:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: inherit;
  z-index: 1;
}

.timeline ul li.ok>div {
  position: relative;
  bottom: 0;
  width: 400px;
  padding: 15px;
  background: var(--main-color);
  color: var(--primary-fixed-color);
  z-index: 10;
}

.timeline ul li.ok>div::before {
  content: "";
  position: absolute;
  bottom: 7px;
  width: 0;
  height: 0;
  border-style: solid;
}

.timeline ul li.ok.paire>div {
  left: 45px;
}

.timeline ul li.ok.paire>div::before {
  left: -15px;
  border-width: 8px 16px 8px 0;
  border-color: transparent var(--main-color) transparent transparent;
}

.timeline ul li.ok.impaire>div {
  left: -470px;
}

.timeline ul li.ok.impaire>div::before {
  right: -15px;
  border-width: 8px 0 8px 16px;
  border-color: transparent transparent transparent var(--main-color);
}

time {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 8px;
}

/* EFFECTS
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.timeline ul li::after {
  transition: background 0.5s ease-in-out;
}

.timeline ul li.in-view::after {
  background: var(--main-color);
}

.timeline ul li>div {
  visibility: hidden;
  opacity: 0;
  transition: all 0.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;
}


/* EXTRA/CLIP PATH STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.timeline-clippy ul li::after {
  width: 40px;
  height: 40px;
  border-radius: 0;
}

.timeline-rhombus ul li::after {
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.timeline-rhombus ul li>div::before {
  bottom: 12px;
}

.timeline-star ul li::after {
  clip-path: polygon(50% 0%,
      61% 35%,
      98% 35%,
      68% 57%,
      79% 91%,
      50% 70%,
      21% 91%,
      32% 57%,
      2% 35%,
      39% 35%);
}

.timeline-heptagon ul li::after {
  clip-path: polygon(50% 0%,
      90% 20%,
      100% 60%,
      75% 100%,
      25% 100%,
      0% 60%,
      10% 20%);
}

.timeline-infinite ul li::after {
  animation: scaleAnimation 2s infinite;
}

@keyframes scaleAnimation {
  0% {
    transform: translateX(-50%) scale(1);
  }

  50% {
    transform: translateX(-50%) scale(1.25);
  }

  100% {
    transform: translateX(-50%) scale(1);
  }
}

/*================ PERSONNALISATION BLOC =================*/

.timeline .container li.item.none {
  display: none;
}

.timeline .container .etape h3 {
  color: var(--primary-fixed-color);
  margin-bottom: 6px;
  font-family: 'Jost';
  font-weight: 700;
}

.timeline .container .etape p {
  color: var(--primary-fixed-color);
}

.timeline .container .etape span {
  display: inline-block;
  height: 2px;
  width: 120px;
  background-color: var(--primary-fixed-color);
  margin: 12px 0 10px;
}

.timeline .container .etape .details {
  display: flex;
  flex-direction: row;
  margin: 5px 0;
  align-items: center;
  height: 20px;
  color: var(--primary-fixed-color);
  z-index: 15;
}

.timeline .container .etape .details p {
  color: var(--primary-fixed-color);
  font-size: 1rem;
}

.timeline .container .etape .details .svg {
  width: 18px;
  height: 18px;
  margin-right: 15px;
}

.timeline .container .etape .details .svg path {
  fill: var(--primary-fixed-color);
}

@media screen and (max-width: 769px) {

  .timeline ul {
    margin: 6vh 0 4vh;
    padding: 0 15%;
  }

  .timeline ul li.ok {
    width: 5px;
    margin: 0;
    padding-top: 50px;
  }

  .timeline ul li.ok:after {
    width: 25px;
    height: 25px;
  }

  .timeline ul li.ok.paire>div,
  .timeline ul li.ok.impaire>div {
    left: 45px;
  }

  .timeline ul li.ok.paire>div::before,
  .timeline ul li.ok.impaire>div::before {
    left: -15px;
    border-width: 8px 16px 8px 0;
    border-color: transparent var(--main-color) transparent transparent;
  }

  .timeline .container .etape .details p {
    font-size: 0.8rem;
}

}

@media screen and (max-width: 570px) {

  .timeline ul {
    margin: 5vh 0 3vh;
    padding: 0 2%;
  }

  .timeline ul li.ok:after {
    width: 20px;
    height: 20px;
  }

  .timeline ul li.ok.paire>div,
  .timeline ul li.ok.impaire>div {
    left: 40px;
    width: 280px;
  }
}