// Text truncation
.text-truncate() {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Force no line break */
.word-nowrap() {
  word-wrap: normal;
  white-space: nowrap;
}

/* Force line break */
.break-all() {
  word-break: break-all;
  word-wrap: break-word;
  white-space: normal;
}

// Prohibit selection
.unselect() {
  cursor: pointer;
  user-select: none;
}

/* Suitable for webkit core and mobile */
.ellipsis-multiple(@num: 1) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: @num;
}

.respond-to (small, @content) {
  @media only screen and (min-width: @screen-sm-min) {
    @content();
  }
}
.respond-to (medium, @content) {
  @media only screen and (min-width: @screen-md-min) {
    @content();
  }
}
.respond-to (large, @content) {
  @media only screen and (min-width: @screen-lg-min) {
    @content();
  }
}
.respond-to (xlarge, @content) {
  @media only screen and (min-width: @screen-xl-min) {
    @content();
  }
}
.respond-to (xsmall-only, @content) {
  @media only screen and (max-width: @screen-xs-max) {
    @content();
  }
}
.respond-to (small-only, @content) {
  @media only screen and (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
    @content();
  }
}
.respond-to (medium-only, @content) {
  @media only screen and (min-width: @screen-md-min) and (max-width: @screen-md-max) {
    @content();
  }
}
.respond-to (large-only, @content) {
  @media only screen and (min-width: @screen-lg-min) and (max-width: @screen-lg-max) {
    @content();
  }
}

.respond-to (xsmall-and-small, @content) {
  @media only screen and (max-width: @screen-sm-max) {
    @content();
  }
}
.respond-to (small-and-medium, @content) {
  @media only screen and (min-width: @screen-sm-min) and (max-width: @screen-md-max) {
    @content();
  }
}
