/* Base for span styling */
.dmflg_checkbox [type="checkbox"]:not(:checked),
.dmflg_checkbox [type="checkbox"]:checked {
  position: absolute;
  left: -9999px;
}
.dmflg_checkbox [type="checkbox"]:not(:checked) + span,
.dmflg_checkbox [type="checkbox"]:checked + span {
  position: relative;
  padding-left: 1.95em;
  cursor: pointer;
  font-weight: bold;
}

/* checkbox aspect */
.dmflg_checkbox [type="checkbox"]:not(:checked) + span:before,
.dmflg_checkbox [type="checkbox"]:checked + span:before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 1.25em; height: 1.25em;
  border: 2px solid #ccc;
  background: #fff;
  border-radius: 4px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
  font-weight: normal;
}
/* checked mark aspect */
.dmflg_checkbox [type="checkbox"]:not(:checked) + span:after,
.dmflg_checkbox [type="checkbox"]:checked + span:after {
  content: '\2713\0020';
  position: absolute;
  top: .15em; left: .22em;
  font-size: 1.3em;
  line-height: 0.8;
  color: black;
  transition: all .2s;
  font-family: 'Lucida Sans Unicode', 'Arial Unicode MS', Arial;
  font-weight: normal;
}
/* checked mark aspect changes */
.dmflg_checkbox [type="checkbox"]:not(:checked) + span:after {
  opacity: 0;
  transform: scale(0);
}
.dmflg_checkbox [type="checkbox"]:checked + span:after {
  opacity: 1;
  transform: scale(1);
}
/* disabled checkbox */
.dmflg_checkbox [type="checkbox"]:disabled:not(:checked) + span:before,
.dmflg_checkbox [type="checkbox"]:disabled:checked + span:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}
.dmflg_checkbox [type="checkbox"]:disabled:checked + span:after {
  color: #999;
}
.dmflg_checkbox [type="checkbox"]:disabled + span {
  color: #aaa;
}
