/// ========================================================================
/// Bootstrap: type.less
/// https://github.com/twbs/bootstrap/blob/master/less/type.less
/// 
/// ZUI: The file has been changed in ZUI. It will not keep update with the
/// Bootsrap version in the future.
/// http://zui.sexy
/// ========================================================================
/// Bootrap: Copyright 2011-2016 Twitter, Inc. Licensed under MIT
/// ========================================================================


// Body text

p {
  margin: 0 0 (@line-height-computed / 2);
}
.lead {
  margin-bottom: @line-height-computed;
  font-size: floor((@font-size-base * 1.15));
  line-height: 1.4;

  @media (min-width: @screen-sm-min) {
    font-size: (@font-size-base * 1.5);
  }
}


// Emphasis & misc

// Ex: 14px base font * 85% = about 12px
small,
.small   { font-size: 85%; }

// Undo browser default styling
cite     { font-style: normal; }


// Contextual style

.text-gray,
.text-muted {
  color: @text-muted;

  a {
    color: darken(@text-muted,5%);
    &:hover,
    &:active {
      color: @link-color;
    }
  }
}

.text-primary {
  color: @color-primary;
}

.text-yellow,
.text-warning {
  color: @state-warning-text;
}

.text-red,
.text-danger {
  color: @state-danger-text;
}

.text-green,
.text-success {
  color: @state-success-text;
}

.text-blue,
.text-info {
  color: @state-info-text;
}

.text-brown,
.text-important {
  color: @state-important-text;
}

.text-purple,
.text-special {
  color: @state-special-text;
}


// link with text color

.text-link {
  color: @color-fore;
  &:hover,
  &:active {
    color: @link-color;
  }
}


// Alignment

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

// text wrap

.text-nowrap,
.nobr { .nobr(); }


// text ellipsis
.text-ellipsis
{
  .text-nowrap();
  text-overflow: ellipsis;
}

// Lists
// --------------------------------------------------

// Unordered and Ordered lists
ul,
ol {
  margin-top: 0;
  margin-bottom: (@line-height-computed / 2);
  ul,
  ol {
    margin-bottom: 0;
  }
}


// List options

// Unstyled keeps list items block level, just removes default browser padding and list-style
.list-unstyled {
  padding-left: 0;
  list-style: none;
}


// Description Lists

dl {
  margin-bottom: @line-height-computed;
}

dt,
dd {
  line-height: @line-height-base;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0; // Undo browser default
}


// Inline description list

.dl-inline {
  .clearfix();
  dt {
    display: inline-block;
  }
  dd {
    display: inline-block;
    padding-right: 1em;
    &:last-child {
      padding-right: 0;
    }
  }
}


// Horizontal description lists
//
// Defaults to being stacked without any of the below styles applied, until the
// grid breakpoint is reached (default of ~768px).

.dl-horizontal {
  dd {
    &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present
  }

  @media (min-width: @grid-float-breakpoint) {
    dt {
      float: left;
      width: (@component-offset-horizontal - 20);
      clear: left;
      text-align: right;
      .text-overflow();
    }
    dd {
      margin-left: @component-offset-horizontal;
    }
  }
}


// Blockquotes

blockquote {
  padding: (@line-height-computed / 2) @line-height-computed;
  margin: 0 0 @line-height-computed;
  font-size: (@font-size-base * 1.25);
  border-left: 5px solid @blockquote-border-color;

  p,
  ul,
  ol {
    font-weight: 300;
    &:last-child {
      margin-bottom: 0;
    }
  }

  small {
    display: block;
    line-height: @line-height-base;
    color: @blockquote-small-color;
    &:before {
      content: '\2014 \00A0'; // EM DASH, NBSP
    }
  }
  // Float right with text-align: right
  &.pull-right {
    padding-right: 15px;
    padding-left: 0;
    border-right: 5px solid @blockquote-border-color;
    border-left: 0;
    p,
    small {
      text-align: right;
    }
    small {
      &:before {
        content: '';
      }
      &:after {
        content: '\00A0 \2014'; // NBSP, EM DASH
      }
    }
  }
}

// fix OL padding
.ol-pd-2 {padding-left: 40px;}
.ol-pd-3 {padding-left: 60px;}
.ol-pd-4 {padding-left: 80px;}
