@use '../config'; $sl-font-weights: ( 'light': var(--sl-font-weight--light), 'regular': var(--sl-font-weight--regular), 'bold': var(--sl-font-weight--bold), ); $sl-font-families: ( 'text': var(--sl-font-family--text), 'display': var(--sl-font-family--display), 'code': var(--sl-font-family--code), ); @each $name, $value in $sl-font-weights { .sl-font-weight--#{$name} { font-weight: $value; } } @each $name, $value in $sl-font-families { .sl-font-family--#{$name} { font-family: $value; } } body, h5, h6 { font-size: var(--sl-font-size--medium); } body { line-height: 1.5; font-family: var(--sl-font-family--text); text-rendering: optimizelegibility; } * { min-width: 0; } a { text-decoration: none; } strong, b, h5, h6, dt, tbody th, label { font-weight: var(--sl-font-weight--bold); } h1, h2, caption, h3, h4, h5, h6, p, ul, ol, dl, figure, details { margin: var(--sl-type-margin-block, var(--sl-gutter)) 0; padding: 0; } h2, h3, h4, h5, h6 { margin-top: var(--sl-gutter--double-sesqui); aside &, nav & { margin-top: var(--sl-gutter); } } ul, ol, dd { margin-left: 1.75rem; } h1, h2, caption, h3, h4, h5, h6 { font-weight: var(--sl-font-weight--regular); line-height: 1.25; } h1, h2, caption { letter-spacing: -0.03125em; } h1, h2 { font-weight: var(--sl-font-weight--light); } h1 { margin-top: 0; font-size: var(--h1-size, var(--sl-font-size--xx-large)); line-height: 1; text-align: center; @include config.sl-breakpoint--medium { font-size: var( --h1-size-md, var(--h1-size, var(--sl-font-size--xxx-large)) ); } @include config.sl-breakpoint--large { font-size: var( --h1-size-lg, var(--h1-size, var(--sl-font-size--xxxx-large)) ); } } h2, caption, legend, h3, thead th { font-family: var(--sl-font-family--display); } h2, caption { font-size: var(--h2-size, var(--sl-font-size--x-large)); @include config.sl-breakpoint--medium { --h2-size: var(--sl-font-size--xx-large); } @include config.sl-breakpoint--large { --h2-size: var(--sl-font-size--xxx-large); } } h3, h4 { font-size: var(--sl-font-size--large); } nav, footer { font-size: var(--sl-font-size--small); } .caps { font-size: var(--sl-font-size--caps, var(--sl-font-size--smaller)); letter-spacing: var(--sl-letter-spacing--caps, 0.0625em); line-height: 0; text-transform: uppercase; } code, pre { font-family: var(--sl-font-family--code); } code { // Scale the code font size down, because the font itself is much larger. font-size: var(--sl-font-size--smaller); line-height: 1; nav & { white-space: nowrap; } p & { @include config.sl-breakpoint--x-large { white-space: nowrap; } } } pre { font-size: var(--sl-font-size--x-small); padding: var(--sl-gutter--minus) var(--sl-gutter); overflow: auto; white-space: pre-wrap; code { font-size: inherit; line-height: inherit; } } img { display: block; height: auto; margin-left: auto; margin-right: auto; max-width: 100%; } hr { margin-bottom: var(--sl-gutter--triple); margin-top: var(--sl-gutter--triple); } dd { margin: 0; }