@media only screen and (min-width: 1170px) {
  .cd-is-hidden {
    visibility:hidden;
  }
}

.cd-timeline {
  overflow:hidden;
  margin:2em auto;
}

.cd-timeline__container {
  position:relative;
  width:90%;
  /*max-width:1170px;*/
  margin:0 auto;
  padding:2em 0;
}

.cd-timeline__container::before {
  content:'';
  position:absolute;
  top:0;
  left:18px;
  height:100%;
  width:4px;
  background:#d7e4ed;
}

@media only screen and (min-width: 1170px) {
  .cd-timeline {
    margin-top:3em;
    margin-bottom:3em;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__container::before {
    left:50%;
    margin-left:-2px;
  }
}

.cd-timeline__block {
  position:relative;
  margin:2em 0;
}

.cd-timeline__block:after {
  content:"";
  display:table;
  clear:both;
}

.cd-timeline__block:first-child {
  margin-top:0;
}

.cd-timeline__block:last-child {
  margin-bottom:0;
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__block {
    margin:4em 0;
  }
}

.cd-timeline__img {
  position:absolute;
  top:0;
  left:0;
  width:40px;
  height:40px;
  /*border-radius:50%;*/
  -webkit-box-shadow:0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px rgba(0, 0, 0, 0.05);
  box-shadow:0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px rgba(0, 0, 0, 0.05);
}

.cd-timeline__img img {
  display:block;
  width:24px;
  height:24px;
  position:relative;
  left:50%;
  top:50%;
  margin-left:-12px;
  margin-top:-12px;
}

.cd-timeline__img.cd-timeline__img--1 {
  background:#1b1b1b;
}

.cd-timeline__img.cd-timeline__img--2 {
  background:#2f2f2f;
}

.cd-timeline__img.cd-timeline__img--3 {
  background:#6c6c6c;
}

.cd-timeline__img.cd-timeline__img--4 {
  background:#dcad07;
}

.cd-timeline__img.cd-timeline__img--5 {
  background:#b78608;
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__img {
    width:60px;
    height:60px;
    left:50%;
    margin-left:-30px;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__img.cd-timeline__img--bounce-in {
    visibility:visible;
    -webkit-animation:cd-bounce-1 0.6s;
    animation:cd-bounce-1 0.6s;
  }
}

@keyframes cd-bounce-1 {
  0% {
    opacity:0;
    -webkit-transform:scale(0.5);
    transform:scale(0.5);
  }
  60% {
    opacity:1;
    -webkit-transform:scale(1.2);
    transform:scale(1.2);
  }
  100% {
    -webkit-transform:scale(1);
    transform:scale(1);
  }
}

.cd-timeline__content {
  position:relative;
  margin-left:60px;
  background:white;
  padding:1em;
  -webkit-box-shadow:0 3px 0 #d7e4ed;
  box-shadow:0 3px 0 #d7e4ed;
  color:#6a6a6a;
}

.cd-timeline__content img {
  object-fit:contain;
  margin-top:30px;
  width:100%;
  height:100%;
  margin-bottom:30px;
}

.cd-timeline__content:after {
  content:"";
  display:table;
  clear:both;
}

.cd-timeline__content::before {
  content:'';
  position:absolute;
  top:16px;
  right:100%;
  height:0;
  width:0;
  border:7px solid transparent;
  border-right:7px solid white;
}

.cd-timeline__content h2 {
  color:#303e49;
  font-size:30px;
}

.cd-timeline__content p, .cd-timeline__read-more, .cd-timeline__date {
  font-size:1.3rem;
}

.cd-timeline__content p {
  margin:1em 0;
  line-height:1.6;
  font-size:18px;
  color:#303e49;
}

.cd-timeline__read-more, .cd-timeline__date {
  display:inline-block;
}

.cd-timeline__read-more {
  float:right;
  padding:.8em 1em;
  background:#d2a504;
  color:white;
  text-decoration:none;
}

.cd-timeline__read-more:hover {
  background-color:#e09400;
  color:#fff;
  text-decoration:none !important;
}

.cd-timeline__date {
  float:left;
  padding:.8em 0;
  /*opacity:.7;*/
}

@media only screen and (min-width: 768px) {
  .cd-timeline__content h2 {
    font-size:2rem;
  }
}

@media only screen and (min-width: 768px) {
  .cd-timeline__content p {
    font-size:1.6rem;
    color:#747474;
  }
}

@media only screen and (min-width: 768px) {
  .cd-timeline__read-more, .cd-timeline__date {
    font-size:1.4rem;
    color:#fff;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__content {
    margin-left:0;
    padding:1.6em;
    width:45%;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__content::before {
    top:24px;
    left:100%;
    border-color:transparent;
    border-left-color:white;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__read-more {
    float:left;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__date {
    position:absolute;
    width:20%;
    left:122%;
    top:6px;
    font-size:1.6rem;
    color:#ffffff;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__block:nth-child(even) .cd-timeline__content {
    float:right;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__block:nth-child(even) .cd-timeline__content::before {
    top:24px;
    left:auto;
    right:100%;
    border-color:transparent;
    border-right-color:white;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__block:nth-child(even) .cd-timeline__read-more {
    float:right;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__block:nth-child(even) .cd-timeline__date {
    left:auto;
    right:122%;
    text-align:right;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__content.cd-timeline__content--bounce-in {
    visibility:visible;
    -webkit-animation:cd-bounce-2 0.6s;
    animation:cd-bounce-2 0.6s;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-timeline__block:nth-child(even) .cd-timeline__content.cd-timeline__content--bounce-in {
    -webkit-animation:cd-bounce-2-inverse 0.6s;
    animation:cd-bounce-2-inverse 0.6s;
  }
}

@keyframes cd-bounce-2 {
  0% {
    opacity:0;
    -webkit-transform:translateX(-100px);
    transform:translateX(-100px);
  }
  60% {
    opacity:1;
    -webkit-transform:translateX(20px);
    transform:translateX(20px);
  }
  100% {
    -webkit-transform:translateX(0);
    transform:translateX(0);
  }
}

@keyframes cd-bounce-2-inverse {
  0% {
    opacity:0;
    -webkit-transform:translateX(100px);
    transform:translateX(100px);
  }
  60% {
    opacity:1;
    -webkit-transform:translateX(-20px);
    transform:translateX(-20px);
  }
  100% {
    -webkit-transform:translateX(0);
    transform:translateX(0);
  }
}

