Files
pghrt/export/pghrtcss.css

466 lines
8.3 KiB
CSS

/* 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, #return {
transition-property: background, border;
transition-duration: 0.1s;
transition-timing-function: linear;
}
.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);
}
}