Horizontal scrollable timeline with submenu (#2)

by artoodetoo

HTML

<h1> Timeline</h1>

<div class="container">
<ul class="timeline">

  <li>
    <button><img alt="" src="http://lorempixel.com/output/animals-q-c-100-100-1.jpg"></button>
    <ul class="submenu">
        <li><a href="#">Jan</a></li>
        <li><a href="#">Feb</a></li>
        <li><a href="#">Mar</a></li>
        <li><span>Apr</span></li>
        <li><a href="#">May</a></li>
        <li><a href="#">Jun</a></li>
        <li><span>Jul</span></li>
        <li><a href="#">Aug</a></li>
        <li><a href="#">Sep</a></li>
        <li><a href="#">Oct</a></li>
        <li><a href="#">Nov</a></li>
        <li><a href="#">Dec</a></li>
    </ul>
    <em>2000</em>
  </li>

  <li>
    <button><img alt="" src="http://lorempixel.com/output/animals-q-c-100-100-2.jpg"></button>
    <ul class="submenu">
        <li><span>Jan</span></li>
        <li><span>Feb</span></li>
        <li><a href="#">Mar</a></li>
        <li><a href="#">Apr</a></li>
        <li><span>May</span></li>
        <li><a href="#">Jun</a></li>
        <li><a href="#">Jul</a></li>
        <li><a href="#">Aug</a></li>
        <li><a href="#">Sep</a></li>
        <li><a href="#">Oct</a></li>
        <li><a href="#">Nov</a></li>
        <li><a href="#">Dec</a></li>
    </ul>
    <em>2001</em>
  </li>

  <li>
    <button><img alt="" src="http://lorempixel.com/output/animals-q-c-100-100-3.jpg"></button>
    <ul class="submenu">
        <li><a href="#">Jan</a></li>
        <li><a href="#">Feb</a></li>
        <li><a href="#">Mar</a></li>
        <li><a href="#">Apr</a></li>
        <li><a href="#">May</a></li>
        <li><a href="#">Jun</a></li>
        <li><a href="#">Jul</a></li>
        <li><a href="#">Aug</a></li>
        <li><a href="#">Sep</a></li>
        <li><a href="#">Oct</a></li>
        <li><a href="#">Nov</a></li>
        <li><a href="#">Dec</a></li>
    </ul>
    <em>2002</em>
  </li>

  <li>
    <button><img alt="" src="http://lorempixel.com/output/animals-q-c-100-100-4.jpg"></button>
    <ul...

CSS

/* suppress unnecessary gaps */
* {
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: content-box;
}
body {
    padding: 10px;
}
/* non-wrappable horizontal scrollbox */
.container {
    box
    width: 800px;
    max-width: 100%;
    overflow-x:auto; 
    overflow-y:hidden;
}
.timeline {
    width: 1556px; /* 104px * 14 + 100px */
}

/* basic items */
.timeline>li {
    display: block;
    float: left;
    text-align: center;
    font-family: Arial,helvetica;
}
.timeline {
    height: 320px;
    padding: 20px 0 0 20px;
/*    background: #eeb; */
    position: relative;
    overflow: hidden;
    list-style: none;
}
.timeline>li {
    position: relative;
    width: auto;
    height: 144px;
/*    margin-right: -20px; *//* pull the next item to overlap */
    margin: 0 0 200px 0;
}
.timeline>li em, 
.timeline>li button {
    display: block;
    float: left;
    clear: both;
    background-color: transparent;
}
.timeline>li em {
    height: 32px;
    line-height: 32px;
    width: 100%;
    /*background: #ebb;*/
}
.timeline>li button {
    outline: none;
    /*background: #ddd;*/
}
.timeline>li button img {
    cursor: pointer;
    width: 100px;
    height: 100px;
    border: #dd3 solid 2px;
    border-radius: 4px;
    height: 100px;
}
/* lines */
.timeline:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 0px;
    top: 170px;
    border: 2px solid #dd3;
    border-radius: 2px;
}
.timeline>li:after {
    content: "";
    display: block;
    position: absolute;
    width: 0px;
    height: 8px;
    top: 140px;
    left: 50%;
    border: 2px solid #dd3;
    border-radius: 2px;
}

/* odd/even offset */
.timeline>li:nth-child(odd) {
    margin: 200px 0 0 0;
}
.timeline>li:nth-child(odd) div {
    margin-top: 40px;
}
.timeline>li:nth-child(odd) em {
    margin-top: -140px;
}
.timeline>li:nth-child(odd):after {
    top: -48px;
}
/* submenu */
.timeline>li .submenu {
    /*display: none;*/
    opacity: 0;
   ...