.checkbox {
    padding-left: 20px;
}

    .checkbox label {
        display: inline-block;
        position: relative;
        padding-left: 5px;
    }

        .checkbox label::before {
            content: "";
            display: inline-block;
            position: absolute;
            width: 18px;
            height: 18px;
            left: 0;
            margin-left: -20px;
            margin-right: 20px;
            border: 1px solid #CCCCCC;
            border-radius: 3px;
            background-color: #fff;
            -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
            -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
            transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
        }

        .checkbox label::after {
            display: inline-block;
            position: absolute;
            width: 16px;
            height: 16px;
            left: 0;
            top: 0;
            margin-left: -20px;
            padding-left: 3px;
            padding-top: 2px;
            font-size: 12px;
            color: #555555;
        }

    .checkbox input[type="checkbox"] {
        opacity: 0;
    }

        .checkbox input[type="checkbox"]:focus + label::before {
            outline: thin dotted;
            outline: 0px auto -webkit-focus-ring-color;
            outline-offset: -2px;
        }

        .checkbox input[type="checkbox"]:checked + label::after {
            font-family: 'FontAwesome';
            line-height: 15px;
            content: "\f00c";
        }

        .checkbox input[type="checkbox"]:disabled + label {
            opacity: 0.65;
        }

            .checkbox input[type="checkbox"]:disabled + label::before {
                background-color: #eeeeee;
                cursor: not-allowed;
            }

    .checkbox.checkbox-circle label::before {
        border-radius: 50%;
    }

    .checkbox.checkbox-inline {
        margin-top: 0;
    }


*.radio {
    padding-left: 20px;
}

.radio label {
    display: inline-block;
    position: relative;
    padding-left: 5px;
}

    .radio label::before {
        content: "";
        display: inline-block;
        position: absolute;
        width: 18px;
        height: 18px;
        left: 0;
        margin-left: -20px;
        border: 3px solid #cccccc;
        border-radius: 50%;
        background-color: #fff;
        -webkit-transition: border 0.15s ease-in-out;
        -o-transition: border 0.15s ease-in-out;
        transition: border 0.15s ease-in-out;

    }

    .radio label::after {
        display: inline-block;
        position: absolute;
        content: " ";
        width: 8px;
        height: 8px;
        left: 5px;
        top: 5px;
        margin-left: -20px;
        border-radius: 50%;
        background-color: #555555;
        -webkit-transform: scale(0, 0);
        -ms-transform: scale(0, 0);
        -o-transform: scale(0, 0);
        transform: scale(0, 0);
        -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
        -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
        -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
        transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
         
    }

    .radio.radio-circle label::before {
        border-radius: 50%;
    }

.radio input[type="radio"] {
    opacity: 0;
}

   