/* ----------------------- Default ----------------------- */
input[type="checkbox"], input[type="radio"] { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; position: relative; vertical-align: top; margin: 3px 7px 0 0; }

/* ----------------------- Settings ----------------------- */
.checker span, .radio span, .uploader, .uploader span.action, .button, .button span { background-image:url('../design/forms/controls.png'); background-repeat: no-repeat; }
.selector, .checker, .button, .radio, .uploader { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; vertical-align: middle; }
.selector:focus, .checker:focus, .button:focus, .radio:focus, .uploader:focus { outline: 0; }
.selector, .selector *, .radio, .radio *, .checker, .checker *, .uploader, .uploader *, .button, .button * { margin:0; padding:0; }

.checker input[disabled],
.radio input[disabled] { cursor: not-allowed !important; }

/* ----------------------- Checkboxes ----------------------- */
.checker { display: inline-block; *display: inline; zoom: 1; display: -moz-inline-box; position: relative; vertical-align: middle; margin: 0 7px 0 0; }
.checker, .checker span, .checker input  { width: 30px; height: 30px; }
.checker span { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; text-align: center; background-position: 0 -18px; }
.checker input { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; margin: 0; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; border: none; background: none; }
.checker span.checked,
.checker.active span.checked,
.checker.hover span.checked, 
.checker.focus span.checked,
.checker.hover.active span.checked, 
.checker.focus.active span.checked { background-position: -30px -18px; }
.checker.active span, 
.checker.hover span, 
.checker.focus span,
.checker.hover.active span, 
.checker.focus.active span { background-position: 0 -18px; }
.checker.disabled span,
.checker.disabled.active span { background-position: -60px -18px !important; }
.checker.disabled span.checked, 
.checker.disabled.active span.checked { background-position: -90px -18px !important; }

.g-error .checker span { background-position: -120px -18px; }

/* ----------------------- Radio-buttons ----------------------- */
.radio { display: inline-block; *display: inline; zoom: 1; display: -moz-inline-box; position: relative; vertical-align: middle; margin: 0 7px 0 0; }
.radio, .radio span, .radio input { width: 18px; height: 18px; }
.radio span { display: -moz-inline-box; display: inline-block; *display: inline; zoom:1; text-align: center; background-position: 0 0; }
.radio span.checked { background-position: -18px 0; }
.radio input { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; margin: 0; text-align: center; opacity:0; filter:alpha(opacity=0); -moz-opacity:0; border:none; background:none;  }
.radio.active span,
.radio.hover span, 
.radio.focus span,
.radio.hover.active span, 
.radio.focus.active span { background-position: 0 0; }
.radio.active span.checked,
.radio.hover span.checked, 
.radio.focus span.checked,
.radio.hover.active span.checked, 
.radio.focus.active span.checked { background-position: -18px 0; }
.radio.disabled span,
.radio.disabled.active span { background-position: -36px 0 !important; }
.radio.disabled span.checked, .radio.disabled.active span.checked { background-position: -54px 0 !important; }

.g-error .radio span { background-position: -72px 0; }