paper-radio-button {
  display: inline-block;
  white-space: nowrap;

  input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  &:focus {
    outline: none;
  }

  [data-id=radioContainer].paper-radio-button {
    display: inline-block;
    position: relative;
    width: 16px;
    height: 16px;
    cursor: pointer;
    vertical-align: middle;
  }

  [data-id=ink].paper-radio-button {
    $offset: -15px;

    position: absolute;
    top: $offset;
    right: $offset;
    bottom: $offset;
    left: $offset;
    width: 48px;
    height: 48px;
    opacity: 0.6;
    pointer-events: none;
  }

  [data-id=offRadio].paper-radio-button {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: solid 2px;
    transition: border-color 0.28s;
    box-sizing: content-box;
  }

  [data-id=onRadio].paper-radio-button {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transform: scale(0);
    transition: transform ease 0.28s;
    box-sizing: content-box;
  }

  :checked ~ [data-id=onRadio].paper-radio-button {
    transform: scale(1);
  }

  [data-id=radioLabel].paper-radio-button {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    white-space: normal;
    pointer-events: none;
  }

  [data-id=radioLabel][hidden].paper-radio-button {
    display: none;
  }

  &[disabled] {
    pointer-events: none;
  }

  &[disabled] [data-id=offRadio].paper-radio-button {
    opacity: 0.5;
  }

  &[disabled] :checked ~ [data-id=onRadio].paper-radio-button {
    opacity: 0.5;
  }

  &[disabled] [data-id=radioLabel].paper-radio-button {
    opacity: 0.65;
  }
}