body{ padding-bottom: 40px; }
.product-grid {
  list-style-type: none;
}
.product-grid>li {
  width:200px;
  height:200px;
  display: inline-block;
  margin: 5px;
  position:relative;
  
  -moz-perspective: 600px;
  -webkit-perspective: 600px;
  
}

.product-grid ul li {
  margin:2px 5px;
  -moz-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

.flip img { 
  position:absolute;
  top:0;
  left:0;
  width:inherit;
  height:inherit;
  
  -moz-transform: rotateY(0deg);
  -webkit-transform: rotateY(0deg);
  z-index:900;
  
  -moz-transition: all .4s ease-in-out;
 
  -webkit-transition: all .4s ease-in-out;
  
}

.flip ul {
  margin:0;
  padding:0;
  position:absolute;
  top:0;
  left:0;
  width:inherit;
  height:inherit;
  background-color:#efefef;
  background-color:rgba(210,210,210,0.8);
  
  list-style-type:none;
  
  -moz-transform: rotateY(-180deg);
  -webkit-transform: rotateY(-180deg);
  z-index: 800;
  
  -moz-backface-visibility: hidden;
  -moz-transition: all .4s ease-in-out;
  
  -webkit-backface-visibility: hidden;
  -webkit-transition: all .4s ease-in-out;
}

.flip>li:hover img {
  -moz-transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
}

.flip>li:hover ul {
  -moz-transform: rotateY(0deg);
  -webkit-transform: rotateY(0deg);
  z-index: 1000;
}

.pull-up>li {
  overflow: hidden;
}

.pull-up img {
  z-index:800;
}

.pull-up ul {
  z-index:900;
  position: absolute;
  top:200px;
  background-color:rgba(210,210,210,0.8);
  
  -moz-transition: top .4s ease-in-out;
  -webkit-transition: top .4s ease-in-out;
}

.pull-up>li:hover ul {
  top:0;
}

.pull-up ul {
  margin:0;
  padding:0;
  width:inherit;
  height:inherit;
}

.bubble>li {
   z-index: 400;
}
.bubble ul {
  position: absolute;
  display: none;
  bottom:-40px;
  left:30px;
  background-color: #efefef;
  border:1px solid #333;
  border-radius: 15px;
  box-shadow: 4px 2px 4px rgba(0,0,0,0.4);
}
.bubble ul span {
  position: absolute;
  width:28px;
  height:14px;
  overflow: hidden;
  
  top:-14px;
  left:30px;
}
.bubble ul span:after {
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  top:4px;
  left:3px;
  background-color: #efefef;
  border:1px solid #333;
  box-shadow: 4px 2px 4px rgba(0,0,0,0.4);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.bubble>li:hover ul {
  display:block;
}
