input[type=radio   ]:not(old){
  width     : 2em;
  margin    : 0;
  padding   : 0;
  font-size : 1em;
  opacity   : 0;
}

input[type=radio   ]:not(old) + label{
  display      : inline-block;
  margin-left  : -2em;
  line-height  : 1.5em;
  font-weight: 400;
}

input[type=radio   ]:not(old) + label > span{
  display          : inline-block;
  width            : 0.875em;
  height           : 0.875em;
  margin           : 0.25em 0.5em 0.25em 0.25em;
  border           : 0.0625em solid rgb(192,192,192);
  border-radius    : 0.25em;
  background       : rgb(224,224,224);
  background-image :    -moz-linear-gradient(rgb(240,240,240),rgb(224,224,224));
  background-image :     -ms-linear-gradient(rgb(240,240,240),rgb(224,224,224));
  background-image :      -o-linear-gradient(rgb(240,240,240),rgb(224,224,224));
  background-image : -webkit-linear-gradient(rgb(240,240,240),rgb(224,224,224));
  background-image :         linear-gradient(rgb(240,240,240),rgb(224,224,224));
  vertical-align   : bottom;
}

input[type=radio   ]:not(old):checked + label > span{
  background-image :    -moz-linear-gradient(rgb(224,224,224),rgb(240,240,240));
  background-image :     -ms-linear-gradient(rgb(224,224,224),rgb(240,240,240));
  background-image :      -o-linear-gradient(rgb(224,224,224),rgb(240,240,240));
  background-image : -webkit-linear-gradient(rgb(224,224,224),rgb(240,240,240));
  background-image :         linear-gradient(rgb(224,224,224),rgb(240,240,240));
}

input[type=radio]:not(old):checked +  label > span > span{
  display          : block;
  width            : 0.5em;
  height           : 0.5em;
  margin           : 0.125em;
  border           : 0.0625em solid #6161a1;
  border-radius    : 0.125em;
  background       : #6161a1;
  background-image :    -moz-linear-gradient(#d4d4f1,#6161a1);
  background-image :     -ms-linear-gradient(#d4d4f1,#6161a1);
  background-image :      -o-linear-gradient(#d4d4f1,#6161a1);
  background-image : -webkit-linear-gradient(#d4d4f1,#6161a1);
  background-image :         linear-gradient(#d4d4f1,#6161a1);
}

input[type=radio] + label{
  display: block;
}

input[type=radio]:checked + label{
 font-size: 1.2em;
 font-weight: bold; 
}

@media (max-width: 822px){  
 input[type=radio ]:not(old) + label {
     margin-left: 0;
 }
 input[type=radio   ]:not(old){
     margin-left: 0;
}