body { line-height: 1.4; }
.ff-curs { font-family: cursive; }
.ff-mono { font-family: monospace; }
.ff-sans { font-family: sans-serif; }
.ff-serif { font-family: serif; }

.fs-xs { font-size: var(--fs-xs); }
.fs-sm { font-size: var(--fs-sm); }
.fs-base { font-size: var(--fs-base); }
.fs-lg { font-size: var(--fs-lg); }
.fs-xl { font-size: var(--fs-xl); }
.fs-2xl { font-size: var(--fs-2xl); }
.fs-3xl { font-size: var(--fs-3xl); }
.fs-4xl { font-size: var(--fs-4xl); }
.fs-5xl { font-size: var(--fs-5xl); }
.fs-6xl { font-size: var(--fs-6xl); }
.fs-7xl { font-size: var(--fs-7xl); }
.fs-8xl { font-size: var(--fs-8xl); }

.fw100, [class*="-fw100"] { font-weight: 100; }
.fw200, [class*="-fw200"] { font-weight: 200; }
.fw300, [class*="-fw300"] { font-weight: 300; }
.fw400, [class*="-fw400"] { font-weight: 400; }
.fw500, [class*="-fw500"] { font-weight: 500; }
.fw600, [class*="-fw600"] { font-weight: 600; }
.fw700, [class*="-fw700"] { font-weight: 700; }
.fw800, [class*="-fw800"] { font-weight: 800; }
.fw900, [class*="-fw900"] { font-weight: 900; }

.fsm {
  font-smooth: always;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

dt { font-weight: 400; }
dd { font-weight: 200; padding: 0; margin: 0 0 1rem 0; }

.strong-400 strong { font-weight: 400; }

.fs-xs { font-size: var(--fs-xs); }
.fs-sm { font-size: var(--fs-sm); }
.fs-base { font-size: var(--fs-base); }
.fs-lg { font-size: var(--fs-lg); }
.fs-xl { font-size: var(--fs-xl); }
.fs-2xl { font-size: var(--fs-2xl); }
.fs-3xl { font-size: var(--fs-3xl); }
.fs-4xl { font-size: var(--fs-4xl); }
.fs-5xl { font-size: var(--fs-5xl); }
.fs-6xl { font-size: var(--fs-6xl); }
.fs-7xl { font-size: var(--fs-7xl); }
.fs-8xl { font-size: var(--fs-8xl); }

@media (min-width: 1024px) {
    .lgu-fs-lg { font-size: var(--fs-lg); }
    .lgu-fs-xl { font-size: var(--fs-xl); }
    .lgu-fs-2xl { font-size: var(--fs-2xl); }
    .lgu-fs-3xl { font-size: var(--fs-3xl); }
    .lgu-fs-4xl { font-size: var(--fs-4xl); }
    .lgu-fs-5xl { font-size: var(--fs-5xl); }
    .lgu-fs-6xl { font-size: var(--fs-6xl); }
    .lgu-fs-7xl { font-size: var(--fs-7xl); }
    .lgu-fs-8xl { font-size: var(--fs-8xl); }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .md-fs-lg { font-size: var(--fs-lg); }
    .md-fs-xl { font-size: var(--fs-xl); }
    .md-fs-2xl { font-size: var(--fs-2xl); }
    .md-fs-3xl { font-size: var(--fs-3xl); }
    .md-fs-4xl { font-size: var(--fs-4xl); }
    .md-fs-5xl { font-size: var(--fs-5xl); }
    .md-fs-6xl { font-size: var(--fs-6xl); }
    .md-fs-7xl { font-size: var(--fs-7xl); }
    .md-fs-8xl { font-size: var(--fs-8xl); }
}

@media (min-width: 768px) {
    .mdu-fs-lg { font-size: var(--fs-lg); }
    .mdu-fs-xl { font-size: var(--fs-xl); }
    .mdu-fs-2xl { font-size: var(--fs-2xl); }
    .mdu-fs-3xl { font-size: var(--fs-3xl); }
    .mdu-fs-4xl { font-size: var(--fs-4xl); }
    .mdu-fs-5xl { font-size: var(--fs-5xl); }
    .mdu-fs-6xl { font-size: var(--fs-6xl); }
    .mdu-fs-7xl { font-size: var(--fs-7xl); }
    .mdu-fs-8xl { font-size: var(--fs-8xl); }
}

@media (max-width: 767px) {
  .sm-fs-lg { font-size: var(--fs-lg); }
  .sm-fs-xl { font-size: var(--fs-xl); }
  .sm-fs-2xl { font-size: var(--fs-2xl); }
  .sm-fs-3xl { font-size: var(--fs-3xl); }
  .sm-fs-4xl { font-size: var(--fs-4xl); }
  .sm-fs-5xl { font-size: var(--fs-5xl); }
  .sm-fs-6xl { font-size: var(--fs-6xl); }
  .sm-fs-7xl { font-size: var(--fs-7xl); }
  .sm-fs-8xl { font-size: var(--fs-8xl); }
}