website/assets/scss/style.scss

1247 lines
33 KiB
SCSS

{{ $colors := .Site.Data.colors | default dict }}
$dark_bg: {{ $colors.dark.bg | default "#242629" }};
$dark_hl_bg: {{ $colors.dark.hl_bg | default "#34363b" }};
$dark_fg: {{ $colors.dark.fg | default "white" }};
$dark_dim_fg: {{ $colors.dark.dim_fg | default "#bababa" }};
$dark_stroke: {{ $colors.dark.stroke | default "#4f4f4f" }};
$dark_accent: {{ $colors.dark.accent | default "#db5793" }};
$dark_sidebar_bg: {{ $colors.dark.sidebar.bg | default "#34363b" }};
$dark_sidebar_fg: {{ $colors.dark.sidebar.fg | default "white" }};
$light_bg: {{ $colors.light.bg | default "#f5f5f5" }};
$light_hl_bg: {{ $colors.light.hl_bg | default "#e6e6e6" }};
$light_fg: {{ $colors.light.fg | default "#262625" }};
$light_dim_fg: {{ $colors.light.dim_fg | default "#40403e" }};
$light_stroke: {{ $colors.light.stroke | default "#575754" }};
$light_accent: {{ $colors.light.accent | default "#db5793" }};
$light_sidebar_bg: {{ $colors.light.sidebar.bg | default "#e6e6e6" }};
$light_sidebar_fg: {{ $colors.light.sidebar.fg | default "#121211" }};
:root {
--dark_bg: #{$dark_bg};
--dark_hl_bg: #{$dark_hl_bg};
--dark_fg: #{$dark_fg};
--dark_dim_fg: #{$dark_dim_fg};
--dark_stroke: #{$dark_stroke};
--dark_accent: #{$dark_accent};
--dark_sidebar_bg: #{$dark_sidebar_bg};
--dark_sidebar_fg: #{$dark_sidebar_fg};
--light_bg: #{$light_bg};
--light_hl_bg: #{$light_hl_bg};
--light_fg: #{$light_fg};
--light_dim_fg: #{$light_dim_fg};
--light_stroke: #{$light_stroke};
--light_accent: #{$light_accent};
--light_sidebar_bg: #{$light_sidebar_bg};
--light_sidebar_fg: #{$light_sidebar_fg};
{{ if eq .Site.Data.colors.default "light" }}
--default_bg: #{$light_bg};
--default_hl_bg: #{$light_hl_bg};
--default_fg: #{$light_fg};
--default_dim_fg: #{$light_dim_fg};
--default_stroke: #{$light_stroke};
--default_accent: #{$light_accent};
--default_sidebar_bg: #{$light_sidebar_bg};
--default_sidebar_fg: #{$light_sidebar_fg};
{{ else }}
--default_bg: #{$dark_bg};
--default_hl_bg: #{$dark_hl_bg};
--default_fg: #{$dark_fg};
--default_dim_fg: #{$dark_dim_fg};
--default_stroke: #{$dark_stroke};
--default_accent: #{$dark_accent};
--default_sidebar_bg: #{$dark_sidebar_bg};
--default_sidebar_fg: #{$dark_sidebar_fg};
{{ end }}
}
{{ if ($colors.auto_switch | default false) }}
@media (prefers-color-scheme: dark) {
:root {
--default_bg: #{$dark_bg};
--default_hl_bg: #{$dark_hl_bg};
--default_fg: #{$dark_fg};
--default_dim_fg: #{$dark_dim_fg};
--default_stroke: #{$dark_stroke};
--default_accent: #{$dark_accent};
--default_sidebar_bg: #{$dark_sidebar_bg};
--default_sidebar_fg: #{$dark_sidebar_fg};
}
}
@media (prefers-color-scheme: light) {
:root {
--default_bg: #{$light_bg};
--default_hl_bg: #{$light_hl_bg};
--default_fg: #{$light_fg};
--default_dim_fg: #{$light_dim_fg};
--default_stroke: #{$light_stroke};
--default_accent: #{$light_accent};
--default_sidebar_bg: #{$light_sidebar_bg};
--default_sidebar_fg: #{$light_sidebar_fg};
}
}
{{ end }}
$main_font: {{ .Site.Params.fontFamily | default "JetBrains Mono" }};
$title_font: {{ .Site.Params.titleFontFamily | default "$main_font" }};
$mono_font: {{ .Site.Params.monospaceFontFamily | default "JetBrains Mono" }};
$symbols_font: "Symbols Nerd Font";
$content_width: {{ .Site.Params.contentWidth | default "1000px" }};
$border_radius: 10px;
$margin: 15px;
$base_font_size: 16px;
$title_font_mult: {{ .Site.Params.titleFontSizeMultiplier | default 1.0 }};
$main_font_mult: {{ .Site.Params.mainFontSizeMultiplier | default 1.0 }};
$mono_font_mult: {{ .Site.Params.monoFontSizeMultiplier | default 1.0 }};
{{ if (.Site.Params.enableShadow | default false) }}
$shadow: 0 0 5px 0 rgba(0, 0, 0, .2);
{{ else }}
$shadow: 0 0 0 0 transparent;
{{ end }}
::selection, ::-moz-selection {
background: var(--default_accent);
color: var(--default_fg);
}
body, html {
font-family: $symbols_font, $main_font, monospace;
font-size: $base_font_size * $main_font_mult;
margin: 0;
padding: 0;
background-color: var(--default_bg);
color: var(--default_fg);
}
body {
min-height: 100vh;
}
@mixin linkLike {
color: var(--default_fg);
text-decoration: none;
background-color: transparent;
border-radius: 0;
border-bottom: 2px solid currentcolor;
&:hover, &:focus {
&, &:not([disabled]) {
border-color: var(--default_accent) !important;
background-color: transparent;
}
}
}
@mixin roundButtonLike {
display: inline-block;
border-radius: $border_radius;
background-color: var(--default_hl_bg);
color: var(--default_fg);
padding: ($margin / 2);
margin: ($margin / 6) 0;
transition: background-color .15s ease-in-out !important;
border-bottom: none;
&:hover, &:focus {
background-color: var(--default_accent);
}
box-shadow: $shadow;
}
@mixin buttonLike {
{{ if eq (site.Params.navtype | default "standard") "circles" }}
@include roundButtonLike;
{{ else }}
@include linkLike;
{{ end }}
font-size: #{1.2 * $base_font_size};
}
a {
@include linkLike;
}
a.unstyledLink {
border: none;
text-decoration: none;
color: var(--default_fg);
}
@mixin limitWidth {
max-width: $content_width;
margin-left: auto;
margin-right: auto;
}
#content {
@include limitWidth;
padding: $margin;
}
footer {
color: var(--default_dim_fg);
a {
color: var(--default_dim_fg);
}
hr {
margin-top: (2 * $margin);
}
.footerColumns {
font-size: .9 * $base_font_size * $main_font_mult;
display: flex;
flex-direction: row;
flex-wrap: wrap;
ul {
margin: ($margin / 2);
list-style-type: none;
padding: 0;
li > strong {
font-size: 1rem * $main_font_mult;
}
}
}
}
#links {
padding: 5px 0;
}
article, .articlePreview {
img {
margin: auto;
display: block;
max-width: 100%;
}
pre, code {
overflow: auto;
}
pre {
padding: $margin;
border: 1px solid var(--default_stroke);
border-radius: 3px;
}
}
code {
font-family: $symbols_font, $mono_font, monospace;
font-size: $base_font_size * .8 * $mono_font_mult;
border: 1px solid var(--default_stroke);
border-radius: 3px
}
code, table {
padding: 2px;
}
pre code {
border: none;
border-radius: none;
padding: 0
}
table {
border-collapse: collapse;
overflow-x: auto;
display: block;
td, th {
padding: 6px;
border: 1px solid var(--default_stroke);
}
th, tr:nth-child(even) {
filter: brightness(105%);
}
}
blockquote {
margin: 0;
padding-left: ($margin * 2);
border-left: 2px solid currentcolor;
}
.date, .date a {
color: var(--default_dim_fg);
border-color: var(--default_dim_fg);
font-size: .9em;
}
#pageNavigation, .nerdlink, nav:not(#TableOfContents) {
a {
border-bottom: none;
&:hover {
border-bottom: none;
}
}
}
#pageNavigation {
text-align: right;
a {
color: var(--default_accent);
}
a, span {
// appropriately sized tap targets
display: inline-block;
padding: 6px;
}
&.nav-circles {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
a, span {
margin: 5px;
text-align: center;
display: inline-block;
width: 40px;
height: 40px;
line-height: 40px;
padding: unset;
border-radius: 100%;
transition: background-color .15s ease-in-out;
background-color: var(--default_hl_bg);
color: var(--default_fg);
box-shadow: $shadow;
}
span {
background-color: var(--default_accent);
}
a:hover {
background-color: var(--default_accent);
}
}
}
h1, h2, h3, h4, h5, h6 {
font-family: $symbols_font, $title_font;
a {
color: var(--default_accent);
{{ if not (.Site.Params.underlineTitleLinks | default false) }}
border-bottom: none;
{{ end }}
}
}
h1 {font-size: 2.0 * $base_font_size * $title_font_mult;}
h2 {font-size: 1.5 * $base_font_size * $title_font_mult;}
h3 {font-size: 1.3 * $base_font_size * $title_font_mult;}
h4 {font-size: 1.0 * $base_font_size * $title_font_mult;}
h5 {font-size: 0.8 * $base_font_size * $title_font_mult;}
h6 {font-size: 0.7 * $base_font_size * $title_font_mult;}
.nerd {
font-family: $symbols_font, $main_font;
font-size: 1.2 * $base_font_size;
margin: 5px;
display: inline-block;
}
.nerdlink {
@extend .nerd;
color: var(--default_fg);
border-bottom: none;
position: relative;
width: 1em;
height: 1.2em;
display: inline-flex;
align-items: center;
justify-content: center;
.pseudofont {
fill: var(--default_fg);
display: inline;
position: relative;
top: 1px;
}
span {
position: absolute;
top: 1.5em;
left: 50%;
transform: translateX(-50%);
padding: 2px;
border: 1px solid var(--default_stroke);
border-radius: 3px;
color: var(--default_fg);
display: none;
background-color: var(--default_bg);
z-index: 900;
text-align: center;
}
&:hover {
.pseudofont {
fill: var(--default_accent);
}
color: var(--default_accent);
text-decoration: none;
border-bottom: none;
span {
display: block;
}
}
}
.card {
display: block;
padding-bottom: $margin;
{{ if (.Site.Params.paperCards | default false) }}
background-color: var(--default_hl_bg);
border-radius: $border_radius;
box-shadow: $shadow;
padding: $margin;
padding-top: 1px;
{{ end }}
&.single {
{{ if (.Site.Params.bigArticleTitle | default false) }}
h1 {
font-size: #{2.2 * $base_font_size * $title_font_mult};
}
{{ end }}
}
}
.postlist {
display: grid;
grid-gap: $margin;
margin-bottom: $margin;
grid-template-columns: 1fr;
&.gridView {
grid-template-columns: repeat(auto-fit, minmax(325px, 1fr));
}
}
// only hide hr in cards if they are in the article list
// cards in list are divs, cards as in full-blown articles use the article tag
{{ if (.Site.Params.paperCards | default false) }}
.postlistitem.card {
hr { display: none; }
}
{{ end}}
.postlistitem.card div {
img {
height: 250px;
{{ if (.Site.Params.paperCards | default false) }}
min-width: calc(100% + #{2*$margin});
margin: 0 #{-$margin};
{{ else }}
min-width: 100%;
{{ end }}
object-fit:
{{ if .Site.Params.FitImageInArticlePreview }}
contain
{{ else }}
cover
{{ end }};
}
}
ul {
li {
margin: 5px 0;
}
}
ul.list {
.date {
display: inline-block;
min-width: 100px;
}
> li > div {
display: grid;
grid-template-columns: 100px auto;
}
}
#commento {
margin-top: $margin;
color: var(--default_fg);
font-family: $symbols_font, $main_font, monospace;
textarea, #commento-markdown-help-root {
background: rgba(255, 255, 255, .05);
color: var(--default_fg);
border-radius: 0;
border: none;
td, td>*, td>*>* {
color: var(--default_fg);
pre {
font-family: $symbols_font, $mono_font, monospace;
color: var(--default_dim_fg);
}
}
}
#commento-submit-button-root {
background: var(--default_accent);
color: var(--default_fg);
}
.commento-name {
color: var(--default_dim_fg);
}
.commento-sort-policy-buttons {
a {
border-bottom: none;
}
.commento-sort-policy-button-selected {
color: var(--default_accent);
}
}
.commento-card {
border-top: none;
margin: 25px 0;
}
.commento-body {
>*, *>*, >*>*>*, >*>*>*>*, >*>*>*>*>* {
color: var(--default_fg);
font-family: $symbols_font, $main_font, monospace;
}
}
}
.search {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
margin: $margin 0;
.nerdlink {
display: inline-block;
cursor: pointer;
padding: 0 6px; // appropriately sized tap targets
}
#searchbar {
width: 100%;
min-width: 150px;
font-size: 1.3em;
outline: none;
}
}
.titleAndSearchContainer {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
#titleContainer {
flex-grow: 99;
}
.search {
flex-grow: 1;
&, #searchbar {font-size: 1em;}
}
}
.featuredCardLink {
border: none;
padding: 0;
.featuredCard {
@extend .card;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
position: relative;
height: 250px;
.contentArea {
position: absolute;
bottom: 0;
padding: $margin;
&, h2, .date {color: white;}
h2 {
margin: 0;
}
.date {
margin: 0;
}
}
{{ if (.Site.Params.paperCards | default false) }}
border-radius: $border_radius;
padding: 0;
{{ end }}
}
}
.loadMoreButton {
text-align: center;
font-size: 1.2em;
font-weight: bold;
&.buttonLike {
a {
@include roundButtonLike;
}
}
}
.relatedArticlesContainer {
margin: $margin 0;
#relatedArticles .postlistitem {
@extend .featuredCard;
}
}
#titleContainer {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: flex-start;
align-self: flex-start;
h1 {
font-weight: normal;
font-size: 1.6 * $base_font_size * $title_font_mult;
margin: 0;
{{ if site.Params.logoRightOfTitle }}
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
> a {
margin-right: 12px;
}
{{ end }}
}
img {
margin-right: ($margin / 2);
margin-top: 7px;
align-self: flex-start;
width: 50px;
max-height: 50px;
border-radius: 5px;
}
}
nav:not(#TableOfContents), #links {
ul {
list-style-type: none;
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding: 0;
margin: 0;
}
}
header {
@include limitWidth;
padding: $margin;
margin-bottom: $margin;
.rightOfLogo {
width: 100%;
.titleAndHamburger {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: flex-start;
justify-content: space-between;
}
}
nav:not(#TableOfContents) {
font-size: .9em;
ul {
li {
{{ if eq .Site.Params.menuStyle "buttons" }}
margin: 5px 2px;
margin-right: 5px;
&:last-child {
margin-right: none;
}
a {
{{ if eq (site.Params.navtype | default "standard") "circles" }}
@include roundButtonLike;
{{ else }}
font-family: $symbols_font, $main_font;
background-color: var(--default_hl_bg);
transition: background-color .15s ease-in-out;
&:hover, &:active {
background-color: var(--default_accent);
}
{{ end }}
box-sizing: border-box;
color: var(--default_fg);
margin: 0;
padding: #{$margin/2} $margin;
}
{{ else }}
border-right: 1px solid var(--default_accent);
&:last-child {
border-right: none;
}
a {
padding: 2px $margin;
color: var(--default_accent);
&:hover {
text-decoration: underline;
}
}
{{ end }}
}
}
}
}
.articleTagsContainer {
margin: $margin 0;
}
a.buttonTag {
@include roundButtonLike;
}
.cactus-button, .cactus-login-buttons > button {
font-family: $main_font;
padding: 0;
margin: 5px 0 5px $margin !important;
@include buttonLike;
transition-property: border-color, background-color !important;
transition-duration: .15s;
transition-timing-function: ease-in-out;
opacity: 1 !important;
&[disabled] {
opacity: .5 !important;
border-color: transparent !important;
background-color: transparent !important;
box-shadow: none;
}
}
.shareBtn, button {
@include buttonLike;
cursor: pointer;
}
input, textarea, textarea.cactus-editor-textarea {
{{ if (eq (site.Params.inputStyle | default "standard") "buttons") }}
@include buttonLike;
{{ else }}
border-radius: 0 !important;
{{ end }}
box-sizing: border-box;
font-family: $symbols_font, $main_font;
background-color: var(--default_hl_bg) !important;
color: var(--default_fg);
max-width: 100%;
min-width: 10px;
padding: 12px;
border: 2px solid transparent !important;
border-color: transparent;
transition: border-color .15s ease-in-out !important;
&:focus, &:active {
border-color: var(--default_accent) !important;
outline: none;
}
}
.cactus-editor-name {
box-sizing: border-box;
max-width: 100%;
min-width: 10px;
}
.cactus-login-form {
{{ if (eq (site.Params.inputStyle | default "standard") "buttons") }}
border-radius: $border_radius;
{{ else }}
border-radius: 0;
{{ end }}
{{ if (.Site.Params.enableShadow | default false) }}
box-shadow: $shadow;
{{ else }}
box-shadow: none;
border: 2px solid var(--default_stroke);
{{ end }}
max-width: 600px;
min-width: 200px;
width: 100%;
margin: 0 auto;
box-sizing: border-box;
transform: none;
top: #{$margin*2};
left: 0; right: 0;
background-color: var(--default_bg) !important;
color: var(--default_fg) !important;
z-index: 9999;
> a { // "Use a Matrix client" button
@include buttonLike;
align-self: flex-end;
> button {
background-color: transparent !important;
border: none !important;
box-shadow: none !important;
margin: 0 !important;
padding: 0 !important;
}
}
.cactus-login-buttons {
margin: 0;
justify-content: flex-end;
> button {
flex-grow: 0;
white-space: nowrap; // otherwise labels go 1 line per word
}
}
}
#fediInstanceDialog {
display: none;
position: fixed;
top: 0; bottom: 0; left: 0; right: 0;
.dialog {
{{ if (.Site.Params.enableShadow | default false) }}
box-shadow: $shadow;
{{ else }}
box-shadow: none;
border: 2px solid var(--default_stroke);
{{ end }}
box-sizing: border-box;
position: absolute;
display: flex; flex-direction: column;
top: #{$margin*2};
left: 50%; transform: translateX(-50%);
z-index: 9999;
background-color: var(--default_bg);
width: 450px;
max-width: 100%;
padding: $margin;
{{ if (eq (site.Params.inputStyle | default "standard") "buttons") }}
border-radius: $border_radius;
{{ end }}
h1, h2, h3, h4 {
margin: 0;
}
h2 {
margin-bottom: 24px;
}
input {
display: block;
}
.buttons {
margin: $margin 0;
display: flex;
flex-direction: row;
justify-content: end;
> * {
margin: 5px 0 5px $margin;
display: block;
}
}
}
.bg {
z-index: 99;
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
background-color: rgba(0, 0, 0, .4);
cursor: pointer;
}
&.open {
display: block;
}
}
{{ if .Site.Params.mobileHamburgerNav | default false }}
header {
#hamburger-menu {
@extend .nerdlink;
display: none !important;
}
#main-nav-toggler {
display: none;
}
}
@media only screen and (max-width: 520px) {
header {
.titleAndSearchContainer {
z-index: 9999999 !important;
}
#hamburger-menu {
display: block !important;
font-size: 1.2em;
cursor: pointer;
text-align: center;
margin: 0;
padding: ($margin / 4);
align-self: center;
}
nav:not(#TableOfContents) {
ul#main-nav {
&, li, li a {text-shadow: none !important;}
display: none;
position: absolute;
z-index: 99999;
right: $margin;
padding: 2px 5px;
width: 120px;
{{ if eq .Site.Params.navtype "circles" }}
border-radius: $border_radius;
{{ end }}
border: 2px solid var(--default_stroke);
background-color: var(--default_hl_bg);
flex-direction: column;
li {
border-right: none !important;
display: block;
text-align: center;
margin: 0;
a {
box-shadow: none;
box-sizing: border-box;
display: block;
width: 100%;
padding: 10px;
margin: 3px 0;
}
}
}
#main-nav-toggler:checked ~ #main-nav {
display: flex;
}
}
}
}
{{ end }}
{{ if and
(.Site.Params.enableJumbotron | default false)
.Site.Data.jumbotron
}}
{{
$jumbo_fullscreen := (or
(.Site.Data.jumbotron.fullscreen | default false)
(.Site.Data.jumbotron.backgroundVideo)
)
}}
header {
.jumbotron { display: none; }
max-width: 100%;
> * {
@include limitWidth;
}
}
header.jumbotronContainer {
{{ if (.Site.Data.jumbotron.whiteText | default false) }}
&, *, > * {
color: white !important;
}
#searchbar {
color: var(--default_fg) !important;
}
#main-nav a, .nerdlink:hover {
color: var(--default_fg) !important;
}
.nerdlink span {
color: var(--default_fg) !important;
text-shadow: none;
}
.arrow {
border-color: white !important;
svg , svg * {
fill: white !important;
}
&:hover, &:focus, &:active {
background-color: rgba(0, 0, 0, .7);
svg, svg * {
fill: white !important;
}
}
}
{{ end }}
{{ if (.Site.Data.jumbotron.textShadow | default false) }}
&, * {
text-shadow: 0 0 5px transparentize($light_fg, .3);
}
{{ end }}
> *:first-child {
padding-top: $margin;
}
padding-bottom: 0;
padding-top: 0;
.jumbotron { display: flex; }
{{ if and
.Site.Data.jumbotron.background
(not .Site.Data.jumbotron.backgroundVideo)
}}
background:
linear-gradient(
transparentize($dark_bg, 0.2),
transparentize($dark_bg, 0.2)
),
url({{ .Site.Data.jumbotron.background }});
background-size: cover;
background-position: center;
background-repeat: no-repeat;
{{ else if .Site.Data.jumbotron.backgroundVideo }}
background: transparent;
> * {
position: relative;
z-index: 9999;
}
overflow: hidden;
.video_container {
overflow: hidden;
position: absolute;
min-height: 100%;
min-width: 100%;
top: 0; bottom: 0; left: 0; right: 0;
z-index: 0;
background-color: black;
.jumbotron_video {
opacity: {{ .Site.Data.jumbotron.videoOpacity | default 1.0 }};
position: absolute;
z-index: 0;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
overflow: hidden;
min-height: 100%;
min-width: 100%;
height: 100vh;
}
}
{{ else }}
background-color: rgba(0, 0, 0, .3);
{{ end }}
{{ if $jumbo_fullscreen }}
height: 100vh;
{{ if (.Site.Data.jumbotron.downArrow | default false) }}
margin-bottom: 100px;
.arrow {
position: absolute;
bottom: 24px;
left: 50%; transform: translateX(-50%);
cursor: pointer;
&, svg {
height: 64px;
width: 64px;
}
opacity: .7;
border-radius: 100%;
border: 2px solid var(--default_fg);
padding: 3px;
// display: flex; flex-direction: row; justify-content: center;
background-color: transparent;
transition: background-color .15s ease-in-out;
svg {
margin-top: 5px;
&, * {
fill: var(--default_fg);
transition: fill .15s ease-in-out;
}
@keyframes bounce {
0% {
transform: translateY(3px);
}
100% {
transform: translateY(-3px);
}
}
animation: bounce 2s infinite ease-in-out alternate both;
}
&:hover, &:focus, &:active {
background-color: var(--default_fg);
svg, svg * {
fill: var(--default_bg);
}
}
}
{{ end }}
{{ end }}
}
.jumbotron {
width: 100%;
{{ if $jumbo_fullscreen }}
height: 80vh;
{{ else }}
min-height: 40vh;
{{ end }}
flex-wrap: no-wrap;
text-align: center;
justify-content: center;
align-items: center;
align-content: center;
{{ $jumbotronImagePosition := (
.Site.Data.jumbotron.imagePosition | default "left"
) }}
{{ if (eq $jumbotronImagePosition "left") }}
flex-direction: row;
{{ else if (eq $jumbotronImagePosition "right") }}
flex-direction: row-reverse;
{{ else if (eq $jumbotronImagePosition "top") }}
flex-direction: column;
{{ else if (eq $jumbotronImagePosition "bottom") }}
flex-direction: column-reverse;
{{ end }}
.main_box {
display: flex;
flex-direction: column;
text-align: center;
justify-content: center;
align-items: center;
flex-basis: 55%;
flex-grow: 1;
}
img {
flex-basis: 45%;
flex-grow: 1;
max-width: 100vw;
min-width: 200px;
}
h2 {
font-weight: 300;
&.huge {
font-size: 4 * $base_font_size * $title_font_mult;
}
}
h2, h3 {
margin: 12px;
}
ul {
list-style: none;
padding: 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
li {
margin: 3px;
a {
&.huge {
font-size: 1.5em;
}
{{ if eq .Site.Params.navtype "circles" }}
@include roundButtonLike;
background-color: transparent;
border: 2px solid var(--default_accent);
{{ end }}
}
}
}
}
@media only screen and (max-width: 520px) {
.jumbotron {
flex-wrap: wrap;
h1.huge {
font-size: 3 * $base_font_size * $title_font_mult !important;
}
h2, h3 {
margin: 6px;
}
}
}
@media only screen and (max-height: 800px) {
.jumbotron {
height: auto;
img {
max-height: 120px;
}
}
}
{{ end }}
{{ if .Site.Params.enableSidebarLayout | default false }}
$sidebar_width: 350px;
header {
#sidebar_nav, .sidebarToc {
display: none;
}
#wide_nav {
display: block;
}
}
@media only screen and (min-width: 950px) {
html{{if .Site.Params.enableJumbotron}}:not(.home){{end}} {
position: fixed; top: 0; bottom: 0; left: 0; right: 0;
color: var(--default_sidebar_fg);
#baseContainer {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
max-height: 100vh;
header {
margin-left: unset; margin-right: unset;
background-color: var(--default_sidebar_bg);
max-width: $sidebar_width;
min-width: $sidebar_width;
height: 100vh;
display: block;
overflow: auto;
margin-bottom: 0;
padding: 0 $margin;
box-shadow: $shadow;
> *:first-child {
padding-bottom: $margin;
padding-top: $margin;
}
.rightOfLogo {
align-self: center;
}
#sidebar_nav {
display: block;
margin: $margin 0;
width: 100%;
nav:not(#TableOfContents) {
font-size: 1.1em;
ul#main-nav {
flex-direction: column;
li {
border-right: none;
a {
display: block;
}
}
}
}
}
#wide_nav {
display: none;
}
.sidebarToc {
display: block;
nav#TableOfContents {
ul {
padding-left: 24px;
a:not(:hover) {
border-color: transparent;
}
}
}
}
}
#contentContainer {
flex-grow: 1;
overflow-y: auto;
}
}
.articleToc {
display: none;
}
}
}
{{ end }}
// transitions at the end so that loading css doens't cause animations
a {
transition-property: color, border-color;
transition-duration: .15s;
transition-timing-function: ease-in-out;
}
.nerdlink {
&, .pseudofond {
transition: all .15s ease-in-out;
}
}
input {
transition: .15s border ease-in-out;
}