@keyframes ripple {
  0% {
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.0);
  }
  50% {
    box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);
  }
  100% {
    box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
  }
}
.md-radio {
  margin: 16px 0;
}
.md-radio.md-radio-inline {
  display: inline-block;
}
.md-radio input[type="radio"] {
  display: none;
}
.md-radio input[type="radio"]:checked + label:before {
  border-color: #337ab7;
  animation: ripple 0.2s linear forwards;
}
.md-radio input[type="radio"]:checked + label:after {
  transform: scale(1);
}
.md-radio label {
  display: inline-block;
  height: 20px;
  position: relative;
  padding: 0 30px;
  margin-bottom: 0;
  cursor: pointer;
  vertical-align: bottom;
}
.md-radio label:before, .md-radio label:after {
  position: absolute;
  content: '';
  border-radius: 50%;
  transition: all 0.3s ease;
  transition-property: transform, border-color;
}
.md-radio label:before {
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(0, 0, 0, 0.54);
}
.md-radio label:after {
  top: 4px;
  left: 4.5px;
  width: 11px;
  height: 11px;
  transform: scale(0);
  background: #1976D2;
}
*, *:before, *:after {
  box-sizing: border-box;
}

@media only screen and (max-width: 545px) {
  .md-radio {
    margin: 4px -10px;
  }
  .md-radio label {
    height: 13px;
  }
  .md-radio label:before {
    height: 15px;
    width: 15px;
  }
  .md-radio label:after {
    top: 3.75px;
    left: 3.75px;
    width: 7.5px;
    height: 7.5px;
    transform: scale(0);
    background: #1976D2;
  }
}
