input[type=checkbox].pri:not(old),
input[type=radio   ].pri:not(old){
  width     : 2em;
  margin    : 0;
  padding   : 0;
  font-size : 1em;
  opacity   : 0;
  position: absolute;
}

input[type=checkbox].pri:not(old) + label,
input[type=radio   ].pri:not(old) + label{
  display      : inline-block;
  padding-left  : -2em;
  line-height  : 1.5em;
  font-weight  : normal;
}

input[type=checkbox].pri:not(old) + label > span{
  display          : inline-block;
  width            : 1.075em;
  height           : 1.075em;
  margin           : 0.25em 0.2em 0.3em 0.25em;
  border           : 1px solid rgb(237,30,36);
  border-radius    : 0em;
  background       : rgb(255,255,255);
#  background-image :    -moz-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image :     -ms-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image :      -o-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image : -webkit-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image :         linear-gradient(rgb(255,255,255),rgb(255,255,255));
  vertical-align   : bottom;
}
input[type=radio   ].pri:not(old) + label > span{
  display          : inline-block;
  width            : 1.075em;
  height           : 1.075em;
  margin           : 0.25em 0.2em 0.3em 0.25em;
  border           : 1px solid rgb(237,30,36);
  border-radius    : 5em;
  background       : rgb(255,255,255);
#  background-image :    -moz-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image :     -ms-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image :      -o-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image : -webkit-linear-gradient(rgb(255,255,255),rgb(255,255,255));
#  background-image :         linear-gradient(rgb(255,255,255),rgb(255,255,255));
  vertical-align   : bottom;
}

input[type=checkbox].pri:not(old):checked + label > span,
input[type=radio   ].pri:not(old):checked + label > span{
  background-image :    -moz-linear-gradient(rgb(255,255,255),rgb(255,255,255));
  background-image :     -ms-linear-gradient(rgb(255,255,255),rgb(255,255,255));
  background-image :      -o-linear-gradient(rgb(255,255,255),rgb(255,255,255));
  background-image : -webkit-linear-gradient(rgb(255,255,255),rgb(255,255,255));
  background-image :         linear-gradient(rgb(255,255,255),rgb(255,255,255));
}

input[type=checkbox].pri:not(old):checked + label > span:before{
  content     : '✓';
  #content     : '■';
  display     : block;
  width       : 1em;
  color       : rgb(237,30,36);
  font-size   : 1.175em;
  line-height : 1em;
  #text-align  : center;
  text-shadow : 0 0 0.0714em rgb(115,153,77);
  font-weight : bold;
  margin-top: -2.58px;
}

input[type=radio]:not(old):checked +  label > span > span{
  display          : block;
  width            : 0.5em;
  height           : 0.5em;
  margin           : 0.215em;
  border           : 0.0625em solid rgb(237,30,36);
  border-radius    : 5em;
  background       : rgb(237,30,36);
  background-image :    -moz-linear-gradient(rgb(237,30,36),rgb(237,30,36));
  background-image :     -ms-linear-gradient(rgb(237,30,36),rgb(237,30,36));
  background-image :      -o-linear-gradient(rgb(237,30,36),rgb(237,30,36));
  background-image : -webkit-linear-gradient(rgb(237,30,36),rgb(237,30,36));
  background-image :         linear-gradient(rgb(237,30,36),rgb(237,30,36));
}
