.radio {
  $self: &;
  display: flex;
  align-items: center;
  &__container {
    display: inline-block;
    position: relative;
    input[type="radio"] {
      opacity: 0;
      position: absolute;
      z-index: 3;
      cursor: pointer;
    }
  }
  &__indicator {
    border: 1px solid #999999;
    position: relative;
    width: $checkbox-size + 1;
    height: $checkbox-size + 1;
    left: 0;
    border-radius: 50%;
    &:before {
      content: "";
      background-color: $body-color;
      border-radius: 50%;
      position: absolute;
      height: 8px;
      width: 8px;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      opacity: 0;
      transition: 0.3s ease-in-out;
    }
  }
  &__label {
    vertical-align: middle;
    font-size: $checkbox-label-font-size;
    font-weight: normal;
    margin: {
      top: 0px;
      right: 0px;
      bottom: 0px;
      left: 12.5px;
    }
    line-height: 27px;
    transform: translateY(2px);
  }
  input[type="radio"]:checked {
    & + .radio__indicator {
      border-color: $body-color;
      &:before {
        opacity: 1;
      }
    }
  }
  &--lg {
    @include media-breakpoint-down("sm") {
      #{$self}__indicator {
        height: 20px;
        width: 20px;
        &:before {
          width: 11px;
          height: 6px;
          border-width: 3px;
          top: 5px;
          left: 3.5px;
        }
      }
    }
  }
  .mg-form__input--error {
    + #{$self}__indicator {
      border-color: $form-input-error-border-color;
      background-color: $form-input-error-bg-color;
    }
  }
}
