.x-radio-group {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.x-radio-group .x-radio + .x-radio {
  margin-top: 12px;
}
.x-radio-group--inline {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.x-radio-group--inline .x-radio + .x-radio {
  margin-top: 0;
  margin-left: 12px;
}

.x-radio {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.x-radio--disabled {
  cursor: no-drop;
  pointer-events: none;
  opacity: 0.6;
}
.x-radio--control {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.x-radio--circle {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid currentColor;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: color 0.3s ease 0s;
  transition: color 0.3s ease 0s;
}
.x-radio--circle:after {
  content: "";
  position: absolute;
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background-color: currentColor;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.x-radio--circle.active::after {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.x-radio--input {
  display: none;
  opacity: 0;
}
.x-radio--ripple {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 100%;
  height: 100%;
  padding: 8px;
  border-radius: 50%;
  overflow: hidden;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}