lang/style/page.css

337 lines
4.9 KiB
CSS

@import url(fonts/muller/muller.css);
@import url(fonts/junicode/junicode.css);
@import url(fonts/pragmatapro/pragmatapro.css);
@import url(counters.css);
:root {
--root-col: hsl(30deg, 5%, 26%);
--fg-col: hsl(336deg, 17%, 11%);
--bg-col: hsl(40deg, 91%, 98%);
--link-col: hsl(355deg, 52%, 48%);
--ipa-font: Junicode;
--body-font: Muller;
--junicode-features:
"ccmp", "calt", "liga", "locl", "mark", "mkmk",
"ss01", "cv91" 2;
/* ccmp: glyph composition (required)
* calt: contextual alternates (required)
* liga: standard ligatures (required)
* locl: localised forms
* mark/mkmk: mark (diacritic) positioning (required)
* ss01: modern icelandic Þþð
* cv91: alternate Ŋ (the one that's like a big ŋ with no descender)
*/
}
:root {
background: var(--root-col);
/* font-family: var(--body-font); */
font-family: var(--ipa-font);
font-feature-settings: var(--junicode-features);
font-weight: 500;
font-stretch: semi-expanded;
font-size: 16pt;
line-height: 150%;
height: 100vh;
}
body {
background: url(paper.png), var(--bg-col);
background-blend-mode: multiply;
color: var(--fg-col);
box-shadow: 0 0 5em var(--fg-col);
max-width: 50em;
min-height: 100%;
margin: 0 auto;
padding: 1em 2em 3em;
box-sizing: border-box;
}
header {
text-align: center;
}
header h1 {
font-size: 250%;
margin-top: 0.4em;
}
h1, h2, h3, h4, h5, h6 {
font-stretch: semi-condensed;
font-weight: 600;
margin: 1em 0 0.25em;
}
h1 { font-size: 200%; }
h2 { font-size: 180%; }
h3 { font-size: 160%; }
h4 { font-size: 140%; }
h5 { font-size: 120%; }
h6 { font-size: 100%; }
a {
color: var(--link-col);
}
b, strong {
font-weight: 700;
}
ul li {
list-style: '— ';
}
table {
margin: auto;
border-spacing: 0;
border-top: 2px solid var(--root-col);
border-bottom: 2px solid var(--root-col);
}
th {
font-weight: 700;
}
thead th {
border-bottom: 1px solid var(--root-col);
}
td, th {
padding: 0 0.5em;
vertical-align: text-bottom;
}
code {
font-family: PragmataPro;
font-size: 80%;
font-weight: 400;
}
pre {
width: min-content;
margin: auto;
}
.ipa, .lang, .ebnf-t {
font-family: var(--ipa-font);
font-feature-settings: var(--junicode-features);
text-underline-offset: 0.125em;
}
.ipa {
font-feature-settings: "ss03";
/* ss03: latin-style greek letters */
font-weight: 500;
}
.lang, .ebnf-t {
font-weight: 700;
}
.abbr {
font-size: 70%;
font-weight: 500;
}
.scr {
height: 1.5em;
vertical-align: -40%;
padding-right: 0.5ex;
}
.gloss .scr {
height: 2em;
}
:is(.splash, .example) .scr {
height: unset;
display: block;
margin: auto;
}
.example {
margin: auto;
}
.example .text {
display: block;
text-align: center;
width: 80%;
margin: 0.75em auto 0;
}
blockquote {
font-style: italic;
}
.letter-list {
margin: 1.25em auto 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
width: 80%;
row-gap: 0.5em;
column-gap: 1.5em;
}
.letter-list + .letter-list {
margin-top: 2.5em;
}
.letter-list .lang {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.letter-list .scr {
height: 3em;
margin-left: 0.5em;
}
.letter-list .text {
font-size: 125%;
}
main nav {
text-align: center;
font-size: 125%;
}
#toc > h2 {
font-size: 120%;
font-weight: 300;
}
#toc > ul {
columns: 2;
margin-left: 2em;
margin-right: 2em;
}
figure:not(.left) {
text-align: center;
}
figure:not(.left) table {
display: inline-table;
}
figure table {
margin: 1em 0.5em;
}
.gloss {
border: none;
text-align: left;
}
figure ul {
text-align: left;
margin-left: 5em;
margin-right: 5em;
columns: 2;
}
figure li {
break-inside: avoid;
}
dt { font-weight: 500; float: left; clear: left; }
dd { margin-left: 4em; }
dt {
break-after: avoid;
}
dd {
break-before: avoid;
}
u u {
text-decoration: double underline;
}
:is(.twocol, .threecol):not(:is(ul, ol) *) {
margin-top: 1em;
}
.twocol {
columns: 2;
}
.threecol {
columns: 3;
}
.twocol :first-child, .threecol :first-child {
margin-top: 0;
}
footer {
border-top: 1px solid var(--root-col);
width: 80%;
margin: 2em auto 1em;
padding-top: 0.5em;
font-size: 80%;
font-weight: 500;
text-align: center;
}
.ebnf {
border: none;
}
.ebnf td {
padding: 0 0.15em;
}
.ebnf-nt {
font-weight: 500;
color: hsl(155deg, 80%, 20%);
white-space: nowrap;
}
.ebnf-punc {
color: hsl(25deg, 40%, 30%);
}
.ebnf-sub, .ebnf-brack {
color: hsl(210deg, 80%, 35%);
font-weight: 500;
}
.ebnf-brack {
padding: 0 0.05em;
}
.ebnf-s {
font-style: italic;
color: hsl(330deg, 80%, 30%);
}
.ebnf-f {
font-weight: bold;
color: hsl(280deg, 80%, 30%);
}
.ebnf-com {
font-style: italic;
color: hsl(350deg, 20%, 40%);
margin-left: 1em;
}
blockquote {
max-width: 70%;
border-left: 1px solid black;
padding-left: 1em;
margin: auto;
}