personal_site/_sass/main.scss

182 lines
3.5 KiB
SCSS

@import "vars";
@import "normalise"; // normalise CSS across browsers
@import "nav"; //the side navbar
@import "header"; // the header
@import "article"; // individual blog articles
@import "projects"; //Styles for the projects page
@import "cv"; // the CV page
@import "blogroll"; // the summaries of the blogposts
@import "comments"; //the mastodon comments
@import "model_viewer"; //Styles for the 3D model viewer
// The syntax highlighting css
// generated with rougify style bw > code_style_bw.scss
// @import "code_style_bw";
@import "code_style_github";
* {
box-sizing: border-box;
font-family: $font_stack;
text-rendering: geometricPrecision;
}
html {
width: 100vw;
scroll-behavior: smooth;
}
body {
background: #fcfcfc;
color: #222;
// constrain width and center
max-width: 900px;
margin: auto;
}
// Padding to keep the keep the content to the right of the header
main {
container: main / inline-size;
max-width: 560px;
margin-left: 240px;
padding-left: 30px;
padding-top: 10vh;
padding-bottom: 10vh;
min-height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
h1 {
font-size: 2em;
}
p > img {
width: 90%;
//hack to center images in p tags
display: block;
margin-left: auto;
margin-right: auto;
}
}
p, figcaption {
font-size: 1em;
line-height: 1.3em;
}
main :is(p,h1,h2,h3,h4,h5,h6) {
margin-block-end: 0.2em;
}
a {
text-decoration: underline;
text-underline-offset: 2px;
text-decoration-thickness: 0.5px;
color: #222;
}
header a, nav a {
text-decoration: none;
}
div.highlight {
max-width: 100%;
overflow: auto;
}
p {
margin-top: 0.7em;
margin-bottom: 0.7em;
padding-right: 0;
vertical-align: baseline;
}
figure {
container: fig / inline-size;
width: 100%;
padding-bottom: 1em;
margin-left: auto;
margin-right: auto;
}
figure > img, figure > svg, figure > canvas {
width: 100%;
margin-bottom: 1em;
border-radius: 10px;
}
// For fallback images inside custom outline-model-viewer elements
outline-model-viewer, .outline-model-poster {
width: 100%;
height: 300px;
}
outline-model-viewer {
display: flex;
justify-content: center;
align-items: center;
}
// If the browser doesn't support web components, hide anything with has-wc class
body.has-wc .no-wc {
display: none;
}
// If the browser does support web components, hide anything with no-wc class
body:not(.has-wc) .has-wc {
display: none;
}
@media
only screen and (max-width: $horizontal_breakpoint),
only screen and (max-height: $vertical_breakpoint)
{
main {
padding-top: 10px;
padding-left: 20px;
padding-right: 20px;
margin: auto;
justify-content: flex-start;
}
article {
margin-left: 0px; }
h1 {font-size: 1.5em !important;}
.MathJax {
font-size: 0.8em !important;
overflow-x: auto;
overflow-y: hidden;
}
}
// For the 3D model viewer
model-viewer {
width: 100%;
height: 300px;
}
@media (prefers-color-scheme: dark) {
body, a{
background: #222;
color: #fcfcfc;
}
img {
opacity: .75;
transition: opacity .5s ease-in-out;
}
svg.invertable, img.invertable{
opacity: 1;
filter: invert(1);
}
}