body {
  background: var(--body-bg-color);
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  font-size: var(--font-size);
  color: var(--body-color);
  line-height: var(--line-height);
}

a {
  color: var(--link-color);
  text-decoration: var(--link-text-decoration);
}

a:hover {
  color: var(--link-color-hover);
  text-decoration: var(--link-text-decoration-hover);
}

a.isDisabled {
  color: currentColor;
  cursor: not-allowed;
  opacity: 0.5;
}

abbr[title] {
  text-decoration: none;
  border-bottom: dashed 2px currentcolor;
}

blockquote,
.blockquote {
  font-size: 120%;
  border-left: solid 0.25rem var(--component-border-color);
  padding: var(--blockquote-padding);
  margin-bottom: var(--component-margin-bottom);
  margin-left: 0;
}

blockquote :last-child,
.blockquote :last-child {
  margin-bottom: 0;
}

code,
.code {
  font-family: var(--font-monospace);
  font-size: var(--code-font-size);
  color: var(--code-color);
  background-color: var(--code-bg-color);
  border-radius: var(--code-border-radius);
  padding: var(--code-padding-y) var(--code-padding-x);
}

del,
.del {
  color: var(--red);
}

figure {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: var(--headings-font-weight);
  line-height: var(--headings-line-height);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--headings-font-family);
  color: var(--headings-color);
  margin-bottom: var(--headings-margin-bottom);
  margin-top: 0;
}

h1,
.h1 {
  font-size: calc(var(--headings-font-size-h1) * var(--media-hdg, 1));
}

h2,
.h2 {
  font-size: calc(var(--headings-font-size-h2) * var(--media-hdg, 1));
}

h3,
.h3 {
  font-size: calc(var(--headings-font-size-h3) * var(--media-hdg, 1));
}

h4,
.h4 {
  font-size: calc(var(--headings-font-size-h4) * var(--media-hdg, 1));
}

h5,
.h5 {
  font-size: calc(var(--headings-font-size-h5) * var(--media-hdg, 1));
}

h6,
.h6 {
  font-size: calc(var(--headings-font-size-h6) * var(--media-hdg, 1));
}

hr {
  border: none;
  border-top: solid var(--hr-border-width) var(--hr-border-color);
  margin: var(--hr-margin-y) var(--hr-margin-x);
}

img,
.img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

ins,
.ins {
  color: var(--green);
}

kbd,
.kbd {
  font-family: var(--font-monospace);
  font-size: var(--kbd-font-size);
  color: var(--kbd-color);
  background-color: var(--kbd-bg-color);
  border-radius: var(--kbd-border-radius);
  padding: var(--kbd-padding-y) var(--kbd-padding-x);
}

mark,
.mark {
  color: var(--mark-color);
  background-color: var(--mark-bg-color);
  padding: var(--mark-padding-y) var(--mark-padding-x);
}

p {
  margin-top: 0;
  margin-bottom: var(--p-margin);
}

pre {
  max-height: var(--pre-max-height);
  overflow-y: auto;
  font-family: var(--font-monospace);
  color: var(--pre-color);
  background-color: var(--pre-bg-color);
  border-radius: var(--pre-border-radius);
  padding: 1rem;
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.pre {
  white-space: pre;
}

.preline {
  white-space: pre-line;
}

.prewrap {
  white-space: pre-wrap;
}

.nowrap {
  white-space: nowrap;
}

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

sub {
  vertical-align: sub;
}

sup {
  vertical-align: super;
}

.ellipsis {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.italic {
  font-style: italic;
}

.normal {
  font-style: normal;
}

.oblique {
  font-style: oblique;
}

.thin {
  font-weight: var(--font-weight-thin);
}

.regular {
  font-weight: var(--font-weight);
}

.medium {
  font-weight: var(--font-weight-medium);
}

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

.muted {
  color: var(--body-color-muted) !important;
}

.center {
  text-align: center;
}

.justify {
  text-align: justify;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.linethrough {
  text-decoration: line-through;
}

.overline {
  text-decoration: overline;
}

.plaintext {
  text-decoration: none;
}

.underline {
  text-decoration: underline;
}

.capitalize {
  text-transform: capitalize;
}

.lowercase {
  text-transform: lowercase;
}

.uppercase {
  text-transform: uppercase;
}

.breakword {
  word-wrap: break-word;
}
