erynwells.me/static/styles/main.css

288 lines
4.3 KiB
CSS

/* main.css
* Global stylesheet for erynwells.me
* Eryn Wells <eryn@erynwells.me>
*/
:root {
--header: 8rem;
--footer: calc(8rem + var(--safe-bottom));
--light-dim: #888;
--highlight-color: rgb(50, 186, 228);
--hljs-bg: #111;
--safe-bottom: 0;
--body-padding: 4rem;
--body-width: 80rem;
--heading-color: var(--body-foreground-color);
--link-color: var(--highlight-color);
--menu-icon-size: 20px;
--social-menu-padding: 1rem;
--tag-text-color: var(--dark);
--tag-background-color: #eee;
--tag-hover-background-color: #bbb;
}
@media (prefers-color-scheme: dark) {
:root {
--tag-text-color: var(--light-dim);
--tag-background-color: rgb(40, 40, 40);
--tag-hover-background-color: rgb(73, 73, 73);
}
}
blockquote {
border-inline-start: 4px solid var(--separator-color);
padding-inline-start: 2rem;
margin-inline-start: 2rem;
}
figure.bordered {
padding: 0.5rem;
border: 2px solid #eee;
}
.header,
.footer {
padding: 2rem 0;
}
/*
* Header
*/
.header {
align-items: baseline;
border-bottom: 1px solid var(--separator-color);
display: flex;
flex-direction: row;
}
.header h1 {
margin: 0;
margin-right: 2rem;
font-size: 4.5rem;
}
.header h1 a {
color: var(--heading-color);
text-decoration: none;
}
.header h1 a:hover {
border: 0;
}
.p5-sketch {
display: block;
position: relative;
width: 100%;
}
.social menu li + li {
margin-left: var(--social-menu-padding);
}
.social {
display: flex;
letter-spacing: 2px;
margin-left: auto;
}
.social a {
background-image: var(--url);
background-repeat: no-repeat;
background-size: var(--menu-icon-size);
display: block;
height: var(--menu-icon-size);
width: var(--menu-icon-size);
}
.social a span {
display: none;
}
.social > li + li:before {
color: var(--dark);
padding: 0 0.5rem;
}
.title-and-menu {
align-items: baseline;
display: flex;
flex-direction: row;
}
.youtube iframe {
aspect-ratio: 16 / 9;
margin-bottom: -3px;
width: 100%;
}
@media (max-width: 475px) {
:root {
--menu-icon-size: 18px;
--social-menu-padding: 0.5rem;
}
.menu {
margin-top: 1rem;
}
.social {
margin-top: 1rem;
}
.title-and-menu {
align-items: flex-start;
flex-direction: column;
}
}
@media (max-width: 320px) {
.header h1 {
font-size: 3.5rem;
}
}
/*
* Main
*/
.main > header {
align-items: baseline;
display: flex;
}
.main {
margin: 3.5rem 0;
}
.main :first-child {
margin-top: 0;
}
.main h1 {
font-size: 3.5rem;
}
.main h1,
.main h2,
.main h3,
.main h4,
.main h5,
.main h6 {
margin-top: 3.5rem;
margin-bottom: 2rem;
}
.main figcaption h4 {
margin-bottom: 0;
}
.main p:last-child {
margin-bottom: 0;
}
.main .main-title {
margin-bottom: 0;
}
.post-list {
margin-top: 1rem;
line-height: 1.4;
}
.post-list h1,
.post-list h2,
.post-list h3,
.post-list h4,
.post-list h5,
.post-list h6 {
display: block;
margin: 0;
}
.post-list h2 {
font-size: 2.5rem;
}
.post-list article {
color: gray;
font-style: oblique;
font-size: 1.8rem;
margin-top: 0.5rem;
}
.post-nav {
align-items: baseline;
display: flex;
margin-top: 3.5rem;
}
.post-nav .next {
margin-left: auto;
}
.post-single footer {
margin-block-start: 3.5rem;
}
.post-title {
align-items: baseline;
display: flex;
flex-wrap: wrap;
margin-bottom: 2rem;
}
.post-title > h1 {
flex-grow: 1;
margin-block-end: 0;
padding-bottom: 0;
}
.post-title > .post-date {
color: var(--light-dim);
display: inline-block;
font-size: 1.75rem;
inline-size: min-content;
letter-spacing: 1px;
margin-block-start: 0.5rem;
white-space: nowrap;
}
@media (max-width: 620px) {
.main h1 {
font-size: 3rem;
margin-bottom: 0.5rem;
}
.post-list {
padding-inline-start: 4rem;
}
.post-list h2 {
display: block;
font-size: 2rem;
}
.post-list time {
font-size: 1.8rem;
margin-left: 0;
}
}
@media (max-width: 704px) {
:root {
--body-padding: 2rem;
}
html {
font-size: 7px;
}
}