.checkbox-item {
  display: block;
  position: relative;
  padding-left: 45px;
  width: 100%;
  cursor: pointer;
  input[type='checkbox'],
  input[type='radio'] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 1px;
    width: 1px;
    left: 0;
    top: 50%;
    pointer-events: none;
  }

  .checkmark {
    position: absolute;
    top: 49%;
    transform: translateY(-50%);
    left: 0;
    height: 30px;
    width: 30px;
    border: 1px solid $txt-color;
    &--radio {
      border-radius: 50%;
    }
  }
  &:hover input ~ .checkmark {
    background-color: lighten($txt-color, 35%);
  }
  input:checked ~ .checkmark {
    background-color: $txt-color;
  }

  .checkmark:after {
    content: '';
    position: absolute;
    display: none;
  }
  input:checked ~ .checkmark:after {
    display: block;
  }
}
