label + p, input + p { margin-top: 20px; }
.checkbox > input, .radio > input { padding: 0; margin: 0; height: 16px; width: 16px; float: left; position: absolute; left: 0; opacity: 0; }
.checkbox > label, .radio > label { line-height: 16px; padding: 0 0 0 24px; -moz-transition: color 1s ease; -o-transition: color 1s ease; -webkit-transition: color 1s ease; transition: color 1s ease; }
fieldset[dir=rtl] p > label { padding: 0 18px 0 0; }
p:not(#foo) > input:hover + label, p:not(#foo) > input:focus + label, p:not(#foo) > input + label:hover, p:not(#foo) > input:focus + label { text-shadow: 1px 1px 3px #000; color: #2C7AD0; }
div:not(#foo) > input + label { background: url(gr_custom-inputs.png) 0 -1px no-repeat; height: 16px; }
.radio:not(#foo) > input[type=radio] + label { background-position: 0 -161px; }
/* Checked styles */
.radio:not(#foo) > input[type=radio]:checked + label { background-position: 0 -241px; }
.checkbox:not(#foo) > input[type=checkbox]:checked + label { background-position: 0 -81px; }
.checkbox:not(#foo) > input[type=checkbox]:hover:checked + label, .checkbox:not(#foo) > input[type=checkbox]:focus:checked + label, .checkbox:not(#foo) > input[type=checkbox]:checked + label:hover, .checkbox:not(#foo) > input[type=checkbox]:focus:checked + label { background-position: 0 -101px; }
.checkbox:not(#foo) > input[type=checkbox]:checked + input[type=hidden] + label { background-position: 0 -81px; }
.checkbox:not(#foo) > input[type=checkbox]:hover:checked + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:focus:checked + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:checked + input[type=hidden] + label:hover, .checkbox:not(#foo) > input[type=checkbox]:focus:checked + input[type=hidden] + label { background-position: 0 -101px; }
.radio:not(#foo) > input[type=radio]:hover:checked + label, .radio:not(#foo) > input[type=radio]:focus:checked + label, .radio:not(#foo) > input[type=radio]:checked + label:hover, .radio:not(#foo) > input[type=radio]:focus:checked + label { background-position: 0 -261px; }
.radio:not(#foo) > input[type=radio]:hover:checked + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:focus:checked + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:checked + input[type=hidden] + label:hover, .radio:not(#foo) > input[type=radio]:focus:checked + input[type=hidden] + label { background-position: 0 -261px; }
/* Hover & Focus styles */
.checkbox:not(#foo) > input[type=checkbox]:hover + label, .checkbox:not(#foo) > input[type=checkbox]:focus + label, .checkbox:not(#foo) > input[type=checkbox] + label:hover { background-position: 0 -21px; }
.checkbox:not(#foo) > input[type=checkbox]:hover + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:focus + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox] + input[type=hidden] + label:hover { background-position: 0 -21px; }
.radio:not(#foo) > input[type=radio]:hover + label, .radio:not(#foo) > input[type=radio]:focus + label, .radio:not(#foo) > input[type=radio] + label:hover { background-position: 0 -181px; }
.radio:not(#foo) > input[type=radio]:hover + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:focus + input[type=hidden] + label, .radio:not(#foo) > input[type=radio] + input[type=hidden] + label:hover { background-position: 0 -181px; }
/* Active styles */
.checkbox:not(#foo) > input[type=checkbox]:active + label, .checkbox:not(#foo) > input[type=checkbox] + label:hover:active { background-position: 0 -41px; }
.checkbox:not(#foo) > input[type=checkbox]:active + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox] + input[type=hidden] + label:hover:active { background-position: 0 -41px; }
.radio:not(#foo) > input[type=radio]:active + label, .radio:not(#foo) > input[type=radio] + label:hover:active { background-position: 0 -201px; }
.radio:not(#foo) > input[type=radio]:active + input[type=hidden] + label, .radio:not(#foo) > input[type=radio] + input[type=hidden] + label:hover:active { background-position: 0 -201px; }
.checkbox:not(#foo) > input[type=checkbox]:active:checked + label, .checkbox:not(#foo) > input[type=checkbox]:checked + label:hover:active { background-position: 0 -121px; }
.checkbox:not(#foo) > input[type=checkbox]:active:checked + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:checked + input[type=hidden] + label:hover:active { background-position: 0 -121px; }
.radio:not(#foo) > input[type=radio]:active:checked + label, .radio:not(#foo) > input[type=radio]:checked + label:hover:active { background-position: 0 -281px; }
.radio:not(#foo) > input[type=radio]:active:checked + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:checked + input[type=hidden] + label:hover:active { background-position: 0 -281px; }
/* Disabled styles */
.checkbox:not(#foo) > input[type=checkbox]:disabled + label, .checkbox:not(#foo) > input[type=checkbox]:hover:disabled + label, .checkbox:not(#foo) > input[type=checkbox]:focus:disabled + label, .checkbox:not(#foo) > input[type=checkbox]:disabled + label:hover, .checkbox:not(#foo) > input[type=checkbox]:disabled + label:hover:active { background-position: 0 -61px; }
.checkbox:not(#foo) > input[type=checkbox]:disabled + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:hover:disabled + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:focus:disabled + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:disabled + input[type=hidden] + label:hover, .checkbox:not(#foo) > input[type=checkbox]:disabled + input[type=hidden] + label:hover:active { background-position: 0 -61px; }
.radio:not(#foo) > input[type=radio]:disabled + label, .radio:not(#foo) > input[type=radio]:hover:disabled + label, .radio:not(#foo) > input[type=radio]:focus:disabled + label, .radio:not(#foo) > input[type=radio]:disabled + label:hover, .radio:not(#foo) > input[type=radio]:disabled + label:hover:active { background-position: 0 -221px; }
.radio:not(#foo) > input[type=radio]:disabled + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:hover:disabled + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:focus:disabled + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:disabled + input[type=hidden] + label:hover, .radio:not(#foo) > input[type=radio]:disabled + input[type=hidden] + label:hover:active { background-position: 0 -221px; }
.checkbox:not(#foo) > input[type=checkbox]:disabled:checked + label, .checkbox:not(#foo) > input[type=checkbox]:hover:disabled:checked + label, .checkbox:not(#foo) > input[type=checkbox]:focus:disabled:checked + label, .checkbox:not(#foo) > input[type=checkbox]:disabled:checked + label:hover, .checkbox:not(#foo) > input[type=checkbox]:disabled:checked + label:hover:active { background-position: 0 -141px; }
.checkbox:not(#foo) > input[type=checkbox]:disabled:checked + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:hover:disabled:checked + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:focus:disabled:checked + input[type=hidden] + label, .checkbox:not(#foo) > input[type=checkbox]:disabled:checked + input[type=hidden] + label:hover, .checkbox:not(#foo) > input[type=checkbox]:disabled:checked + input[type=hidden] + label:hover:active { background-position: 0 -141px; }
.radio:not(#foo) > input[type=radio]:disabled:checked + label, .radio:not(#foo) > input[type=radio]:hover:disabled:checked + label, .radio:not(#foo) > input[type=radio]:focus:disabled:checked + label, .radio:not(#foo) > input[type=radio]:disabled:checked + label:hover, .radio:not(#foo) > input[type=radio]:disabled:checked + label:hover:active { background-position: 0 -301px; }
.radio:not(#foo) > input[type=radio]:disabled:checked + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:hover:disabled:checked + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:focus:disabled:checked + input[type=hidden] + label, .radio:not(#foo) > input[type=radio]:disabled:checked + input[type=hidden] + label:hover, .radio:not(#foo) > input[type=radio]:disabled:checked + input[type=hidden] + label:hover:active { background-position: 0 -301px; }
fieldset[dir=rtl] p > input { left: auto; right: 0; }
fieldset[dir=rtl] p:not(#foo) > input + label { background-position: 100% -161px; }
fieldset[dir=rtl] p:not(#foo) > input[type=radio] + label { background-position: 100% -161px; }
/* Checked styles */
fieldset[dir=rtl] p:not(#foo) > input[type=radio]:checked + label { background-position: 100% -241px; }
fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:checked + label { background-position: 100% -81px; }
fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:hover:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:focus:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:checked + label:hover, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:focus:checked + label { background-position: 100% -101px; }
fieldset[dir=rtl] p:not(#foo) > input[type=radio]:hover:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:focus:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:checked + label:hover, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:focus:checked + label { background-position: 100% -261px; }
/* Hover & Focus styles */
fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:hover + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:focus + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox] + label:hover { background-position: 100% -21px; }
fieldset[dir=rtl] p:not(#foo) > input[type=radio]:hover + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:focus + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio] + label:hover { background-position: 100% -181px; }
/* Active styles */
fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:active + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox] + label:hover:active { background-position: 100% -41px; }
fieldset[dir=rtl] p:not(#foo) > input[type=radio]:active + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio] + label:hover:active { background-position: 100% -201px; }
fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:active:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:checked + label:hover:active { background-position: 100% -121px; }
fieldset[dir=rtl] p:not(#foo) > input[type=radio]:active:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:checked + label:hover:active { background-position: 100% -281px; }
/* Disabled styles */
fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:disabled + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:hover:disabled + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:focus:disabled + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:disabled + label:hover, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:disabled + label:hover:active { background-position: 100% -61px; }
fieldset[dir=rtl] p:not(#foo) > input[type=radio]:disabled + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:hover:disabled + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:focus:disabled + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:disabled + label:hover, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:disabled + label:hover:active { background-position: 100% -221px; }
fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:disabled:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:hover:disabled:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:focus:disabled:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:disabled:checked + label:hover, fieldset[dir=rtl] p:not(#foo) > input[type=checkbox]:disabled:checked + label:hover:active { background-position: 100% -141px; }
fieldset[dir=rtl] p:not(#foo) > input[type=radio]:disabled:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:hover:disabled:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:focus:disabled:checked + label, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:disabled:checked + label:hover, fieldset[dir=rtl] p:not(#foo) > input[type=radio]:disabled:checked + label:hover:active { background-position: 100% -301px; }
