﻿.timeline-parent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%; }

.timeline-flex-container {
  margin-top: 50px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  width: 80vw;
  height: 100px;
  max-width: 1400px;
  position: relative;
  z-index: 0; }

.timeline-input {
  width: 25px;
  height: 25px;
  background-color: #2C3E50;
  position: relative;
  border-radius: 50%; }
  .timeline-input:hover {
    cursor: pointer; }
  .timeline-input::before, .timeline-input::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 50%;
    transform: translateY(-50%);
    background-color: #2C3E50;
    width: 4.70588vw;
    height: 5px;
    max-width: 82.35294px; }
  .timeline-input::before {
    left: calc(-4.70588vw + 12.5px); }
  .timeline-input::after {
    right: calc(-4.70588vw + 12.5px); }
  .timeline-input.timeline-active {
    background-color: #2C3E50; }
    .timeline-input.timeline-active::before {
      background-color: #2C3E50; }
    .timeline-input.timeline-active::after {
      background-color: #AEB6BF; }
    .timeline-input.timeline-active span {
      font-weight: 700; }
      .timeline-input.timeline-active span::before {
        font-size: 13px; }
      .timeline-input.timeline-active span::after {
        font-size: 13px; }
  .timeline-input.timeline-active ~ .timeline-input, .timeline-input.timeline-active ~ .timeline-input::before, .timeline-input.timeline-active ~ .timeline-input::after {
    background-color: #AEB6BF; }
  .timeline-input span {
    width: 1px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    visibility: hidden; }
    .timeline-input span::before, .timeline-input span::after {
      visibility: visible;
      position: absolute;
      left: 50%; }
    .timeline-input span::after {
      content: attr(data-date);
      top: 25px;
      font-size: 14px;
      transform: translateX(-100%) rotateZ(-45deg); }
    .timeline-input span::before {
      content: attr(data-info);
      top: -65px;
      width: 100px;
      transform: rotateZ(-45deg);
      font-size: 12px;
      text-indent: -10px; }

.description-flex-container {
  width: 80vw;
  font-weight: 400;
  font-size: 22px;
  margin-top: 3rem;
  max-width: 1400px; }
  .description-flex-container p {
    margin-top: 0;
    display: none;
    height: 350px; }
    .description-flex-container p.timeline-active {
      display: block; }
    .description-flex-container p img {
      max-height: 300px;
      object-fit: cover;
      border: 3px solid #7D3C58; }

@media (min-width: 1750px) {
  .timeline-input::before {
    left: -69.85294px; }
  .timeline-input::after {
    right: -69.85294px; } }

@media (max-width: 850px) {
  .timeline-input {
    width: 17px;
    height: 17px; }
    .timeline-input::before, .timeline-input::after {
      height: 3px; }
    .timeline-input::before {
      left: calc(-4.70588vw + 8.5px); }
    .timeline-input::after {
      right: calc(-4.70588vw + 8.5px); } }

@media (max-width: 600px) {
  .timeline-parent {
    justify-content: initial; }
  .timeline-flex-container {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    height: auto;
    margin-top: 1vh; }
  .timeline-input {
    width: 60px;
    height: 60px;
    margin: 0 10px 50px;
    background-color: #AEB6BF; }
    .timeline-input::before, .timeline-input::after {
      content: none; }
    .timeline-input span {
      width: 100%;
      height: 100%;
      display: block; }
      .timeline-input span::before {
        top: calc(100% + 5px);
        transform: translateX(-50%);
        text-indent: 0;
        text-align: center;
        width: 70px; }
      .timeline-input span::after {
        top: 50%;
        transform: translate(-50%, -50%);
        color: #ECF0F1;
        font-size: 12px; }
  .description-flex-container {
    margin-top: 1rem;
    text-align: center;
    width: 100%; }
    .description-flex-container p {
      height: auto; }
      .description-flex-container p img {
        max-height: 180px; } }
