:root { font-family: Verdana, Geneva, sans-serif; font-size: larger; } * { box-sizing: border-box; transition: all 0.25s ease-in-out; } h1, h2 { text-align: center; } body, html { margin: 0; padding: 0; } body { width: 100%; display: grid; grid-template-areas: 'header' 'main' 'footer'; grid-template-rows: 3em auto auto; grid-template-columns: auto; } body > header { grid-area: header; } body > footer { grid-area: footer; } main { grid-area: main; border-radius: 5px; } a{ text-decoration: none; } body > header, body > footer, main { justify-self: center; width: clamp(30ch, calc(100% - 1em), 75ch); padding-left: 0.5em; padding-right: 0.5em; } /* article elements */ div.article-info { line-height: 0.3; font-size: smaller; } div.article-info > div.article-tags { font-size: larger; } /* nav bar / header */ body > header { display: flex; justify-content: space-between; align-items: center; align-content: center; } nav ul { margin: 0; padding: 0; list-style-type: none; } nav li { display: block; float: left; border-radius: 5px; min-width: 1em; max-width: 10em; padding-top: 0.2em; padding-bottom: 0.2em; padding-left: 0.4em; padding-right: 0.4em; margin-left: 0.2em; margin-right: 0.2em; } nav > ul > li > ul { visibility: hidden; position: absolute; padding-top: 0.2em; padding-bottom: 0.2em; } nav > ul > li:hover > ul { visibility: visible; } nav > ul > li > ul > li { float: none; margin-top: 0.4em; } nav span { display: none; } @media screen and (min-width: 600px) { nav span { display: inline; padding-left: 0.4em; } } /* footer */ body > footer { margin-left: auto; margin-right: auto; text-align: center; } body > footer > span { font-size: smaller; } /* theme swticher */ button.theme-switcher { border: none; font: inherit; cursor: pointer; position: relative; border-radius: 5px; padding-top: 0.2em; padding-bottom: 0.2em; padding-left: 0; padding-right: 0; margin-left: 0.2em; margin-right: 0.2em; } button.theme-switcher > .fa-sun { transform: translate(-0.5em, -1em); } .theme-light button.theme-switcher > .fa-sun { transform: translateX(-0.5em); transition: all 0.25s ease-in-out; } button.theme-switcher > .fa-moon { transform: translate(0.5em, -1em); } .theme-dark button.theme-switcher > .fa-moon { transform: translateX(0.5em); transition: all 0.25s ease-in-out; } /* code blocks */ pre { white-space: pre-wrap; } code { overflow-wrap: anywhere; } code.crypto { font-size: smaller; } /* for hljs line numbers */ .hljs-ln-numbers { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; text-align: right; border-right: 1px solid #CCC; vertical-align: top; padding-right: 0.5em !important; } .hljs-ln-code { padding-left: 0.5em !important; } /* images */ img { border-radius: 5px; max-width: 100%; display: block; margin-left: auto; margin-right: auto; vertical-align: middle; } img.wrap-right { float: right; } img.wrap-left { float: left; } img.qr { max-width: 200px; padding: 1em; } /* img grid */ div.img-grid, div.img-grid > p { display: grid; gap: 1em; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } div.img-grid img { display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; } /* art grid */ div.art-grid, div.art-grid > p { display: grid; gap: 1em; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-auto-rows: minmax(250px, auto); } div.art-grid img { border: 1px solid white; display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; } @media screen and (min-width: 600px) { div.art-grid img.wide { grid-column: span 2 / auto; } div.art-grid img.tall { grid-row: span 2 / auto; } }