/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--headings-font-family);
  font-weight: var(--headings-font-weight);
  line-height: var(--headings-line-height);
  color: var(--headings-color);

  & small,
  & .small {
    font-weight: normal;
    line-height: 1;
    color: var(--headings-small-color);
  }
}

h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: var(--line-height-computed);
  margin-bottom: calc(var(--line-height-computed) / 2);

  & small,
  & .small {
    font-size: 65%;
  }
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: calc(var(--line-height-computed) / 2);
  margin-bottom: calc(var(--line-height-computed) / 2);

  & small,
  & .small {
    font-size: 75%;
  }
}

h1,
.h1 {
  font-size: var(--font-size-h1);
}

h2,
.h2 {
  font-size: var(--font-size-h2);
}

h3,
.h3 {
  font-size: var(--font-size-h3);
}

h4,
.h4 {
  font-size: var(--font-size-h4);
}

h5,
.h5 {
  font-size: var(--font-size-h5);
}

h6,
.h6 {
  font-size: var(--font-size-h6);
}

/* Body text */
p {
  margin: 0 0 calc(var(--line-height-computed) / 2);
}

.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}

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

/* Lists */
ul,
ol {
  margin-top: 0;
  margin-bottom: calc(var(--line-height-computed) / 2);

  ul,
  ol {
    margin-bottom: 0;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;

  & > li {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
  }
}

/* Pre and Code */
code {
  font-family: var(--font-family-mono);
}
