:root { --fg-color: black; --bg-color: white; --fg-selection-color: white; --bg-selection-color: #338fff; --border-color: black; --blockquote-color: #6a737d; --blockquote-border-color: #dfe2e5; --header-color: black; --link-tab-fg-color: white; --link-tab-bg-color: #303030; --link-tab-bg-hover-color: #004080; --strong-color: black; --a-color: #004080; --a-hover-color: #004080; --code-bg-color: #e2e4e6; --pre-bg-color: #f6f8fa; --em-color: black; --td-border-color: #dfe2e5; --tr-bg-color: #fff; --tr-border-color: #c6cbd1; --alternating-row-color: #f6f8fa; } /* Custom scrollbar style */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #d8d8d8; } ::-webkit-scrollbar-thumb { background: #888; } ::-webkit-scrollbar-thumb:hover { background: #555; } /* Custom mouse text selection colors */ ::-moz-selection { color: var(--fg-selection-color); background: var(--bg-selection-color); } ::selection { color: var(--fg-selection-color); background: var(--bg-selection-color); } /* Global */ body { min-height: calc(100vh - 16px); color: var(--fg-color); background-color: var(--bg-color); border-color: var(--border-color); } body, td, th { font: 18px 'Open Sans', sans-serif; line-height: 1.5em; } h1, h2, h3, h4, h5, h6, b { color: var(--header-color); border-color: var(--border-color); } h1 { font-size: 1.7em; line-height: 1.2em; margin-block-end: 0.5em; } h1 ~ h1 { margin-top: 0; } h2 { font-size: 1.35em; padding-bottom: 0.25em; border-bottom: 2px solid var(--border-color); } h3 { text-decoration: underline; } img { max-width: 100%; box-sizing: border-box; image-rendering: crisp-edges; } .pixelated-render { image-rendering: pixelated; } img, hr { border: 1px solid var(--border-color); } strong { color: var(--strong-color); } a { text-decoration: none; } a * { color: var(--fg-color); } body > :not(nav) a, a strong { color: var(--a-color); border-bottom: 1px dashed; } body > :not(nav) a:hover, a strong:hover { color: var(--a-hover-color); } i, em { color: var(--em-color); } article { max-width: 52.7em; /* Equivalent to 50em on 19px font-size */ min-height: calc(100vh - 228px); overflow: auto; } ul, ol { padding-inline-start: 30px; } table code { white-space: normal; } /* Show link icon next to headings */ h2, h3, h4, h5, h6, .about-header { display: inline-block; margin-block-start: 0.4em; margin-block-end: 0.16em; line-height: 1.25em; } .about-header:first-child { margin-block-start: 0.83em; } h2 + p, h3 + p, h4 + p, h5 + p, h6 + p, .about-p { display: inline; } h1 + p a, h2 + p a, h3 + p a, h4 + p a, h5 + p a, h6 + p a, .about-p a { border: none !important; } /* This selects the link images, next to headings */ h2 + p img, h3 + p img, h4 + p img, h5 + p img, h6 + p img, .about-p img { height: 1.3em; border: none; vertical-align: text-top; /* Since link images are made for dark mode, and have white-ish foreground, * this filter makes them black (when in light mode) */ filter: invert(1) brightness(0); } /* Main elements: article, header, footer */ .centered, article { margin-left: auto; margin-right: auto; } .header, .footer { text-align: center; font-family: Arial; line-height: 49px; } .header { font-size: 23px; border-bottom: 5px solid var(--link-tab-bg-color); padding-bottom: 3px; } .footer { border-top: 5px solid var(--link-tab-bg-color); padding-top: 3px; overflow-x: hidden; } /* Header and footer rectangles (tabs) */ .link-tab, code { white-space: nowrap; } .link-tab { font-weight: normal; padding: 10px; color: var(--link-tab-fg-color); background-color: var(--link-tab-bg-color); } .link-tab:hover { background-color: var(--link-tab-bg-hover-color); } /* Index page styling */ #index-contents-img { border: none; } @media screen and (min-width: 610px) { #index-contents { display: flex; align-items: center; justify-content: center; } #index-contents-text { margin-left: 15px; } #index-contents-img, #index-contents-text { max-width: 49%; } } #index-list { margin-block-end: calc(1em + 10px); } /* The following CSS is a modified version of sindresorhus's github-markdown-css repo: https://github.com/sindresorhus/github-markdown-css */ code, pre { font-family: monospace; font-size: 1em; } code { padding: .2em .4em; margin: 0; font-size: 85%; background-color: var(--code-bg-color); border-radius: 3px; } pre code { display: inline; max-width: auto; padding: 0; margin: 0; overflow: visible; line-height: inherit; word-wrap: normal; background-color: var(--code-bg-color); border: 0; } pre > code { padding: 0; margin: 0; font-size: 100%; word-break: normal; white-space: pre; background-color: inherit; border: 0; } pre { padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: var(--pre-bg-color); border-radius: 3px; margin: 0; word-break: normal; word-wrap: normal; } article > table { line-height: 25px; border-spacing: 0; border-collapse: collapse; margin-top: 10px; margin-bottom: 10px; width: 100%; overflow: auto; } article > table:nth-child(5) td:first-child { width: 60%; } article > table td:nth-child(n+2) { line-height: 1.1em; padding: 0.3em; padding-top: 0.2em; } article > table code { font-size: 0.7em; } article > table th { font-weight: 600; } article > table td, article > table th { padding: 6px 13px; border: 1px solid var(--td-border-color); } article > table tr { background-color: var(--tr-bg-color); border-top: 1px solid var(--tr-border-color); } article > table tr:nth-child(2n) { background-color: var(--alternating-row-color); } blockquote { margin: 0; margin-top: 0; margin-bottom: 16px; padding: 0 1em; color: var(--blockquote-color); border-left: .25em solid var(--blockquote-border-color); } blockquote > :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } /* Contact flex */ #contact-flex { display: flex; flex-wrap: wrap; overflow: hidden; } #contact-flex > div { flex: 1; } .contact-card-title, .contact-card-content { background-color: var(--alternating-row-color); padding: 0.7rem; line-height: 1.5rem; } .contact-card-title *, .contact-card-content * { background-color: inherit; border: none; } .contact-card-title { font-size: 1.2em; margin: 0em 0.4em; color: var(--header-color); } .contact-card-content { font-size: 0.9em; margin: 1em 1.3em; box-sizing: border-box; } /* Syntax highlighting (colours are inspired from gruvbox) */ .cst, .chr { /* Constant, Chars */ color: #d787af; } .com { /* Comment */ color: #8a8a8a; } .kwd { /* Keyword */ color: #d75f5f; } .kwD { /* Second keyword color */ color: #87af87; } .kWD { /* Third keyword color */ color: #ff8700; } .typ { /* Type */ color: #ffaf00; } .cls { /* Class */ color: #87afaf; } .fnc, .str { /* Function names, Strings */ color: #afaf00; } /* Script specific styling */ .btn:hover { cursor: pointer; } .clicked-image { position: absolute; width: 100vw; height: 100vh; max-width: none !important; max-height: none !important; border: none; object-fit: contain; left: 0; top: 0; padding: 1em; z-index: 2; background-color: var(--bg-color); } .body-on-clicked-image { overflow: hidden; } #scrollBtn { font-size: 1rem; position: fixed; right: 1em; bottom: 1em; z-index: 1; border: 1px solid; transition-duration: 0.5s; padding: 0.3em; } #changeThemeBtn { vertical-align: middle; margin-top: -0.2em; border: none !important; } #scrollBtn, #changeThemeBtn { display: none; } /* OpenSans font */ @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-Regular.ttf); font-weight: normal; } @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-Bold.ttf); font-weight: bold; } @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-ExtraBold.ttf); font-weight: 800; } @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-Italic.ttf); font-weight: normal; font-style: italic; } @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-BoldItalic.ttf); font-weight: bold; font-style: italic; } @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-ExtraBoldItalic.ttf); font-weight: 800; font-style: italic; } @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-Semibold.ttf); font-weight: 600; } @font-face { font-family: 'Open Sans'; src: url(/fonts/open-sans/OpenSans-SemiboldItalic.ttf); font-weight: 600; font-style: italic; }