// --------------------------------------------
// TYPOGRAPHY ---------------------------------
// --------------------------------------------
.c-body-text {
  @include f-body;

  font-size: $font-size-2;
  color: $global-text-color;
}

.c-text {
  // All default size classes
  @each $name, $data in $font-body {
    $font-size: map-get($data, font-size);
    $line-height: map-get($data, line-height);

    &-#{$name} {
      @include font-body($font-size, $line-height);
    }
  }

  @each $name, $weight in $font-weight {
    &-#{$name} {
      font-weight: $weight !important;
    }
  }

  &-lowercase {
    text-transform: lowercase !important;
  }

  &-uppercase {
    text-transform: uppercase !important;
  }

  &-capitalize {
    text-transform: capitalize !important;
  }

  &-nowrap {
    white-space: nowrap !important;
  }

  &-underline {
    text-decoration: underline !important;
  }

  &-strikethrough {
    text-decoration: line-through !important;
  }

  &-shadow {
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1) !important;
  }

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

  &-em,
  &-italic {
    font-style: italic !important;
  }

  &-muted {
    color: inherit !important;
    opacity: .6 !important;
  }

  &-monospace {
    font-family: $font-family-mono !important;
  }

  small,
  &-small {
    font-size: 80%;
    line-height: inherit;
  }
}


@each $breakpoint in map-keys($breakpoints) {
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $breakpoints);

    .c#{$infix}-text-left {
      text-align: left !important;
    }

    .c#{$infix}-text-right {
      text-align: right !important;
    }

    .c#{$infix}-text-center {
      text-align: center !important;
    }
  }
}


// All default size classes
@each $name, $data in $font-header {
  $font-size: map-get($data, font-size);
  $line-height: map-get($data, line-height);

  .c-header-#{$name} {
    @include font-header($font-size, $line-height);
  }
}

.c-a,
.c-link {
  @include link-style;

  img {
    border: 0;
  }
}

.c-hr {
  height: 0;
  clear: both;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  max-width: 100%;
  margin: $space-md auto;
  border-bottom: 1px solid $color-gray-1;
}

ol.c-ol {
  @include list-base;

  li {
    padding-left: $space-sm;
    margin-left: $space-md + $space-xs;

    ol {
      padding: $space-0;
      margin-left: $space-0;
    }
  }
}

ul.c-ul {
  @include list-base;

  list-style-type: disc;
  list-style-position: outside;

  li {
    list-style-type: disc;
    padding-left: $space-sm;
    margin-left: $space-md + $space-xs;

    & & {
      margin-left: $space-md;
      margin-bottom: $space-0;
    }
  }
}

ul.c-ul-unstyled,
ol.c-ol-unstyled {
  &,
  & li {
    @include list-base;

    list-style: none;
  }

  ul,
  ol {
    margin-left: $space-lg;
  }
}
