body {
  font-family: var(--font-family);
  font-size: var(--body-font-size--mobile);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
  letter-spacing: var(--body-letter-spacing);
  color: var(--black);
}

@media (min-width: 768px) {
  body {
    font-size: var(--body-font-size);
  }
}

p,
li {
  margin-bottom: var(--spacer);
}

h1,
.h1 {
  font-family: var(--h1-font);
  font-size: var(--h1-font-size--mobile);
  font-weight: var(--h1-font-weight);
  line-height: var(--h1-line-height);
  letter-spacing: var(--h1-letter-spacing);
  text-transform: var(--h1-text-transform);
  margin-bottom: var(--spacer);
}

@media (min-width: 768px) {
  h1,
  .h1 {
    font-size: var(--h1-font-size);
  }
}

h2,
.h2 {
  font-family: var(--h2-font);
  font-size: var(--h2-font-size--mobile);
  font-weight: var(--h2-font-weight);
  line-height: var(--h2-line-height);
  letter-spacing: var(--h2-letter-spacing);
  text-transform: var(--h2-text-transform);
  margin-bottom: var(--spacer);
}

@media (min-width: 768px) {
  h2,
  .h2 {
    font-size: var(--h2-font-size);
  }
}

h3,
.h3 {
  font-family: var(--h3-font);
  font-size: var(--h3-font-size--mobile);
  font-weight: var(--h3-font-weight);
  line-height: var(--h3-line-height);
  letter-spacing: var(--h3-letter-spacing);
  text-transform: var(--h3-text-transform);
  margin-bottom: var(--spacer);
}

@media (min-width: 768px) {
  h3,
  .h3 {
    font-size: var(--h3-font-size);
  }
}

h4,
.h4 {
  font-family: var(--h4-font);
  font-size: var(--h4-font-size--mobile);
  font-weight: var(--h4-font-weight);
  line-height: var(--h4-line-height);
  letter-spacing: var(--h4-letter-spacing);
  text-transform: var(--h4-text-transform);
  margin-bottom: var(--spacer);
}

@media (min-width: 768px) {
  h4,
  .h4 {
    font-size: var(--h4-font-size);
  }
}

h5,
.h5 {
  font-family: var(--h5-font);
  font-size: var(--h5-font-size--mobile);
  font-weight: var(--h5-font-weight);
  line-height: var(--h5-line-height);
  letter-spacing: var(--h5-letter-spacing);
  text-transform: var(--h5-text-transform);
  margin-bottom: var(--spacer);
}

@media (min-width: 768px) {
  h5,
  .h5 {
    font-size: var(--h5-font-size);
  }
}

h6,
.h6 {
  font-family: var(--h6-font);
  font-size: var(--h6-font-size--mobile);
  font-weight: var(--h6-font-weight);
  line-height: var(--h6-line-height);
  letter-spacing: var(--h6-letter-spacing);
  text-transform: var(--h6-text-transform);
  margin-bottom: var(--spacer);
}

@media (min-width: 768px) {
  h6,
  .h6 {
    font-size: var(--h6-font-size);
  }
}

.large {
  font-family: var(--large-font);
  font-size: var(--large-font-size--mobile);
  font-weight: var(--large-font-weight);
  line-height: var(--large-line-height);
  letter-spacing: var(--large-letter-spacing);
  text-transform: var(--large-text-transform);
}

@media (min-width: 768px) {
  .large {
    font-size: var(--large-font-size);
  }
}

.small {
  font-family: var(--small-font);
  font-size: var(--small-font-size--mobile);
  font-weight: var(--small-font-weight);
  line-height: var(--small-line-height);
  letter-spacing: var(--small-letter-spacing);
  text-transform: var(--small-text-transform);
}

@media (min-width: 768px) {
  .small {
    font-size: var(--small-font-size);
  }
}

@media (min-width: 768px) {
  /* For only larger than mobile devices */
  .md\:small {
    font-family: var(--small-font);
    font-size: var(--small-font-size);
    font-weight: var(--small-font-weight);
    line-height: var(--small-line-height);
    letter-spacing: var(--small-letter-spacing);
    text-transform: var(--small-text-transform);
  }
}

h1 strong,
.h1 strong,
h1 b,
.h1 b {
  font-weight: var(--font-weight--semi);
}

.large strong,
.large b {
  font-weight: inherit;
}
