
.gallery {
  padding:5px;
}
.gallery li {
  position: relative;
  float: left;
  width: 167px;
  padding: 2px;
  margin: 2px;
  overflow: hidden;
  background: url('../img/gallery_grad.gif') bottom left repeat-x #e6e6e6;
}
.gallery li:hover { background: url('../img/galleryhover_grad.gif') bottom left repeat-x #b7d39a; }
.gallery span {
  display: block;
}
.gallery .image {
  width: 167px;
  background-color: white;
  text-align: center;
}
.gallery .image img {
  margin: 0;
  padding: 0;
  display: inline;
}
.gallery .title {
  line-height: 1.5em;
}
.gallery .buttons {
  display: block;
  line-height: 2em
}
.gallery .title {
  height: 1.5em;  /*height is equal to the height of 1 line of text to ensure that increasing text-size or str-length doesn't break the layout*/
  overflow: hidden;
}
.gallery .price {
  font-weight: bold;
}
.gallery .review {
  height: 4.5em; /*height is equal to the height of 3 lines of text*/
  overflow: hidden;
  padding: 1px;
  background-color: white;
}
.gallery .cut a {
  position: absolute;
  top: 2px;
  right: 2px;
  background: transparent url('../img/close.gif') no-repeat center center !IMPORTANT;
  width: 24px;
  height:24px;
  display: block;
  text-decoration: none;
}

.nt1 {
  background: url("../img/nt1_grad.gif") repeat-y right;
  border-color: #ffff81;
}
.nt1 .group .more { background-color: #ffff81; }
.nt2 {
  background: url("../img/nt2_grad.gif") repeat-y right;
  border-color: #ff8080;
}
.nt2 .group .more { background-color: #ff8080; }
.nt3 {
  background: url("../img/nt3_grad.gif") repeat-y right;
  border-color: #82ff81;
}
.nt3 .group .more { background-color: #82ff81; }
.nt4 {
  background: url("../img/nt4_grad.gif") repeat-y right;
  border-color: #ff82ff;
}
.nt4 .group .more { background-color: #ff82ff; }
.nt5 {
  background: url("../img/nt5_grad.gif") repeat-y right;
  border-color: #8180ff;
}
.nt5 .group .more { background-color: #8180ff; }

.type {
  border: 0.1em solid black;
  margin: 0.2em 0;
}
.type .title {
  display: block;
  font-weight: bold;
  line-height: 1em;
  padding: 0.3em;
}
/*don"t combine to avoid multiplier effect*/
.type li.title { font-size:1.4em; }
.type span.title { font-size: 1.16em; }

.group {
  position: relative;
}
.group .visible {
  display: block;
  line-height: 1.4em;
  overflow: hidden;
  padding: 0.3em;
  height: 5.6em;
}
.group .more {
  display: block;
  width: 1.5em;
  position: absolute;
  top: 1em;
  right: -2.1em; //width + border + margin on .type
  margin: 0.5em 0;
  background-color: white;
  border: 5px solid #333;
  border-left: none;
  padding: 2em 0;
  font-size: 0.83333em;
  line-height: 1em;
}
.group .more .side {
  display: block;
  position: absolute;
  z-index: 100;
  top: -5px;
  left: -10000px;
  background-color: white;
  overflow: auto;
  width: 130px;
  height: 20em;
  border: 5px solid #333;
  border-left: none;
}
.group .more:hover .side { left: 99.5%; }
.group .more:hover { background-color: white; }
.group .more .side li {
  padding: 0.3em 0.2em;
}
.group .more .side li a {
  padding: 0.2em;
  line-height: 1em;
}

.ordering li {
  margin: 0.5em;
}
.ordering .current a {
  background-color: yellow;
}
