:root {
--background: #fff9e7;
--text: black;
--accent: #b00;
}
body {
font-family: "Alegreya", var(--serif);
background-color: #011;
background-image: url("/hymns/styx.webp");
background-position: center;
background-size: cover;
}
body.theme-dark {
--background: #1c202c;
--text: #fed;
--accent: #fa0;
}
#body-container {
display: grid;
grid-template-rows: 5em auto auto auto;
grid-template-columns: 6fr 25ch 6fr;
grid-template-areas: "header header header" "navbar-top navbar-top navbar-top" "greek sidenotes english" "navbar-bottom navbar-bottom navbar-bottom";
inline-size: 145ch;
margin-inline: auto;
}
header#subsite-header {
display: grid;
grid-template-columns: 5em 1fr 5em;
grid-area: header;
align-items: stretch;
& img {
margin-block: 0;
}
& h1, & a {
display: block;
align-content: center;
margin-block: 0;
color: white;
font-size: clamp(1.5rem, 4.4vi, 2rem);
font-weight: bold;
line-height: 1.1;
text-align: center;
text-decoration: none;
background-color: black;
& strong {
color: inherit;
font-variant-caps: small-caps;
letter-spacing: var(--caps-spacing);
}
& small {
display: block;
font-size: 0.75em;
font-variant-caps: small-caps;
letter-spacing: var(--caps-spacing);
font-weight: normal;
}
}
}
nav.navbar {
color: white;
background-color: black;
letter-spacing: var(--caps-spacing);
text-transform: uppercase;
&#navbar-top {
grid-area: navbar-top;
}
&#navbar-bottom {
grid-area: navbar-bottom;
}
& ul {
display: flex;
justify-content: space-between;
margin: 0;
padding: 0;
& li {
display: block;
& .dingbat {
display: inline-block;
translate: 0 -0.333ch;
}
& a {
padding-inline: 1ch;
}
& a,
& b {
color: inherit;
text-decoration: none;
}
}
}
}
div#greek-side {
grid-area: greek;
position: relative;
padding-inline: 1rem;
font-size: clamp(1rem, 1.7vi, 1.2rem);
background-color: var(--background);
& h1 {
margin-block-end: 0;
font-family: "GFS Theokritos", var(--serif);
font-weight: normal;
}
& p {
text-align: start;
}
& .greek-line-transliteration {
display: block;
margin-block-start: -0.5ch;
color: var(--accent);
font-size: 0.8333em;
font-style: italic;
}
}
#settings {
position: absolute;
inset-block-start: 1ch;
font-size: 1rem;
& button {
display: grid;
grid-template-columns: auto auto;
grid-template-rows: auto auto;
padding: 0;
color: var(--text);
line-height: 1;
text-align: start;
border: none;
opacity: 0.3;
&:focus,
&:hover {
opacity: 0.8;
}
&#toggle-theme {
margin-block-start: 0.5ch;
}
& div.icon {
grid-row: 1 / 3;
align-content: center;
padding-inline-end: 5px;
}
& .button-greek {
font-weight: bold;
}
& .button-english {
font-size: 0.9em;
}
}
}
aside#sidenotes {
grid-area: sidenotes;
background-color: var(--background);
padding-block-start: 1ch;
}
aside.note {
margin-inline-start: 0;
color: var(--accent);
font-family: var(--sans-serif);
& .note-number {
font-weight: bold;
}
& a.cite {
font-style: italic;
}
& abbr.cite {
font-style: italic;
}
& blockquote + p {
margin-block-start: 1em;
}
}
sup.note,
.note-number {
padding-block: 0;
padding-inline: 0;
background-color: transparent;
border-block-end: none;
}
div#english-side {
grid-area: english;
padding-inline: 1rem;
font-size: clamp(1rem, 1.7vi, 1.2rem);
background-color: var(--background);
& h1 {
margin-block-end: 0;
font-family: var(--serif);
font-style: italic;
}
& p.hymn-english {
text-align: start;
line-height: 1.55;
}
}
.offering {
color: var(--accent);
font-size: 1rem;
font-style: italic;
text-align: center;
}
.greek-name {
font-style: italic;
}
@media screen and (max-width: 1299px) {
#body-container {
grid-template-columns: 2fr 0.9fr 2fr;
}
}
@media screen and (max-width: 1099px) {
#body-container {
grid-template-columns: 1fr 1fr;
grid-template-areas: "header header" "navbar-top navbar-top" "greek english" "navbar-bottom navbar-bottom";
}
aside#sidenotes {
display: none;
}
}
@media screen and (max-width: 799px) {
#body-container {
grid-template-columns: 1fr;
grid-template-rows: 5em auto auto auto auto;
grid-template-areas: "header" "navbar-top" "greek" "english" "navbar-bottom";
}
}
@media screen and (max-width: 649px) {
nav.navbar > ul > li > a > i {
display: none;
}
}
@media screen and (max-width: 499px) {
#body-container {
grid-template-rows: 4em auto auto auto auto;
}
header#subsite-header {
grid-template-columns: 4em 1fr;
& a {
font-size: 1.2rem;
text-align: start;
padding-inline-start: 0.5em;
text-wrap: balance;
}
& img:last-child {
display: none;
}
}
}
@font-face {
font-family: "Alegreya";
font-weight: normal;
font-style: normal;
src: url("/fonts/Alegreya-Regular.woff2");
}
@font-face {
font-family: "Alegreya";
font-weight: normal;
font-style: italic;
src: url("/fonts/Alegreya-Italic.woff2");
}
@font-face {
font-family: "Alegreya";
font-weight: bold;
font-style: normal;
src: url("/fonts/Alegreya-Bold.woff2");
}
@font-face {
font-family: "GFS Theokritos";
src: url("/fonts/GFSTheokritos.woff2");
}