website/resources/main.css

208 lines
4.9 KiB
CSS

:root {
font-family: "Open Sans", sans-serif, serif;
/* Variables */
--content-width: 60rem;
--blurb-width: 45%;
--header-width: 35rem;
--box-padding-vert: 1rem;
--box-padding-horz: 1rem;
--box-margin-vert: 0.5rem;
--box-margin-horz: 0.5rem;
--box-gap: 0.5rem;
--box-radius: 1rem;
}
/* slightly larger than content-width to account for padding/margins */
@media screen and (max-width: 62rem) {
:root {
--content-width: 95vw;
}
}
/* slightly larger than blurb-width to account for padding/margins */
@media screen and (max-width: 40rem) {
:root {
--blurb-width: 100%;
}
}
/* Main Body and Post Flexboxs */
body, .post, .series {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--box-gap);
}
.post, .series, .series-list {
width: 100%;
}
/* Footnotes */
.footnotes {
display: flex;
flex-direction: column;
align-tems: left;
width: 100%;
box-sizing: border-box;
}
.footnotes > hr {
width: 95%;
box-sizing: border-box;
}
/* Style the site header */
.site-header {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
max-width: var(--header-width);
padding: var(--box-padding-vert) var(--box-padding-horz);
border-radius: var(--box-radius);
box-sizing: border-box;
}
.site-logo {
font-size: 2.5rem;
font-weight: bold;
}
.site-tagline {
font-size: 0.9rem;
font-style: italic;
}
.header-links {
display: flex;
flex-direction: row;
align-items: center;
gap: var(--box-gap);
font-size: 1.1rem;
flex-wrap: wrap;
margin-top: var(--box-margin-vert);
}
.header-links > a > span, .post-series-tag > a > span, .post-tag > a > span {
text-decoration: underline;
}
.header-links > a, .post-series-tag > a, .post-tag > a {
text-decoration: none;
}
/* Style the post header, body, and blurbs */
/* TODO: Style footnotes and get footnote hover working */
.post-header, .post-body, .series-header {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--box-gap);
width: 100%;
max-width: var(--content-width);
padding: var(--box-padding-vert) var(--box-padding-horz);
border-radius: var(--box-radius);
box-sizing: border-box;
}
.post-body p {
margin: auto var(--box-margin-horz);
align-self: stretch;
}
.post-title h1, .series-title h1 {
margin-top: 0px;
margin-bottom: 0px;
}
.post-info, .series-info {
display: flex;
flex-direction: row;
align-items: center;
gap: var(--box-gap);
font-size: 0.9rem;
flex-wrap: wrap;
}
.post-read-time {
text-decoration: underline dotted;
}
.post-body h2, .post-body h3, .post-body h4 {
text-align: center;
}
.post-blurbs, .series-blurbs, .series-list {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--box-gap);
max-width: var(--content-width);
padding: var(--box-padding-vert) var(--box-padding-horz);
border-radius: var(--box-radius);
box-sizing: border-box;
}
.post-blurb, .series-list-blurb {
width: 100%;
display: block;
border-radius: var(--box-radius);
padding: var(--box-padding-vert) var(--box-padding-horz);
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
box-sizing: border-box;
}
.post-info > *, .series-info > * {
padding: 0.25em;
border-radius: 0.25em;
}
/* TODO: Nice fancy blockquotes */
blockquote {
width: 90%;
border-radius: var(--box-radius);
padding: var(--box-padding-vert) var(--box-padding-horz);
}
/* Style the tags blurbs and page */
.tags {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--box-gap);
max-width: var(--content-width);
/* min-width: var(--blurb-width); */
padding: var(--box-padding-vert) var(--box-padding-horz);
border-radius: var(--box-radius);
box-sizing: border-box;
}
.tag-blurb {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--box-gap);
border-radius: var(--box-radius);
box-sizing: border-box;
}
.tag-blurb-links {
display: block;
border-radius: var(--box-radius);
border-radius: var(--box-radius);
display: flex;
flex-flow: row wrap;
gap: var(--box-gap);
align-items: stretch;
box-sizing: border-box;
gap: var(--box-gap);
padding: var(--box-padding-vert) var(--box-padding-horz);
}
.tag-blurb-post {
font-size: 0.8rem;
width: var(--blurb-width);
display: flex;
flex-direction: column;
align-items: center;
gap: var(--box-gap);
box-sizing: border-box;
flex-shrink: 1;
flex-grow: 1;
border-radius: var(--box-radius);
padding: var(--box-padding-vert) var(--box-padding-horz);
}
.tag-blurb-title {
margin-top: var(--box-margin-vert);
margin-bottom: 0;
font-size: 1.5em;
font-weight: bold;
}