.checkbox + label > span,
label > .checkbox + span{
  display: inline-block;
  width: 16px;
  height: 16px;
  margin: -2px 10px 0 0;
  vertical-align: middle;
  background: #ffffff;
  cursor: pointer;
  border: solid 1px #b4b4b4;
  border-radius: 2px;
  position: relative;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
}
.checkbox + label:hover > span,
label:hover > .checkbox + span{
  border-color: #b4b4b4;
}
.checkbox:checked + label > span,
label > .checkbox:checked + span{
  border-color: #b4b4b4;
}
.checkbox:checked + label > span:before,
label > .checkbox:checked + span:before{
  content: ' ';
  position: absolute;
  border: solid #3650db;
  border-width: 0 0 2px 2px;
  height: 4px;
  width: 9px;
  left: 3px;
  top: 4px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.checkbox:focus + label > span,
label > .checkbox:focus + span{
  border-color: #3650db;
}
.checkbox:focus + label,
label > .checkbox:focus{
  color: #3650db;
}