﻿#timeline {
    list-style: none;
    margin: 50px 0 30px 120px;
    padding-left: 30px;
    border-left: 8px solid #d80808;
  }
  #timeline li {
    margin: 40px 0;
    position: relative;
  }
  #timeline li .relative{ position:unset;}
  #timeline p {
    margin: 0 0 15px;
  }
  
  .date {
    margin-top: -10px;
    top: 50%;
    left: -158px;
    font-size: 0.95em;
    line-height: 20px;
    position: absolute;
  }
  
  .circle {
    margin-top: -10px;
    top: 50%;
    left: -44px;
    width: 10px;
    height: 10px;
    background: #d80808;
    border: 5px solid #d80808;
    border-radius: 50%;
    display: block;
    position: absolute;
    box-sizing:unset
  }
  
  .content {
    max-height: 20px;
    padding: 60px 20px 0;
    border-color: transparent;
    border-width: 2px;
    border-style: solid;
    border-radius: 0.5em;
    position: relative;
  }
  .content:before, .content:after {
    content: "";
    width: 0;
    height: 0;
    border: solid transparent;
    position: absolute;
    pointer-events: none;
    right: 100%;
  }
  .content:before {
    border-right-color: inherit;
    border-width: 20px;
    top: 50%;
    margin-top: -20px;
  }
  .content:after {
    
    border-width: 17px;
    top: 50%;
    margin-top: -17px;
  }
  .content p {
    
    color: transparent;
    text-align: justify;
    word-break: break-word;
    hyphens: auto;
    overflow: hidden;
  }
  
  label {
    font-size: 1.3em;
    position: absolute;
    z-index: 100;
    cursor: pointer;
    top: 20px;
    transition: transform 0.2s linear;
  }
  
  .radio {
    display: none;
  }
  
  .radio:checked + .relative label {
    cursor: auto;
    transform: translateX(42px);
  }
  .radio:checked + .relative .circle {
    background: #fff;
  }
  .radio:checked ~ .content {
    max-height: 400px;
    border-color: #d80808;
    margin-right: 20px;
    transform: translateX(20px);
    transition: max-height 0.4s linear, border-color 0.5s linear, transform 0.2s linear;
  }
  .radio:checked ~ .content p {
    max-height: 400px;
    color: #000;
    transition: color 0.3s linear 0.3s;
  }
  
  
  @media screen and (max-width: 767px) {
    #timeline {
      margin-left: 0;
      padding-left: 0;
      padding-left: 30px;
      margin: 10px 0 0 0;
      float: left;
    }
    #timeline li {
      margin: 50px 0;
    }
  
    label {
      width: 85%;
      font-size: 1.1em;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
      display: block;
      transform: translateX(18px);
    }
  
    .content {
      padding-top: 45px;
      border-color: #eee9dc;
    }
    .content:before, .content:after {
      border: solid transparent;
      bottom: 100%;
    }
    .content:before {
      border-bottom-color: inherit;
      border-width: 17px;
      top: -16px;
      left: 50px;
      margin-left: -17px;
    }
    .content:after {
      border-width: 20px;
      top: -20px;
      left: 50px;
      margin-left: -20px;
    }
    .content p {
      font-size: 0.9em;
      line-height: 1.5;
    }
  
    .circle{
      top:-30px;
    }
    .date {
        width: 100%;
        left:0%;
        top:0;
        margin-top: -40px;
      font-size: 1.1em;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
      display: block;
      transform: translateX(18px);
    }
    .radio:checked ~ .content {
        max-height: 400px;
        border-color: #d80808;
        margin-right: 0px;
        transform: translateX(0px);
        transition: max-height 0.4s linear, border-color 0.5s linear, transform 0.2s linear;
      }
  }