.checkbox label::before {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	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;
	margin-right: -17px;
	margin-top: 2px;
	width: 16px;
	height: 16px;
	font-size: 13px;
	color: #555555; 
}
.checkbox input[type="checkbox"] {
	opacity: 0; 
}

.checkbox input[type="checkbox"]:focus + label::before {
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px; 
}

.checkbox input[type="checkbox"]:checked + label::after {
	font-family: 'FontAwesome';
	content: "\f00c";
}

.checkbox input[type="checkbox"]:disabled + label {
	opacity: 0.65; 
}

.checkbox input[type="checkbox"]:disabled + label::before {
	background-color: #eeeeee;
	cursor: not-allowed; 
}