html {
color: #323a42;
background-color: #efe5d7;
height: 100%;
font-family: 'Palatino Linotype', Lora, serif;
font-size: 1.125em;
background-position: center;
background-attachment: fixed;
background-size: cover;
position: relative;
overflow-x: hidden;
}
html:before {
content: '';
display: block;
height: 100vh;
width: 100vw;
background-color: #efe5d7;
transition: opacity 2000ms 300ms;
position: absolute;
top: 0;
z-index: -1;
}
html.loaded:before {
opacity: 0;
}
header, main, .gome-img {
transition: border-color 2000ms 300ms;
}
html.loaded header, html.loaded main, html.loaded .gome-img {
border-color: #323a42;
}
html.loaded header {
z-index: 1;
}
body {
margin: 0;
min-height: 100%;
display: grid;
grid-template-columns: 1fr min-content;
grid-template-rows: 1fr auto min-content;
line-height: 1.2;
}
*::selection {
background: #eab77544;
}
header {
display: flex;
flex-direction: column;
align-items: start;
grid-column: 2;
grid-row: 1 / span 2;
width: min-content;
height: min-content;
overflow: hidden;
background-color: #efe5d7;
padding-left: 2em;
padding-bottom: 2em;
border-bottom: 2px solid #efe5d7;
border-left: 2px solid #efe5d7;
border-radius: 0 0 0 1em;
}
main {
display: flex;
flex-direction: column;
align-items: start;
grid-column: 1;
grid-row: 1;
padding: 1em;
background-color: #efe5d7;
width: fit-content;
max-width: 70ch;
height: fit-content;
border-right: 2px solid #efe5d7;
border-bottom: 2px solid #efe5d7;
border-radius: 0 0 1em 0;
margin-right: 0.5em;
margin-bottom: 0.5em;
}
footer {
display: flex;
grid-column: 1 / span 2;
grid-row: 2 / span 2;
pointer-events: none;
margin-right: 0.5em;
}
.title-box, h1, h2, h3, h4, h5, h6 {
font-weight: normal;
}
h1, h2, h3, h4, h5, h6 {
font-family: Optima, 'Palatino Linotype', Lora, serif;
}
h2, h3 {
margin: 0.5em 0;
}
.title-box {
position: relative;
border: 2px solid #323a42;
border-top: none;
border-right: none;
font-size: 48px;
height: 3em;
width: 10em;
background-color: #efe5d7;
}
.title-box .title {
background-color: inherit;
position: absolute;
bottom: -13px;
padding: 0 0.25em 0 0.25em;
user-select: none;
}
nav {
position: relative;
display: flex;
flex-direction: column;
width: 100%;
/* this counters the left offset, but adds no real padding */
padding-right: 1rem;
left: 1rem;
right: 0;
border-bottom: 2px solid #323a42;
}
a {
color: #323a42;
}
nav a {
margin: 0.25em 0.75em 0.25em 0;
padding: 0.25em;
position: relative;
left: -0.25em;
color: #323a42;
text-decoration: none;
line-height: 1.2;
border-radius: 2px;
}
nav a:first-child {
margin-top: 1em;
}
nav a:last-child {
margin-bottom: 1em;
}
a:hover, a:focus {
color: #6d747a;
outline: 0;
}
a:focus-visible {
outline: 1px dashed #beb0b1;
}
nav a .link-title {
font-weight: bold;
}
nav a .link-description::before {
font-weight: normal;
content: '— ';
}
nav a.new .link-title::after {
content: '*';
color: #984624;
}
nav a.new:hover .link-title::after, nav a.new:focus .link-title::after {
color: #bf8e7c;
}
@keyframes fade-in {
from { opacity: 0 }
to { opacity: 1 }
}
.image-credit {
padding: 4.5px;
position: relative;
font-style: italic;
text-decoration: none;
color: #323a42;
text-decoration: none;
line-height: 1.2;
border-radius: 2px;
font-size: 15px;
animation: fade-in 2000ms ease 300ms backwards;
}
header .image-credit {
margin: 9px 0 -16px 13.5px;
}
main .image-credit {
margin: 9px 0 0 -4.5px;
display: none;
}
.gome-img {
user-select: none;
border-radius: 0 1em 0 0;
border-top: 2px solid #efe5d7;
border-right: 2px solid #efe5d7;
}
.gome-img[src^='./img/desktop'] {
width: auto;
max-width: min(1280px, 100%);
}
.gome-img[src^='./img/tablet'] {
display: none;
max-width: 100%;
}
.gome-img[src^='./img/mobile'] {
display: none;
max-width: 100%;
}
#wotd h3 {
font-family: Optima, 'Palatino Linotype', Lora, serif;
font-size: 1.2em;
margin: 0 0 0.5em 0;
}
#wotd .definiendum {
font-size: 1.5em;
font-weight: bold;
margin-bottom: 0.5em;
}
#wotd time, #wotd .pronunciation {
display: block;
margin-bottom: 1em;
}
.pronunciation:not(:empty)::before, .pronunciation:not(:empty)::after {
content: '⧸';
}
#wotd ul {
margin: 0 0 1em 0;
padding-left: 0.5em;
list-style: none;
}
#wotd li {
margin-bottom: 0.25em;
}
#status:not(.loaded) *, #wotd:not(.loaded) * {
margin: 0;
}
#statuscafe {
padding-left: 0.5em;
margin-bottom: 1em;
}
#statuscafe-username a {
margin: -0.15em;
padding: 0.15em;
border-radius: 2px;
}
#listening {
width: 100%;
}
.listening-item {
display: grid;
grid-template-columns: calc(36px + 0.5em) auto;
align-items: center;
justify-items: start;
border-radius: 4px;
padding: 0.25em 0.25em;
margin: -0.25em -0.25em 0.25em -0.25em;
cursor: default;
transition: background-color 100ms;
}
.listening-item:not(.all-loaded):last-child:hover {
background-color: #eab77522;
}
.listening-item.now-playing {
border: 2px solid #984624;
}
.listening-item.now-playing .track-title, .listening-item.now-playing .track-artist {
font-weight: bold;
}
.listening-item img {
/* accounts for border */
margin: 1px calc(0.5em + 1px) 1px 1px;
}
.listening-item img.loaded {
margin: 0 0.5em 0 0;
border-radius: 2px;
border: 1px solid #323a42;
}
.listening-item .listening-track {
line-height: 36px;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
a.journal-link {
display: grid;
text-decoration: none;
grid-template-columns: auto auto 1fr;
margin: -0.25em;
margin-right: 0;
padding: 0.25em;
margin-bottom: 1em;
padding-right: 0;
border: 1px solid #323a42;
box-shadow: 1px 1px #323a42;
border-radius: 3px;
}
a.journal-link:hover, a.journal-link:focus {
outline: 0;
border-color: #6d747a;
box-shadow: 2px 2px #6d747a;
}
a.journal-link:hover time, a.journal-link:focus time {
color: #6d747a;
}
a.journal-link h3 {
font-family: 'Palatino Linotype', Lora, serif;
font-weight: bold;
margin: 0 0.5em 0 0;
}
a.journal-link p {
grid-column: 1 / span 2;
margin: 0.5em 5px 0.5em 0;
}
a.journal-link .line {
grid-column: span 2;
align-self: end;
bottom: 6px;
}
a.journal-link time {
grid-column: span 2;
}
a.journal-link time + p {
margin-top: 5px;
}
time {
font-size: 0.9em;
color: #4E5458;
font-style: italic;
font-variant-numeric: oldstyle-nums;
}
a.journal-link + a.journal-link {
margin-top: 1em;
}
.line {
display: inline-block;
background-color: #323a42;
height: 2px;
position: relative;
}
.line.stop-0 {
background-color: #984624;
}
.line.stop-1 {
background-color: #ad5f1e;
}
.line.stop-2 {
background-color: #c59506;
}
.line.stop-3 {
background-color: #c8b500;
}
.line.stop-4 {
background-color: #8ea530;
}
.line.stop-5 {
background-color: #4b7b52;
}
.line.stop-6 {
background-color: #426153;
}
.music-box {
margin-top: 0.5em;
display: flex;
align-items: center;
width: fit-content;
padding: 2px 4px 2px 2px;
border-radius: 3px;
border: 1px solid #323a42;
user-select: none;
cursor: pointer;
box-shadow: 1px 1px #323a42;
}
.music-box:hover, .music-box:focus {
outline: 0;
color: #6d747a;
border-color: #6d747a;
box-shadow: 2px 2px #6d747a;
}
.music-box svg {
margin-right: 2px;
}
.music-box.playing svg.play {
display: none;
}
.music-box.playing svg.pause {
display: block;
}
.music-box svg.pause {
display: none;
}
@media only screen and (max-width: 960px) {
body {
grid-template-rows: min-content auto min-content;
}
header {
grid-column: 1 / span 2;
grid-row: 1;
width: 100%;
padding: 0;
border: none;
border-color: #efe5d7;
border-radius: 0;
}
header .image-credit {
display: none;
}
main .image-credit {
display: initial;
}
main {
grid-row: 2;
}
footer {
margin-top: 2em;
grid-row: 3;
}
.title-box {
border-left: none;
height: 1em;
width: 100%;
}
.title-box:hover {
cursor: initial;
border-color: #323a42;
color: #323a42;
}
.image-credit {
opacity: 1;
pointer-events: all;
}
.gome-img[src^='./img/desktop'] {
display: none;
}
.gome-img[src^='./img/tablet'] {
display: initial;
}
}
@media only screen and (max-width: 640px) {
footer {
align-items: flex-end;
}
.gome-img[src^='./img/tablet'] {
display: none;
}
.gome-img[src^='./img/mobile'] {
display: initial;
}
}