
.menu{	
  width: 110px;
  margin:  5px 15px 5px -10px; 
  padding: 5px 15px 5px 5px;  
  list-style: none;
  background-color: rgba(255, 255, 255, .9);  
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  float: left;
     z-index: 100;
}

.menu:before,
.menu:after {
  content: "";
  display: table;
   z-index: 100;
}

.menu:after {
  clear: both;
   z-index: 100;
}

.menu {
  zoom:1;
}

/* -------------------------------- */        

.menu li {
  position: relative;
  float: left;
 cursor: pointer;
  height: 60px; width: 110px;
  margin: 5px 0px 5px 5px;
  color: #fff;
} 

.menu li:hover, .menu li:focus{
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.2)), to(rgba(255,255,255,0)));
  background-image: -webkit-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -moz-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -ms-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -o-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
}

.menu .cover{
  z-index: 2;
}

.menu .cover:focus{
  outline: 0;
}

.menu li:nth-child(1),
.menu li:nth-child(1) .content,
.menu li:nth-child(1) .close{
  background-color: #000;
}         

/* -------------------------------- */
.menu .content{
  opacity: 0; 
  display: none\18;
  overflow: hidden;
  font: 16px Arial, Helvetica;
  position: absolute;
 height: 120px; width: 200px;   /*Ideally: height: 100%; width: 100%; but works at it should just in FF */
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out; 
  -o-transition: all .3s ease-out;  
  transition: all .3s ease-out;      
}  

.menu .expanded{
  opacity: .95; display: block\18;
  overflow: visible;
  padding: 15px;
  height: 400px; width: 400px; 
  text-align:justify;/* Cover the entire area */
} 

/* -------------------------------- */    
.menu .title{
  position: absolute;
  height: 100%; width: 100%;
  text-align: center;
  font: italic bold 1em/50px 'trebuchet MS', Arial, helvetica;
  opacity: .9;
  }

.menu li:hover .title{
  opacity: .9;
}    

/* -------------------------------- */
.menu .close {
  display: none;
  border: 5px solid #fff;
  color: #fff;
  cursor: pointer;
  height: 40px; width: 40px;
  font: bold 20px/40px arial, helvetica;
  position: absolute;
  text-align: center;
  top: -20px; right: -20px;
  -moz-border-radius: 40px;
  -webkit-border-radius: 40px;
  border-radius: 40px;      
}

.menu .cover .close{
  display: block;
}