/*
 * text
 */

// text-align
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

.italic { font-style: italic; }

// font-weight
.font-normal { font-weight: normal; }
.font-bold { font-weight: bold; }
.font-lighter { font-weight: lighter; }
.font-bolder { font-weight: bolder; }

.bold { font-weight: var(--font-weight-bold); }
.bolder { font-weight: bolder; }
.lighter { font-weight: lighter; }

each(100 200 300 400 500 600 700 800 900, {
  .font-weight-@{value} { font-weight: @value !important; }
});

// shorthand
.for(1 2 3 4 5 6 7 8 9, {
  .fw@{value} { font-weight: @value*100 !important; }
});

// text-transform
.text-capitalize {
  text-transform: capitalize;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}

// text-decoration
.text-decoration-none {
  text-decoration: none;
}
.text-decoration-underline {
  text-decoration: underline;
}
.text-decoration-overline {
  text-decoration: overline;
}
.text-decoration-line-through {
  text-decoration: line-through;
}
.text-decoration-blink {
  text-decoration: blink;
}


/*
 * font
 */

.for(@nums, {
  .fs@{value}, .fz@{value} { font-size: @value * 1px !important; }
});


.font-family-gothic {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.font-family-mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.font-family-default {
  font-family: 'Open Sans','Helvetica Neue',Arial,sans-serif;
}

.font-smoothing-antialiased {
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

// line-height
.for(@nums-1-32, {
  .lh@{value} {
    line-height: @value/10;
  }
});

// letter-spacing
.for(@nums-1-32, {
  .letter-spacing-@{value}, .ls@{value} {
    letter-spacing: @value * 1px;
  }
});

.for(1 2 3 4 5 6 7 8 9, {
  .letter-spacing-0_@{value} {
    letter-spacing: @value * 0.1px;
  }
});

@media @media-mobile {
  // 
  .for(1 2 3 3 4 5 6 7 8 9, {
    .s-letter-spacing-0_@{value} {
      letter-spacing: @value * 0.1px;
    }
  });
}
@media @media-tablet {
  .for(1 2 3 3 4 5 6 7 8 9, {
    .m-letter-spacing-0_@{value} {
      letter-spacing: @value * 0.1px;
    }
  });
}
@media @media-desktop {
  .for(1 2 3 3 4 5 6 7 8 9, {
    .l-letter-spacing-0_@{value} {
      letter-spacing: @value * 0.1px;
    }
  });
}

.for(1 2 3 4 5 6 7 8 9, {
  .letter-spacing-0_0@{value}em {
    letter-spacing: @value * 0.01em;
  }
});

@media @media-mobile {
  .for(1 2 3 3 4 5 6 7 8 9, {
    .s-letter-spacing-0_0@{value}em {
      letter-spacing: @value * 0.01em;
    }
  });
}
@media @media-tablet {
  .for(1 2 3 3 4 5 6 7 8 9, {
    .m-letter-spacing-0_0@{value}em {
      letter-spacing: @value * 0.01em;
    }
  });
}
@media @media-desktop {
  .for(1 2 3 3 4 5 6 7 8 9, {
    .l-letter-spacing-0_0@{value}em {
      letter-spacing: @value * 0.01em;
    }
  });
}

// ellipsis
.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis; 
  white-space: nowrap;
}

// /line-clamp
.for(1 2 3 4 5 6 7 8 9 10, {
  .line-clamp-@{value} {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: @value;
  }
});

@media @media-mobile {
  .for(1 2 3 4 5 6 7 8 9 10, {
    .s-line-clamp-@{value} {
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: @value;
    }
  });
}
@media @media-tablet {
  .for(1 2 3 4 5 6 7 8 9 10, {
    .m-line-clamp-@{value} {
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: @value;
    }  
  });
}
@media @media-desktop {
  .for(1 2 3 4 5 6 7 8 9 10, {
    .l-line-clamp-@{value} {
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: @value;
    }  
  });
}

// word-break
.word-break-normal {
  word-break: normal;
}
.word-break-all {
  word-break: break-all;
}
.word-break-word {
  word-break: break-word;
}
.word-break-keep {
  word-break: keep-all;
}

// line-break
.line-break-auto {
  line-break: auto;
}
.line-break-loose {
  line-break: loose;
}
.line-break-normal {
  line-break: normal;
}
.line-break-strict {
  line-break: strict;
}
.line-break-anywhere {
  line-break: anywhere;
}

.white-space-normal   { white-space: normal; }
.white-space-nowrap   { white-space: nowrap; }
.white-space-pre      { white-space: pre; }
.white-space-pre-line { white-space: pre-line; }
.white-space-pre-wrap { white-space: pre-wrap; }


