diff --git a/src/_includes/layouts/base.html b/src/_includes/layouts/base.html index 433c8d1..391fe07 100644 --- a/src/_includes/layouts/base.html +++ b/src/_includes/layouts/base.html @@ -7,6 +7,7 @@ {% include "css/reset.css" %} {% include "css/theme.css" %} {% include "css/variables.css" %} + {% include "css/utilities.css" %} {% include "css/main.css" %} {% include "css/components/button.css" %} diff --git a/src/css/main.css b/src/css/main.css index b307278..a63c883 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -12,100 +12,6 @@ fill: currentColor; } -/* Utilities */ -.wrapper, -.wrapper-full { - grid-template-columns: 1fr min( - var(--wrapper-max-length, var(--line-length)), - 100% - var(--wrapper-gap, var(--gutter)) * 2 - ) 1fr; - grid-column-gap: var(--wrapper-gap, var(--gutter)); - display: grid; -} -.wrapper > *, -.wrapper-full > * { - grid-column: 2; -} -.wrapper-full { - grid-template-columns: 1fr min( - var(--wrapper-max-length, var(--line-length-large)), - 100% - var(--wrapper-gap, var(--gutter)) * 2 - ) 1fr; -} -.full-bleed { - inline-size: 100%; - padding: var(--padding-block, 1rem) var(--padding-inline, 2rem); - background-color: var(--background-color, none); - grid-column: 1/-1; -} -.flex { - display: inline-flex; -} -.flex-col { - flex-direction: column; -} -.justify-around { - justify-content: space-around; -} -.justify-center { - justify-content: center; -} -.items-center { - align-items: center; -} -.sr-only { - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; - block-size: 1px !important; - inline-size: 1px !important; - margin: -1px !important; - padding: 0 !important; - position: absolute !important; - overflow: hidden !important; -} -.invisible { - visibility: hidden !important; -} -.list-inline { - margin-left: calc(var(--item-gap, 1ch) * 3 * -1); - clip-path: inset(0 0 0 calc(var(--item-gap, 1ch) * 3)); - color: var(--item-color, var(--text)); - flex-wrap: wrap; - align-items: center; - padding-left: 0; - list-style: none; - display: flex; -} -.list-inline li { - padding-left: var(--item-gap, 1ch); -} -.list-inline li:before { - content: var(--item-separator, "•"); - margin-right: var(--item-gap, 1ch); - width: var(--item-gap, 1ch); - text-align: center; - display: inline-block; -} -.list-inline a { - color: var(--item-color, var(--text)); - text-decoration: none; - transition: all 0.2s; -} -.list-inline a:hover { - text-decoration: underline; -} - -/* Focus */ -* { - outline-offset: 2px; - outline-width: 2px; - outline-color: #0a76f6; -} -:focus:focus-visible { - outline-style: solid; -} - /* Other */ *, :before, diff --git a/src/css/utilities.css b/src/css/utilities.css new file mode 100644 index 0000000..2b406cf --- /dev/null +++ b/src/css/utilities.css @@ -0,0 +1,92 @@ +.wrapper, +.wrapper-full { + grid-template-columns: 1fr min( + var(--wrapper-max-length, var(--line-length)), + 100% - var(--wrapper-gap, var(--gutter)) * 2 + ) 1fr; + grid-column-gap: var(--wrapper-gap, var(--gutter)); + display: grid; +} +.wrapper > *, +.wrapper-full > * { + grid-column: 2; +} +.wrapper-full { + grid-template-columns: 1fr min( + var(--wrapper-max-length, var(--line-length-large)), + 100% - var(--wrapper-gap, var(--gutter)) * 2 + ) 1fr; +} +.full-bleed { + inline-size: 100%; + padding: var(--padding-block, 1rem) var(--padding-inline, 2rem); + background-color: var(--background-color, none); + grid-column: 1/-1; +} +.flex { + display: inline-flex; +} +.flex-col { + flex-direction: column; +} +.justify-around { + justify-content: space-around; +} +.justify-center { + justify-content: center; +} +.items-center { + align-items: center; +} +.sr-only { + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; + block-size: 1px !important; + inline-size: 1px !important; + margin: -1px !important; + padding: 0 !important; + position: absolute !important; + overflow: hidden !important; +} +.invisible { + visibility: hidden !important; +} +.list-inline { + margin-left: calc(var(--item-gap, 1ch) * 3 * -1); + clip-path: inset(0 0 0 calc(var(--item-gap, 1ch) * 3)); + color: var(--item-color, var(--text)); + flex-wrap: wrap; + align-items: center; + padding-left: 0; + list-style: none; + display: flex; +} +.list-inline li { + padding-left: var(--item-gap, 1ch); +} +.list-inline li:before { + content: var(--item-separator, "•"); + margin-right: var(--item-gap, 1ch); + width: var(--item-gap, 1ch); + text-align: center; + display: inline-block; +} +.list-inline a { + color: var(--item-color, var(--text)); + text-decoration: none; + transition: all 0.2s; +} +.list-inline a:hover { + text-decoration: underline; +} + +/* Focus */ +* { + outline-offset: 2px; + outline-width: 2px; + outline-color: #0a76f6; +} +:focus:focus-visible { + outline-style: solid; +} \ No newline at end of file