Tijdlijn zigzag

.tijdlijnz article 
  {
    position: relative;
    border-style: solid;
    border-color: #71717a;
    border-bottom-width: 1px;
    width: 100%;
    padding: 1em calc(1em + 15px);
  }

.tijdlijnz div 
  {
    position: absolute;
    top: 50%;
    border-radius: 100%;
    height: 30px;
    width: 30px;
    background: #71717a;
  }

.tijdlijnz > *:nth-child(2n) {border-left-width: 1px;}
.tijdlijnz > *:nth-child(2n) div {left: 0; transform: translate(-50%, -50%);}

.tijdlijnz > *:nth-child(2n+1) {border-right-width: 1px;}
.tijdlijnz > *:nth-child(2n+1) div {right: 0; transform: translate(50%, -50%);}
echo "<div class='tijdlijnz'>";
	
echo "<article>";
echo "<div></div>";
echo "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam dolores quod debitis veritatis placeat nemo iste natus maxime.";
echo "</article>";
	    
echo "<article>";
echo "<div></div>";
echo "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam dolores quod debitis veritatis placeat nemo iste natus maxime.";
echo "</article>";
	    
echo "<article>";
echo "<div></div>";
echo "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam dolores quod debitis veritatis placeat nemo iste natus maxime.";
echo "</article>";
	    
echo "<article>";
echo "<div></div>";
echo "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam dolores quod debitis veritatis placeat nemo iste natus maxime.";
echo "</article>";
	    
echo "<article>";
echo "<div></div>";
echo "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam dolores quod debitis veritatis placeat nemo iste natus maxime.";
echo "</article>";
	    
echo "<article>";
echo "<div></div>";
echo "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quam dolores quod debitis veritatis placeat nemo iste natus maxime.";
echo "</article>";
	    
echo "</div>";