/* Select Sprite */

div.selector, 
div.selector span, 
div.checker span{
  background-image: url('../images/sprite.png');
  background-repeat: no-repeat;
}

.selector,
.checker, 
.selector *,
.checker *{
  margin: 0;
  padding: 0;
}

div.selector {
  background-position: -483px -130px;
  line-height: 26px;
  height: 26px;
}

div.selector span {
  background-position: right 0px;
  height: 26px;
  line-height: 26px;
}

div.selector select {
  top: 0px;
  left: 0px;
}

div.selector:active, 
div.selector.active {
  background-position: -483px -156px;
}

div.selector:active span, 
div.selector.active span {
  background-position: right -26px;
}

div.selector.focus, div.selector.hover, div.selector:hover {
  background-position: -483px -182px;
}

div.selector.focus span, div.selector.hover span, div.selector:hover span {
  background-position: right -52px;
}

div.selector.focus:active,
div.selector.focus.active,
div.selector:hover:active,
div.selector.active:hover {
  background-position: -483px -208px;
}

div.selector.focus:active span,
div.selector:hover:active span,
div.selector.active:hover span,
div.selector.focus.active span {
  background-position: right -78px;
}

div.selector.disabled {
  background-position: -483px -234px;
}

div.selector.disabled span {
  background-position: right -104px;
}

/* Checkbox */

div.checker {
  width: 16px;
  height: 18px;
}

div.checker input {
  width: 16px;
  height: 18px;
}

div.checker span {
  background-position: 0px -260px;  
  width: 16px;
  height: 18px;
}

div.checker:active span, 
div.checker.active span {
  background-position: -19px -260px;
}

div.checker.focus span,
div.checker:hover span {
  background-position: -38px -260px;
}

div.checker.focus:active span,
div.checker:active:hover span,
div.checker.active:hover span,
div.checker.focus.active span {
  background-position: -57px -260px;
}

div.checker span.checked {
  background-position: -76px -260px;
}

div.checker:active span.checked, 
div.checker.active span.checked {
  background-position: -95px -260px;
}

div.checker.focus span.checked,
div.checker:hover span.checked {
  background-position: -114px -260px;
}

div.checker.focus:active span.checked,
div.checker:hover:active span.checked,
div.checker.active:hover span.checked,
div.checker.active.focus span.checked {
  background-position: -133px -260px;
}

div.checker.disabled span,
div.checker.disabled:active span,
div.checker.disabled.active span {
  background-position: -152px -260px;
}

div.checker.disabled span.checked,
div.checker.disabled:active span.checked,
div.checker.disabled.active span.checked {
  background-position: -171px -260px;
}

/* Checker Presentation */

div.checker {
  margin-right: 0px;
}

/* Select Presentation */

div.selector {
  font-size: 11px;
}

div.selector select {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  border: solid 1px #fff;
}

div.selector span {
  padding: 0px 25px 0px 1px;
  cursor: pointer;
}

div.selector span {
  color: #444;
}

div.selector.disabled span {
  color: #bbb;
}

/* CORE FUNCTIONALITY Not advised to edit stuff below this line */

.selector, 
.checker{
  display: -moz-inline-box;
  display: inline-block;
  vertical-align: middle;
  zoom: 1;
  *display: inline;
}

.selector select:focus, .checker input:focus {
  outline: 0;
}

/* Select */

div.selector {
  position: relative;
  padding-left: 10px;
  overflow: hidden;
}

div.selector span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

div.selector select {
  position: absolute;
  opacity: 0;
  filter: alpha(opacity:0);
  height: 25px;
  border: none;
  background: none;
}

/* Checker */

div.checker {
  position: relative;
}

div.checker span {
  display: -moz-inline-box;
  display: inline-block;
  text-align: center;
}

div.checker input {
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  display: inline-block;
  background: none;
}