.checkbox label { display: inline-block; vertical-align: top; position: relative;margin:0; padding:0 0 0 23px;line-height:20px}
.checkbox label::before {content: "";display: inline-block;position: absolute;width: 18px;height: 18px;left: 0; top:1px;border: 1px solid #cccccc;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: 1px;padding-left: 3px;padding-top: 0px;font-size: 11px;color: #555555;text-align:left;}
.checkbox input[type="checkbox"],
.checkbox input[type="radio"] {
  opacity: 0;
  z-index: 1;
  cursor: pointer;
}
.checkbox input[type="checkbox"]:focus + label::before,
.checkbox input[type="radio"]:focus + label::before {
  outline: thin dotted;outline: 5px auto -webkit-focus-ring-color;outline-offset: -2px; 
}
.checkbox input[type="checkbox"]:checked + label::before,
.checkbox input[type="radio"]:checked + label::before {
  background-color:rgb(64,146,212);border-color:rgb(44,126,192);
}
.checkbox input[type="checkbox"]:checked + label::after,
.checkbox input[type="radio"]:checked + label::after {
  font-family: "FontAwesome";content: "\f00c";color:#fff;
 }
.checkbox input[type="checkbox"]:indeterminate + label::after,
.checkbox input[type="radio"]:indeterminate + label::after {
  display: block;content: "";width: 10px;height: 3px;background-color: #555555;border-radius: 2px;margin-left: -16.5px;margin-top: 7px;
}
.checkbox input[type="checkbox"]:disabled,
.checkbox input[type="radio"]:disabled {
    cursor: not-allowed;
}
.checkbox input[type="checkbox"]:disabled + label,
.checkbox input[type="radio"]:disabled + label {
      opacity: 0.65; }
.checkbox input[type="checkbox"]:disabled + label::before,
.checkbox input[type="radio"]:disabled + label::before {
	background-color: #eeeeee;
        cursor: not-allowed; 
}
.checkbox.checkbox-circle label::before {  border-radius: 50%; }
.checkbox.checkbox-inline {margin-top: 0; padding:0;}

.radio { padding-left: 20px; }
.radio label {  display: inline-block; vertical-align: middle; position: relative; padding-left: 5px; }
.radio label::before {content: "";display: inline-block;position: absolute;width: 18px;height: 18px;left: 0;margin-top:3px;margin-left: -20px;border: 1px 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: 10px;height: 10px;left: 4px;top: 7px;margin-left: -20px;border-radius: 50%;background-color: rgb(0,158,226);-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 input[type="radio"] {opacity: 0;z-index: 1;cursor: pointer;}
.radio input[type="radio"]:focus + label::before {outline: thin dotted;outline: 5px auto -webkit-focus-ring-color;outline-offset: -2px; }
.radio input[type="radio"]:checked + label::before {border-color:rgb(0,158,226)}
.radio input[type="radio"]:checked + label::after {-webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); -o-transform: scale(1, 1); transform: scale(1, 1); }
.radio input[type="radio"]:disabled {cursor: not-allowed;}
.radio input[type="radio"]:disabled + label {opacity: 0.65; }
.radio input[type="radio"]:disabled + label::before { cursor: not-allowed; }
.radio.radio-inline {margin-top: 0; }