new_blog/static/css/layout.css

223 lines
4.8 KiB
CSS

@layer pre-load, baseline, print;
@layer baseline {
:root {
--base-text-size: 1.1rem;
}
body {
padding: 0px;
margin: 0px;
font-family: "Atkinson Hyperlegible", Georgia, serif;
-webkit-font-smoothing: antialiased;
}
.dt-subtitle {
margin-left:0px;
}
a {
font-weight: bold;
text-decoration: none;
width: fit-content;
}
a:hover {
text-decoration: underline;
}
.nav-link{
font-size: 2rem;
padding: 0em 0.25em;
border-radius: 0.5rem;
font-variant: small-caps;
font-family: "Courier Prime", Georgia, serif;
}
dt >a {
font-family: "Courier Prime", Georgia, serif;
}
/*font sizes*/
h1 {
font-size:1.95rem;
}
h2 {
font-size: 1.65rem;
}
h1, h2, h3, h4, h5, h6 {
/*I want serifs dangit*/
font-family: "Courier Prime", Georgia, serif;
}
p{
font-size: var(--base-text-size);
}
a {
font-size: var(--base-text-size);
}
pre {
font-size: var(--base-text-size);
}
time {
font-size: var(--base-text-size);
}
.sourceCode {
font-size: var(--base-text-size);
}
.info {
font-size: var(--base-text-size);
}
header#header {
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
gap: 0.5em;
align-items: center;
width: 100%;
font-size: 24px;
padding: 0.5em 1em;
/*was a fun experiment but this just causes issues*/
/*position: fixed;*/
}
#content {
box-sizing: border-box;
display: block flex;
margin-top: 1rem;/*calc(24px + 3rem) 1rem 1rem 1rem;*/
padding: 1rem;
/* needed due to flex parent*/
width: 100%;
/*https://ux.stackexchange.com/a/34125*/
/*https://ux.stackexchange.com/a/34148*/
/*https://pearsonified.com/golden-ratio-typography-intro/*/
/*https://grtcalculator.com/*/
max-width: 55em;
border-radius: 0.5rem;
/* needed due to being flex itself*/
flex-direction:column;
/* put things in center*/
/* not sure if I want everything centered or just code blocks but I like everything centered atm*/
justify-content: center;
align-items: center;
}
main {
max-width: -moz-available;
max-width: -webkit-fill-available;;
max-width: fill-available;
}
header#article-header {
max-width: -moz-available;
max-width: -webkit-fill-available;;
max-width: fill-available;
display: block flex;
flex-direction:column;
/* put things in center*/
/* not sure if I want everything centered or just code blocks but I like everything centered atm*/
justify-content: center;
align-items: center;
}
article {
max-width: -moz-available;
max-width: -webkit-fill-available;;
max-width: fill-available;
display: block flex;
flex-direction:column;
/* put things in center*/
/* not sure if I want everything centered or just code blocks but I like everything centered atm*/
justify-content: center;
align-items: center;
}
blockquote {
/*font-style: italic;*/
padding: 0.5em 1em;
border-radius: 0.5rem;
p{
/*margin is annoying in this case*/
margin: 0;
}
}
/*might need to become grid when adding in table of contents and sidenotes*/
#content-outer {
display: flex;
justify-content: center;
align-items: center;
}
.icon {
width: 2rem;
height: 2rem;
}
/*https://stackoverflow.com/questions/35269947/how-can-i-align-one-item-right-with-flexbox#35270047*/
.back-shover {
margin-left:auto;
margin-top:auto;
}
/* div element with this class can be a bitch so need to select those as well as pre*/
.sourceCode {
max-width: -moz-available;
max-width: -webkit-fill-available;;
max-width: fill-available;
width: fit-content;
}
pre {
/*We also need it on pre because not all pre blocks are source code >:(*/
max-width: -moz-available;
max-width: -webkit-fill-available;;
max-width: fill-available;
width: fit-content;
box-sizing: border-box;
min-height: 2em;
/*
* previously a cludge of 75 em this is now a cludge of 2 different vendor extensions
*
* */
overflow:scroll;
/*background: #444;*/
border-radius: 0.5rem;
/*border: 0.2em solid red;*/
padding: 0.5rem;
}
hr {
box-sizing: border-box;
width: 100%;
}
p {
/*https://pearsonified.com/golden-ratio-typography-intro/ is where this came from and tbh having a bigger line height does make things more readable although I tune it down a bit*/
line-height: 1.5;
}
footer {
display: flex;
margin:20px;
/*width:100%;*/
}
}
/* we really want to make sure this doesn't stick around when colors load in regardless of when/how colors get loaded in*/
@layer pre-load{
#content {
border: 0.7rem solid white;
}
}
/* I mean why not? */
@media print {
@layer print{
#header {
visibility: hidden;
}
#content {
border-style: none;
}
pre {
page-break-inside: avoid;
}
}
}