.checkbox {
  $self: &;
  display: flex;
  align-items: center;
  &__container {
    display: inline-block;
    position: relative;
    input[type="checkbox"] {
      opacity: 0;
      position: absolute;
      z-index: 3;
      cursor: pointer;
    }
  }
  &__indicator {
    border: 1px solid #999999;
    position: relative;
    width: $checkbox-size;
    height: $checkbox-size;
    left: 0;
    border-radius: 4px;
    &:before {
      content: "";
      border-bottom: 2px solid;
      border-left: 2px solid;
      transform: rotate(-45deg);
      position: absolute;
      width: 8px;
      height: 5px;
      top: 3px;
      left: 2px;
      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="checkbox"]:checked {
    & + .checkbox__indicator {
      &: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;
        }
      }
    }
  }
}
