/* Variables *****************************************************************/ $switch-small-screen: "only screen and (max-width: 600px)"; $switch-smaller-screen: "only screen and (max-width: 400px)"; $navbar-height: 70px; $postamble-height: 55px; $tooltip-underline-size: 3px; // Themes ///////////////////////////////////////////////////////////////////// $dark: rgba( 52, 73, 94, 1); $black: rgba( 0, 0, 0, 1); $accent1: rgba( 93, 115, 126, 1); $accent2: rgba( 92, 172, 126, 1); $accent3: rgba(197, 193, 155, 1); $light: #eee; $grey1: #f8f8f8; $grey2: #dbe1e8; $grey3: #b2becd; $grey4: #6c7983; $grey5: #454e56; $grey6: #12181b; // Accent 1 // Black $gradient-accent1-black-left: linear-gradient(to left, $black, $accent1, $accent1); $gradient-accent1-black-right: linear-gradient(to right, $black, $accent1, $accent1); // Dark $gradient-accent1-dark-left: linear-gradient(to left, $dark, $accent1); $gradient-accent1-dark-right: linear-gradient(to right, $dark, $accent1); // Light $gradient-accent1-light-left: linear-gradient(to left, $light, $accent1); $gradient-accent1-light-right: linear-gradient(to right, $light, $accent1); // Accent 2 // Black $gradient-accent2-black-left: linear-gradient(to left, $black, $accent2, $accent2); $gradient-accent2-black-right: linear-gradient(to right, $black, $accent2, $accent2); // Dark $gradient-accent2-dark-left: linear-gradient(to left, $dark, $accent2); $gradient-accent2-dark-right: linear-gradient(to right, $dark, $accent2); // Light $gradient-accent2-light-left: linear-gradient(to left, $light, $accent2); $gradient-accent2-light-right: linear-gradient(to right, $light, $accent2); // Accent 3 // Black $gradient-accent3-black-left: linear-gradient(to left, $black, $accent3, $accent3); $gradient-accent3-black-right: linear-gradient(to right, $black, $accent3, $accent3); // Dark $gradient-accent3-dark-left: linear-gradient(to left, $dark, $accent3); $gradient-accent3-dark-right: linear-gradient(to right, $dark, $accent3); // Light $gradient-accent3-light-left: linear-gradient(to left, $light, $accent3); $gradient-accent3-light-right: linear-gradient(to right, $light, $accent3); .light { $bg-nav: $gradient-accent3-light-right; $border-color: $accent1; color: $dark; background: $light; transition: background 500ms ease-in-out, color 1s ease-in-out; pre { box-shadow: 3px 5px $dark; border-color: $light; } pre.src { &::before { background-color: $light; color: $dark; } } .navbar, header { background: $bg-nav; } .navbar svg { fill: $dark; } .status { background: $gradient-accent3-light-left; color: $dark; } .tooltip { border-bottom: $tooltip-underline-size dotted $accent3; .tooltiptext { background-color: $accent3; color: $dark; &::after { border-color: $accent3 transparent transparent transparent; } } } .dropdown { background: $accent3; color: $dark; } #content { a { box-shadow: inset 0 -3px 0 $accent3; transition: box-shadow 300ms ease-in-out; &:hover { box-shadow: inset 0 -23px 0 $accent3; transition: box-shadow 300ms ease-in-out; } } } table, th, td { border: 1px solid $dark; } th { background: darken($light, 5%); } .gentree { filter: invert(0%); transition: filter 1s ease-in-out; } } .dark, .black { $bg-nav: $gradient-accent2-dark-right; $border-color: $dark; color: $light; background: $dark; transition: background 500ms ease-in-out, color 1s ease-in-out; pre { box-shadow: 3px 3px $dark; border: none; } pre.src { &::before { background-color: $dark; color: $light; } } .navbar, header { background: $bg-nav; } .navbar svg { fill: $light; } .status { background: $gradient-accent2-dark-left; color: $light; } .tooltip { border-bottom: $tooltip-underline-size dotted $accent1; .tooltiptext { background-color: $accent1; color: $light; &::after { border-color: $accent1 transparent transparent transparent; } } } .dropdown { background: $dark; color: $light; } #content { a { box-shadow: inset 0 -3px 0 $accent2; transition: box-shadow 300ms ease-in-out; &:hover { box-shadow: inset 0 -23px 0 $accent2; transition: box-shadow 300ms ease-in-out; } } } table, th, td { border: 1px solid $accent1; } th { background: darken($dark, 2.5%); } .gentree { filter: invert(100%); transition: filter 1s ease-in-out; } } .black { $bg-nav: $gradient-accent1-black-right; background: $black; pre { box-shadow: 3px 3px $light; border: none; } pre.src { &::before { background-color: $black; color: $light; } } .navbar, header { background: $bg-nav; } .status { background: $gradient-accent1-black-left; } .dropdown { background: $dark; color: $light; } #content { a { box-shadow: inset 0 -3px 0 $accent1; transition: box-shadow 300ms ease-in-out; &:hover { box-shadow: inset 0 -23px 0 $accent1; transition: box-shadow 300ms ease-in-out; } } } table, th, td { border: 1px solid $light; } th { background: lighten($black, 15%); } } /* Style *********************************************************************/ * { outline: none; } html { scroll-behavior: smooth; } body { margin: 0; padding: 0; font-family: "Lato", "proxima-nova", Arial, sans-serif; font-size: 1.2em; transition: background 500ms ease-in-out, color 1s ease-in-out; header, .navbar { transition: background 500ms ease-in-out, color 1s ease-in-out; ul { list-style-type: none; margin: 0; padding: 0; } } } a { color: currentColor; text-decoration: none; } .navbar { position: fixed; top: 0; z-index: 4; height: $navbar-height; width: 100%; } .navbar-nav { display: flex; align-items: center; justify-content: space-evenly; height: 100%; } header { padding: 1em; margin-top: $navbar-height; margin-bottom: 1em; padding-bottom: 6em; text-align: center; clip-path: polygon(50% 0%, 100% 0, 100% 80%, 50% 100%, 0 80%, 0 0); transition: background 500ms ease-in-out; .title { font-size: 5em; margin: 0; @media #{$switch-small-screen} { font-size: 3em; } } .subtitle { font-size: 1.2em; } } .dropdown { position: absolute; opacity: 0; z-index: -1; border-bottom-right-radius: 8px; border-bottom-left-radius: 8px; display: flex; align-items: center; justify-content: space-around; min-height: 3rem; margin-top: 1rem; padding: 0.5rem; top: 0; box-shadow: rgba(2, 8, 20, 0.1) 0px 0.175em 0.5em; transform: translateX(-40%); transition: opacity 500ms ease-in-out, top 500ms ease-in-out, height 500ms ease-in-out; } .has-dropdown { &:focus-within { .dropdown { opacity: 1; top: $navbar-height; z-index: 5; pointer-events: auto; } #table-of-contents, #drop-page { top: $navbar-height / 1.3; opacity: 1; z-index: 5; height: 500%; pointer-events: auto; } } } #theme-dropdown { width: 150px; flex-direction: row; transform: translateX(-75%); } #lightBtn, #darkBtn, #blackBtn { content: ' '; border: 2px solid white; border-radius: 50%; width: 1rem; height: 1rem; display: inline-block; vertical-align: middle; margin-right: 10px; } #lightBtn { background: $light; } #darkBtn { background: $dark; } #blackBtn { background: $black; } #drop-page, #table-of-contents { flex-direction: column; transform: translateX(-45%); top: -40px; height: 0; min-width: 300px; overflow-y: auto; font-size: 0.9em; } @media #{$switch-small-screen} { #drop-page { transform: translateX(-27.5%); } } #drop-share, #drop-page { li { padding: 10px; } } .dropdown-item { cursor: pointer; a { width: 100%; height: 100%; padding-left: 10px; padding-right: 10px; font-weight: bold; } } #table-of-contents { padding: 20px; float: right; width: 75%; transition: height 500ms ease-in-out, opacity 500ms ease-in-out, top 500ms ease-in-out; li { padding: 5px 0; } h2 { font-size: 1.2em; } #text-table-of-contents { height: 100%; } } #content { padding: 50px; padding-top: 0; max-width: 1000px; margin: 0 auto; text-align: justify; @media #{$switch-small-screen} { padding: 50px 20px; } a { font-style: italic; } } #postamble { display: grid; grid-template-areas: 'author email date'; @media #{$switch-small-screen} { grid-template-areas: 'author date' 'email email'; } @media #{$switch-smaller-screen} { grid-template-areas: 'author' 'date' 'email'; } font-size: 0.8em; align-content: space-evenly; text-align: center; p { margin: 10px 0; } .author { grid-area: author; } .email { grid-area: email; } .date { grid-area: date; } } h1, h2, h3, h4, h5, h6 { text-align: center; } h2 { font-size: 2.5em; @media #{$switch-small-screen} { font-size: 1.75em; } } h3 { font-size: 2em; @media #{$switch-small-screen} { font-size: 1.5em; } } h4 { font-size: 1.5em; @media #{$switch-small-screen} { font-size: 1.3em; } } h5 { font-size: 1.25em; @media #{$switch-small-screen} { font-size: 1.2em; } } .tooltip { position: relative; display: inline-block; .tooltiptext { visibility: hidden; margin-left: -20px; bottom: 100%; left: 10%; padding: 5px 10px; text-align: center; border-radius: 6px; position: absolute; z-index: 5; &::after { content: " "; position: absolute; top: 100%; /* At the bottom of the tooltip */ left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; } } &:hover { .tooltiptext { visibility: visible; } } } blockquote { padding: 0; margin: 20px; font-style: italic; } .largetable { overflow-y: auto; margin-top:20px; margin-bottom: 20px; } table { margin: 0 auto; } th, td { white-space: nowrap; padding: 10px; } img { max-height: 600px; max-width: 100%; } .nav-icon { max-width: 20px; max-height: 20px; } .figure { padding: 0; } ul { padding-inline-start: 20px; } pre.src { background: $dark; color: $light; overflow-y: auto; }