
/* --------------------------------

Modules - reusable parts of our design

-------------------------------- */
.cd-container {
  /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
  width: 90%;
  max-width: 1170px;
  margin: 0 auto;
}
.cd-container::after {
  /* clearfix */
  content: '';
  display: table;
  clear: both;
}

/* --------------------------------

Main components

-------------------------------- */
#cd-timeline {
  position: relative;
  padding:  7rem 0;
  margin-top: 0;
  margin-bottom: 0;
}
#cd-timeline::before {
  /* this is the vertical line */
  content: '';
  position: absolute;
  top: 0;
  left: 2.3rem;
  height: 100%;
  width: .2rem;
  background: #fff;
}

.cd-timeline-block {
  position: relative;
  margin: 1.4rem 0;
}
.cd-timeline-block:after {
  content: "";
  display: table;
  clear: both;
}

.cd-timeline-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 .2rem #fff;
  -moz-box-shadow: 0 0 0 .2rem #fff;
  box-shadow: 0 0 0 .2rem #fff;
  background: rgb(147, 39, 3);
}

.cd-timeline-img img {
  display: block;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.cd-timeline-block > .cd-timeline-img > img {
  -webkit-transform: scaleX(-1) translate(50%, -50%);
  -moz-transform: scaleX(-1) translate(50%, -50%);
  -ms-transform: scaleX(-1) translate(50%, -50%);
  -o-transform: scaleX(-1) translate(50%, -50%);
  transform: scaleX(-1) translate(50%, -50%);
}

.cd-timeline-block > .cd-timeline-img > img.no-flip {
  -webkit-transform: scaleX(1) translate(-50%, -50%);
  -moz-transform: scaleX(1) translate(-50%, -50%);
  -ms-transform: scaleX(1) translate(-50%, -50%);
  -o-transform: scaleX(1) translate(-50%, -50%);
  transform: scaleX(1) translate(-50%, -50%);
} 

.cd-timeline-content {
  position: relative;
  margin-left: 6.7rem;
  background: white;
  border-radius: 5px;
  padding: 1.4rem;
  font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.cd-timeline-content:after {
  content: "";
  display: table;
  clear: both;
}
.cd-timeline-content h1 {
  margin-top: 0;
  text-transform: none;
  color: #000;
  font-size: 1.8rem;
}
.cd-timeline-content p, .cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
  font-size: 1.3rem;
  text-transform: none;
}
.cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
  display: inline-block;
}
.cd-timeline-content p, ul {
  margin: 1rem 0;
  line-height: 1.6;
  font-family: Helvetica,Arial,sans-serif;
}
.cd-timeline-content .cd-read-more {
  font-size: 1rem;
  float: right;
  padding: .6rem 1rem;
  background: #a02800;
  color: #fff;
  opacity: 0.8;
}
.cd-timeline-content .cd-read-more:hover {
  opacity: 1;
}
.cd-timeline-content .cd-date {
  opacity: 0.7;
}
.cd-timeline-content::before {
  content: '';
  position: absolute;
  top: 1.4rem;
  right: 100%;
  height: 0;
  width: 0;
  border-top: .8rem solid transparent;
  border-bottom: .8rem solid transparent;
  border-right: 1.4rem solid #fff;
  border-left: 1.4rem solid transparent;
}

.hidden {
  visibility: hidden;
}

@media only screen and (min-width: 480px) {
  .cd-timeline-content p, .cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
    font-size: 1.4rem;
  }
}

@media only screen and (min-width: 992px) {
  #cd-timeline::before {
    left: 50%;
    margin-left: -.2rem;
  }

  .cd-timeline-img {
    width: 6rem;
    height: 6rem;
    left: 50%;
    margin-left: -3rem;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
  }

  .cd-timeline-img img {
    width: 6rem;
    height: 6rem;
  }

  .cd-timeline-content {
    margin-left: 0;
    padding: 1.6rem;
    width: 43.5%;
  }
  .cd-timeline-content::before {
    top: 2.4rem;
    left: 100%;
    border-right: transparent;
    border-left: 1.9rem solid #fff;
  }
  .cd-timeline-content .cd-read-more {
    float: left;
  }

  .cd-timeline-block:nth-child(even) .cd-timeline-content {
    float: right;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content::before {
    top: 2.4rem;
    left: auto;
    right: 100%;
    border-right: 1.9rem solid #fff;
    border-left: transparent;
    margin: 0;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more {
    float: right;
  }

  .cd-timeline-block:nth-child(odd) > .cd-timeline-img > img {
    -webkit-transform: scaleX(1) translate(-50%, -50%);
    -moz-transform: scaleX(1) translate(-50%, -50%);
    -ms-transform: scaleX(1) translate(-50%, -50%);
    -o-transform: scaleX(1) translate(-50%, -50%);
    transform: scaleX(1) translate(-50%, -50%);
  }

  .cssanimations .cd-timeline-img.is-hidden {
    visibility: hidden;
  }
  .cssanimations .cd-timeline-img.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-1 1.5s;
    -moz-animation: cd-bounce-1 1.5s;
    -o-animation: cd-bounce-1 1.5s;
    animation: cd-bounce-1 1.5s;
  }

  .cssanimations .cd-timeline-content.is-hidden {
    visibility: hidden;
  }
  .cssanimations .cd-timeline-content.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-2 1.5s;
    -moz-animation: cd-bounce-2 1.5s;
    -o-animation: cd-bounce-2 1.5s;
    animation: cd-bounce-2 1.5s;
  }

  /* inverse bounce effect on even content blocks */
  .cssanimations .cd-timeline-block:nth-child(even) .cd-timeline-content.bounce-in {
    -webkit-animation: cd-bounce-2 1.5s;
    -moz-animation: cd-bounce-2 1.5s;
    -o-animation: cd-bounce-2 1.5s;
    animation: cd-bounce-2 1.5s;
  }
} 

@media only screen and (min-width: 1200px) {
  .cd-timeline-content {
    width: 45%;
  }
}


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

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

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

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

/* Bounce-2 */
@-webkit-keyframes cd-bounce-2  {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-moz-keyframes cd-bounce-2  {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@-o-keyframes cd-bounce-2  {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes cd-bounce-2  {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
