.timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}
.timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 3px;
  background-color: #fee6b4;
  left: 50%;
  margin-left: -1.5px;
}

.timeline > li {
    margin-bottom: 20px;
    position: relative;
}
.timeline > li:before,
.timeline > li:after {
    content: " ";
    display: table;
}
.timeline > li:after {
    clear: both;
}
.timeline > li:before,
.timeline > li:after {
    content: " ";
    display: table;
}
.timeline > li:after {
    clear: both;
}

.timeline > li > .timeline-panel {
  width: 46%;
  float: left;
  border: 3px solid #fee6b4;
  border-radius: 12px;
  /*padding: 20px;*/
  position: relative;
  /*-webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);*/
}
  .timeline > li > .timeline-panel:before {
    position: absolute;
    top: 26px;
    right: -18px;
    display: inline-block;
    border-top: 15px solid transparent;
    border-left: 15px solid #fee6b4;
    border-right: 0 solid #fee6b4;
    border-bottom: 15px solid transparent;
    content: " ";
  }
  .timeline > li > .timeline-panel:after {
    position: absolute;
    top: 27px;
    right: -14px;
    display: inline-block;
    border-top: 14px solid transparent;
    border-left: 14px solid #fff;
    border-right: 0 solid #fff;
    border-bottom: 14px solid transparent;
    content: " ";
  }

.timeline > li.timeline-inverted > .timeline-panel {
  float: right;
}

  .timeline > li.timeline-inverted > .timeline-panel:before {
    border-left-width: 0;
    border-right-width: 15px;
    left: -18px;
    right: auto;
  }

  .timeline > li.timeline-inverted > .timeline-panel:after {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
  }

.timeline > li:hover > .timeline-panel {
  border: 3px solid #fee6b4;
}
  .timeline > li:hover > .timeline-panel:before {
    border-left-color:#fee6b4;
    border-right-color: #fee6b4;
  }

.timeline > li > .timeline-panel .timeline-panel-inner {
  overflow: auto;
  width: 90%;
  float: none;
  display: block;
  height: 100%;
  padding: 20px;
  -webkit-border-radius: 12px;
          border-radius: 12px;
  background: #ffffff;
}
.timeline > li > .timeline-panel .timeline-panel-inner .image {
  background-color: #fff;
  z-index: 1;
  float: left;
  position: relative;
  overflow: hidden;
  width: 40%;
  -webkit-border-radius: 12px;
          border-radius: 12px;
  -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
}
.timeline > li > .timeline-panel .timeline-panel-inner .image .mask {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  transform: scale(0, 0);
  z-index: 10;
  background: rgba(0, 0, 0, 0.3);
  -webkit-border-radius: 12px;
          border-radius: 12px;
  -webkit-transition: all 0.3s ease;
          transition: all 0.3s ease;
}
.timeline > li > .timeline-panel .timeline-panel-inner .image .mask:after {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: '';
  opacity: 0;
  -webkit-transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 0, 1);
  transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 0, 1);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

@media screen and (max-width: 991px) {
  .timeline > li > .timeline-panel .timeline-panel-inner .image {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .timeline > li > .timeline-panel .timeline-panel-inner .image {
    width: 38%;
  }
}   
@media screen and (max-width: 479px) {
  .timeline > li > .timeline-panel .timeline-panel-inner .image {
    display: block;
    width: 100%;
    float: none;
    margin-bottom: 10px;
  }
}  

.timeline > li > .timeline-panel .timeline-panel-inner .image img {
  -webkit-transition: all 2s ease;
          transition: all 2s ease;
  width: 100%;
  height: auto;
  min-height: 100px;
  -webkit-border-radius: 12px;
          border-radius: 12px;
}  

.timeline > li > .timeline-panel .timeline-panel-inner .timeline-body {
  position: relative;
  float: right;
  width: 56%;
  top: -4px;
}
@media screen and (max-width: 991px) {
  .timeline > li > .timeline-panel .timeline-panel-inner .timeline-body {
    width: 100%;
    top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .timeline > li > .timeline-panel .timeline-panel-inner .timeline-body {
    width: 58%;
  }
}
@media screen and (max-width: 479px) {
  .timeline > li > .timeline-panel .timeline-panel-inner .timeline-body {
    display: block;
    width: 100%;
    float: none;
    position: static;
    top: auto;
  }
}

.timeline > li > .timeline-panel .timeline-panel-inner .timeline-body h3 {
  font-weight: 700;
  line-height: 30px;
  padding-bottom: 5px;
  color: #a2825c;
  -webkit-transition: all 0.3s ease;
          transition: all 0.3s ease;
}

.timeline > li > .timeline-panel .timeline-panel-inner .timeline-body p {
  font-weight: 400;
  font-size: 16px;
  color: #a2825c;
  line-height: 24px;
  /*padding-bottom: 10px;*/
}


.timeline > li:hover > .timeline-panel .timeline-panel-inner .image:before {
  z-index: 2;
  opacity: 0.3;
}
.timeline > li:hover > .timeline-panel .timeline-panel-inner .image img {
  webkit-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition: all 2s ease;
          transition: all 2s ease;
}
.timeline > li:hover > .timeline-panel .timeline-panel-inner .image .mask {
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  opacity: 1;
  visibility: visible;
}
.timeline > li:hover > .timeline-panel .timeline-panel-inner .image .mask:after {
  opacity: 1;
  -webkit-transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 1, 1);
  transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 1, 1);
}
.timeline > li:hover > .timeline-panel .timeline-panel-inner  h3 {
  color: #3185cb;
}


.timeline > li > .timeline-badge {
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 18px;
  text-align: center;
  position: absolute;
  top: 30px;
  left: 50%;
  margin-left: -25px;
  background-color: #999999;
  z-index: 100;
  border-top-right-radius: 50%;
  border-top-left-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}

.timeline-badge.red {
  background-color: #ff5c5c !important;
}
.timeline-badge.yellow {
  background-color: #ffdb5e !important;
}
.timeline-badge.green {
  background-color: #8ddd67 !important;
}
.timeline-badge.pink {
  background-color: #f2a1b0 !important;
}
.timeline-badge.blue {
  background-color: #67b5dd !important;
}
.timeline-badge.wine {
  background-color: #d00038 !important;
}


@media (max-width: 767px) {
    ul.timeline:before {
        left: 40px;
    }

    ul.timeline > li > .timeline-panel {
        width: calc(100% - 90px);
        width: -moz-calc(100% - 90px);
        width: -webkit-calc(100% - 90px);
    }

    ul.timeline > li > .timeline-badge {
        left: 15px;
        margin-left: 0;
        top: 16px;
    }

    ul.timeline > li > .timeline-panel {
        float: right;
    }

        ul.timeline > li > .timeline-panel:before {
            border-left-width: 0;
            border-right-width: 15px;
            left: -15px;
            right: auto;
        }

        ul.timeline > li > .timeline-panel:after {
            border-left-width: 0;
            border-right-width: 14px;
            left: -14px;
            right: auto;
        }
}