/*General styles for body*/
body{
  margin:0;
  /*padding:3em 0;*/
  font-family:Helvetica, Arial, sans-serif;
  /*background:#eee;*/
  color:#222;ul#menu > li
}

article{margin:10px;}

/*Style for the first level menu bar*/
ul#menu{
  position: relative;
  max-width:100%;
  height:3em;
  margin:0;
  padding:0 10px;
  background:#333;
  color:#eee;
  box-shadow:0 -1px rgba(0,0,0,.5) inset;
}

ul#menu > li{

  list-style-type:none;
  position:relative;
  padding-top: 20px;
  padding-right:20px;
ul#menu > li
}

label{
  position:relative;
  display:block;
  padding:0 5px 0 12px;
  line-height:3em;
  transition:background 0.3s;
  cursor:pointer;
}

label:after{
  content:"";
  position:absolute;
  display:block;
  top:50%;
  right:5px;
  width:0;
  height:0;
  border-top:10px solid blue;
  border-bottom:0 solid blue;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  transition:border-bottom .1s, border-top .1s .1s;
  }

label:hover,
input:checked ~ label{background:rgba(0,0,0,.3);}

input:checked ~ label:after{
  border-top:0 solid blue;
  border-bottom:10px solid blue;
  transition:border-top .1s, border-bottom .1s .1s;
}

/*hide the inputs*/
input{display:none}

/*show the second levele menu of the selected voice*/
input:checked ~ ul.submenu{
  max-height:300px;
  transition:max-height 0.5s ease-in;
}

/*style for the second level menu*/
ul.submenu{
  max-height:0;
  padding:0;
  overflow:hidden;
  list-style-type:none;
  background:#000;
  box-shadow:0 0 1px rgba(0,0,0,.3);
  transition:max-height 0.5s ease-out;
  position:static;
  min-width:100%;
  
  margin-top: 28px;
}

ul.submenu li a{
  display:block;
  padding:16px;
  color:#fff;
  text-decoration:none;
  box-shadow:0 -1px rgba(0,0,0,.5) inset;
  transition:background .3s;
  white-space:nowrap;
  border-bottom: 1px solid #fff;
}

ul.submenu li a:hover{
  background:rgba(0,0,0,.3);
}