 .timeline {
     display: flex;
     margin: 0 auto;
     flex-wrap: wrap;
     flex-direction: column;
     max-width: 80%;
     position: relative;
 }

 .timeline__content {
     background: #fff;
     padding: 15px;
     border-radius: 10px;
 }

 .timeline__content-title {
     font-weight: normal;
     font-size: 66px;
     margin: -10px 0 0 0;
     transition: 0.4s;
     padding: 0 10px;
     box-sizing: border-box;
 }

 .timeline__content-title span {
     font-size: 0.3em;
     text-align: right;
     float: right;
     color: #0c2c95;
     padding: 5px;
     text-shadow: 1px 1px 2px #a3a3a3;
 }

 .timeline__content-desc {
     margin: 0;
     font-size: 15px;
     box-sizing: border-box;
     font-weight: normal;
     line-height: 25px;
 }

 .timeline:before {
     position: absolute;
     left: 50%;
     width: 2px;
     height: 100%;
     margin-left: -1px;
     content: "";
     background: linear-gradient(0deg, #26226200, #0093ff, #262262, #0093ff, #262262, #0093ff, #262262, #0093ff, #262262, #0093ff, #262262, #0093ff, #26226200);
 }

 @media only screen and (max-width: 767px) {
     .timeline:before {
         left: 40px;
     }
 }

 .timeline-item {
     padding: 40px 0;
     opacity: 0.3;
     filter: blur(2px);
     transition: 0.5s;
     box-sizing: border-box;
     width: calc(50% - 40px);
     display: flex;
     position: relative;
     transform: translateY(-80px);
 }

 .timeline-item:before {
     content: attr(data-text);
     letter-spacing: 3px;
     width: 100%;
     position: absolute;
     color: rgb(255 64 64);
     font-size: 35px;
     border-left: 4px solid rgb(255 0 0);
     top: 70%;
     margin-top: -5px;
     padding-top: 5px;
     padding-bottom: 5px;
     padding-left: 15px;
     border-radius: 0 10px 10px 0;
     opacity: 0;
     right: calc(-100% - 38px);
     background: #ffffff9c;
 }

 .timeline-item:nth-child(even) {
     align-self: flex-end;
 }

 .timeline-item:nth-child(even):before {
     right: auto;
     text-align: right;
     left: calc(-100% - 38px);
     padding-left: 0;
     border-left: none;
     border-right: 4px solid rgb(255 0 0);
     padding-right: 15px;
     border-radius: 10px 0 0 10px;
 }

 .timeline-item--active {
     opacity: 1;
     transform: translateY(0);
     filter: blur(0px);
 }

 .timeline-item--active:before {
     top: 50%;
     transition: 0.3s all 0.2s;
     opacity: 1;
 }

 .timeline-item--active .timeline__content-title {
     margin: -50px 0 20px 0;
     background: #f3f2f2d4;
     position: sticky;
     border-radius: 10px 10px 0 0;
     color: #a71d22;
 }

 @media only screen and (max-width: 767px) {
     .timeline-item {
         align-self: baseline !important;
         width: 100%;
         padding: 0 30px 150px 80px;
     }

     .timeline-item:before {
         left: 10px !important;
         padding: 0 !important;
         top: 50px;
         text-align: center !important;
         width: 60px;
         border: none !important;
     }

     .timeline-item:last-child {
         padding-bottom: 40px;
     }
 }

 .timeline__img {
     max-width: 100%;
     box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
     border-radius: 10px;
 }

 .timeline-container {
     width: 100%;
     position: relative;
     padding: 80px 0;
     transition: 0.3s ease 0s;
     background: #ffffff;
     border-radius: 20px;
     overflow: hidden;
 }

 .timeline-container:before {
     position: absolute;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     content: "";
     background: rgb(255 255 255 / 95%);
 }

 .timeline-header {
     width: 100%;
     text-align: center;
     margin-bottom: 80px;
     position: relative;
 }

 .timeline-header__title {
     font-size: 46px;

     font-weight: normal;
     margin: 0;
 }

 .timeline-header__subtitle {
     font-size: 16px;
     letter-spacing: 5px;
     margin: 10px 0 0 0;
     font-weight: normal;
 }

 .demo-footer {
     padding: 60px 0;
     text-align: center;
 }

 .demo-footer a {
     color: #999;
     display: inline-block;

 }

 /* Crossfade background layers for timeline container */
 .timeline-container {
     position: relative;
     overflow: hidden;
     background-size: cover;
     background-position: center center;
     box-shadow: 0 20px 30px -10px #00000047;
     margin-bottom: 3em;
 }

 .timeline-bg-layer {
     position: absolute;
     inset: 0;
     /* top:0; right:0; bottom:0; left:0 */
     background-size: cover;
     background-position: center center;
     background-repeat: no-repeat;
     transition: opacity 600ms ease;
     opacity: 0;
     pointer-events: none;
 }

 .timeline-bg-layer.visible {
     opacity: 0.2;
 }