[type="checkbox"]:not(:checked), [type="radio"]:not(:checked), [type="checkbox"]:checked, [type="radio"]:checked {
    position: absolute;
    left: -9999px;
}

[type="checkbox"]:not(:checked) + label,[type="radio"]:not(:checked) + label, [type="checkbox"]:checked + label, [type="radio"]:checked + label {
    position: relative;
    padding-left: 20px;
    cursor: pointer;
    outline: none;
    margin-bottom: 0 !important;
    color: #fff;
    display: inline-block;
    min-height: 14px;
    min-width: 14px;
    margin: 14px auto;
    float: left;
    font-size: 14px;
}

[type="checkbox"]:not(:checked) + label:before, [type="radio"]:not(:checked) + label:before, [type="checkbox"]:checked + label:before, [type="radio"]:checked + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0px;
    width: 14px;
    height: 14px;
    border: 1px solid #fff;
    background: transparent;
    border-radius: 2px;
    outline: none;
}

[type="checkbox"]:not(:checked) + label:after, [type="radio"]:not(:checked) + label:after, [type="checkbox"]:checked + label:after, [type="radio"]:checked + label:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0px;
    height: 14px;
    width: 14px;
    padding: 0 0px;
    text-align: center;
    font: normal 13px/14px 'Hanken Lt';
    background: #fff;
    -webkit-transition: all .2s;
    transition: all .2s;
    outline: none;
    border-radius: 2px;
}

[type="checkbox"]:not(:checked) + label:after, [type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: scale(0);
    transform: scale(0);
}

[type="checkbox"]:checked + label:after, [type="radio"]:checked + label:after {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -webkit-transform: scale(1);
    transform: scale(1);
}

[type="checkbox"]:disabled:not(:checked) + label:before, [type="radio"]:disabled:not(:checked) + label:before, [type="checkbox"]:disabled:checked + label:before, [type="radio"]:disabled:checked + label:before {
    box-shadow: none;
    border-color: #bbb;
    background-color: #ddd;
}

[type="checkbox"]:disabled:checked + label:after, [type="radio"]:disabled:checked + label:after {
    color: #999;
}

[type="checkbox"]:disabled + label, [type="radio"]:disabled + label {
    color: #aaa;
}