.vinli-checkbox {
  &__label {
    font-weight: 400;
    display: block;
    padding-left: 30px;
    text-indent: -30px;
    margin: 0.5em 16px 0.5em 0;
    min-height: 20px;
    min-width: 20px;
    position: relative;

    &--small {
      font-size: 0.75em;
      font-weight: 600;

      span {
        margin-left: 5px;
      }
    }

    &--large {
      font-size: 1.5em;
      font-weight: 300;

      span {
        margin-left: -10px;
      }
    }
  }

  &__checkbox {
    cursor: pointer;
    transition: 240ms;
    border: 2px solid palette(gray);
    border-radius: 2px;
    width: 20px;
    height: 20px;
    margin-right: 1em;
    vertical-align: middle;
    position: relative;
    top: -2px;
    display: inline-block;
    appearance: none;

    &::after {
      border-color: transparent;
      box-sizing: border-box;
      transform: rotate(45deg);
      position: absolute;
      left: 4.67px;
      top: 0.22px;
      width: 6.67px;
      height: 13px;
      content: '';
      border-width: 0 2px 2px 0;
      border-top: 0;
      border-left: 0;
      transition: all 0.1s ease;
    }
  }

  &__block {
    display: inline-block;
    vertical-align: middle;
    margin-left: 2em;
  }
}

.checked {
  .vinli-checkbox__checkbox {
    &::after {
      border-color: palette(blue);
      border-style: solidc;
    }
  }

  &.vinli-checkbox--fill {
    .vinli-checkbox__checkbox {
      background: palette(blue);
      border-color: palette(blue);

      &::after {
        border-color: white;
      }
    }
  }
}

.vinli-checkbox--white {
  .vinli-checkbox__checkbox {
    background: palette(blue);
    border-color: palette(blue);

    &::after {
      border-color: white;
    }
  }
}

.vinli-checkbox--blue {
  .vinli-checkbox__checkbox {
    border-color: palette(blue);
  }
}

input[type="checkbox"].vinli-checkbox__checkbox {
  &:focus {
    outline: 0;
    box-shadow: none !important;
  }
}

