/* avec - computer modern */ @font-face { font-family: "crm"; src: url("font/crm.otf") format("opentype"); } @font-face { font-family: "crmb"; src: url("font/crmb.otf") format("opentype"); } @font-face { font-family: "crmi"; src: url("font/crmi.otf") format("opentype"); } @font-face { font-family: "crmbi"; src: url("font/crmbi.otf") format("opentype"); } @font-face { font-family: "macsucks"; src: url("font/macsucks.otf") format("opentype"); } /*default for light*/ :root { --font-color: #000; --font-bold: #000; --link-color:blue; --main-bg: #fff; --toc-bg: #eee; --toc-accent: #ddd; --toc-hover: #ccc; --typewriter-bg: #ddd; --snackbar-bg: #333; --snackbar-color: #fff; --table-border-color: #000; --font: "crm"; --font-i: "crmi"; --font-b: "crmb"; --font-bi: "crmbi"; --mobile-button: min(5vh, 80px); } [data-theme="dark"] { --font-color: #eee; --font-bold: #fff; --link-color: #00cfff; --main-bg: #121212; --toc-bg: #323232; --toc-accent: #242424; --toc-hover: #161616; --typewriter-bg: #323232; --snackbar-bg: #333; --snackbar-color: #fff; --table-border-color: #eee; } /* i changed how i wanted to do this and now it's annoyingly repeititive but that's fineeee */ /* i'm gonna be honest i don't actually LIKE web design you feel me? */ /* no longer repetitive! */ [data-font="sans"] { --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --font-i: var(--font); --font-b: var(--font); --font-bi: var(--font); } body { font-family: var(--font); padding: 0 0px 0 0; margin: 0; font-size: 17px; font-variant-ligatures: none; background: var(--main-bg); color: var(--font-color); } #menu { content: "\09776"; min-height: 5vh; height: 5vh; width: 5vw; display: none; } .header { display: none; } .ltx_TOC a:link, .ltx_TOC a:visited, .ltx_p a:link, .ltx_p a:visited, a.ltx_LaTeXML_logo:visited { color: var(--link-color) !important; } .ltx_personname a:link, .ltx_personname a:visited { color: fuchsia; } .ltx_title_abstract, .ltx_title, .ltx_font_bold { font-family: var(--font-b); } .ltx_font_italic { font-family: var(--font-i); } .ltx_font_bold.ltx_font_italic, .ltx_title .ltx_font_italic { font-family: var(--font-bi) !important; } .ltx_title_subsection, .ltx_title, .ltx_font_bold { font-weight: bold; color: var(--font-bold); } .ltx_font_typewriter { background-color: var(--typewriter-bg); } .ltx_page_main { margin-left: 400px; transition: margin 0.2s ease-out; padding: min(1em, 1.5%) min(3em, 4.5%) min(1em, 1.5%) min(3em, 4.5%); width: 50%; } .ltx_TOC a { display: block; width: 100%; } .ltx_TOC { position: fixed; overflow-y: scroll; width: 400px; background-color: var(--toc-bg); transition: width 0.2s ease-out; top: 0; bottom: 0; border-right: 2px solid var(--toc-accent); } .ltx_TOC.show { width: 100vw; visibility: visible; } .ltx_border_tt, .ltx_border_t, .ltx_border_bb { border-color: var(--table-border-color); } .ltx_toclist { padding: 0; } .ltx_tocentry { padding-left: 20px; } .ltx_title_contents { text-align: center; font-size: 120%; margin-top: 1em; margin-bottom: 1em; } .ltx_tag_section { margin-right: .5em; } .ltx_p { line-height: 1.4; } .ltx_tocentry_section { cursor: pointer; } .ltx_graphics { object-fit: contain; height: auto !important; width: 100% !important; max-width: max-content; } .ltx_eqn_center_padleft, .ltx_eqn_center_padright { min-width: 0; } .ltx_tocentry_subsection:hover, .ltx_ref.active:hover { background-color: var(--toc-hover); } .ltx_tocentry_section:hover { background-color: var(--toc-accent); } /* +/- handling */ .ltx_tocentry.ltx_tocentry_section > .ltx_ref::after { content: "\2795"; /* Unicode escape sequence for the plus sign (+) emoji */ font-size: 16px; color: white; float: right; margin-right: 5px; position: relative; font-family: serif; } .ltx_tocentry.ltx_tocentry_section > .ltx_ref.active::after { content: "\2796"; /* Unicode escape sequence for the minus sign (-) emoji */ position: relative; font-family: serif; } /*side bar*/ ol[class="ltx_toclist ltx_toclist_section"] { max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; width: 97%; } :target::before { display: block; content: ""; margin-top: -2vh; height: 2vh; visibility: hidden; pointer-events: none; } .chain { text-decoration: none; font-size: 80%; } /* removing +/- from any without subs*/ .del::after { content: "" !important; } /* return to ref button ⮌ */ #return.show::after { content: "⮌"; display: block; } /* return to ref button ⮌ */ #return::after { content: "🡱"; display: block; top: 40px; position: relative; } #return { position: fixed; bottom: 5vh; left: calc(55% + 400px); width: 80px; height: 80px; font-size: 60px; color: var(--font-bold); line-height: 0; padding: 0; border-radius: 0; border: 2px solid var(--toc-accent); background: var(--toc-bg); cursor: pointer; text-align: center; font-family: "macsucks"; } /* i'm just copying this shit from w3schools ngl */ #snackbar { visibility: hidden; min-width: 250px; margin-left: -125px; background-color: var(--snackbar-bg); color: var(--snackbar-color); text-align: center; border-radius: 2px; padding: 16px; position: fixed; z-index: 1; left: 50%; bottom: 30px; font-size: 17px; } #snackbar.show { visibility: visible; -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; animation: fadein 0.5s, fadeout 0.5s 2.5s; } /* styling the toggle buttons, which yes i know this is cursed */ .togglebuttons > button { position: fixed; top: 0; right: 0; width: 80px; height: 80px; font-size: 80px; color: var(--font-bold); line-height: 0; padding-bottom: 9px; border-radius: 0; border: 2px solid var(--toc-accent); background: var(--toc-bg); cursor: pointer; } .togglebuttons > button:hover, #return:hover { background: var(--toc-hover); } /* BELIEVE ME, i know this is cursed. YOU try having a generated html output that you're adding amendments to with sloppy code injection! AND also clearly defined content layout requirements based on the project requirements. i don't need to over engineer this, okay!? */ #font-toggle { top: 80px; border-top: 0; font-size: 55px; padding: 0 6px 1px 4px; font-family: "crm"; } @-webkit-keyframes fadein { from { bottom: 0; opacity: 0; } to { bottom: 30px; opacity: 1; } } @keyframes fadein { from { bottom: 0; opacity: 0; } to { bottom: 30px; opacity: 1; } } @-webkit-keyframes fadeout { from { bottom: 30px; opacity: 1; } to { bottom: 0; opacity: 0; } } @keyframes fadeout { from { bottom: 30px; opacity: 1; } to { bottom: 0; opacity: 0; } } @media screen and (max-width: 1000px) { #menu { display: block; width: 100%; padding: 0; border-radius: 0; border-top: none; border-left: none; border-right: none; background: var(--toc-bg); color: var(--font); border-bottom: 2px solid var(--toc-hover); } .header { display: block; position: sticky; width: 100%; top: 0; padding: 0; } .ltx_TOC { width: 0; visibility: hidden; top: 5vh; border-right: none; } .ltx_page_main { margin: auto; width: 90% !important; } .ltx_eqn_table { width: 90% !important; } .ltx_tocentry.ltx_tocentry_section > .ltx_ref::after { margin-right: 20px; } .togglebuttons > button { height: var(--mobile-button); width: var(--mobile-button); font-size: 30px; border-right: none; min-width: 45px; } #theme-toggle { top: 5vh; border-top: none; } #font-toggle { top: calc(2 * var(--mobile-button)); } :target::before { margin-top: -5vh; height: 5vh; } #return { left: calc(95% - 50px) !important; height: 50px; width: 50px; font-size: 40px; } #return::after { top: 23px; } } @media screen and (max-width: 500px) { .ltx_eqn_table { font-size: 15px; } } /* hack for the return button to not cut off the screen until mobile crossover */ @media screen and (max-width: 1200px) { #return { left: calc(55% + 350px); } }