.schema-field-radio,
.schema-field-checkbox {
  label {
    display: block;
    cursor: pointer;
    line-height: 2.5;
    font-size: 19px;
    padding: 8px 8px 8px 18px;
    transition: 0.33s ease all;

    &:hover {
      background: #fafafa;
      display: block;
      border-radius: 5px;
    }
  }

  [type="radio"],
  [type="checkbox"] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px; margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  [type="radio"] + span,
  [type="checkbox"] + span,{
    display: block;
    font-size: 15px;
  }

  [type="radio"] + span::before,
  [type="checkbox"] + span::before {
    border: 2px solid #fff;
    box-shadow: 0 0 0 0.15em #000;
    margin-right: 0.75em;
    transition: 0.5s ease all;
    background: #EEEEEE;
    box-shadow: inset 0px 1px 4px 0px rgba(0,0,0,0.14);
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
  }

  [type="radio"]:checked + span::before,
  [type="checkbox"]:checked + span::before {
    background: #5ac688;
    box-shadow: 0px 0px 4px 0px #66E09A;
  }

  [type="radio"]:focus + span::before,
  [type="checkbox"]:focus + span::before {
    box-shadow: 0px 0px 4px 0px blue;
  }

  [type="radio"]:disabled + span::before,
  [type="checkbox"]:disabled + span::before {
    opacity: 0.5;
    cursor: default;
  }

  .radio-button.disabled label,
  .checkbox.disabled label {
    cursor: default;
    pointer-events: disabled;

    &:hover {
      background: none;
    }
  }
}