.container-timeline ul {
  list-style: none;
  position: relative;
  padding: 2em 0em 1em 6em !important;
  margin-bottom:3em !important;
  color: #2d5aa8;
}
.container-timeline ul:before {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  border-left: 2px dashed #2d5aa8;
}
.container-timeline ul li {
  position: relative;
  margin-left: 30px;
  padding: 14px;
}

.container-timeline ul li > span {
  width: 2px;
  height: 100%;
  background: #2d5aa8;
  left: -30px;
  top: 0;
  position: absolute;
}
.container-timeline ul li > span:before, .container-timeline ul li > span:after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 2px solid #2d5aa8;
  position: absolute;
  background: #ffffff;
  left: -5px;
  top: 0;
}

.container-timeline ul li.last > span:after {display:none;}

.container-timeline ul li > div {
  margin-left: 10px;
  padding:20px 0;
}

.container-timeline div .jalon {
	position:absolute;
	top:-3.5px;
	line-height:1;
	font-weight: bold;
	}
	
.periode {
    line-height: 1;
    padding: 10px;
    background: #ffffff;
    border-radius: 3px;
    font-size: 0.9em;
    position: relative;
    left: -90px;
    width: calc(100% + 90px);
    z-index: 1;
}

.container-timeline span.number span {
    position: absolute;
    left: -105px;
    text-align: right;
    width: 70px;
    font-weight: bold;
}
.container-timeline span.number span {
  top: -8px;
}

.container-timeline ul li.last > span:before, .container-timeline ul li.first > span:before, .container-timeline ul li.first > span:after {background:#2d5aa8 !important;}

.content-promo h3 {
    padding-left: 59px;
    position: relative;
}

.content-promo h3 img {
    position: relative;
    position: absolute;
    left: -10px;
    top: -25px;
}


.content-content .bloc h2 {margin-top:2px;}
.bloc {border:1px solid #c3c3c3;
padding:60px; 
margin-bottom:10px;
margin-left:30px; margin-right:30px;}

.sous-bloc {padding:20px 60px;
background:#f5f5f5;
margin-top:20px}
.js .accordion {border-bottom:none !important;
margin-top:0 !important;}

#ou {
    background: #c3c3c3;
    padding: 30px;
    border-radius: 60px;
    margin: 20px;
    color: white;
    display: inline-block;
    font-weight: bold;
}

.row:first-of-type .bloc {margin-top:50px}

.accordion .panel-title:first-of-type a {border-top:none;}


@media (max-width: 47.563em) {
.container-timeline div .jalon {position:relative;top:-40px;
 left: -31px;
    font-size: 0.8em;}
.container-timeline ul {padding-bottom:0em !important; 
margin-bottom:6em !important;}
.js .panel-title a {font-size:0.9em; line-height:1.2}

.content-content .bloc h2 {margin-top:2px;}
.bloc {padding:20px; }
.content-promo {padding:10px !important;}
.sous-bloc {padding:20px 20px;}

.bloc {
margin-left:0px; margin-right:0px;}

}
