

  @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro);

h2, #note {
  margin: 0;
}

#timeline {
  margin-top: 480px;
  padding: 0;
  border-top: 8px solid #eee9dc;
  list-style: none;
  display: flex;
}


#timeline li {
  padding-top: 30px;
  position: relative;
  flex: 1;
  transition: all 0.4s ease-in-out;
}

#timeline li:hover {
  padding-bottom: 0px;
  flex: 2;
}

#timeline li:hover label {
  opacity: 1;
  transform: translateY(10px);
}

#timeline,
#timeline * {
  box-sizing: content-box;
}

/* LABEL */

#timeline label {
  max-width: 200px;
  margin: 0 auto;
  padding: 5px 10px;
  border: 2px solid #eee9dc;
  border-radius: 5px;
  position: absolute;
  left: 0;
  right: 0;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}

#timeline label:before,
#timeline label:after {
  content: "";
  width: 0;
  height: 0;
  border: solid transparent;
  position: absolute;
  bottom: 100%;
  pointer-events: none;
}

#timeline label:before {
  border-bottom-color: linear-gradient(135deg, #fd7e14, #dc3545);
  border-width: 15px;
  left: 52%;
  margin-left: -15px;
}

#timeline label:after {
  border-bottom-color: #ffffff;
  border-width: 12px;
  left: 52%;
  margin-left: -12px;
}

#timeline label span {
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: block;
}

/* DATE */

.date {
  width: 100%;
  padding-bottom: 30px;
  text-align: center;
  position: absolute;
  top: -60px;
  display: block;
}

/* CIRCLE */

.circle {
  width: 10px;
  height: 10px;
  margin-left: -5px;
  background: #898b89;
  border: 5px solid #eee9dc;
  border-radius: 50%;
  position: absolute;
  top: -14px;
  left: 50%;
}

/* CONTENTtimeline */

.contenttimeline {
  width: 800px;
  height: 240px;
  margin: 0 auto;
  border: 2px solid #eee9dc;
  border-radius: 8px;
  position: fixed;
  top: 200px;
  left: 0;
  right: 0;
  z-index: 100;
  transform: perspective(1000px) rotateY(20deg);
  animation: switching_back 0.8s;
  color: #dd3743;
  background: rgba(255, 255, 255, 0.15); /* transparency */
 /* backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);   /* Safari */*/

  /*border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.25);*/

  /*box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);*/
}

@media (max-width: 992px) {
    .contenttimeline {
        width: 80%;
        font-size: 80%;
    }
}

.contenttimeline h3,
.contenttimeline p {
  margin: 0 20px 10px;
  text-align: justify;
  opacity: 0;
}

.contenttimeline h3 {
  margin-top: 20px;
}

/* RADIO */

.radio {
  display: none;
}

.radio:checked + label {
  opacity: 1;
  transform: translateY(10px);
  transition: opacity 0.4s ease-in-out 0.25s, transform 0.3s ease-in-out 0.25s;
}

.radio:checked ~ .circle {
  background: linear-gradient(135deg, #fd7e14, #dc3545);
}

.radio:checked ~ .contenttimeline {
  z-index: 999;
  transform: perspective(1000px) rotateY(15deg) translate(40px, 25px);
  animation: switching 1s ease;
}

.radio:checked ~ .contenttimeline h3,
.radio:checked ~ .contenttimeline p {
  opacity: 1;
  transition: opacity 0.4s ease-in-out 0.4s;
}

/* ANIMATIONS */

@keyframes switching {
  0% {
    transform: perspective(1000px) rotateY(20deg);
  }
  40% {
    transform: perspective(1000px) rotateY(15deg) translate(100px, 35px);
  }
  100% {
    transform: perspective(1000px) rotateY(15deg) translate(40px, 25px);
  }
}

@keyframes switching_back {
  0% {
    transform: perspective(1000px) rotateY(15deg) translate(40px, 25px);
    z-index: 200;
  }
  40% {
    transform: perspective(1000px) rotateY(15deg) translate(0px, 0px) scale(1.08);
  }
  100% {
    transform: perspective(1000px) rotateY(20deg);
    z-index: 100;
  }
}
