$color-main-bg: #f0f0f0; $color-dark-bg: #070707; $color-main-blue: #397eaf; $color-dark-blue: #2e4054; $color-main-grey: #e1e1e1; $color-main-grey-dark: #c4c4c4; $color-dark-grey: #1f1f1f; $color-darker-grey: #101010; $color-link-idle: #707070; $color-link-hover: #999999; $color-nav-current: #333333; $nav-alpha: 0.95; $body-width: 835px; $border-main: 5px solid; $border-nav: $border-main $color-main-grey; $border-dark: $border-main $color-dark-grey; $font-title: Montserrat, sans-serif; $font-body: Lato, sans-serif; $font-code: Fira Code, monospace; html { background: $color-main-bg; } body { max-width: $body-width; min-width: 378px; margin: 0 auto; padding: 8px; color: $color-dark-bg; font: 100% $font-body; } a { color: $color-link-idle; text-decoration: none; &:hover { color: $color-link-hover; } } nav { display: flex; position: fixed; z-index: 10; top: 0; width: 100%; max-width: 843px; height: 102px; font: 400 1.5em $font-title; letter-spacing: -1.2px; background: rgba($color-main-bg, $nav-alpha); a.current { color: $color-nav-current; pointer-events: none; font-weight: 500; } img { margin-right: 8px; } ul { display: inline-flex; width: 430px; height: 32px; padding: 50px 30px 0 0; flex-direction: row; justify-content: space-between; border-bottom: $border-nav; } } h1, h2, h3, h4, h5, h6 { margin: 0; color: $color-main-blue; font-family: $font-title; font-weight: 500; a { color: $color-main-blue; &:hover { color: $color-dark-blue; } } } hr { border-bottom: $border-nav; } ul { margin: 0; padding: 0; li { list-style-type:none; } } blockquote { margin: 0.5em; padding: 1em; background: $color-main-grey-dark; border-width: 2px 2px 2px 5px; border-color: $color-main-grey; border-style: solid; border-radius: 0.5em; } code { font-family: $font-code; font-size: 0.9em; background: $color-main-grey; padding: 2px; border-radius: 5px; } div.highlight { overflow-x: auto; background: $color-main-grey; padding-left: 0.5em; border-radius: 5px; code { padding: 0; } } audio { width: 100%; border-radius: 25px; } footer { padding-top: 0.5em; border-top: $border-nav; text-align: center; font: 75% $font-body; p { margin: 0; } } .content { margin-top: 95px; } .faint { color: $color-main-grey; } .about { display: flex; flex-direction: row; #avatar { border-radius: 100%; height: 128px; } &-sidebar { flex: 23%; } &-links { margin-top: 1em; .link-icon { width: 32px; } .link-text { display: inline; position: relative; bottom: 0.75em; } } &-info { width: 100%; p:first-child { margin-top: 0; } } } .post { padding: 1em; margin: 1em 0; border-radius: 25px 25px 25px 0px; border: 2px solid $color-main-grey; word-wrap: break-word; a { color: $color-main-blue; &:hover { color: $color-dark-blue; } } small p { display: inline; } p { img { display: block; max-width: 100%; margin: 0 auto; border-radius: 1em; } } &-page { margin-bottom: 10px; ul { padding-left: 10px; } } &-header { margin-bottom: 2em; ul { display: flex; float: right; flex-direction: row; li { margin-right: 0.5em; a { background: $color-main-grey; border-radius: 5px; padding: 2px; } } } } } @mixin image-list-item ($width, $height) { &-item-mask { position: absolute; z-index: 1; width: $width; height: $height; } &-item-img { position: relative; width: $width; height: $height; &::after { content: ""; display: block; padding-bottom: 100%; } img { position: absolute; width: 100%; height: 100%; image-orientation: initial; object-fit: cover; } } } @mixin link-color-transition ($color-bg, $color-fg) { color: rgba($color-fg, 0); background: rgba($color-bg, 0); &:hover { color: rgba($color-fg, 1); background: rgba($color-bg, 0.7); } } .art-menu { $art-thumb-wt: ($body-width / 2) - 16; $art-thumb-ht: 300px; display: flex; flex-flow: row wrap; align-items: flex-start; justify-content: space-around; align-content: center; @include image-list-item($art-thumb-wt, $art-thumb-ht); &-item { margin-bottom: 1em; &-mask { line-height: $art-thumb-ht - 16; text-align: center; transition: color 0.2s ease-in-out, background 0.2s ease-in-out; font-size: 200%; @include link-color-transition($color-main-bg, $color-dark-bg); } } } .art { display: flex; flex-flow: row wrap; .art-img { margin: 0.5em 0; img { width: 100%; height: auto; image-orientation: from-image; } } } .music-project { display: flex; &-list { display: flex; flex-flow: row wrap; justify-content: space-evenly; @include image-list-item(250px, 300px); &-item { margin-bottom: 1em; &-mask { display: inline-flex; flex-direction: column; justify-content: center; text-align: center; transition: background 0.2s ease-in-out, color 0.2s ease-in-out; @include link-color-transition($color-main-bg, $color-dark-bg); } &-text { font: 200% $font-title; margin-top: 0.3em; margin-bottom: 0.1em; } } } &-sidebar { flex: 25%; #logo { width: 100%; } } &-info { width: 100%; } &-release { &-list { } &-info { } &-type { color: $color-main-grey-dark; } } } @media only screen and (max-width: 760px) { footer p { padding: 0; } nav { margin-bottom: 5vh; height: 130px; ul { width: 100%; padding-top: 48px; position: relative; top: 5vh; } img { position: absolute; top: 0; } } .content { margin-top: 140px; } .about { flex-direction: column-reverse; &-sidebar { display: flex; flex-direction: column; img { width: 128px; margin: 0 auto; } } &-links { margin-top: 0; p:first-child { margin: 0; padding-top: 0; } ul { padding-top: 1em; display: flex; flex-wrap: wrap; li { margin: auto; padding: 0 0.5em; } } } } } @media (prefers-color-scheme: dark) { html { background: $color-dark-bg; } body { color: $color-main-bg; } nav { background: rgba($color-dark-bg, $nav-alpha); ul { border-bottom: $border-dark; } } code { background: $color-darker-grey; } .faint { color: $color-dark-grey; } .art-menu-item-mask { @include link-color-transition($color-dark-bg, $color-main-bg); } div.highlight { background: $color-darker-grey; } .post { border: 2px solid $color-dark-grey; } .post-page .post-header ul li a { background: $color-dark-grey; } .music-project { &-release { &-type { color: $color-dark-grey; } } &-list-item-mask { @include link-color-transition($color-dark-bg, $color-main-bg); } } footer { border-top: $border-dark; } blockquote { background: $color-nav-current; border-color: $color-dark-grey; } }