{{ $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%); } } .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; } 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 (site.Params.paperCards | default false) }} @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 (.Site.Params.paperCards | default false) }} 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 (.Site.Params.paperCards | default false) }} 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_accent) !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; } h1 { font-weight: 300; &.huge { font-size: 4 * $base_font_size * $title_font_mult; } } h1, h2 { 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; } h1, h2 { 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; }