@mixin radio-component($radioComponentLabelColor, $radioComponentOusideCircleColor, $radioComponentInsideCircleColor) {
  .radioComponent {
    display: grid;
    column-gap: 10px;
    justify-content: space-around;
    grid-template-columns: repeat(2, auto);
    align-items: center;
    margin: 1px;
    .wrapper {
      display: block;
      position: relative;
      padding: 0 0 0 25px;
      cursor: pointer;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        margin-left: -36px;
        z-index: 1;
        &:checked {
          ~ {
            .checkmark {
              &:after {
                display: block;
              }
            }
          }
        }
      }
      &:hover {
        input {
          ~ {
            .checkmark {
              opacity: 0.9;
            }
          }
        }
      }
      .checkmark {
        &:after {
          top: 5px;
          left: 5px;
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background: $radioComponentInsideCircleColor
        }
      }
      label {
        cursor: pointer;
        color: $radioComponentLabelColor;
      }
    }
    .checkmark {
      position: absolute;
      top: 0;
      left: 0;
      height: 18px;
      width: 18px;
      background-color: $radioComponentOusideCircleColor;
      border-radius: 50%;
      border: 0;
      &:after {
        content: "";
        position: absolute;
        display: none;
      }
      &:hover {
        opacity: 0.7;
      }
    }
  }
}
