.custom-checkbox-wrapper > input {
    padding: 0;
    margin: 0;
    height: 16px;
    width: 16px;
    float: left;
    position: absolute;
    left: 0;
    opacity: 0;
}

.custom-checkbox-wrapper > label {
    float: left;
    line-height: 16px;
    color: black;
    padding: 0 0 0 18px;
    -moz-transition: color 1s ease;
    -o-transition: color 1s ease;
    -webkit-transition: color 1s ease;
    transition: color 1s ease;
}

.custom-checkbox-wrapper > input:hover + label, .custom-checkbox-wrapper > input:focus + label,
.custom-checkbox-wrapper > input + label:hover, .custom-checkbox-wrapper > input:focus + label {
    text-shadow: 1px 1px 1px #ddd;
}

.custom-checkbox-wrapper > input + label {
    background: url(/css/img/gr_custom-inputs.png) 0 -1px no-repeat;
    height: 16px;
}

.custom-checkbox-wrapper > input[type=radio] + label {
    background-position: 0 -161px;
}

/* Checked styles */
.custom-checkbox-wrapper > input[type=radio]:checked + label {
    background-position: 0 -241px;
}

.custom-checkbox-wrapper > input[type=checkbox]:checked + label {
    background-position: 0 -81px;
}

.custom-checkbox-wrapper > input[type=checkbox]:hover:checked + label,
.custom-checkbox-wrapper > input[type=checkbox]:focus:checked + label,
.custom-checkbox-wrapper > input[type=checkbox]:checked + label:hover,
.custom-checkbox-wrapper > input[type=checkbox]:focus:checked + label {
    background-position: 0 -101px;
}

.custom-checkbox-wrapper > input[type=radio]:hover:checked + label,
.custom-checkbox-wrapper > input[type=radio]:focus:checked + label,
.custom-checkbox-wrapper > input[type=radio]:checked + label:hover,
.custom-checkbox-wrapper > input[type=radio]:focus:checked + label {
    background-position: 0 -261px;
}

/* Hover & Focus styles */
.custom-checkbox-wrapper > input[type=checkbox]:hover + label,
.custom-checkbox-wrapper > input[type=checkbox]:focus + label,
.custom-checkbox-wrapper > input[type=checkbox] + label:hover {
    background-position: 0 -21px;
}

.custom-checkbox-wrapper > input[type=radio]:hover + label,
.custom-checkbox-wrapper > input[type=radio]:focus + label,
.custom-checkbox-wrapper > input[type=radio] + label:hover {
    background-position: 0 -181px;
}

/* Active styles */
.custom-checkbox-wrapper > input[type=checkbox]:active + label,
.custom-checkbox-wrapper > input[type=checkbox] + label:hover:active {
    background-position: 0 -41px;
}

.custom-checkbox-wrapper > input[type=radio]:active + label,
.custom-checkbox-wrapper > input[type=radio] + label:hover:active {
    background-position: 0 -201px;
}

.custom-checkbox-wrapper > input[type=checkbox]:active:checked + label,
.custom-checkbox-wrapper > input[type=checkbox]:checked + label:hover:active {
    background-position: 0 -121px;
}

.custom-checkbox-wrapper > input[type=radio]:active:checked + label,
.custom-checkbox-wrapper > input[type=radio]:checked + label:hover:active {
    background-position: 0 -281px;
}

/* Disabled styles */
.custom-checkbox-wrapper > input[type=checkbox]:disabled + label,
.custom-checkbox-wrapper > input[type=checkbox]:hover:disabled + label,
.custom-checkbox-wrapper > input[type=checkbox]:focus:disabled + label,
.custom-checkbox-wrapper > input[type=checkbox]:disabled + label:hover,
.custom-checkbox-wrapper > input[type=checkbox]:disabled + label:hover:active {
    background-position: 0 -61px;
}

.custom-checkbox-wrapper > input[type=radio]:disabled + label,
.custom-checkbox-wrapper > input[type=radio]:hover:disabled + label,
.custom-checkbox-wrapper > input[type=radio]:focus:disabled + label,
.custom-checkbox-wrapper > input[type=radio]:disabled + label:hover,
.custom-checkbox-wrapper > input[type=radio]:disabled + label:hover:active {
    background-position: 0 -221px;
}

.custom-checkbox-wrapper > input[type=checkbox]:disabled:checked + label,
.custom-checkbox-wrapper > input[type=checkbox]:hover:disabled:checked + label,
.custom-checkbox-wrapper > input[type=checkbox]:focus:disabled:checked + label,
.custom-checkbox-wrapper > input[type=checkbox]:disabled:checked + label:hover,
.custom-checkbox-wrapper > input[type=checkbox]:disabled:checked + label:hover:active {
    background-position: 0 -141px;
}

.custom-checkbox-wrapper > input[type=radio]:disabled:checked + label,
.custom-checkbox-wrapper > input[type=radio]:hover:disabled:checked + label,
.custom-checkbox-wrapper > input[type=radio]:focus:disabled:checked + label,
.custom-checkbox-wrapper > input[type=radio]:disabled:checked + label:hover,
.custom-checkbox-wrapper > input[type=radio]:disabled:checked + label:hover:active {
    background-position: 0 -301px;
}