├── layouts ├── 404.html ├── partials │ ├── scripts.html │ ├── header.html │ ├── footer.html │ └── head.html ├── shortcodes │ ├── center.html │ └── center-image.html ├── pages │ ├── page.html │ └── archive.html ├── _default │ ├── baseof.html │ ├── single.html │ └── list.html └── index.html ├── archetypes └── default.md ├── .flox ├── .gitignore ├── env.json └── env │ ├── manifest.toml │ └── manifest.lock ├── config.toml ├── images ├── tn.png └── screenshot.png ├── assets ├── css │ ├── bulma │ │ ├── sass │ │ │ ├── helpers │ │ │ │ ├── overflow.sass │ │ │ │ ├── position.sass │ │ │ │ ├── float.sass │ │ │ │ ├── _all.sass │ │ │ │ ├── other.sass │ │ │ │ ├── color.sass │ │ │ │ ├── spacing.sass │ │ │ │ ├── flexbox.sass │ │ │ │ ├── typography.sass │ │ │ │ └── visibility.sass │ │ │ ├── .DS_Store │ │ │ ├── base │ │ │ │ ├── .DS_Store │ │ │ │ ├── _all.sass │ │ │ │ ├── animations.sass │ │ │ │ ├── helpers.sass │ │ │ │ ├── minireset.sass │ │ │ │ └── generic.sass │ │ │ ├── grid │ │ │ │ ├── _all.sass │ │ │ │ ├── tiles.sass │ │ │ │ └── columns.sass │ │ │ ├── utilities │ │ │ │ ├── .DS_Store │ │ │ │ ├── animations.sass │ │ │ │ ├── _all.sass │ │ │ │ ├── extends.sass │ │ │ │ ├── controls.sass │ │ │ │ ├── initial-variables.sass │ │ │ │ ├── derived-variables.sass │ │ │ │ ├── functions.sass │ │ │ │ └── mixins.sass │ │ │ ├── layout │ │ │ │ ├── _all.sass │ │ │ │ ├── footer.sass │ │ │ │ ├── section.sass │ │ │ │ └── hero.sass │ │ │ ├── elements │ │ │ │ ├── form.sass │ │ │ │ ├── _all.sass │ │ │ │ ├── other.sass │ │ │ │ ├── box.sass │ │ │ │ ├── container.sass │ │ │ │ ├── icon.sass │ │ │ │ ├── image.sass │ │ │ │ ├── notification.sass │ │ │ │ ├── title.sass │ │ │ │ ├── progress.sass │ │ │ │ ├── table.sass │ │ │ │ ├── tag.sass │ │ │ │ ├── content.sass │ │ │ │ └── button.sass │ │ │ ├── form │ │ │ │ ├── _all.sass │ │ │ │ ├── checkbox-radio.sass │ │ │ │ ├── input-textarea.sass │ │ │ │ ├── shared.sass │ │ │ │ ├── select.sass │ │ │ │ ├── file.sass │ │ │ │ └── tools.sass │ │ │ └── components │ │ │ │ ├── _all.sass │ │ │ │ ├── media.sass │ │ │ │ ├── level.sass │ │ │ │ ├── menu.sass │ │ │ │ ├── breadcrumb.sass │ │ │ │ ├── dropdown.sass │ │ │ │ ├── card.sass │ │ │ │ ├── message.sass │ │ │ │ ├── modal.sass │ │ │ │ ├── panel.sass │ │ │ │ ├── pagination.sass │ │ │ │ ├── tabs.sass │ │ │ │ └── navbar.sass │ │ ├── bulma.sass │ │ ├── LICENSE │ │ ├── package.json │ │ └── README.md │ ├── extra │ │ ├── extra.css │ │ └── extra.scss │ └── base │ │ └── base.scss └── img │ └── favicon.ico ├── static ├── img │ └── favicon.ico └── js │ └── bulma.js ├── .gitignore ├── theme.toml ├── LICENSE └── README.md /layouts/404.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /layouts/partials/scripts.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /archetypes/default.md: -------------------------------------------------------------------------------- 1 | +++ 2 | +++ 3 | -------------------------------------------------------------------------------- /.flox/.gitignore: -------------------------------------------------------------------------------- 1 | run/ 2 | cache/ 3 | lib/ 4 | log/ 5 | -------------------------------------------------------------------------------- /.flox/env.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "huey", 3 | "version": 1 4 | } -------------------------------------------------------------------------------- /config.toml: -------------------------------------------------------------------------------- 1 | [module] 2 | [module.hugoVersion] 3 | min = "0.80.0" -------------------------------------------------------------------------------- /images/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloydwhitlock/huey/HEAD/images/tn.png -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/overflow.sass: -------------------------------------------------------------------------------- 1 | .is-clipped 2 | overflow: hidden !important 3 | -------------------------------------------------------------------------------- /layouts/shortcodes/center.html: -------------------------------------------------------------------------------- 1 |
2 | {{.Inner}} 3 |
-------------------------------------------------------------------------------- /images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloydwhitlock/huey/HEAD/images/screenshot.png -------------------------------------------------------------------------------- /assets/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloydwhitlock/huey/HEAD/assets/img/favicon.ico -------------------------------------------------------------------------------- /static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloydwhitlock/huey/HEAD/static/img/favicon.ico -------------------------------------------------------------------------------- /assets/css/bulma/sass/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloydwhitlock/huey/HEAD/assets/css/bulma/sass/.DS_Store -------------------------------------------------------------------------------- /assets/css/bulma/sass/base/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloydwhitlock/huey/HEAD/assets/css/bulma/sass/base/.DS_Store -------------------------------------------------------------------------------- /assets/css/bulma/sass/grid/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Grid */ 2 | @charset "utf-8" 3 | 4 | @import "columns" 5 | @import "tiles" 6 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alloydwhitlock/huey/HEAD/assets/css/bulma/sass/utilities/.DS_Store -------------------------------------------------------------------------------- /assets/css/bulma/sass/layout/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Layout */ 2 | @charset "utf-8" 3 | 4 | @import "hero" 5 | @import "section" 6 | @import "footer" 7 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/base/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Base */ 2 | @charset "utf-8" 3 | 4 | @import "minireset" 5 | @import "generic" 6 | @import "animations" 7 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/base/animations.sass: -------------------------------------------------------------------------------- 1 | @keyframes spinAround 2 | from 3 | transform: rotate(0deg) 4 | to 5 | transform: rotate(359deg) 6 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/form.sass: -------------------------------------------------------------------------------- 1 | @warn "The form.sass file is DEPRECATED. It has moved into its own /form folder. Please import sass/form/_all instead." 2 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/base/helpers.sass: -------------------------------------------------------------------------------- 1 | @warn "The helpers.sass file is DEPRECATED. It has moved into its own /helpers folder. Please import sass/helpers/_all instead." 2 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/animations.sass: -------------------------------------------------------------------------------- 1 | @warn "The animations.sass file has MOVED. It is now in the /base folder. Please import sass/base/animations instead." 2 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/position.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | .is-overlay 4 | @extend %overlay 5 | 6 | .is-relative 7 | position: relative !important 8 | -------------------------------------------------------------------------------- /assets/css/extra/extra.css: -------------------------------------------------------------------------------- 1 | /*Place custom CSS files, or add to this file `extra.css`, for additional CSS definitions.*/ 2 | 3 | 4 | /*Social media icons in footer*/ 5 | .footer-social { 6 | margin-right: 0.5em; 7 | } -------------------------------------------------------------------------------- /assets/css/bulma/sass/form/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Form */ 2 | @charset "utf-8" 3 | 4 | @import "shared" 5 | @import "input-textarea" 6 | @import "checkbox-radio" 7 | @import "select" 8 | @import "file" 9 | @import "tools" 10 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/float.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | .is-clearfix 4 | +clearfix 5 | 6 | .is-pulled-left 7 | float: left !important 8 | 9 | .is-pulled-right 10 | float: right !important 11 | -------------------------------------------------------------------------------- /layouts/shortcodes/center-image.html: -------------------------------------------------------------------------------- 1 | {{ $src := .Get "src" }} 2 | {{ $alt := .Get "alt" }} 3 | 4 |
5 | {{ $alt }} 10 |
-------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Utilities */ 2 | @charset "utf-8" 3 | 4 | @import "initial-variables" 5 | @import "functions" 6 | @import "derived-variables" 7 | @import "mixins" 8 | @import "controls" 9 | @import "extends" 10 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Helpers */ 2 | @charset "utf-8" 3 | 4 | @import "color" 5 | @import "flexbox" 6 | @import "float" 7 | @import "other" 8 | @import "overflow" 9 | @import "position" 10 | @import "spacing" 11 | @import "typography" 12 | @import "visibility" 13 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/other.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | .is-radiusless 4 | border-radius: 0 !important 5 | 6 | .is-shadowless 7 | box-shadow: none !important 8 | 9 | .is-clickable 10 | cursor: pointer !important 11 | pointer-events: all !important 12 | 13 | .is-unselectable 14 | @extend %unselectable 15 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/extends.sass: -------------------------------------------------------------------------------- 1 | @import "mixins" 2 | 3 | %control 4 | +control 5 | 6 | %unselectable 7 | +unselectable 8 | 9 | %arrow 10 | +arrow 11 | 12 | %block 13 | +block 14 | 15 | %delete 16 | +delete 17 | 18 | %loader 19 | +loader 20 | 21 | %overlay 22 | +overlay 23 | 24 | %reset 25 | +reset 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.exe~ 4 | *.dll 5 | *.so 6 | *.dylib 7 | 8 | # Test binary, built with `go test -c` 9 | *.test 10 | 11 | # Output of the go coverage tool, specifically when used with LiteIDE 12 | *.out 13 | 14 | # Dependency directories (remove the comment below to include it) 15 | # vendor/ 16 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Components */ 2 | @charset "utf-8" 3 | 4 | @import "breadcrumb" 5 | @import "card" 6 | @import "dropdown" 7 | @import "level" 8 | @import "media" 9 | @import "menu" 10 | @import "message" 11 | @import "modal" 12 | @import "navbar" 13 | @import "pagination" 14 | @import "panel" 15 | @import "tabs" 16 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Elements */ 2 | @charset "utf-8" 3 | 4 | @import "box" 5 | @import "button" 6 | @import "container" 7 | @import "content" 8 | @import "icon" 9 | @import "image" 10 | @import "notification" 11 | @import "progress" 12 | @import "table" 13 | @import "tag" 14 | @import "title" 15 | 16 | @import "other" 17 | -------------------------------------------------------------------------------- /assets/css/bulma/bulma.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | /*! bulma.io v0.9.3 | MIT License | github.com/jgthms/bulma */ 3 | @import "sass/utilities/_all" 4 | @import "sass/base/_all" 5 | @import "sass/elements/_all" 6 | @import "sass/form/_all" 7 | @import "sass/components/_all" 8 | @import "sass/grid/_all" 9 | @import "sass/helpers/_all" 10 | @import "sass/layout/_all" 11 | -------------------------------------------------------------------------------- /assets/css/extra/extra.scss: -------------------------------------------------------------------------------- 1 | $scheme-main: {{ .Site.Params.schemeMain | default "#fff" }}; // default scheme, background color 2 | $linkBackground: {{ .Site.Params.linkBackground | default "none" }}; // default scheme, background color 3 | 4 | div.content a:link { 5 | background: $linkBackground; 6 | } 7 | 8 | div.read-more a:link { 9 | background: $scheme-main; 10 | } -------------------------------------------------------------------------------- /assets/css/bulma/sass/layout/footer.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/derived-variables" 2 | 3 | $footer-background-color: $scheme-main-bis !default 4 | $footer-color: false !default 5 | $footer-padding: 3rem 1.5rem 6rem !default 6 | 7 | .footer 8 | background-color: $footer-background-color 9 | padding: $footer-padding 10 | @if $footer-color 11 | color: $footer-color 12 | -------------------------------------------------------------------------------- /layouts/pages/page.html: -------------------------------------------------------------------------------- 1 | {{ define "main"}} 2 |
3 |
4 |
5 |
6 |
7 |

{{ if .Params.fa_icon }}{{ end }} 8 | {{.Page.Title}} 9 |

10 | {{ .Content }} 11 |
12 |
13 |
14 |
15 |
16 | {{ end }} 17 | -------------------------------------------------------------------------------- /theme.toml: -------------------------------------------------------------------------------- 1 | name = "Huey" 2 | license = "MIT" 3 | licenselink = "https://github.com/alloydwhitlock/huey/blob/master/LICENSE" 4 | description = "Huey is a minimal blog theme which uses the Bulma CSS framework" 5 | homepage = "https://www.adamwhitlock.com/" 6 | tags = ["blog", "light", "minimalist", "bulma", "blog"] 7 | features = ["responsive", "blog", "archive", "social"] 8 | min_version = "0.139.0" # 9 | 10 | [author] 11 | name = "Adam Whitlock" 12 | homepage = "https://adamwhitlock.com" 13 | -------------------------------------------------------------------------------- /layouts/_default/baseof.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{- partial "head.html" . -}} 4 | 5 |
6 | {{- partial "header.html" . -}} 7 |
8 |
9 | {{- block "main" . }}{{- end }} 10 |
11 |
12 | {{- partial "footer.html" . -}} 13 | 14 |
15 | {{- partial "scripts.html" . -}} 16 | 17 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/layout/section.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $section-padding: 3rem 1.5rem !default 4 | $section-padding-desktop: 3rem 3rem !default 5 | $section-padding-medium: 9rem 4.5rem !default 6 | $section-padding-large: 18rem 6rem !default 7 | 8 | .section 9 | padding: $section-padding 10 | // Responsiveness 11 | +desktop 12 | padding: $section-padding-desktop 13 | // Sizes 14 | &.is-medium 15 | padding: $section-padding-medium 16 | &.is-large 17 | padding: $section-padding-large 18 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/form/checkbox-radio.sass: -------------------------------------------------------------------------------- 1 | %checkbox-radio 2 | cursor: pointer 3 | display: inline-block 4 | line-height: 1.25 5 | position: relative 6 | input 7 | cursor: pointer 8 | &:hover 9 | color: $input-hover-color 10 | &[disabled], 11 | fieldset[disabled] &, 12 | input[disabled] 13 | color: $input-disabled-color 14 | cursor: not-allowed 15 | 16 | .checkbox 17 | @extend %checkbox-radio 18 | 19 | .radio 20 | @extend %checkbox-radio 21 | & + .radio 22 | +ltr-property("margin", 0.5em, false) 23 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/other.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | .block 4 | @extend %block 5 | 6 | .delete 7 | @extend %delete 8 | 9 | .heading 10 | display: block 11 | font-size: 11px 12 | letter-spacing: 1px 13 | margin-bottom: 5px 14 | text-transform: uppercase 15 | 16 | .loader 17 | @extend %loader 18 | 19 | .number 20 | align-items: center 21 | background-color: $background 22 | border-radius: $radius-rounded 23 | display: inline-flex 24 | font-size: $size-medium 25 | height: 2em 26 | justify-content: center 27 | margin-right: 1.5rem 28 | min-width: 2.5em 29 | padding: 0.25rem 0.5rem 30 | text-align: center 31 | vertical-align: top 32 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/box.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $box-color: $text !default 4 | $box-background-color: $scheme-main !default 5 | $box-radius: $radius-large !default 6 | $box-shadow: $shadow !default 7 | $box-padding: 1.25rem !default 8 | 9 | $box-link-hover-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0 0 1px $link !default 10 | $box-link-active-shadow: inset 0 1px 2px rgba($scheme-invert, 0.2), 0 0 0 1px $link !default 11 | 12 | .box 13 | @extend %block 14 | background-color: $box-background-color 15 | border-radius: $box-radius 16 | box-shadow: $box-shadow 17 | color: $box-color 18 | display: block 19 | padding: $box-padding 20 | 21 | a.box 22 | &:hover, 23 | &:focus 24 | box-shadow: $box-link-hover-shadow 25 | &:active 26 | box-shadow: $box-link-active-shadow 27 | -------------------------------------------------------------------------------- /layouts/pages/archive.html: -------------------------------------------------------------------------------- 1 | {{ define "main"}} 2 |
3 |
4 |
5 |
6 |
7 |

8 | {{.Page.Title | title}} 9 |

10 | {{ .Content }} 11 | 19 |
20 |
21 |
22 |
23 |
24 | {{ end }} 25 | -------------------------------------------------------------------------------- /assets/css/base/base.scss: -------------------------------------------------------------------------------- 1 | 2 | // modified Bulma default variables 3 | 4 | @import "../bulma/sass/utilities/initial-variables"; 5 | @import "../bulma/sass/utilities/functions"; 6 | 7 | // override colors using Hugo parameters for Huey theme 8 | $scheme-main: {{ .Site.Params.schemeMain | default "#fff" }}; // default scheme, background color 9 | $link: {{ .Site.Params.link | default "#000" }}; // link color 10 | $link-hover: {{ .Site.Params.linkHover | default "#888"}}; // link hover color 11 | $footer-color: {{ .Site.Params.footerBackground | default "true"}}; // removes background color in footer 12 | $footer-background-color: {{ .Site.Params.footerBackgroundColor | default "false;"}}; // specifies a footer color 13 | $navbar-item-hover-color: {{ .Site.Params.navbarItemHoverColor | default "#444;"}}; // navbar menu color hover 14 | $navbar-item-color: {{ .Site.Params.navbarItemColor | default "#888"}}; // navbar menu text color 15 | 16 | @import "../bulma/"; -------------------------------------------------------------------------------- /layouts/_default/single.html: -------------------------------------------------------------------------------- 1 | {{ define "main"}} 2 |
3 |
4 |
5 |
6 |
7 | {{ with .Resources.GetMatch "header.*" }} 8 | 9 | {{ end }} 10 |
11 |
12 |
13 |
14 |
15 |
16 |

{{.Page.Title | title }}

17 |

18 |

{{.Page.Description}}

19 | {{ .Content }} 20 |
21 |
22 |
23 |
24 |
25 | {{ end }} 26 | -------------------------------------------------------------------------------- /static/js/bulma.js: -------------------------------------------------------------------------------- 1 | // This javascript was used, without modification, from the Bulma CSS framework documentation. 2 | 3 | document.addEventListener('DOMContentLoaded', () => { 4 | 5 | // Get all "navbar-burger" elements 6 | const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0); 7 | 8 | // Check if there are any navbar burgers 9 | if ($navbarBurgers.length > 0) { 10 | 11 | // Add a click event on each of them 12 | $navbarBurgers.forEach( el => { 13 | el.addEventListener('click', () => { 14 | 15 | // Get the target from the "data-target" attribute 16 | const target = el.dataset.target; 17 | const $target = document.getElementById(target); 18 | 19 | // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu" 20 | el.classList.toggle('is-active'); 21 | $target.classList.toggle('is-active'); 22 | 23 | }); 24 | }); 25 | } 26 | 27 | }); -------------------------------------------------------------------------------- /layouts/partials/header.html: -------------------------------------------------------------------------------- 1 | {{ $currentPage := . }} 2 |
3 | 20 |
-------------------------------------------------------------------------------- /assets/css/bulma/sass/grid/tiles.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $tile-spacing: 0.75rem !default 4 | 5 | .tile 6 | align-items: stretch 7 | display: block 8 | flex-basis: 0 9 | flex-grow: 1 10 | flex-shrink: 1 11 | min-height: min-content 12 | // Modifiers 13 | &.is-ancestor 14 | margin-left: $tile-spacing * -1 15 | margin-right: $tile-spacing * -1 16 | margin-top: $tile-spacing * -1 17 | &:last-child 18 | margin-bottom: $tile-spacing * -1 19 | &:not(:last-child) 20 | margin-bottom: $tile-spacing 21 | &.is-child 22 | margin: 0 !important 23 | &.is-parent 24 | padding: $tile-spacing 25 | &.is-vertical 26 | flex-direction: column 27 | & > .tile.is-child:not(:last-child) 28 | margin-bottom: 1.5rem !important 29 | // Responsiveness 30 | +tablet 31 | &:not(.is-child) 32 | display: flex 33 | @for $i from 1 through 12 34 | &.is-#{$i} 35 | flex: none 36 | width: (divide($i, 12)) * 100% 37 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/container.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $container-offset: (2 * $gap) !default 4 | $container-max-width: $fullhd !default 5 | 6 | .container 7 | flex-grow: 1 8 | margin: 0 auto 9 | position: relative 10 | width: auto 11 | &.is-fluid 12 | max-width: none !important 13 | padding-left: $gap 14 | padding-right: $gap 15 | width: 100% 16 | +desktop 17 | max-width: $desktop - $container-offset 18 | +until-widescreen 19 | &.is-widescreen:not(.is-max-desktop) 20 | max-width: min($widescreen, $container-max-width) - $container-offset 21 | +until-fullhd 22 | &.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen) 23 | max-width: min($fullhd, $container-max-width) - $container-offset 24 | +widescreen 25 | &:not(.is-max-desktop) 26 | max-width: min($widescreen, $container-max-width) - $container-offset 27 | +fullhd 28 | &:not(.is-max-desktop):not(.is-max-widescreen) 29 | max-width: min($fullhd, $container-max-width) - $container-offset 30 | -------------------------------------------------------------------------------- /layouts/partials/footer.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/base/minireset.sass: -------------------------------------------------------------------------------- 1 | /*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */ 2 | // Blocks 3 | html, 4 | body, 5 | p, 6 | ol, 7 | ul, 8 | li, 9 | dl, 10 | dt, 11 | dd, 12 | blockquote, 13 | figure, 14 | fieldset, 15 | legend, 16 | textarea, 17 | pre, 18 | iframe, 19 | hr, 20 | h1, 21 | h2, 22 | h3, 23 | h4, 24 | h5, 25 | h6 26 | margin: 0 27 | padding: 0 28 | 29 | // Headings 30 | h1, 31 | h2, 32 | h3, 33 | h4, 34 | h5, 35 | h6 36 | font-size: 100% 37 | font-weight: normal 38 | 39 | // List 40 | ul 41 | list-style: none 42 | 43 | // Form 44 | button, 45 | input, 46 | select, 47 | textarea 48 | margin: 0 49 | 50 | // Box sizing 51 | html 52 | box-sizing: border-box 53 | 54 | * 55 | &, 56 | &::before, 57 | &::after 58 | box-sizing: inherit 59 | 60 | // Media 61 | img, 62 | video 63 | height: auto 64 | max-width: 100% 65 | 66 | // Iframe 67 | iframe 68 | border: 0 69 | 70 | // Table 71 | table 72 | border-collapse: collapse 73 | border-spacing: 0 74 | 75 | td, 76 | th 77 | padding: 0 78 | &:not([align]) 79 | text-align: inherit 80 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2021 YOUR_NAME_HERE 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /assets/css/bulma/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 Jeremy Thomas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/icon.sass: -------------------------------------------------------------------------------- 1 | $icon-dimensions: 1.5rem !default 2 | $icon-dimensions-small: 1rem !default 3 | $icon-dimensions-medium: 2rem !default 4 | $icon-dimensions-large: 3rem !default 5 | $icon-text-spacing: 0.25em !default 6 | 7 | .icon 8 | align-items: center 9 | display: inline-flex 10 | justify-content: center 11 | height: $icon-dimensions 12 | width: $icon-dimensions 13 | // Sizes 14 | &.is-small 15 | height: $icon-dimensions-small 16 | width: $icon-dimensions-small 17 | &.is-medium 18 | height: $icon-dimensions-medium 19 | width: $icon-dimensions-medium 20 | &.is-large 21 | height: $icon-dimensions-large 22 | width: $icon-dimensions-large 23 | 24 | .icon-text 25 | align-items: flex-start 26 | color: inherit 27 | display: inline-flex 28 | flex-wrap: wrap 29 | line-height: $icon-dimensions 30 | vertical-align: top 31 | .icon 32 | flex-grow: 0 33 | flex-shrink: 0 34 | &:not(:last-child) 35 | +ltr 36 | margin-right: $icon-text-spacing 37 | +rtl 38 | margin-left: $icon-text-spacing 39 | &:not(:first-child) 40 | +ltr 41 | margin-left: $icon-text-spacing 42 | +rtl 43 | margin-right: $icon-text-spacing 44 | 45 | div.icon-text 46 | display: flex 47 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/color.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/derived-variables" 2 | 3 | @each $name, $pair in $colors 4 | $color: nth($pair, 1) 5 | .has-text-#{$name} 6 | color: $color !important 7 | a.has-text-#{$name} 8 | &:hover, 9 | &:focus 10 | color: bulmaDarken($color, 10%) !important 11 | .has-background-#{$name} 12 | background-color: $color !important 13 | @if length($pair) >= 4 14 | $color-light: nth($pair, 3) 15 | $color-dark: nth($pair, 4) 16 | // Light 17 | .has-text-#{$name}-light 18 | color: $color-light !important 19 | a.has-text-#{$name}-light 20 | &:hover, 21 | &:focus 22 | color: bulmaDarken($color-light, 10%) !important 23 | .has-background-#{$name}-light 24 | background-color: $color-light !important 25 | // Dark 26 | .has-text-#{$name}-dark 27 | color: $color-dark !important 28 | a.has-text-#{$name}-dark 29 | &:hover, 30 | &:focus 31 | color: bulmaLighten($color-dark, 10%) !important 32 | .has-background-#{$name}-dark 33 | background-color: $color-dark !important 34 | 35 | @each $name, $shade in $shades 36 | .has-text-#{$name} 37 | color: $shade !important 38 | .has-background-#{$name} 39 | background-color: $shade !important 40 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/spacing.sass: -------------------------------------------------------------------------------- 1 | .is-marginless 2 | margin: 0 !important 3 | 4 | .is-paddingless 5 | padding: 0 !important 6 | 7 | $spacing-shortcuts: ("margin": "m", "padding": "p") !default 8 | $spacing-directions: ("top": "t", "right": "r", "bottom": "b", "left": "l") !default 9 | $spacing-horizontal: "x" !default 10 | $spacing-vertical: "y" !default 11 | $spacing-values: ("0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, "6": 3rem, "auto": auto) !default 12 | 13 | @each $property, $shortcut in $spacing-shortcuts 14 | @each $name, $value in $spacing-values 15 | // All directions 16 | .#{$shortcut}-#{$name} 17 | #{$property}: $value !important 18 | // Cardinal directions 19 | @each $direction, $suffix in $spacing-directions 20 | .#{$shortcut}#{$suffix}-#{$name} 21 | #{$property}-#{$direction}: $value !important 22 | // Horizontal axis 23 | @if $spacing-horizontal != null 24 | .#{$shortcut}#{$spacing-horizontal}-#{$name} 25 | #{$property}-left: $value !important 26 | #{$property}-right: $value !important 27 | // Vertical axis 28 | @if $spacing-vertical != null 29 | .#{$shortcut}#{$spacing-vertical}-#{$name} 30 | #{$property}-top: $value !important 31 | #{$property}-bottom: $value !important 32 | -------------------------------------------------------------------------------- /layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |
6 |
7 |

Recent Posts

8 |
    9 | {{ range .Paginator.Pages }} 10 |
  • 11 | 12 | {{ .Title | title }} 13 |

    Published on

    14 |
  • 15 | {{ end }} 16 |
17 | 18 | 19 | 31 |
32 |
33 |
34 |
35 |
36 | {{ end }} 37 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/flexbox.sass: -------------------------------------------------------------------------------- 1 | $flex-direction-values: row, row-reverse, column, column-reverse 2 | @each $value in $flex-direction-values 3 | .is-flex-direction-#{$value} 4 | flex-direction: $value !important 5 | 6 | $flex-wrap-values: nowrap, wrap, wrap-reverse 7 | @each $value in $flex-wrap-values 8 | .is-flex-wrap-#{$value} 9 | flex-wrap: $value !important 10 | 11 | $justify-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, start, end, left, right 12 | @each $value in $justify-content-values 13 | .is-justify-content-#{$value} 14 | justify-content: $value !important 15 | 16 | $align-content-values: flex-start, flex-end, center, space-between, space-around, space-evenly, stretch, start, end, baseline 17 | @each $value in $align-content-values 18 | .is-align-content-#{$value} 19 | align-content: $value !important 20 | 21 | $align-items-values: stretch, flex-start, flex-end, center, baseline, start, end, self-start, self-end 22 | @each $value in $align-items-values 23 | .is-align-items-#{$value} 24 | align-items: $value !important 25 | 26 | $align-self-values: auto, flex-start, flex-end, center, baseline, stretch 27 | @each $value in $align-self-values 28 | .is-align-self-#{$value} 29 | align-self: $value !important 30 | 31 | $flex-operators: grow, shrink 32 | @each $operator in $flex-operators 33 | @for $i from 0 through 5 34 | .is-flex-#{$operator}-#{$i} 35 | flex-#{$operator}: $i !important 36 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/controls.sass: -------------------------------------------------------------------------------- 1 | @import "derived-variables" 2 | 3 | $control-radius: $radius !default 4 | $control-radius-small: $radius-small !default 5 | 6 | $control-border-width: 1px !default 7 | 8 | $control-height: 2.5em !default 9 | $control-line-height: 1.5 !default 10 | 11 | $control-padding-vertical: calc(0.5em - #{$control-border-width}) !default 12 | $control-padding-horizontal: calc(0.75em - #{$control-border-width}) !default 13 | 14 | =control 15 | -moz-appearance: none 16 | -webkit-appearance: none 17 | align-items: center 18 | border: $control-border-width solid transparent 19 | border-radius: $control-radius 20 | box-shadow: none 21 | display: inline-flex 22 | font-size: $size-normal 23 | height: $control-height 24 | justify-content: flex-start 25 | line-height: $control-line-height 26 | padding-bottom: $control-padding-vertical 27 | padding-left: $control-padding-horizontal 28 | padding-right: $control-padding-horizontal 29 | padding-top: $control-padding-vertical 30 | position: relative 31 | vertical-align: top 32 | // States 33 | &:focus, 34 | &.is-focused, 35 | &:active, 36 | &.is-active 37 | outline: none 38 | &[disabled], 39 | fieldset[disabled] & 40 | cursor: not-allowed 41 | 42 | // The controls sizes use mixins so they can be used at different breakpoints 43 | =control-small 44 | border-radius: $control-radius-small 45 | font-size: $size-small 46 | =control-medium 47 | font-size: $size-medium 48 | =control-large 49 | font-size: $size-large 50 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/image.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $dimensions: 16 24 32 48 64 96 128 !default 4 | 5 | .image 6 | display: block 7 | position: relative 8 | img 9 | display: block 10 | height: auto 11 | width: 100% 12 | &.is-rounded 13 | border-radius: $radius-rounded 14 | &.is-fullwidth 15 | width: 100% 16 | // Ratio 17 | &.is-square, 18 | &.is-1by1, 19 | &.is-5by4, 20 | &.is-4by3, 21 | &.is-3by2, 22 | &.is-5by3, 23 | &.is-16by9, 24 | &.is-2by1, 25 | &.is-3by1, 26 | &.is-4by5, 27 | &.is-3by4, 28 | &.is-2by3, 29 | &.is-3by5, 30 | &.is-9by16, 31 | &.is-1by2, 32 | &.is-1by3 33 | img, 34 | .has-ratio 35 | @extend %overlay 36 | height: 100% 37 | width: 100% 38 | &.is-square, 39 | &.is-1by1 40 | padding-top: 100% 41 | &.is-5by4 42 | padding-top: 80% 43 | &.is-4by3 44 | padding-top: 75% 45 | &.is-3by2 46 | padding-top: 66.6666% 47 | &.is-5by3 48 | padding-top: 60% 49 | &.is-16by9 50 | padding-top: 56.25% 51 | &.is-2by1 52 | padding-top: 50% 53 | &.is-3by1 54 | padding-top: 33.3333% 55 | &.is-4by5 56 | padding-top: 125% 57 | &.is-3by4 58 | padding-top: 133.3333% 59 | &.is-2by3 60 | padding-top: 150% 61 | &.is-3by5 62 | padding-top: 166.6666% 63 | &.is-9by16 64 | padding-top: 177.7777% 65 | &.is-1by2 66 | padding-top: 200% 67 | &.is-1by3 68 | padding-top: 300% 69 | // Sizes 70 | @each $dimension in $dimensions 71 | &.is-#{$dimension}x#{$dimension} 72 | height: $dimension * 1px 73 | width: $dimension * 1px 74 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/notification.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $notification-background-color: $background !default 4 | $notification-code-background-color: $scheme-main !default 5 | $notification-radius: $radius !default 6 | $notification-padding: 1.25rem 2.5rem 1.25rem 1.5rem !default 7 | $notification-padding-ltr: 1.25rem 2.5rem 1.25rem 1.5rem !default 8 | $notification-padding-rtl: 1.25rem 1.5rem 1.25rem 2.5rem !default 9 | 10 | $notification-colors: $colors !default 11 | 12 | .notification 13 | @extend %block 14 | background-color: $notification-background-color 15 | border-radius: $notification-radius 16 | position: relative 17 | +ltr 18 | padding: $notification-padding-ltr 19 | +rtl 20 | padding: $notification-padding-rtl 21 | a:not(.button):not(.dropdown-item) 22 | color: currentColor 23 | text-decoration: underline 24 | strong 25 | color: currentColor 26 | code, 27 | pre 28 | background: $notification-code-background-color 29 | pre code 30 | background: transparent 31 | & > .delete 32 | +ltr-position(0.5rem) 33 | position: absolute 34 | top: 0.5rem 35 | .title, 36 | .subtitle, 37 | .content 38 | color: currentColor 39 | // Colors 40 | @each $name, $pair in $notification-colors 41 | $color: nth($pair, 1) 42 | $color-invert: nth($pair, 2) 43 | &.is-#{$name} 44 | background-color: $color 45 | color: $color-invert 46 | // If light and dark colors are provided 47 | @if length($pair) >= 4 48 | $color-light: nth($pair, 3) 49 | $color-dark: nth($pair, 4) 50 | &.is-light 51 | background-color: $color-light 52 | color: $color-dark 53 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/media.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $media-border-color: bulmaRgba($border, 0.5) !default 4 | $media-border-size: 1px !default 5 | $media-spacing: 1rem !default 6 | $media-spacing-large: 1.5rem !default 7 | $media-content-spacing: 0.75rem !default 8 | $media-level-1-spacing: 0.75rem !default 9 | $media-level-1-content-spacing: 0.5rem !default 10 | $media-level-2-spacing: 0.5rem !default 11 | 12 | .media 13 | align-items: flex-start 14 | display: flex 15 | text-align: inherit 16 | .content:not(:last-child) 17 | margin-bottom: $media-content-spacing 18 | .media 19 | border-top: $media-border-size solid $media-border-color 20 | display: flex 21 | padding-top: $media-level-1-spacing 22 | .content:not(:last-child), 23 | .control:not(:last-child) 24 | margin-bottom: $media-level-1-content-spacing 25 | .media 26 | padding-top: $media-level-2-spacing 27 | & + .media 28 | margin-top: $media-level-2-spacing 29 | & + .media 30 | border-top: $media-border-size solid $media-border-color 31 | margin-top: $media-spacing 32 | padding-top: $media-spacing 33 | // Sizes 34 | &.is-large 35 | & + .media 36 | margin-top: $media-spacing-large 37 | padding-top: $media-spacing-large 38 | 39 | .media-left, 40 | .media-right 41 | flex-basis: auto 42 | flex-grow: 0 43 | flex-shrink: 0 44 | 45 | .media-left 46 | +ltr-property("margin", $media-spacing) 47 | 48 | .media-right 49 | +ltr-property("margin", $media-spacing, false) 50 | 51 | .media-content 52 | flex-basis: auto 53 | flex-grow: 1 54 | flex-shrink: 1 55 | text-align: inherit 56 | 57 | +mobile 58 | .media-content 59 | overflow-x: auto 60 | -------------------------------------------------------------------------------- /layouts/partials/head.html: -------------------------------------------------------------------------------- 1 | 2 | {{- /* metadata */}} 3 | {{ if .IsHome }}{{ else }}{{ if .Page.Title }}{{ .Page.Title }} : {{ end }}{{ end }}{{ .Site.Title }} 4 | 5 | 6 | 7 | 8 | 9 | {{- /* css */}} 10 | {{ $sass := resources.Get "css/base/base.scss" | resources.ExecuteAsTemplate "style.scss" . }} 11 | {{ $sass_bulma := $sass | resources.ToCSS | minify | resources.Fingerprint }} 12 | 13 | 14 | 15 | {{ $sass := resources.Get "css/extra/extra.scss" | resources.ExecuteAsTemplate "style.scss" . }} 16 | {{ $sass_extra := $sass | resources.ToCSS | minify | resources.Fingerprint }} 17 | 18 | 19 | 20 | 21 | {{ if resources.Match "css/extra/*.css" }} 22 | {{ $extra := (resources.Match "css/extra/*.css") | resources.Concat "assets/css/extra.css" }} 23 | 24 | {{ end }} 25 | 26 | {{- /* icons */}} 27 | {{ if .Site.Params.fontawesomeToken }} 28 | 29 | {{ end }} 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/form/input-textarea.sass: -------------------------------------------------------------------------------- 1 | $textarea-padding: $control-padding-horizontal !default 2 | $textarea-max-height: 40em !default 3 | $textarea-min-height: 8em !default 4 | 5 | $textarea-colors: $form-colors !default 6 | 7 | %input-textarea 8 | @extend %input 9 | box-shadow: $input-shadow 10 | max-width: 100% 11 | width: 100% 12 | &[readonly] 13 | box-shadow: none 14 | // Colors 15 | @each $name, $pair in $textarea-colors 16 | $color: nth($pair, 1) 17 | &.is-#{$name} 18 | border-color: $color 19 | &:focus, 20 | &.is-focused, 21 | &:active, 22 | &.is-active 23 | box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25) 24 | // Sizes 25 | &.is-small 26 | +control-small 27 | &.is-medium 28 | +control-medium 29 | &.is-large 30 | +control-large 31 | // Modifiers 32 | &.is-fullwidth 33 | display: block 34 | width: 100% 35 | &.is-inline 36 | display: inline 37 | width: auto 38 | 39 | .input 40 | @extend %input-textarea 41 | &.is-rounded 42 | border-radius: $radius-rounded 43 | padding-left: calc(#{$control-padding-horizontal} + 0.375em) 44 | padding-right: calc(#{$control-padding-horizontal} + 0.375em) 45 | &.is-static 46 | background-color: transparent 47 | border-color: transparent 48 | box-shadow: none 49 | padding-left: 0 50 | padding-right: 0 51 | 52 | .textarea 53 | @extend %input-textarea 54 | display: block 55 | max-width: 100% 56 | min-width: 100% 57 | padding: $textarea-padding 58 | resize: vertical 59 | &:not([rows]) 60 | max-height: $textarea-max-height 61 | min-height: $textarea-min-height 62 | &[rows] 63 | height: initial 64 | // Modifiers 65 | &.has-fixed-size 66 | resize: none 67 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/level.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $level-item-spacing: ($block-spacing * 0.5) !default 4 | 5 | .level 6 | @extend %block 7 | align-items: center 8 | justify-content: space-between 9 | code 10 | border-radius: $radius 11 | img 12 | display: inline-block 13 | vertical-align: top 14 | // Modifiers 15 | &.is-mobile 16 | display: flex 17 | .level-left, 18 | .level-right 19 | display: flex 20 | .level-left + .level-right 21 | margin-top: 0 22 | .level-item 23 | &:not(:last-child) 24 | margin-bottom: 0 25 | +ltr-property("margin", $level-item-spacing) 26 | &:not(.is-narrow) 27 | flex-grow: 1 28 | // Responsiveness 29 | +tablet 30 | display: flex 31 | & > .level-item 32 | &:not(.is-narrow) 33 | flex-grow: 1 34 | 35 | .level-item 36 | align-items: center 37 | display: flex 38 | flex-basis: auto 39 | flex-grow: 0 40 | flex-shrink: 0 41 | justify-content: center 42 | .title, 43 | .subtitle 44 | margin-bottom: 0 45 | // Responsiveness 46 | +mobile 47 | &:not(:last-child) 48 | margin-bottom: $level-item-spacing 49 | 50 | .level-left, 51 | .level-right 52 | flex-basis: auto 53 | flex-grow: 0 54 | flex-shrink: 0 55 | .level-item 56 | // Modifiers 57 | &.is-flexible 58 | flex-grow: 1 59 | // Responsiveness 60 | +tablet 61 | &:not(:last-child) 62 | +ltr-property("margin", $level-item-spacing) 63 | 64 | .level-left 65 | align-items: center 66 | justify-content: flex-start 67 | // Responsiveness 68 | +mobile 69 | & + .level-right 70 | margin-top: 1.5rem 71 | +tablet 72 | display: flex 73 | 74 | .level-right 75 | align-items: center 76 | justify-content: flex-end 77 | // Responsiveness 78 | +tablet 79 | display: flex 80 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/menu.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $menu-item-color: $text !default 4 | $menu-item-radius: $radius-small !default 5 | $menu-item-hover-color: $text-strong !default 6 | $menu-item-hover-background-color: $background !default 7 | $menu-item-active-color: $link-invert !default 8 | $menu-item-active-background-color: $link !default 9 | 10 | $menu-list-border-left: 1px solid $border !default 11 | $menu-list-line-height: 1.25 !default 12 | $menu-list-link-padding: 0.5em 0.75em !default 13 | $menu-nested-list-margin: 0.75em !default 14 | $menu-nested-list-padding-left: 0.75em !default 15 | 16 | $menu-label-color: $text-light !default 17 | $menu-label-font-size: 0.75em !default 18 | $menu-label-letter-spacing: 0.1em !default 19 | $menu-label-spacing: 1em !default 20 | 21 | .menu 22 | font-size: $size-normal 23 | // Sizes 24 | &.is-small 25 | font-size: $size-small 26 | &.is-medium 27 | font-size: $size-medium 28 | &.is-large 29 | font-size: $size-large 30 | 31 | .menu-list 32 | line-height: $menu-list-line-height 33 | a 34 | border-radius: $menu-item-radius 35 | color: $menu-item-color 36 | display: block 37 | padding: $menu-list-link-padding 38 | &:hover 39 | background-color: $menu-item-hover-background-color 40 | color: $menu-item-hover-color 41 | // Modifiers 42 | &.is-active 43 | background-color: $menu-item-active-background-color 44 | color: $menu-item-active-color 45 | li 46 | ul 47 | +ltr-property("border", $menu-list-border-left, false) 48 | margin: $menu-nested-list-margin 49 | +ltr-property("padding", $menu-nested-list-padding-left, false) 50 | 51 | .menu-label 52 | color: $menu-label-color 53 | font-size: $menu-label-font-size 54 | letter-spacing: $menu-label-letter-spacing 55 | text-transform: uppercase 56 | &:not(:first-child) 57 | margin-top: $menu-label-spacing 58 | &:not(:last-child) 59 | margin-bottom: $menu-label-spacing 60 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/form/shared.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/controls" 2 | @import "../utilities/mixins" 3 | 4 | $form-colors: $colors !default 5 | 6 | $input-color: $text-strong !default 7 | $input-background-color: $scheme-main !default 8 | $input-border-color: $border !default 9 | $input-height: $control-height !default 10 | $input-shadow: inset 0 0.0625em 0.125em rgba($scheme-invert, 0.05) !default 11 | $input-placeholder-color: bulmaRgba($input-color, 0.3) !default 12 | 13 | $input-hover-color: $text-strong !default 14 | $input-hover-border-color: $border-hover !default 15 | 16 | $input-focus-color: $text-strong !default 17 | $input-focus-border-color: $link !default 18 | $input-focus-box-shadow-size: 0 0 0 0.125em !default 19 | $input-focus-box-shadow-color: bulmaRgba($link, 0.25) !default 20 | 21 | $input-disabled-color: $text-light !default 22 | $input-disabled-background-color: $background !default 23 | $input-disabled-border-color: $background !default 24 | $input-disabled-placeholder-color: bulmaRgba($input-disabled-color, 0.3) !default 25 | 26 | $input-arrow: $link !default 27 | 28 | $input-icon-color: $border !default 29 | $input-icon-active-color: $text !default 30 | 31 | $input-radius: $radius !default 32 | 33 | =input 34 | @extend %control 35 | background-color: $input-background-color 36 | border-color: $input-border-color 37 | border-radius: $input-radius 38 | color: $input-color 39 | +placeholder 40 | color: $input-placeholder-color 41 | &:hover, 42 | &.is-hovered 43 | border-color: $input-hover-border-color 44 | &:focus, 45 | &.is-focused, 46 | &:active, 47 | &.is-active 48 | border-color: $input-focus-border-color 49 | box-shadow: $input-focus-box-shadow-size $input-focus-box-shadow-color 50 | &[disabled], 51 | fieldset[disabled] & 52 | background-color: $input-disabled-background-color 53 | border-color: $input-disabled-border-color 54 | box-shadow: none 55 | color: $input-disabled-color 56 | +placeholder 57 | color: $input-disabled-placeholder-color 58 | 59 | %input 60 | +input 61 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/title.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $title-color: $text-strong !default 4 | $title-family: false !default 5 | $title-size: $size-3 !default 6 | $title-weight: $weight-semibold !default 7 | $title-line-height: 1.125 !default 8 | $title-strong-color: inherit !default 9 | $title-strong-weight: inherit !default 10 | $title-sub-size: 0.75em !default 11 | $title-sup-size: 0.75em !default 12 | 13 | $subtitle-color: $text !default 14 | $subtitle-family: false !default 15 | $subtitle-size: $size-5 !default 16 | $subtitle-weight: $weight-normal !default 17 | $subtitle-line-height: 1.25 !default 18 | $subtitle-strong-color: $text-strong !default 19 | $subtitle-strong-weight: $weight-semibold !default 20 | $subtitle-negative-margin: -1.25rem !default 21 | 22 | .title, 23 | .subtitle 24 | @extend %block 25 | word-break: break-word 26 | em, 27 | span 28 | font-weight: inherit 29 | sub 30 | font-size: $title-sub-size 31 | sup 32 | font-size: $title-sup-size 33 | .tag 34 | vertical-align: middle 35 | 36 | .title 37 | color: $title-color 38 | @if $title-family 39 | font-family: $title-family 40 | font-size: $title-size 41 | font-weight: $title-weight 42 | line-height: $title-line-height 43 | strong 44 | color: $title-strong-color 45 | font-weight: $title-strong-weight 46 | &:not(.is-spaced) + .subtitle 47 | margin-top: $subtitle-negative-margin 48 | // Sizes 49 | @each $size in $sizes 50 | $i: index($sizes, $size) 51 | &.is-#{$i} 52 | font-size: $size 53 | 54 | .subtitle 55 | color: $subtitle-color 56 | @if $subtitle-family 57 | font-family: $subtitle-family 58 | font-size: $subtitle-size 59 | font-weight: $subtitle-weight 60 | line-height: $subtitle-line-height 61 | strong 62 | color: $subtitle-strong-color 63 | font-weight: $subtitle-strong-weight 64 | &:not(.is-spaced) + .title 65 | margin-top: $subtitle-negative-margin 66 | // Sizes 67 | @each $size in $sizes 68 | $i: index($sizes, $size) 69 | &.is-#{$i} 70 | font-size: $size 71 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/breadcrumb.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $breadcrumb-item-color: $link !default 4 | $breadcrumb-item-hover-color: $link-hover !default 5 | $breadcrumb-item-active-color: $text-strong !default 6 | 7 | $breadcrumb-item-padding-vertical: 0 !default 8 | $breadcrumb-item-padding-horizontal: 0.75em !default 9 | 10 | $breadcrumb-item-separator-color: $border-hover !default 11 | 12 | .breadcrumb 13 | @extend %block 14 | @extend %unselectable 15 | font-size: $size-normal 16 | white-space: nowrap 17 | a 18 | align-items: center 19 | color: $breadcrumb-item-color 20 | display: flex 21 | justify-content: center 22 | padding: $breadcrumb-item-padding-vertical $breadcrumb-item-padding-horizontal 23 | &:hover 24 | color: $breadcrumb-item-hover-color 25 | li 26 | align-items: center 27 | display: flex 28 | &:first-child a 29 | +ltr-property("padding", 0, false) 30 | &.is-active 31 | a 32 | color: $breadcrumb-item-active-color 33 | cursor: default 34 | pointer-events: none 35 | & + li::before 36 | color: $breadcrumb-item-separator-color 37 | content: "\0002f" 38 | ul, 39 | ol 40 | align-items: flex-start 41 | display: flex 42 | flex-wrap: wrap 43 | justify-content: flex-start 44 | .icon 45 | &:first-child 46 | +ltr-property("margin", 0.5em) 47 | &:last-child 48 | +ltr-property("margin", 0.5em, false) 49 | // Alignment 50 | &.is-centered 51 | ol, 52 | ul 53 | justify-content: center 54 | &.is-right 55 | ol, 56 | ul 57 | justify-content: flex-end 58 | // Sizes 59 | &.is-small 60 | font-size: $size-small 61 | &.is-medium 62 | font-size: $size-medium 63 | &.is-large 64 | font-size: $size-large 65 | // Styles 66 | &.has-arrow-separator 67 | li + li::before 68 | content: "\02192" 69 | &.has-bullet-separator 70 | li + li::before 71 | content: "\02022" 72 | &.has-dot-separator 73 | li + li::before 74 | content: "\000b7" 75 | &.has-succeeds-separator 76 | li + li::before 77 | content: "\0227B" 78 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/form/select.sass: -------------------------------------------------------------------------------- 1 | $select-colors: $form-colors !default 2 | 3 | .select 4 | display: inline-block 5 | max-width: 100% 6 | position: relative 7 | vertical-align: top 8 | &:not(.is-multiple) 9 | height: $input-height 10 | &:not(.is-multiple):not(.is-loading) 11 | &::after 12 | @extend %arrow 13 | border-color: $input-arrow 14 | +ltr-position(1.125em) 15 | z-index: 4 16 | &.is-rounded 17 | select 18 | border-radius: $radius-rounded 19 | +ltr-property("padding", 1em, false) 20 | select 21 | @extend %input 22 | cursor: pointer 23 | display: block 24 | font-size: 1em 25 | max-width: 100% 26 | outline: none 27 | &::-ms-expand 28 | display: none 29 | &[disabled]:hover, 30 | fieldset[disabled] &:hover 31 | border-color: $input-disabled-border-color 32 | &:not([multiple]) 33 | +ltr-property("padding", 2.5em) 34 | &[multiple] 35 | height: auto 36 | padding: 0 37 | option 38 | padding: 0.5em 1em 39 | // States 40 | &:not(.is-multiple):not(.is-loading):hover 41 | &::after 42 | border-color: $input-hover-color 43 | // Colors 44 | @each $name, $pair in $select-colors 45 | $color: nth($pair, 1) 46 | &.is-#{$name} 47 | &:not(:hover)::after 48 | border-color: $color 49 | select 50 | border-color: $color 51 | &:hover, 52 | &.is-hovered 53 | border-color: bulmaDarken($color, 5%) 54 | &:focus, 55 | &.is-focused, 56 | &:active, 57 | &.is-active 58 | box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25) 59 | // Sizes 60 | &.is-small 61 | +control-small 62 | &.is-medium 63 | +control-medium 64 | &.is-large 65 | +control-large 66 | // Modifiers 67 | &.is-disabled 68 | &::after 69 | border-color: $input-disabled-color 70 | &.is-fullwidth 71 | width: 100% 72 | select 73 | width: 100% 74 | &.is-loading 75 | &::after 76 | @extend %loader 77 | margin-top: 0 78 | position: absolute 79 | +ltr-position(0.625em) 80 | top: 0.625em 81 | transform: none 82 | &.is-small:after 83 | font-size: $size-small 84 | &.is-medium:after 85 | font-size: $size-medium 86 | &.is-large:after 87 | font-size: $size-large 88 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/progress.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $progress-bar-background-color: $border-light !default 4 | $progress-value-background-color: $text !default 5 | $progress-border-radius: $radius-rounded !default 6 | 7 | $progress-indeterminate-duration: 1.5s !default 8 | 9 | $progress-colors: $colors !default 10 | 11 | .progress 12 | @extend %block 13 | -moz-appearance: none 14 | -webkit-appearance: none 15 | border: none 16 | border-radius: $progress-border-radius 17 | display: block 18 | height: $size-normal 19 | overflow: hidden 20 | padding: 0 21 | width: 100% 22 | &::-webkit-progress-bar 23 | background-color: $progress-bar-background-color 24 | &::-webkit-progress-value 25 | background-color: $progress-value-background-color 26 | &::-moz-progress-bar 27 | background-color: $progress-value-background-color 28 | &::-ms-fill 29 | background-color: $progress-value-background-color 30 | border: none 31 | // Colors 32 | @each $name, $pair in $progress-colors 33 | $color: nth($pair, 1) 34 | &.is-#{$name} 35 | &::-webkit-progress-value 36 | background-color: $color 37 | &::-moz-progress-bar 38 | background-color: $color 39 | &::-ms-fill 40 | background-color: $color 41 | &:indeterminate 42 | background-image: linear-gradient(to right, $color 30%, $progress-bar-background-color 30%) 43 | 44 | &:indeterminate 45 | animation-duration: $progress-indeterminate-duration 46 | animation-iteration-count: infinite 47 | animation-name: moveIndeterminate 48 | animation-timing-function: linear 49 | background-color: $progress-bar-background-color 50 | background-image: linear-gradient(to right, $text 30%, $progress-bar-background-color 30%) 51 | background-position: top left 52 | background-repeat: no-repeat 53 | background-size: 150% 150% 54 | &::-webkit-progress-bar 55 | background-color: transparent 56 | &::-moz-progress-bar 57 | background-color: transparent 58 | &::-ms-fill 59 | animation-name: none 60 | 61 | // Sizes 62 | &.is-small 63 | height: $size-small 64 | &.is-medium 65 | height: $size-medium 66 | &.is-large 67 | height: $size-large 68 | 69 | @keyframes moveIndeterminate 70 | from 71 | background-position: 200% 0 72 | to 73 | background-position: -200% 0 74 | -------------------------------------------------------------------------------- /layouts/index.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |
6 | 7 | 8 | {{ if .Site.Params.useIndexContent }} 9 |
10 |
11 |
12 |

{{ .Title | title }}

13 |

{{ .Content }}

14 |
15 |
16 |
17 | {{ end }} 18 | 19 | 20 | {{ $blogPages := where .Site.RegularPages "Type" "blog" }} 21 | {{ $paginator := ($blogPages | .Paginate) }} 22 | {{ range $paginator.Pages }} 23 |
24 |
25 |
26 | {{ with .Resources.GetMatch "header.*" }} 27 | 28 | {{ end }} 29 |
30 |
31 |
32 | 33 |
34 |
35 |

{{ .Title | title }}

36 | 37 |
38 |

39 |

{{ .Page.Description }}

40 |

{{ .Summary }}

41 | {{ if .Truncated }} 42 |
43 | Read More… 44 |
45 | {{ end }} 46 |
47 |
48 |
49 | {{ end }} 50 | 51 | 52 | 60 | 61 |
62 |
63 |
64 |
65 | {{ end }} 66 | -------------------------------------------------------------------------------- /.flox/env/manifest.toml: -------------------------------------------------------------------------------- 1 | # 2 | # This is a Flox environment manifest. 3 | # Visit flox.dev/docs/concepts/manifest/ 4 | # or see flox-edit(1), manifest.toml(5) for more information. 5 | # 6 | # Flox manifest version managed by Flox CLI 7 | version = 1 8 | 9 | # List packages you wish to install in your environment inside 10 | # the `[install]` section. 11 | [install] 12 | hugo.pkg-path = "hugo" 13 | # hello.pkg-path = "hello" 14 | # nodejs = { version = "^20.15.1", pkg-path = "nodejs" } 15 | 16 | # Set environment variables in the `[vars]` section. These variables may not 17 | # reference one another, and are added to the environment without first 18 | # expanding them. They are available for use in the `[profile]` and `[hook]` 19 | # scripts. 20 | [vars] 21 | # message = "Howdy" 22 | 23 | # The `hook.on-activate` script is run by the *bash* shell immediately upon 24 | # activating an environment, and will not be invoked if Flox detects that the 25 | # environment has previously been activated. Variables set by the script will 26 | # be inherited by `[profile]` scripts defined below. Note that any stdout 27 | # generated by the script will be redirected to stderr. 28 | [hook] 29 | # on-activate = ''' 30 | # # Set variables, create files and directories 31 | # venv_dir="$(mktemp -d)" 32 | # export venv_dir 33 | # 34 | # # Perform initialization steps, e.g. create a python venv 35 | # python -m venv "$venv_dir" 36 | # ''' 37 | 38 | # Scripts defined in the `[profile]` section are *sourced* by *your shell* and 39 | # inherit environment variables set in the `[vars]` section and by `[hook]` scripts. 40 | # The `profile.common` script is sourced by all shells and special care should be 41 | # taken to ensure compatibility with all shells, after which exactly one of 42 | # `profile.{bash,fish,tcsh,zsh}` is sourced by the corresponding shell. 43 | [profile] 44 | # common = ''' 45 | # echo "it's gettin' flox in here" 46 | # ''' 47 | 48 | # The `[services]` section of the manifest allows you to define services. 49 | # Services defined here use the packages provided by the `[install]` section 50 | # and any variables you've defined in the `[vars]` section or `hook.on-activate` script. 51 | [services] 52 | # postgres.command = "postgres --config-file=pg.conf" 53 | 54 | # Additional options can be set in the `[options]` section. Refer to 55 | # manifest.toml(5) for a list of available options. 56 | [options] 57 | systems = ["aarch64-darwin", "aarch64-linux", "x86_64-darwin", "x86_64-linux"] 58 | # Uncomment to disable CUDA detection. 59 | # cuda-detection = false 60 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/dropdown.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $dropdown-menu-min-width: 12rem !default 4 | 5 | $dropdown-content-background-color: $scheme-main !default 6 | $dropdown-content-arrow: $link !default 7 | $dropdown-content-offset: 4px !default 8 | $dropdown-content-padding-bottom: 0.5rem !default 9 | $dropdown-content-padding-top: 0.5rem !default 10 | $dropdown-content-radius: $radius !default 11 | $dropdown-content-shadow: $shadow !default 12 | $dropdown-content-z: 20 !default 13 | 14 | $dropdown-item-color: $text !default 15 | $dropdown-item-hover-color: $scheme-invert !default 16 | $dropdown-item-hover-background-color: $background !default 17 | $dropdown-item-active-color: $link-invert !default 18 | $dropdown-item-active-background-color: $link !default 19 | 20 | $dropdown-divider-background-color: $border-light !default 21 | 22 | .dropdown 23 | display: inline-flex 24 | position: relative 25 | vertical-align: top 26 | &.is-active, 27 | &.is-hoverable:hover 28 | .dropdown-menu 29 | display: block 30 | &.is-right 31 | .dropdown-menu 32 | left: auto 33 | right: 0 34 | &.is-up 35 | .dropdown-menu 36 | bottom: 100% 37 | padding-bottom: $dropdown-content-offset 38 | padding-top: initial 39 | top: auto 40 | 41 | .dropdown-menu 42 | display: none 43 | +ltr-position(0, false) 44 | min-width: $dropdown-menu-min-width 45 | padding-top: $dropdown-content-offset 46 | position: absolute 47 | top: 100% 48 | z-index: $dropdown-content-z 49 | 50 | .dropdown-content 51 | background-color: $dropdown-content-background-color 52 | border-radius: $dropdown-content-radius 53 | box-shadow: $dropdown-content-shadow 54 | padding-bottom: $dropdown-content-padding-bottom 55 | padding-top: $dropdown-content-padding-top 56 | 57 | .dropdown-item 58 | color: $dropdown-item-color 59 | display: block 60 | font-size: 0.875rem 61 | line-height: 1.5 62 | padding: 0.375rem 1rem 63 | position: relative 64 | 65 | a.dropdown-item, 66 | button.dropdown-item 67 | +ltr-property("padding", 3rem) 68 | text-align: inherit 69 | white-space: nowrap 70 | width: 100% 71 | &:hover 72 | background-color: $dropdown-item-hover-background-color 73 | color: $dropdown-item-hover-color 74 | &.is-active 75 | background-color: $dropdown-item-active-background-color 76 | color: $dropdown-item-active-color 77 | 78 | .dropdown-divider 79 | background-color: $dropdown-divider-background-color 80 | border: none 81 | display: block 82 | height: 1px 83 | margin: 0.5rem 0 84 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/initial-variables.sass: -------------------------------------------------------------------------------- 1 | // Colors 2 | 3 | $black: hsl(0, 0%, 4%) !default 4 | $black-bis: hsl(0, 0%, 7%) !default 5 | $black-ter: hsl(0, 0%, 14%) !default 6 | 7 | $grey-darker: hsl(0, 0%, 21%) !default 8 | $grey-dark: hsl(0, 0%, 29%) !default 9 | $grey: hsl(0, 0%, 48%) !default 10 | $grey-light: hsl(0, 0%, 71%) !default 11 | $grey-lighter: hsl(0, 0%, 86%) !default 12 | $grey-lightest: hsl(0, 0%, 93%) !default 13 | 14 | $white-ter: hsl(0, 0%, 96%) !default 15 | $white-bis: hsl(0, 0%, 98%) !default 16 | $white: hsl(0, 0%, 100%) !default 17 | 18 | $orange: hsl(14, 100%, 53%) !default 19 | $yellow: hsl(44, 100%, 77%) !default 20 | $green: hsl(153, 53%, 53%) !default 21 | $turquoise: hsl(171, 100%, 41%) !default 22 | $cyan: hsl(207, 61%, 53%) !default 23 | $blue: hsl(229, 53%, 53%) !default 24 | $purple: hsl(271, 100%, 71%) !default 25 | $red: hsl(348, 86%, 61%) !default 26 | 27 | // Typography 28 | 29 | $family-sans-serif: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !default 30 | $family-monospace: monospace !default 31 | $render-mode: optimizeLegibility !default 32 | 33 | $size-1: 3rem !default 34 | $size-2: 2.5rem !default 35 | $size-3: 2rem !default 36 | $size-4: 1.5rem !default 37 | $size-5: 1.25rem !default 38 | $size-6: 1rem !default 39 | $size-7: 0.75rem !default 40 | 41 | $weight-light: 300 !default 42 | $weight-normal: 400 !default 43 | $weight-medium: 500 !default 44 | $weight-semibold: 600 !default 45 | $weight-bold: 700 !default 46 | 47 | // Spacing 48 | 49 | $block-spacing: 1.5rem !default 50 | 51 | // Responsiveness 52 | 53 | // The container horizontal gap, which acts as the offset for breakpoints 54 | $gap: 32px !default 55 | // 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16 56 | $tablet: 769px !default 57 | // 960px container + 4rem 58 | $desktop: 960px + (2 * $gap) !default 59 | // 1152px container + 4rem 60 | $widescreen: 1152px + (2 * $gap) !default 61 | $widescreen-enabled: true !default 62 | // 1344px container + 4rem 63 | $fullhd: 1344px + (2 * $gap) !default 64 | $fullhd-enabled: true !default 65 | 66 | // Miscellaneous 67 | 68 | $easing: ease-out !default 69 | $radius-small: 2px !default 70 | $radius: 4px !default 71 | $radius-large: 6px !default 72 | $radius-rounded: 9999px !default 73 | $speed: 86ms !default 74 | 75 | // Flags 76 | 77 | $variable-columns: true !default 78 | $rtl: false !default 79 | -------------------------------------------------------------------------------- /assets/css/bulma/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "bulma@0.9.3", 3 | "_id": "bulma@0.9.3", 4 | "_inBundle": false, 5 | "_integrity": "sha512-0d7GNW1PY4ud8TWxdNcP6Cc8Bu7MxcntD/RRLGWuiw/s0a9P+XlH/6QoOIrmbj6o8WWJzJYhytiu9nFjTszk1g==", 6 | "_location": "/bulma", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "bulma@0.9.3", 12 | "name": "bulma", 13 | "escapedName": "bulma", 14 | "rawSpec": "0.9.3", 15 | "saveSpec": null, 16 | "fetchSpec": "0.9.3" 17 | }, 18 | "_requiredBy": [ 19 | "#USER", 20 | "/" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.3.tgz", 23 | "_shasum": "ddccb7436ebe3e21bf47afe01d3c43a296b70243", 24 | "_spec": "bulma@0.9.3", 25 | "_where": "/Users/jthomas/Desktop", 26 | "author": { 27 | "name": "Jeremy Thomas", 28 | "email": "bbxdesign@gmail.com", 29 | "url": "https://jgthms.com" 30 | }, 31 | "bugs": { 32 | "url": "https://github.com/jgthms/bulma/issues" 33 | }, 34 | "bundleDependencies": false, 35 | "deprecated": false, 36 | "description": "Modern CSS framework based on Flexbox", 37 | "devDependencies": { 38 | "autoprefixer": "^9.8.6", 39 | "clean-css-cli": "^4.3.0", 40 | "node-sass": "^4.14.1", 41 | "postcss-cli": "^7.1.2", 42 | "rimraf": "^3.0.2" 43 | }, 44 | "files": [ 45 | "css", 46 | "sass", 47 | "bulma.sass", 48 | "LICENSE", 49 | "README.md" 50 | ], 51 | "homepage": "https://bulma.io", 52 | "keywords": [ 53 | "css", 54 | "sass", 55 | "flexbox", 56 | "responsive", 57 | "framework" 58 | ], 59 | "license": "MIT", 60 | "main": "bulma.sass", 61 | "name": "bulma", 62 | "repository": { 63 | "type": "git", 64 | "url": "git+https://github.com/jgthms/bulma.git" 65 | }, 66 | "scripts": { 67 | "build": "npm run build-sass && npm run build-autoprefix && npm run build-cleancss", 68 | "build-autoprefix": "postcss --use autoprefixer --map false --output css/bulma.css css/bulma.css", 69 | "build-cleancss": "cleancss -o css/bulma.min.css css/bulma.css", 70 | "build-sass": "node-sass --output-style expanded --source-map true bulma.sass css/bulma.css", 71 | "clean": "rimraf css", 72 | "deploy": "npm run clean && npm run build && npm run rtl", 73 | "rtl": "npm run rtl-sass && npm run rtl-autoprefix && npm run rtl-cleancss", 74 | "rtl-autoprefix": "postcss --use autoprefixer --map false --output css/bulma-rtl.css css/bulma-rtl.css", 75 | "rtl-cleancss": "cleancss -o css/bulma-rtl.min.css css/bulma-rtl.css", 76 | "rtl-sass": "node-sass --output-style expanded --source-map true bulma-rtl.sass css/bulma-rtl.css", 77 | "start": "npm run build-sass -- --watch" 78 | }, 79 | "style": "bulma/css/bulma.min.css", 80 | "unpkg": "css/bulma.css", 81 | "version": "0.9.3" 82 | } 83 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/typography.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | =typography-size($target:'') 4 | @each $size in $sizes 5 | $i: index($sizes, $size) 6 | .is-size-#{$i}#{if($target == '', '', '-' + $target)} 7 | font-size: $size !important 8 | 9 | +typography-size() 10 | 11 | +mobile 12 | +typography-size('mobile') 13 | 14 | +tablet 15 | +typography-size('tablet') 16 | 17 | +touch 18 | +typography-size('touch') 19 | 20 | +desktop 21 | +typography-size('desktop') 22 | 23 | +widescreen 24 | +typography-size('widescreen') 25 | 26 | +fullhd 27 | +typography-size('fullhd') 28 | 29 | $alignments: ('centered': 'center', 'justified': 'justify', 'left': 'left', 'right': 'right') 30 | 31 | @each $alignment, $text-align in $alignments 32 | .has-text-#{$alignment} 33 | text-align: #{$text-align} !important 34 | 35 | @each $alignment, $text-align in $alignments 36 | +mobile 37 | .has-text-#{$alignment}-mobile 38 | text-align: #{$text-align} !important 39 | +tablet 40 | .has-text-#{$alignment}-tablet 41 | text-align: #{$text-align} !important 42 | +tablet-only 43 | .has-text-#{$alignment}-tablet-only 44 | text-align: #{$text-align} !important 45 | +touch 46 | .has-text-#{$alignment}-touch 47 | text-align: #{$text-align} !important 48 | +desktop 49 | .has-text-#{$alignment}-desktop 50 | text-align: #{$text-align} !important 51 | +desktop-only 52 | .has-text-#{$alignment}-desktop-only 53 | text-align: #{$text-align} !important 54 | +widescreen 55 | .has-text-#{$alignment}-widescreen 56 | text-align: #{$text-align} !important 57 | +widescreen-only 58 | .has-text-#{$alignment}-widescreen-only 59 | text-align: #{$text-align} !important 60 | +fullhd 61 | .has-text-#{$alignment}-fullhd 62 | text-align: #{$text-align} !important 63 | 64 | .is-capitalized 65 | text-transform: capitalize !important 66 | 67 | .is-lowercase 68 | text-transform: lowercase !important 69 | 70 | .is-uppercase 71 | text-transform: uppercase !important 72 | 73 | .is-italic 74 | font-style: italic !important 75 | 76 | .is-underlined 77 | text-decoration: underline !important 78 | 79 | .has-text-weight-light 80 | font-weight: $weight-light !important 81 | .has-text-weight-normal 82 | font-weight: $weight-normal !important 83 | .has-text-weight-medium 84 | font-weight: $weight-medium !important 85 | .has-text-weight-semibold 86 | font-weight: $weight-semibold !important 87 | .has-text-weight-bold 88 | font-weight: $weight-bold !important 89 | 90 | .is-family-primary 91 | font-family: $family-primary !important 92 | 93 | .is-family-secondary 94 | font-family: $family-secondary !important 95 | 96 | .is-family-sans-serif 97 | font-family: $family-sans-serif !important 98 | 99 | .is-family-monospace 100 | font-family: $family-monospace !important 101 | 102 | .is-family-code 103 | font-family: $family-code !important 104 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/card.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $card-color: $text !default 4 | $card-background-color: $scheme-main !default 5 | $card-shadow: $shadow !default 6 | $card-radius: 0.25rem !default 7 | 8 | $card-header-background-color: transparent !default 9 | $card-header-color: $text-strong !default 10 | $card-header-padding: 0.75rem 1rem !default 11 | $card-header-shadow: 0 0.125em 0.25em rgba($scheme-invert, 0.1) !default 12 | $card-header-weight: $weight-bold !default 13 | 14 | $card-content-background-color: transparent !default 15 | $card-content-padding: 1.5rem !default 16 | 17 | $card-footer-background-color: transparent !default 18 | $card-footer-border-top: 1px solid $border-light !default 19 | $card-footer-padding: 0.75rem !default 20 | 21 | $card-media-margin: $block-spacing !default 22 | 23 | .card 24 | background-color: $card-background-color 25 | border-radius: $card-radius 26 | box-shadow: $card-shadow 27 | color: $card-color 28 | max-width: 100% 29 | position: relative 30 | 31 | %card-item 32 | &:first-child 33 | border-top-left-radius: $card-radius 34 | border-top-right-radius: $card-radius 35 | &:last-child 36 | border-bottom-left-radius: $card-radius 37 | border-bottom-right-radius: $card-radius 38 | 39 | .card-header 40 | @extend %card-item 41 | background-color: $card-header-background-color 42 | align-items: stretch 43 | box-shadow: $card-header-shadow 44 | display: flex 45 | 46 | .card-header-title 47 | align-items: center 48 | color: $card-header-color 49 | display: flex 50 | flex-grow: 1 51 | font-weight: $card-header-weight 52 | padding: $card-header-padding 53 | &.is-centered 54 | justify-content: center 55 | 56 | .card-header-icon 57 | +reset 58 | align-items: center 59 | cursor: pointer 60 | display: flex 61 | justify-content: center 62 | padding: $card-header-padding 63 | 64 | .card-image 65 | display: block 66 | position: relative 67 | &:first-child 68 | img 69 | border-top-left-radius: $card-radius 70 | border-top-right-radius: $card-radius 71 | &:last-child 72 | img 73 | border-bottom-left-radius: $card-radius 74 | border-bottom-right-radius: $card-radius 75 | 76 | .card-content 77 | @extend %card-item 78 | background-color: $card-content-background-color 79 | padding: $card-content-padding 80 | 81 | .card-footer 82 | @extend %card-item 83 | background-color: $card-footer-background-color 84 | border-top: $card-footer-border-top 85 | align-items: stretch 86 | display: flex 87 | 88 | .card-footer-item 89 | align-items: center 90 | display: flex 91 | flex-basis: 0 92 | flex-grow: 1 93 | flex-shrink: 0 94 | justify-content: center 95 | padding: $card-footer-padding 96 | &:not(:last-child) 97 | +ltr-property("border", $card-footer-border-top) 98 | 99 | // Combinations 100 | 101 | .card 102 | .media:not(:last-child) 103 | margin-bottom: $card-media-margin 104 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/helpers/visibility.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $displays: 'block' 'flex' 'inline' 'inline-block' 'inline-flex' 4 | 5 | @each $display in $displays 6 | .is-#{$display} 7 | display: #{$display} !important 8 | +mobile 9 | .is-#{$display}-mobile 10 | display: #{$display} !important 11 | +tablet 12 | .is-#{$display}-tablet 13 | display: #{$display} !important 14 | +tablet-only 15 | .is-#{$display}-tablet-only 16 | display: #{$display} !important 17 | +touch 18 | .is-#{$display}-touch 19 | display: #{$display} !important 20 | +desktop 21 | .is-#{$display}-desktop 22 | display: #{$display} !important 23 | +desktop-only 24 | .is-#{$display}-desktop-only 25 | display: #{$display} !important 26 | +widescreen 27 | .is-#{$display}-widescreen 28 | display: #{$display} !important 29 | +widescreen-only 30 | .is-#{$display}-widescreen-only 31 | display: #{$display} !important 32 | +fullhd 33 | .is-#{$display}-fullhd 34 | display: #{$display} !important 35 | 36 | .is-hidden 37 | display: none !important 38 | 39 | .is-sr-only 40 | border: none !important 41 | clip: rect(0, 0, 0, 0) !important 42 | height: 0.01em !important 43 | overflow: hidden !important 44 | padding: 0 !important 45 | position: absolute !important 46 | white-space: nowrap !important 47 | width: 0.01em !important 48 | 49 | +mobile 50 | .is-hidden-mobile 51 | display: none !important 52 | 53 | +tablet 54 | .is-hidden-tablet 55 | display: none !important 56 | 57 | +tablet-only 58 | .is-hidden-tablet-only 59 | display: none !important 60 | 61 | +touch 62 | .is-hidden-touch 63 | display: none !important 64 | 65 | +desktop 66 | .is-hidden-desktop 67 | display: none !important 68 | 69 | +desktop-only 70 | .is-hidden-desktop-only 71 | display: none !important 72 | 73 | +widescreen 74 | .is-hidden-widescreen 75 | display: none !important 76 | 77 | +widescreen-only 78 | .is-hidden-widescreen-only 79 | display: none !important 80 | 81 | +fullhd 82 | .is-hidden-fullhd 83 | display: none !important 84 | 85 | .is-invisible 86 | visibility: hidden !important 87 | 88 | +mobile 89 | .is-invisible-mobile 90 | visibility: hidden !important 91 | 92 | +tablet 93 | .is-invisible-tablet 94 | visibility: hidden !important 95 | 96 | +tablet-only 97 | .is-invisible-tablet-only 98 | visibility: hidden !important 99 | 100 | +touch 101 | .is-invisible-touch 102 | visibility: hidden !important 103 | 104 | +desktop 105 | .is-invisible-desktop 106 | visibility: hidden !important 107 | 108 | +desktop-only 109 | .is-invisible-desktop-only 110 | visibility: hidden !important 111 | 112 | +widescreen 113 | .is-invisible-widescreen 114 | visibility: hidden !important 115 | 116 | +widescreen-only 117 | .is-invisible-widescreen-only 118 | visibility: hidden !important 119 | 120 | +fullhd 121 | .is-invisible-fullhd 122 | visibility: hidden !important 123 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/base/generic.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $body-background-color: $scheme-main !default 4 | $body-size: 16px !default 5 | $body-min-width: 300px !default 6 | $body-rendering: optimizeLegibility !default 7 | $body-family: $family-primary !default 8 | $body-overflow-x: hidden !default 9 | $body-overflow-y: scroll !default 10 | 11 | $body-color: $text !default 12 | $body-font-size: 1em !default 13 | $body-weight: $weight-normal !default 14 | $body-line-height: 1.5 !default 15 | 16 | $code-family: $family-code !default 17 | $code-padding: 0.25em 0.5em 0.25em !default 18 | $code-weight: normal !default 19 | $code-size: 0.875em !default 20 | 21 | $small-font-size: 0.875em !default 22 | 23 | $hr-background-color: $background !default 24 | $hr-height: 2px !default 25 | $hr-margin: 1.5rem 0 !default 26 | 27 | $strong-color: $text-strong !default 28 | $strong-weight: $weight-bold !default 29 | 30 | $pre-font-size: 0.875em !default 31 | $pre-padding: 1.25rem 1.5rem !default 32 | $pre-code-font-size: 1em !default 33 | 34 | html 35 | background-color: $body-background-color 36 | font-size: $body-size 37 | -moz-osx-font-smoothing: grayscale 38 | -webkit-font-smoothing: antialiased 39 | min-width: $body-min-width 40 | overflow-x: $body-overflow-x 41 | overflow-y: $body-overflow-y 42 | text-rendering: $body-rendering 43 | text-size-adjust: 100% 44 | 45 | article, 46 | aside, 47 | figure, 48 | footer, 49 | header, 50 | hgroup, 51 | section 52 | display: block 53 | 54 | body, 55 | button, 56 | input, 57 | optgroup, 58 | select, 59 | textarea 60 | font-family: $body-family 61 | 62 | code, 63 | pre 64 | -moz-osx-font-smoothing: auto 65 | -webkit-font-smoothing: auto 66 | font-family: $code-family 67 | 68 | body 69 | color: $body-color 70 | font-size: $body-font-size 71 | font-weight: $body-weight 72 | line-height: $body-line-height 73 | 74 | // Inline 75 | 76 | a 77 | color: $link 78 | cursor: pointer 79 | text-decoration: none 80 | strong 81 | color: currentColor 82 | &:hover 83 | color: $link-hover 84 | 85 | code 86 | background-color: $code-background 87 | color: $code 88 | font-size: $code-size 89 | font-weight: $code-weight 90 | padding: $code-padding 91 | 92 | hr 93 | background-color: $hr-background-color 94 | border: none 95 | display: block 96 | height: $hr-height 97 | margin: $hr-margin 98 | 99 | img 100 | height: auto 101 | max-width: 100% 102 | 103 | input[type="checkbox"], 104 | input[type="radio"] 105 | vertical-align: baseline 106 | 107 | small 108 | font-size: $small-font-size 109 | 110 | span 111 | font-style: inherit 112 | font-weight: inherit 113 | 114 | strong 115 | color: $strong-color 116 | font-weight: $strong-weight 117 | 118 | // Block 119 | 120 | fieldset 121 | border: none 122 | 123 | pre 124 | +overflow-touch 125 | background-color: $pre-background 126 | color: $pre 127 | font-size: $pre-font-size 128 | overflow-x: auto 129 | padding: $pre-padding 130 | white-space: pre 131 | word-wrap: normal 132 | code 133 | background-color: transparent 134 | color: currentColor 135 | font-size: $pre-code-font-size 136 | padding: 0 137 | 138 | table 139 | td, 140 | th 141 | vertical-align: top 142 | &:not([align]) 143 | text-align: inherit 144 | th 145 | color: $text-strong 146 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/message.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $message-background-color: $background !default 4 | $message-radius: $radius !default 5 | 6 | $message-header-background-color: $text !default 7 | $message-header-color: $text-invert !default 8 | $message-header-weight: $weight-bold !default 9 | $message-header-padding: 0.75em 1em !default 10 | $message-header-radius: $radius !default 11 | 12 | $message-body-border-color: $border !default 13 | $message-body-border-width: 0 0 0 4px !default 14 | $message-body-color: $text !default 15 | $message-body-padding: 1.25em 1.5em !default 16 | $message-body-radius: $radius !default 17 | 18 | $message-body-pre-background-color: $scheme-main !default 19 | $message-body-pre-code-background-color: transparent !default 20 | 21 | $message-header-body-border-width: 0 !default 22 | $message-colors: $colors !default 23 | 24 | .message 25 | @extend %block 26 | background-color: $message-background-color 27 | border-radius: $message-radius 28 | font-size: $size-normal 29 | strong 30 | color: currentColor 31 | a:not(.button):not(.tag):not(.dropdown-item) 32 | color: currentColor 33 | text-decoration: underline 34 | // Sizes 35 | &.is-small 36 | font-size: $size-small 37 | &.is-medium 38 | font-size: $size-medium 39 | &.is-large 40 | font-size: $size-large 41 | // Colors 42 | @each $name, $components in $message-colors 43 | $color: nth($components, 1) 44 | $color-invert: nth($components, 2) 45 | $color-light: null 46 | $color-dark: null 47 | 48 | @if length($components) >= 3 49 | $color-light: nth($components, 3) 50 | @if length($components) >= 4 51 | $color-dark: nth($components, 4) 52 | @else 53 | $color-luminance: colorLuminance($color) 54 | $darken-percentage: $color-luminance * 70% 55 | $desaturate-percentage: $color-luminance * 30% 56 | $color-dark: desaturate(darken($color, $darken-percentage), $desaturate-percentage) 57 | @else 58 | $color-lightning: max((100% - lightness($color)) - 2%, 0%) 59 | $color-light: lighten($color, $color-lightning) 60 | 61 | &.is-#{$name} 62 | background-color: $color-light 63 | .message-header 64 | background-color: $color 65 | color: $color-invert 66 | .message-body 67 | border-color: $color 68 | color: $color-dark 69 | 70 | .message-header 71 | align-items: center 72 | background-color: $message-header-background-color 73 | border-radius: $message-header-radius $message-header-radius 0 0 74 | color: $message-header-color 75 | display: flex 76 | font-weight: $message-header-weight 77 | justify-content: space-between 78 | line-height: 1.25 79 | padding: $message-header-padding 80 | position: relative 81 | .delete 82 | flex-grow: 0 83 | flex-shrink: 0 84 | +ltr-property("margin", 0.75em, false) 85 | & + .message-body 86 | border-width: $message-header-body-border-width 87 | border-top-left-radius: 0 88 | border-top-right-radius: 0 89 | 90 | .message-body 91 | border-color: $message-body-border-color 92 | border-radius: $message-body-radius 93 | border-style: solid 94 | border-width: $message-body-border-width 95 | color: $message-body-color 96 | padding: $message-body-padding 97 | code, 98 | pre 99 | background-color: $message-body-pre-background-color 100 | pre code 101 | background-color: $message-body-pre-code-background-color 102 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/modal.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $modal-z: 40 !default 4 | 5 | $modal-background-background-color: bulmaRgba($scheme-invert, 0.86) !default 6 | 7 | $modal-content-width: 640px !default 8 | $modal-content-margin-mobile: 20px !default 9 | $modal-content-spacing-mobile: 160px !default 10 | $modal-content-spacing-tablet: 40px !default 11 | 12 | $modal-close-dimensions: 40px !default 13 | $modal-close-right: 20px !default 14 | $modal-close-top: 20px !default 15 | 16 | $modal-card-spacing: 40px !default 17 | 18 | $modal-card-head-background-color: $background !default 19 | $modal-card-head-border-bottom: 1px solid $border !default 20 | $modal-card-head-padding: 20px !default 21 | $modal-card-head-radius: $radius-large !default 22 | 23 | $modal-card-title-color: $text-strong !default 24 | $modal-card-title-line-height: 1 !default 25 | $modal-card-title-size: $size-4 !default 26 | 27 | $modal-card-foot-radius: $radius-large !default 28 | $modal-card-foot-border-top: 1px solid $border !default 29 | 30 | $modal-card-body-background-color: $scheme-main !default 31 | $modal-card-body-padding: 20px !default 32 | 33 | $modal-breakpoint: $tablet !default 34 | 35 | .modal 36 | @extend %overlay 37 | align-items: center 38 | display: none 39 | flex-direction: column 40 | justify-content: center 41 | overflow: hidden 42 | position: fixed 43 | z-index: $modal-z 44 | // Modifiers 45 | &.is-active 46 | display: flex 47 | 48 | .modal-background 49 | @extend %overlay 50 | background-color: $modal-background-background-color 51 | 52 | .modal-content, 53 | .modal-card 54 | margin: 0 $modal-content-margin-mobile 55 | max-height: calc(100vh - #{$modal-content-spacing-mobile}) 56 | overflow: auto 57 | position: relative 58 | width: 100% 59 | // Responsiveness 60 | +from($modal-breakpoint) 61 | margin: 0 auto 62 | max-height: calc(100vh - #{$modal-content-spacing-tablet}) 63 | width: $modal-content-width 64 | 65 | .modal-close 66 | @extend %delete 67 | background: none 68 | height: $modal-close-dimensions 69 | position: fixed 70 | +ltr-position($modal-close-right) 71 | top: $modal-close-top 72 | width: $modal-close-dimensions 73 | 74 | .modal-card 75 | display: flex 76 | flex-direction: column 77 | max-height: calc(100vh - #{$modal-card-spacing}) 78 | overflow: hidden 79 | -ms-overflow-y: visible 80 | 81 | .modal-card-head, 82 | .modal-card-foot 83 | align-items: center 84 | background-color: $modal-card-head-background-color 85 | display: flex 86 | flex-shrink: 0 87 | justify-content: flex-start 88 | padding: $modal-card-head-padding 89 | position: relative 90 | 91 | .modal-card-head 92 | border-bottom: $modal-card-head-border-bottom 93 | border-top-left-radius: $modal-card-head-radius 94 | border-top-right-radius: $modal-card-head-radius 95 | 96 | .modal-card-title 97 | color: $modal-card-title-color 98 | flex-grow: 1 99 | flex-shrink: 0 100 | font-size: $modal-card-title-size 101 | line-height: $modal-card-title-line-height 102 | 103 | .modal-card-foot 104 | border-bottom-left-radius: $modal-card-foot-radius 105 | border-bottom-right-radius: $modal-card-foot-radius 106 | border-top: $modal-card-foot-border-top 107 | .button 108 | &:not(:last-child) 109 | +ltr-property("margin", 0.5em) 110 | 111 | .modal-card-body 112 | +overflow-touch 113 | background-color: $modal-card-body-background-color 114 | flex-grow: 1 115 | flex-shrink: 1 116 | overflow: auto 117 | padding: $modal-card-body-padding 118 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/panel.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $panel-margin: $block-spacing !default 4 | $panel-item-border: 1px solid $border-light !default 5 | $panel-radius: $radius-large !default 6 | $panel-shadow: $shadow !default 7 | 8 | $panel-heading-background-color: $border-light !default 9 | $panel-heading-color: $text-strong !default 10 | $panel-heading-line-height: 1.25 !default 11 | $panel-heading-padding: 0.75em 1em !default 12 | $panel-heading-radius: $radius !default 13 | $panel-heading-size: 1.25em !default 14 | $panel-heading-weight: $weight-bold !default 15 | 16 | $panel-tabs-font-size: 0.875em !default 17 | $panel-tab-border-bottom: 1px solid $border !default 18 | $panel-tab-active-border-bottom-color: $link-active-border !default 19 | $panel-tab-active-color: $link-active !default 20 | 21 | $panel-list-item-color: $text !default 22 | $panel-list-item-hover-color: $link !default 23 | 24 | $panel-block-color: $text-strong !default 25 | $panel-block-hover-background-color: $background !default 26 | $panel-block-active-border-left-color: $link !default 27 | $panel-block-active-color: $link-active !default 28 | $panel-block-active-icon-color: $link !default 29 | 30 | $panel-icon-color: $text-light !default 31 | $panel-colors: $colors !default 32 | 33 | .panel 34 | border-radius: $panel-radius 35 | box-shadow: $panel-shadow 36 | font-size: $size-normal 37 | &:not(:last-child) 38 | margin-bottom: $panel-margin 39 | // Colors 40 | @each $name, $components in $panel-colors 41 | $color: nth($components, 1) 42 | $color-invert: nth($components, 2) 43 | &.is-#{$name} 44 | .panel-heading 45 | background-color: $color 46 | color: $color-invert 47 | .panel-tabs a.is-active 48 | border-bottom-color: $color 49 | .panel-block.is-active .panel-icon 50 | color: $color 51 | 52 | .panel-tabs, 53 | .panel-block 54 | &:not(:last-child) 55 | border-bottom: $panel-item-border 56 | 57 | .panel-heading 58 | background-color: $panel-heading-background-color 59 | border-radius: $panel-radius $panel-radius 0 0 60 | color: $panel-heading-color 61 | font-size: $panel-heading-size 62 | font-weight: $panel-heading-weight 63 | line-height: $panel-heading-line-height 64 | padding: $panel-heading-padding 65 | 66 | .panel-tabs 67 | align-items: flex-end 68 | display: flex 69 | font-size: $panel-tabs-font-size 70 | justify-content: center 71 | a 72 | border-bottom: $panel-tab-border-bottom 73 | margin-bottom: -1px 74 | padding: 0.5em 75 | // Modifiers 76 | &.is-active 77 | border-bottom-color: $panel-tab-active-border-bottom-color 78 | color: $panel-tab-active-color 79 | 80 | .panel-list 81 | a 82 | color: $panel-list-item-color 83 | &:hover 84 | color: $panel-list-item-hover-color 85 | 86 | .panel-block 87 | align-items: center 88 | color: $panel-block-color 89 | display: flex 90 | justify-content: flex-start 91 | padding: 0.5em 0.75em 92 | input[type="checkbox"] 93 | +ltr-property("margin", 0.75em) 94 | & > .control 95 | flex-grow: 1 96 | flex-shrink: 1 97 | width: 100% 98 | &.is-wrapped 99 | flex-wrap: wrap 100 | &.is-active 101 | border-left-color: $panel-block-active-border-left-color 102 | color: $panel-block-active-color 103 | .panel-icon 104 | color: $panel-block-active-icon-color 105 | &:last-child 106 | border-bottom-left-radius: $panel-radius 107 | border-bottom-right-radius: $panel-radius 108 | 109 | a.panel-block, 110 | label.panel-block 111 | cursor: pointer 112 | &:hover 113 | background-color: $panel-block-hover-background-color 114 | 115 | .panel-icon 116 | +fa(14px, 1em) 117 | color: $panel-icon-color 118 | +ltr-property("margin", 0.75em) 119 | .fa 120 | font-size: inherit 121 | line-height: inherit 122 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/table.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $table-color: $text-strong !default 4 | $table-background-color: $scheme-main !default 5 | 6 | $table-cell-border: 1px solid $border !default 7 | $table-cell-border-width: 0 0 1px !default 8 | $table-cell-padding: 0.5em 0.75em !default 9 | $table-cell-heading-color: $text-strong !default 10 | 11 | $table-head-cell-border-width: 0 0 2px !default 12 | $table-head-cell-color: $text-strong !default 13 | $table-foot-cell-border-width: 2px 0 0 !default 14 | $table-foot-cell-color: $text-strong !default 15 | 16 | $table-head-background-color: transparent !default 17 | $table-body-background-color: transparent !default 18 | $table-foot-background-color: transparent !default 19 | 20 | $table-row-hover-background-color: $scheme-main-bis !default 21 | 22 | $table-row-active-background-color: $primary !default 23 | $table-row-active-color: $primary-invert !default 24 | 25 | $table-striped-row-even-background-color: $scheme-main-bis !default 26 | $table-striped-row-even-hover-background-color: $scheme-main-ter !default 27 | 28 | $table-colors: $colors !default 29 | 30 | .table 31 | @extend %block 32 | background-color: $table-background-color 33 | color: $table-color 34 | td, 35 | th 36 | border: $table-cell-border 37 | border-width: $table-cell-border-width 38 | padding: $table-cell-padding 39 | vertical-align: top 40 | // Colors 41 | @each $name, $pair in $table-colors 42 | $color: nth($pair, 1) 43 | $color-invert: nth($pair, 2) 44 | &.is-#{$name} 45 | background-color: $color 46 | border-color: $color 47 | color: $color-invert 48 | // Modifiers 49 | &.is-narrow 50 | white-space: nowrap 51 | width: 1% 52 | &.is-selected 53 | background-color: $table-row-active-background-color 54 | color: $table-row-active-color 55 | a, 56 | strong 57 | color: currentColor 58 | &.is-vcentered 59 | vertical-align: middle 60 | th 61 | color: $table-cell-heading-color 62 | &:not([align]) 63 | text-align: inherit 64 | tr 65 | &.is-selected 66 | background-color: $table-row-active-background-color 67 | color: $table-row-active-color 68 | a, 69 | strong 70 | color: currentColor 71 | td, 72 | th 73 | border-color: $table-row-active-color 74 | color: currentColor 75 | thead 76 | background-color: $table-head-background-color 77 | td, 78 | th 79 | border-width: $table-head-cell-border-width 80 | color: $table-head-cell-color 81 | tfoot 82 | background-color: $table-foot-background-color 83 | td, 84 | th 85 | border-width: $table-foot-cell-border-width 86 | color: $table-foot-cell-color 87 | tbody 88 | background-color: $table-body-background-color 89 | tr 90 | &:last-child 91 | td, 92 | th 93 | border-bottom-width: 0 94 | // Modifiers 95 | &.is-bordered 96 | td, 97 | th 98 | border-width: 1px 99 | tr 100 | &:last-child 101 | td, 102 | th 103 | border-bottom-width: 1px 104 | &.is-fullwidth 105 | width: 100% 106 | &.is-hoverable 107 | tbody 108 | tr:not(.is-selected) 109 | &:hover 110 | background-color: $table-row-hover-background-color 111 | &.is-striped 112 | tbody 113 | tr:not(.is-selected) 114 | &:hover 115 | background-color: $table-row-hover-background-color 116 | &:nth-child(even) 117 | background-color: $table-striped-row-even-hover-background-color 118 | &.is-narrow 119 | td, 120 | th 121 | padding: 0.25em 0.5em 122 | &.is-striped 123 | tbody 124 | tr:not(.is-selected) 125 | &:nth-child(even) 126 | background-color: $table-striped-row-even-background-color 127 | 128 | .table-container 129 | @extend %block 130 | +overflow-touch 131 | overflow: auto 132 | overflow-y: hidden 133 | max-width: 100% 134 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/tag.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $tag-background-color: $background !default 4 | $tag-color: $text !default 5 | $tag-radius: $radius !default 6 | $tag-delete-margin: 1px !default 7 | 8 | $tag-colors: $colors !default 9 | 10 | .tags 11 | align-items: center 12 | display: flex 13 | flex-wrap: wrap 14 | justify-content: flex-start 15 | .tag 16 | margin-bottom: 0.5rem 17 | &:not(:last-child) 18 | +ltr-property("margin", 0.5rem) 19 | &:last-child 20 | margin-bottom: -0.5rem 21 | &:not(:last-child) 22 | margin-bottom: 1rem 23 | // Sizes 24 | &.are-medium 25 | .tag:not(.is-normal):not(.is-large) 26 | font-size: $size-normal 27 | &.are-large 28 | .tag:not(.is-normal):not(.is-medium) 29 | font-size: $size-medium 30 | &.is-centered 31 | justify-content: center 32 | .tag 33 | margin-right: 0.25rem 34 | margin-left: 0.25rem 35 | &.is-right 36 | justify-content: flex-end 37 | .tag 38 | &:not(:first-child) 39 | margin-left: 0.5rem 40 | &:not(:last-child) 41 | margin-right: 0 42 | &.has-addons 43 | .tag 44 | +ltr-property("margin", 0) 45 | &:not(:first-child) 46 | +ltr-property("margin", 0, false) 47 | +ltr 48 | border-top-left-radius: 0 49 | border-bottom-left-radius: 0 50 | +rtl 51 | border-top-right-radius: 0 52 | border-bottom-right-radius: 0 53 | &:not(:last-child) 54 | +ltr 55 | border-top-right-radius: 0 56 | border-bottom-right-radius: 0 57 | +rtl 58 | border-top-left-radius: 0 59 | border-bottom-left-radius: 0 60 | 61 | .tag:not(body) 62 | align-items: center 63 | background-color: $tag-background-color 64 | border-radius: $tag-radius 65 | color: $tag-color 66 | display: inline-flex 67 | font-size: $size-small 68 | height: 2em 69 | justify-content: center 70 | line-height: 1.5 71 | padding-left: 0.75em 72 | padding-right: 0.75em 73 | white-space: nowrap 74 | .delete 75 | +ltr-property("margin", 0.25rem, false) 76 | +ltr-property("margin", -0.375rem) 77 | // Colors 78 | @each $name, $pair in $tag-colors 79 | $color: nth($pair, 1) 80 | $color-invert: nth($pair, 2) 81 | &.is-#{$name} 82 | background-color: $color 83 | color: $color-invert 84 | // If a light and dark colors are provided 85 | @if length($pair) > 3 86 | $color-light: nth($pair, 3) 87 | $color-dark: nth($pair, 4) 88 | &.is-light 89 | background-color: $color-light 90 | color: $color-dark 91 | // Sizes 92 | &.is-normal 93 | font-size: $size-small 94 | &.is-medium 95 | font-size: $size-normal 96 | &.is-large 97 | font-size: $size-medium 98 | .icon 99 | &:first-child:not(:last-child) 100 | +ltr-property("margin", -0.375em, false) 101 | +ltr-property("margin", 0.1875em) 102 | &:last-child:not(:first-child) 103 | +ltr-property("margin", 0.1875em, false) 104 | +ltr-property("margin", -0.375em) 105 | &:first-child:last-child 106 | +ltr-property("margin", -0.375em, false) 107 | +ltr-property("margin", -0.375em) 108 | // Modifiers 109 | &.is-delete 110 | +ltr-property("margin", $tag-delete-margin, false) 111 | padding: 0 112 | position: relative 113 | width: 2em 114 | &::before, 115 | &::after 116 | background-color: currentColor 117 | content: "" 118 | display: block 119 | left: 50% 120 | position: absolute 121 | top: 50% 122 | transform: translateX(-50%) translateY(-50%) rotate(45deg) 123 | transform-origin: center center 124 | &::before 125 | height: 1px 126 | width: 50% 127 | &::after 128 | height: 50% 129 | width: 1px 130 | &:hover, 131 | &:focus 132 | background-color: darken($tag-background-color, 5%) 133 | &:active 134 | background-color: darken($tag-background-color, 10%) 135 | &.is-rounded 136 | border-radius: $radius-rounded 137 | 138 | a.tag 139 | &:hover 140 | text-decoration: underline 141 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/layout/hero.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $hero-body-padding: 3rem 1.5rem !default 4 | $hero-body-padding-tablet: 3rem 3rem !default 5 | $hero-body-padding-small: 1.5rem !default 6 | $hero-body-padding-medium: 9rem 4.5rem !default 7 | $hero-body-padding-large: 18rem 6rem !default 8 | 9 | $hero-colors: $colors !default 10 | 11 | // Main container 12 | .hero 13 | align-items: stretch 14 | display: flex 15 | flex-direction: column 16 | justify-content: space-between 17 | .navbar 18 | background: none 19 | .tabs 20 | ul 21 | border-bottom: none 22 | // Colors 23 | @each $name, $pair in $hero-colors 24 | $color: nth($pair, 1) 25 | $color-invert: nth($pair, 2) 26 | &.is-#{$name} 27 | background-color: $color 28 | color: $color-invert 29 | a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), 30 | strong 31 | color: inherit 32 | .title 33 | color: $color-invert 34 | .subtitle 35 | color: bulmaRgba($color-invert, 0.9) 36 | a:not(.button), 37 | strong 38 | color: $color-invert 39 | .navbar-menu 40 | +touch 41 | background-color: $color 42 | .navbar-item, 43 | .navbar-link 44 | color: bulmaRgba($color-invert, 0.7) 45 | a.navbar-item, 46 | .navbar-link 47 | &:hover, 48 | &.is-active 49 | background-color: bulmaDarken($color, 5%) 50 | color: $color-invert 51 | .tabs 52 | a 53 | color: $color-invert 54 | opacity: 0.9 55 | &:hover 56 | opacity: 1 57 | li 58 | &.is-active a 59 | color: $color !important 60 | opacity: 1 61 | &.is-boxed, 62 | &.is-toggle 63 | a 64 | color: $color-invert 65 | &:hover 66 | background-color: bulmaRgba($scheme-invert, 0.1) 67 | li.is-active a 68 | &, 69 | &:hover 70 | background-color: $color-invert 71 | border-color: $color-invert 72 | color: $color 73 | // Modifiers 74 | @if type-of($color) == 'color' 75 | &.is-bold 76 | $gradient-top-left: darken(saturate(adjust-hue($color, -10deg), 10%), 10%) 77 | $gradient-bottom-right: lighten(saturate(adjust-hue($color, 10deg), 5%), 5%) 78 | background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%) 79 | +mobile 80 | .navbar-menu 81 | background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%) 82 | // Sizes 83 | &.is-small 84 | .hero-body 85 | padding: $hero-body-padding-small 86 | &.is-medium 87 | +tablet 88 | .hero-body 89 | padding: $hero-body-padding-medium 90 | &.is-large 91 | +tablet 92 | .hero-body 93 | padding: $hero-body-padding-large 94 | &.is-halfheight, 95 | &.is-fullheight, 96 | &.is-fullheight-with-navbar 97 | .hero-body 98 | align-items: center 99 | display: flex 100 | & > .container 101 | flex-grow: 1 102 | flex-shrink: 1 103 | &.is-halfheight 104 | min-height: 50vh 105 | &.is-fullheight 106 | min-height: 100vh 107 | 108 | // Components 109 | 110 | .hero-video 111 | @extend %overlay 112 | overflow: hidden 113 | video 114 | left: 50% 115 | min-height: 100% 116 | min-width: 100% 117 | position: absolute 118 | top: 50% 119 | transform: translate3d(-50%, -50%, 0) 120 | // Modifiers 121 | &.is-transparent 122 | opacity: 0.3 123 | // Responsiveness 124 | +mobile 125 | display: none 126 | 127 | .hero-buttons 128 | margin-top: 1.5rem 129 | // Responsiveness 130 | +mobile 131 | .button 132 | display: flex 133 | &:not(:last-child) 134 | margin-bottom: 0.75rem 135 | +tablet 136 | display: flex 137 | justify-content: center 138 | .button:not(:last-child) 139 | +ltr-property("margin", 1.5rem) 140 | 141 | // Containers 142 | 143 | .hero-head, 144 | .hero-foot 145 | flex-grow: 0 146 | flex-shrink: 0 147 | 148 | .hero-body 149 | flex-grow: 1 150 | flex-shrink: 0 151 | padding: $hero-body-padding 152 | +tablet 153 | padding: $hero-body-padding-tablet 154 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/content.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $content-heading-color: $text-strong !default 4 | $content-heading-weight: $weight-semibold !default 5 | $content-heading-line-height: 1.125 !default 6 | 7 | $content-blockquote-background-color: $background !default 8 | $content-blockquote-border-left: 5px solid $border !default 9 | $content-blockquote-padding: 1.25em 1.5em !default 10 | 11 | $content-pre-padding: 1.25em 1.5em !default 12 | 13 | $content-table-cell-border: 1px solid $border !default 14 | $content-table-cell-border-width: 0 0 1px !default 15 | $content-table-cell-padding: 0.5em 0.75em !default 16 | $content-table-cell-heading-color: $text-strong !default 17 | $content-table-head-cell-border-width: 0 0 2px !default 18 | $content-table-head-cell-color: $text-strong !default 19 | $content-table-foot-cell-border-width: 2px 0 0 !default 20 | $content-table-foot-cell-color: $text-strong !default 21 | 22 | .content 23 | @extend %block 24 | // Inline 25 | li + li 26 | margin-top: 0.25em 27 | // Block 28 | p, 29 | dl, 30 | ol, 31 | ul, 32 | blockquote, 33 | pre, 34 | table 35 | &:not(:last-child) 36 | margin-bottom: 1em 37 | h1, 38 | h2, 39 | h3, 40 | h4, 41 | h5, 42 | h6 43 | color: $content-heading-color 44 | font-weight: $content-heading-weight 45 | line-height: $content-heading-line-height 46 | h1 47 | font-size: 2em 48 | margin-bottom: 0.5em 49 | &:not(:first-child) 50 | margin-top: 1em 51 | h2 52 | font-size: 1.75em 53 | margin-bottom: 0.5714em 54 | &:not(:first-child) 55 | margin-top: 1.1428em 56 | h3 57 | font-size: 1.5em 58 | margin-bottom: 0.6666em 59 | &:not(:first-child) 60 | margin-top: 1.3333em 61 | h4 62 | font-size: 1.25em 63 | margin-bottom: 0.8em 64 | h5 65 | font-size: 1.125em 66 | margin-bottom: 0.8888em 67 | h6 68 | font-size: 1em 69 | margin-bottom: 1em 70 | blockquote 71 | background-color: $content-blockquote-background-color 72 | +ltr-property("border", $content-blockquote-border-left, false) 73 | padding: $content-blockquote-padding 74 | ol 75 | list-style-position: outside 76 | +ltr-property("margin", 2em, false) 77 | margin-top: 1em 78 | &:not([type]) 79 | list-style-type: decimal 80 | &.is-lower-alpha 81 | list-style-type: lower-alpha 82 | &.is-lower-roman 83 | list-style-type: lower-roman 84 | &.is-upper-alpha 85 | list-style-type: upper-alpha 86 | &.is-upper-roman 87 | list-style-type: upper-roman 88 | ul 89 | list-style: disc outside 90 | +ltr-property("margin", 2em, false) 91 | margin-top: 1em 92 | ul 93 | list-style-type: circle 94 | margin-top: 0.5em 95 | ul 96 | list-style-type: square 97 | dd 98 | +ltr-property("margin", 2em, false) 99 | figure 100 | margin-left: 2em 101 | margin-right: 2em 102 | text-align: center 103 | &:not(:first-child) 104 | margin-top: 2em 105 | &:not(:last-child) 106 | margin-bottom: 2em 107 | img 108 | display: inline-block 109 | figcaption 110 | font-style: italic 111 | pre 112 | +overflow-touch 113 | overflow-x: auto 114 | padding: $content-pre-padding 115 | white-space: pre 116 | word-wrap: normal 117 | sup, 118 | sub 119 | font-size: 75% 120 | table 121 | width: 100% 122 | td, 123 | th 124 | border: $content-table-cell-border 125 | border-width: $content-table-cell-border-width 126 | padding: $content-table-cell-padding 127 | vertical-align: top 128 | th 129 | color: $content-table-cell-heading-color 130 | &:not([align]) 131 | text-align: inherit 132 | thead 133 | td, 134 | th 135 | border-width: $content-table-head-cell-border-width 136 | color: $content-table-head-cell-color 137 | tfoot 138 | td, 139 | th 140 | border-width: $content-table-foot-cell-border-width 141 | color: $content-table-foot-cell-color 142 | tbody 143 | tr 144 | &:last-child 145 | td, 146 | th 147 | border-bottom-width: 0 148 | .tabs 149 | li + li 150 | margin-top: 0 151 | // Sizes 152 | &.is-small 153 | font-size: $size-small 154 | &.is-normal 155 | font-size: $size-normal 156 | &.is-medium 157 | font-size: $size-medium 158 | &.is-large 159 | font-size: $size-large 160 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/derived-variables.sass: -------------------------------------------------------------------------------- 1 | @import "initial-variables" 2 | @import "functions" 3 | 4 | $primary: $turquoise !default 5 | 6 | $info: $cyan !default 7 | $success: $green !default 8 | $warning: $yellow !default 9 | $danger: $red !default 10 | 11 | $light: $white-ter !default 12 | $dark: $grey-darker !default 13 | 14 | // Invert colors 15 | 16 | $orange-invert: findColorInvert($orange) !default 17 | $yellow-invert: findColorInvert($yellow) !default 18 | $green-invert: findColorInvert($green) !default 19 | $turquoise-invert: findColorInvert($turquoise) !default 20 | $cyan-invert: findColorInvert($cyan) !default 21 | $blue-invert: findColorInvert($blue) !default 22 | $purple-invert: findColorInvert($purple) !default 23 | $red-invert: findColorInvert($red) !default 24 | 25 | $primary-invert: findColorInvert($primary) !default 26 | $primary-light: findLightColor($primary) !default 27 | $primary-dark: findDarkColor($primary) !default 28 | $info-invert: findColorInvert($info) !default 29 | $info-light: findLightColor($info) !default 30 | $info-dark: findDarkColor($info) !default 31 | $success-invert: findColorInvert($success) !default 32 | $success-light: findLightColor($success) !default 33 | $success-dark: findDarkColor($success) !default 34 | $warning-invert: findColorInvert($warning) !default 35 | $warning-light: findLightColor($warning) !default 36 | $warning-dark: findDarkColor($warning) !default 37 | $danger-invert: findColorInvert($danger) !default 38 | $danger-light: findLightColor($danger) !default 39 | $danger-dark: findDarkColor($danger) !default 40 | $light-invert: findColorInvert($light) !default 41 | $dark-invert: findColorInvert($dark) !default 42 | 43 | // General colors 44 | 45 | $scheme-main: $white !default 46 | $scheme-main-bis: $white-bis !default 47 | $scheme-main-ter: $white-ter !default 48 | $scheme-invert: $black !default 49 | $scheme-invert-bis: $black-bis !default 50 | $scheme-invert-ter: $black-ter !default 51 | 52 | $background: $white-ter !default 53 | 54 | $border: $grey-lighter !default 55 | $border-hover: $grey-light !default 56 | $border-light: $grey-lightest !default 57 | $border-light-hover: $grey-light !default 58 | 59 | // Text colors 60 | 61 | $text: $grey-dark !default 62 | $text-invert: findColorInvert($text) !default 63 | $text-light: $grey !default 64 | $text-strong: $grey-darker !default 65 | 66 | // Code colors 67 | 68 | $code: darken($red, 15%) !default 69 | $code-background: $background !default 70 | 71 | $pre: $text !default 72 | $pre-background: $background !default 73 | 74 | // Link colors 75 | 76 | $link: $blue !default 77 | $link-invert: findColorInvert($link) !default 78 | $link-light: findLightColor($link) !default 79 | $link-dark: findDarkColor($link) !default 80 | $link-visited: $purple !default 81 | 82 | $link-hover: $grey-darker !default 83 | $link-hover-border: $grey-light !default 84 | 85 | $link-focus: $grey-darker !default 86 | $link-focus-border: $blue !default 87 | 88 | $link-active: $grey-darker !default 89 | $link-active-border: $grey-dark !default 90 | 91 | // Typography 92 | 93 | $family-primary: $family-sans-serif !default 94 | $family-secondary: $family-sans-serif !default 95 | $family-code: $family-monospace !default 96 | 97 | $size-small: $size-7 !default 98 | $size-normal: $size-6 !default 99 | $size-medium: $size-5 !default 100 | $size-large: $size-4 !default 101 | 102 | // Effects 103 | 104 | $shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default 105 | 106 | // Lists and maps 107 | $custom-colors: null !default 108 | $custom-shades: null !default 109 | 110 | $colors: mergeColorMaps(("white": ($white, $black), "black": ($black, $white), "light": ($light, $light-invert), "dark": ($dark, $dark-invert), "primary": ($primary, $primary-invert, $primary-light, $primary-dark), "link": ($link, $link-invert, $link-light, $link-dark), "info": ($info, $info-invert, $info-light, $info-dark), "success": ($success, $success-invert, $success-light, $success-dark), "warning": ($warning, $warning-invert, $warning-light, $warning-dark), "danger": ($danger, $danger-invert, $danger-light, $danger-dark)), $custom-colors) !default 111 | 112 | $shades: mergeColorMaps(("black-bis": $black-bis, "black-ter": $black-ter, "grey-darker": $grey-darker, "grey-dark": $grey-dark, "grey": $grey, "grey-light": $grey-light, "grey-lighter": $grey-lighter, "white-ter": $white-ter, "white-bis": $white-bis), $custom-shades) !default 113 | 114 | $sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default 115 | -------------------------------------------------------------------------------- /.flox/env/manifest.lock: -------------------------------------------------------------------------------- 1 | { 2 | "lockfile-version": 1, 3 | "manifest": { 4 | "version": 1, 5 | "install": { 6 | "hugo": { 7 | "pkg-path": "hugo" 8 | } 9 | }, 10 | "hook": {}, 11 | "profile": {}, 12 | "options": { 13 | "systems": [ 14 | "aarch64-darwin", 15 | "aarch64-linux", 16 | "x86_64-darwin", 17 | "x86_64-linux" 18 | ], 19 | "allow": { 20 | "licenses": [] 21 | }, 22 | "semver": {} 23 | } 24 | }, 25 | "packages": [ 26 | { 27 | "attr_path": "hugo", 28 | "broken": false, 29 | "derivation": "/nix/store/kf7zjw2v14ki822cidysj0n6j81h1ni2-hugo-0.139.0.drv", 30 | "description": "Fast and modern static website engine", 31 | "install_id": "hugo", 32 | "license": "Apache-2.0", 33 | "locked_url": "https://github.com/flox/nixpkgs?rev=4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 34 | "name": "hugo-0.139.0", 35 | "pname": "hugo", 36 | "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 37 | "rev_count": 712559, 38 | "rev_date": "2024-11-25T07:53:41Z", 39 | "scrape_date": "2024-11-27T03:52:37Z", 40 | "stabilities": [ 41 | "unstable" 42 | ], 43 | "unfree": false, 44 | "version": "0.139.0", 45 | "outputs_to_install": [ 46 | "out" 47 | ], 48 | "outputs": { 49 | "out": "/nix/store/cjkcbn1wkzn6d8syb1cyppdq9h50rkzp-hugo-0.139.0" 50 | }, 51 | "system": "aarch64-darwin", 52 | "group": "toplevel", 53 | "priority": 5 54 | }, 55 | { 56 | "attr_path": "hugo", 57 | "broken": false, 58 | "derivation": "/nix/store/6c6g1a39vic4n1j78hggzp7d0pwzjczj-hugo-0.139.0.drv", 59 | "description": "Fast and modern static website engine", 60 | "install_id": "hugo", 61 | "license": "Apache-2.0", 62 | "locked_url": "https://github.com/flox/nixpkgs?rev=4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 63 | "name": "hugo-0.139.0", 64 | "pname": "hugo", 65 | "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 66 | "rev_count": 712559, 67 | "rev_date": "2024-11-25T07:53:41Z", 68 | "scrape_date": "2024-11-27T03:52:37Z", 69 | "stabilities": [ 70 | "unstable" 71 | ], 72 | "unfree": false, 73 | "version": "0.139.0", 74 | "outputs_to_install": [ 75 | "out" 76 | ], 77 | "outputs": { 78 | "out": "/nix/store/mnxim04ppi0dqmzhzkh45lavmfra4n2g-hugo-0.139.0" 79 | }, 80 | "system": "aarch64-linux", 81 | "group": "toplevel", 82 | "priority": 5 83 | }, 84 | { 85 | "attr_path": "hugo", 86 | "broken": false, 87 | "derivation": "/nix/store/9j75v79zg1lszkycknlf4i4jyjj6mnsb-hugo-0.139.0.drv", 88 | "description": "Fast and modern static website engine", 89 | "install_id": "hugo", 90 | "license": "Apache-2.0", 91 | "locked_url": "https://github.com/flox/nixpkgs?rev=4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 92 | "name": "hugo-0.139.0", 93 | "pname": "hugo", 94 | "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 95 | "rev_count": 712559, 96 | "rev_date": "2024-11-25T07:53:41Z", 97 | "scrape_date": "2024-11-27T03:52:37Z", 98 | "stabilities": [ 99 | "unstable" 100 | ], 101 | "unfree": false, 102 | "version": "0.139.0", 103 | "outputs_to_install": [ 104 | "out" 105 | ], 106 | "outputs": { 107 | "out": "/nix/store/96cinf0bmch7gkrq1izvy2lhwrdi0p1m-hugo-0.139.0" 108 | }, 109 | "system": "x86_64-darwin", 110 | "group": "toplevel", 111 | "priority": 5 112 | }, 113 | { 114 | "attr_path": "hugo", 115 | "broken": false, 116 | "derivation": "/nix/store/gw1bqw0n0rvjb1rb527rnb30lgvrkh5d-hugo-0.139.0.drv", 117 | "description": "Fast and modern static website engine", 118 | "install_id": "hugo", 119 | "license": "Apache-2.0", 120 | "locked_url": "https://github.com/flox/nixpkgs?rev=4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 121 | "name": "hugo-0.139.0", 122 | "pname": "hugo", 123 | "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d", 124 | "rev_count": 712559, 125 | "rev_date": "2024-11-25T07:53:41Z", 126 | "scrape_date": "2024-11-27T03:52:37Z", 127 | "stabilities": [ 128 | "unstable" 129 | ], 130 | "unfree": false, 131 | "version": "0.139.0", 132 | "outputs_to_install": [ 133 | "out" 134 | ], 135 | "outputs": { 136 | "out": "/nix/store/13g2k2qivwizb70gi533da0c13grgfk7-hugo-0.139.0" 137 | }, 138 | "system": "x86_64-linux", 139 | "group": "toplevel", 140 | "priority": 5 141 | } 142 | ] 143 | } -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/pagination.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/controls" 2 | @import "../utilities/mixins" 3 | 4 | $pagination-color: $text-strong !default 5 | $pagination-border-color: $border !default 6 | $pagination-margin: -0.25rem !default 7 | $pagination-min-width: $control-height !default 8 | 9 | $pagination-item-font-size: 1em !default 10 | $pagination-item-margin: 0.25rem !default 11 | $pagination-item-padding-left: 0.5em !default 12 | $pagination-item-padding-right: 0.5em !default 13 | 14 | $pagination-nav-padding-left: 0.75em !default 15 | $pagination-nav-padding-right: 0.75em !default 16 | 17 | $pagination-hover-color: $link-hover !default 18 | $pagination-hover-border-color: $link-hover-border !default 19 | 20 | $pagination-focus-color: $link-focus !default 21 | $pagination-focus-border-color: $link-focus-border !default 22 | 23 | $pagination-active-color: $link-active !default 24 | $pagination-active-border-color: $link-active-border !default 25 | 26 | $pagination-disabled-color: $text-light !default 27 | $pagination-disabled-background-color: $border !default 28 | $pagination-disabled-border-color: $border !default 29 | 30 | $pagination-current-color: $link-invert !default 31 | $pagination-current-background-color: $link !default 32 | $pagination-current-border-color: $link !default 33 | 34 | $pagination-ellipsis-color: $grey-light !default 35 | 36 | $pagination-shadow-inset: inset 0 1px 2px rgba($scheme-invert, 0.2) !default 37 | 38 | .pagination 39 | @extend %block 40 | font-size: $size-normal 41 | margin: $pagination-margin 42 | // Sizes 43 | &.is-small 44 | font-size: $size-small 45 | &.is-medium 46 | font-size: $size-medium 47 | &.is-large 48 | font-size: $size-large 49 | &.is-rounded 50 | .pagination-previous, 51 | .pagination-next 52 | padding-left: 1em 53 | padding-right: 1em 54 | border-radius: $radius-rounded 55 | .pagination-link 56 | border-radius: $radius-rounded 57 | 58 | .pagination, 59 | .pagination-list 60 | align-items: center 61 | display: flex 62 | justify-content: center 63 | text-align: center 64 | 65 | .pagination-previous, 66 | .pagination-next, 67 | .pagination-link, 68 | .pagination-ellipsis 69 | @extend %control 70 | @extend %unselectable 71 | font-size: $pagination-item-font-size 72 | justify-content: center 73 | margin: $pagination-item-margin 74 | padding-left: $pagination-item-padding-left 75 | padding-right: $pagination-item-padding-right 76 | text-align: center 77 | 78 | .pagination-previous, 79 | .pagination-next, 80 | .pagination-link 81 | border-color: $pagination-border-color 82 | color: $pagination-color 83 | min-width: $pagination-min-width 84 | &:hover 85 | border-color: $pagination-hover-border-color 86 | color: $pagination-hover-color 87 | &:focus 88 | border-color: $pagination-focus-border-color 89 | &:active 90 | box-shadow: $pagination-shadow-inset 91 | &[disabled] 92 | background-color: $pagination-disabled-background-color 93 | border-color: $pagination-disabled-border-color 94 | box-shadow: none 95 | color: $pagination-disabled-color 96 | opacity: 0.5 97 | 98 | .pagination-previous, 99 | .pagination-next 100 | padding-left: $pagination-nav-padding-left 101 | padding-right: $pagination-nav-padding-right 102 | white-space: nowrap 103 | 104 | .pagination-link 105 | &.is-current 106 | background-color: $pagination-current-background-color 107 | border-color: $pagination-current-border-color 108 | color: $pagination-current-color 109 | 110 | .pagination-ellipsis 111 | color: $pagination-ellipsis-color 112 | pointer-events: none 113 | 114 | .pagination-list 115 | flex-wrap: wrap 116 | li 117 | list-style: none 118 | 119 | +mobile 120 | .pagination 121 | flex-wrap: wrap 122 | .pagination-previous, 123 | .pagination-next 124 | flex-grow: 1 125 | flex-shrink: 1 126 | .pagination-list 127 | li 128 | flex-grow: 1 129 | flex-shrink: 1 130 | 131 | +tablet 132 | .pagination-list 133 | flex-grow: 1 134 | flex-shrink: 1 135 | justify-content: flex-start 136 | order: 1 137 | .pagination-previous, 138 | .pagination-next, 139 | .pagination-link, 140 | .pagination-ellipsis 141 | margin-bottom: 0 142 | margin-top: 0 143 | .pagination-previous 144 | order: 2 145 | .pagination-next 146 | order: 3 147 | .pagination 148 | justify-content: space-between 149 | margin-bottom: 0 150 | margin-top: 0 151 | &.is-centered 152 | .pagination-previous 153 | order: 1 154 | .pagination-list 155 | justify-content: center 156 | order: 2 157 | .pagination-next 158 | order: 3 159 | &.is-right 160 | .pagination-previous 161 | order: 1 162 | .pagination-next 163 | order: 2 164 | .pagination-list 165 | justify-content: flex-end 166 | order: 3 167 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/form/file.sass: -------------------------------------------------------------------------------- 1 | $file-border-color: $border !default 2 | $file-radius: $radius !default 3 | 4 | $file-cta-background-color: $scheme-main-ter !default 5 | $file-cta-color: $text !default 6 | $file-cta-hover-color: $text-strong !default 7 | $file-cta-active-color: $text-strong !default 8 | 9 | $file-name-border-color: $border !default 10 | $file-name-border-style: solid !default 11 | $file-name-border-width: 1px 1px 1px 0 !default 12 | $file-name-max-width: 16em !default 13 | 14 | $file-colors: $form-colors !default 15 | 16 | .file 17 | @extend %unselectable 18 | align-items: stretch 19 | display: flex 20 | justify-content: flex-start 21 | position: relative 22 | // Colors 23 | @each $name, $pair in $file-colors 24 | $color: nth($pair, 1) 25 | $color-invert: nth($pair, 2) 26 | &.is-#{$name} 27 | .file-cta 28 | background-color: $color 29 | border-color: transparent 30 | color: $color-invert 31 | &:hover, 32 | &.is-hovered 33 | .file-cta 34 | background-color: bulmaDarken($color, 2.5%) 35 | border-color: transparent 36 | color: $color-invert 37 | &:focus, 38 | &.is-focused 39 | .file-cta 40 | border-color: transparent 41 | box-shadow: 0 0 0.5em bulmaRgba($color, 0.25) 42 | color: $color-invert 43 | &:active, 44 | &.is-active 45 | .file-cta 46 | background-color: bulmaDarken($color, 5%) 47 | border-color: transparent 48 | color: $color-invert 49 | // Sizes 50 | &.is-small 51 | font-size: $size-small 52 | &.is-normal 53 | font-size: $size-normal 54 | &.is-medium 55 | font-size: $size-medium 56 | .file-icon 57 | .fa 58 | font-size: 21px 59 | &.is-large 60 | font-size: $size-large 61 | .file-icon 62 | .fa 63 | font-size: 28px 64 | // Modifiers 65 | &.has-name 66 | .file-cta 67 | border-bottom-right-radius: 0 68 | border-top-right-radius: 0 69 | .file-name 70 | border-bottom-left-radius: 0 71 | border-top-left-radius: 0 72 | &.is-empty 73 | .file-cta 74 | border-radius: $file-radius 75 | .file-name 76 | display: none 77 | &.is-boxed 78 | .file-label 79 | flex-direction: column 80 | .file-cta 81 | flex-direction: column 82 | height: auto 83 | padding: 1em 3em 84 | .file-name 85 | border-width: 0 1px 1px 86 | .file-icon 87 | height: 1.5em 88 | width: 1.5em 89 | .fa 90 | font-size: 21px 91 | &.is-small 92 | .file-icon .fa 93 | font-size: 14px 94 | &.is-medium 95 | .file-icon .fa 96 | font-size: 28px 97 | &.is-large 98 | .file-icon .fa 99 | font-size: 35px 100 | &.has-name 101 | .file-cta 102 | border-radius: $file-radius $file-radius 0 0 103 | .file-name 104 | border-radius: 0 0 $file-radius $file-radius 105 | border-width: 0 1px 1px 106 | &.is-centered 107 | justify-content: center 108 | &.is-fullwidth 109 | .file-label 110 | width: 100% 111 | .file-name 112 | flex-grow: 1 113 | max-width: none 114 | &.is-right 115 | justify-content: flex-end 116 | .file-cta 117 | border-radius: 0 $file-radius $file-radius 0 118 | .file-name 119 | border-radius: $file-radius 0 0 $file-radius 120 | border-width: 1px 0 1px 1px 121 | order: -1 122 | 123 | .file-label 124 | align-items: stretch 125 | display: flex 126 | cursor: pointer 127 | justify-content: flex-start 128 | overflow: hidden 129 | position: relative 130 | &:hover 131 | .file-cta 132 | background-color: bulmaDarken($file-cta-background-color, 2.5%) 133 | color: $file-cta-hover-color 134 | .file-name 135 | border-color: bulmaDarken($file-name-border-color, 2.5%) 136 | &:active 137 | .file-cta 138 | background-color: bulmaDarken($file-cta-background-color, 5%) 139 | color: $file-cta-active-color 140 | .file-name 141 | border-color: bulmaDarken($file-name-border-color, 5%) 142 | 143 | .file-input 144 | height: 100% 145 | left: 0 146 | opacity: 0 147 | outline: none 148 | position: absolute 149 | top: 0 150 | width: 100% 151 | 152 | .file-cta, 153 | .file-name 154 | @extend %control 155 | border-color: $file-border-color 156 | border-radius: $file-radius 157 | font-size: 1em 158 | padding-left: 1em 159 | padding-right: 1em 160 | white-space: nowrap 161 | 162 | .file-cta 163 | background-color: $file-cta-background-color 164 | color: $file-cta-color 165 | 166 | .file-name 167 | border-color: $file-name-border-color 168 | border-style: $file-name-border-style 169 | border-width: $file-name-border-width 170 | display: block 171 | max-width: $file-name-max-width 172 | overflow: hidden 173 | text-align: inherit 174 | text-overflow: ellipsis 175 | 176 | .file-icon 177 | align-items: center 178 | display: flex 179 | height: 1em 180 | justify-content: center 181 | +ltr-property("margin", 0.5em) 182 | width: 1em 183 | .fa 184 | font-size: 14px 185 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/functions.sass: -------------------------------------------------------------------------------- 1 | @function mergeColorMaps($bulma-colors, $custom-colors) 2 | // We return at least Bulma's hard-coded colors 3 | $merged-colors: $bulma-colors 4 | 5 | // We want a map as input 6 | @if type-of($custom-colors) == 'map' 7 | @each $name, $components in $custom-colors 8 | // The color name should be a string 9 | // and the components either a single color 10 | // or a colors list with at least one element 11 | @if type-of($name) == 'string' and (type-of($components) == 'list' or type-of($components) == 'color') and length($components) >= 1 12 | $color-base: null 13 | $color-invert: null 14 | $color-light: null 15 | $color-dark: null 16 | $value: null 17 | 18 | // The param can either be a single color 19 | // or a list of 2 colors 20 | @if type-of($components) == 'color' 21 | $color-base: $components 22 | $color-invert: findColorInvert($color-base) 23 | $color-light: findLightColor($color-base) 24 | $color-dark: findDarkColor($color-base) 25 | @else if type-of($components) == 'list' 26 | $color-base: nth($components, 1) 27 | // If Invert, Light and Dark are provided 28 | @if length($components) > 3 29 | $color-invert: nth($components, 2) 30 | $color-light: nth($components, 3) 31 | $color-dark: nth($components, 4) 32 | // If only Invert and Light are provided 33 | @else if length($components) > 2 34 | $color-invert: nth($components, 2) 35 | $color-light: nth($components, 3) 36 | $color-dark: findDarkColor($color-base) 37 | // If only Invert is provided 38 | @else 39 | $color-invert: nth($components, 2) 40 | $color-light: findLightColor($color-base) 41 | $color-dark: findDarkColor($color-base) 42 | 43 | $value: ($color-base, $color-invert, $color-light, $color-dark) 44 | 45 | // We only want to merge the map if the color base is an actual color 46 | @if type-of($color-base) == 'color' 47 | // We merge this colors elements as map with Bulma's colors map 48 | // (we can override them this way, no multiple definition for the same name) 49 | // $merged-colors: map_merge($merged-colors, ($name: ($color-base, $color-invert, $color-light, $color-dark))) 50 | $merged-colors: map_merge($merged-colors, ($name: $value)) 51 | 52 | @return $merged-colors 53 | 54 | @function powerNumber($number, $exp) 55 | $value: 1 56 | @if $exp > 0 57 | @for $i from 1 through $exp 58 | $value: $value * $number 59 | @else if $exp < 0 60 | @for $i from 1 through -$exp 61 | $value: divide($value, $number) 62 | @return $value 63 | 64 | @function colorLuminance($color) 65 | @if type-of($color) != 'color' 66 | @return 0.55 67 | $color-rgb: ('red': red($color),'green': green($color),'blue': blue($color)) 68 | @each $name, $value in $color-rgb 69 | $adjusted: 0 70 | $value: divide($value, 255) 71 | @if $value < 0.03928 72 | $value: divide($value, 12.92) 73 | @else 74 | $value: divide(($value + .055), 1.055) 75 | $value: powerNumber($value, 2) 76 | $color-rgb: map-merge($color-rgb, ($name: $value)) 77 | @return (map-get($color-rgb, 'red') * .2126) + (map-get($color-rgb, 'green') * .7152) + (map-get($color-rgb, 'blue') * .0722) 78 | 79 | @function findColorInvert($color) 80 | @if (colorLuminance($color) > 0.55) 81 | @return rgba(#000, 0.7) 82 | @else 83 | @return #fff 84 | 85 | @function findLightColor($color) 86 | @if type-of($color) == 'color' 87 | $l: 96% 88 | @if lightness($color) > 96% 89 | $l: lightness($color) 90 | @return change-color($color, $lightness: $l) 91 | @return $background 92 | 93 | @function findDarkColor($color) 94 | @if type-of($color) == 'color' 95 | $base-l: 29% 96 | $luminance: colorLuminance($color) 97 | $luminance-delta: (0.53 - $luminance) 98 | $target-l: round($base-l + ($luminance-delta * 53)) 99 | @return change-color($color, $lightness: max($base-l, $target-l)) 100 | @return $text-strong 101 | 102 | @function bulmaRgba($color, $alpha) 103 | @if type-of($color) != 'color' 104 | @return $color 105 | @return rgba($color, $alpha) 106 | 107 | @function bulmaDarken($color, $amount) 108 | @if type-of($color) != 'color' 109 | @return $color 110 | @return darken($color, $amount) 111 | 112 | @function bulmaLighten($color, $amount) 113 | @if type-of($color) != 'color' 114 | @return $color 115 | @return lighten($color, $amount) 116 | 117 | // Custom divide function by @mdo from https://github.com/twbs/bootstrap/pull/34245 118 | // Replaces old slash division deprecated in Dart Sass 119 | @function divide($dividend, $divisor, $precision: 10) 120 | $sign: if($dividend > 0 and $divisor > 0, 1, -1) 121 | $dividend: abs($dividend) 122 | $divisor: abs($divisor) 123 | $quotient: 0 124 | $remainder: $dividend 125 | @if $dividend == 0 126 | @return 0 127 | @if $divisor == 0 128 | @error "Cannot divide by 0" 129 | @if $divisor == 1 130 | @return $dividend 131 | @while $remainder >= $divisor 132 | $quotient: $quotient + 1 133 | $remainder: $remainder - $divisor 134 | @if $remainder > 0 and $precision > 0 135 | $remainder: divide($remainder * 10, $divisor, $precision - 1) * .1 136 | @return ($quotient + $remainder) * $sign 137 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/form/tools.sass: -------------------------------------------------------------------------------- 1 | $label-color: $text-strong !default 2 | $label-weight: $weight-bold !default 3 | 4 | $help-size: $size-small !default 5 | 6 | $label-colors: $form-colors !default 7 | 8 | .label 9 | color: $label-color 10 | display: block 11 | font-size: $size-normal 12 | font-weight: $label-weight 13 | &:not(:last-child) 14 | margin-bottom: 0.5em 15 | // Sizes 16 | &.is-small 17 | font-size: $size-small 18 | &.is-medium 19 | font-size: $size-medium 20 | &.is-large 21 | font-size: $size-large 22 | 23 | .help 24 | display: block 25 | font-size: $help-size 26 | margin-top: 0.25rem 27 | @each $name, $pair in $label-colors 28 | $color: nth($pair, 1) 29 | &.is-#{$name} 30 | color: $color 31 | 32 | // Containers 33 | 34 | .field 35 | &:not(:last-child) 36 | margin-bottom: 0.75rem 37 | // Modifiers 38 | &.has-addons 39 | display: flex 40 | justify-content: flex-start 41 | .control 42 | &:not(:last-child) 43 | +ltr-property("margin", -1px) 44 | &:not(:first-child):not(:last-child) 45 | .button, 46 | .input, 47 | .select select 48 | border-radius: 0 49 | &:first-child:not(:only-child) 50 | .button, 51 | .input, 52 | .select select 53 | +ltr 54 | border-bottom-right-radius: 0 55 | border-top-right-radius: 0 56 | +rtl 57 | border-bottom-left-radius: 0 58 | border-top-left-radius: 0 59 | &:last-child:not(:only-child) 60 | .button, 61 | .input, 62 | .select select 63 | +ltr 64 | border-bottom-left-radius: 0 65 | border-top-left-radius: 0 66 | +rtl 67 | border-bottom-right-radius: 0 68 | border-top-right-radius: 0 69 | .button, 70 | .input, 71 | .select select 72 | &:not([disabled]) 73 | &:hover, 74 | &.is-hovered 75 | z-index: 2 76 | &:focus, 77 | &.is-focused, 78 | &:active, 79 | &.is-active 80 | z-index: 3 81 | &:hover 82 | z-index: 4 83 | &.is-expanded 84 | flex-grow: 1 85 | flex-shrink: 1 86 | &.has-addons-centered 87 | justify-content: center 88 | &.has-addons-right 89 | justify-content: flex-end 90 | &.has-addons-fullwidth 91 | .control 92 | flex-grow: 1 93 | flex-shrink: 0 94 | &.is-grouped 95 | display: flex 96 | justify-content: flex-start 97 | & > .control 98 | flex-shrink: 0 99 | &:not(:last-child) 100 | margin-bottom: 0 101 | +ltr-property("margin", 0.75rem) 102 | &.is-expanded 103 | flex-grow: 1 104 | flex-shrink: 1 105 | &.is-grouped-centered 106 | justify-content: center 107 | &.is-grouped-right 108 | justify-content: flex-end 109 | &.is-grouped-multiline 110 | flex-wrap: wrap 111 | & > .control 112 | &:last-child, 113 | &:not(:last-child) 114 | margin-bottom: 0.75rem 115 | &:last-child 116 | margin-bottom: -0.75rem 117 | &:not(:last-child) 118 | margin-bottom: 0 119 | &.is-horizontal 120 | +tablet 121 | display: flex 122 | 123 | .field-label 124 | .label 125 | font-size: inherit 126 | +mobile 127 | margin-bottom: 0.5rem 128 | +tablet 129 | flex-basis: 0 130 | flex-grow: 1 131 | flex-shrink: 0 132 | +ltr-property("margin", 1.5rem) 133 | text-align: right 134 | &.is-small 135 | font-size: $size-small 136 | padding-top: 0.375em 137 | &.is-normal 138 | padding-top: 0.375em 139 | &.is-medium 140 | font-size: $size-medium 141 | padding-top: 0.375em 142 | &.is-large 143 | font-size: $size-large 144 | padding-top: 0.375em 145 | 146 | .field-body 147 | .field .field 148 | margin-bottom: 0 149 | +tablet 150 | display: flex 151 | flex-basis: 0 152 | flex-grow: 5 153 | flex-shrink: 1 154 | .field 155 | margin-bottom: 0 156 | & > .field 157 | flex-shrink: 1 158 | &:not(.is-narrow) 159 | flex-grow: 1 160 | &:not(:last-child) 161 | +ltr-property("margin", 0.75rem) 162 | 163 | .control 164 | box-sizing: border-box 165 | clear: both 166 | font-size: $size-normal 167 | position: relative 168 | text-align: inherit 169 | // Modifiers 170 | &.has-icons-left, 171 | &.has-icons-right 172 | .input, 173 | .select 174 | &:focus 175 | & ~ .icon 176 | color: $input-icon-active-color 177 | &.is-small ~ .icon 178 | font-size: $size-small 179 | &.is-medium ~ .icon 180 | font-size: $size-medium 181 | &.is-large ~ .icon 182 | font-size: $size-large 183 | .icon 184 | color: $input-icon-color 185 | height: $input-height 186 | pointer-events: none 187 | position: absolute 188 | top: 0 189 | width: $input-height 190 | z-index: 4 191 | &.has-icons-left 192 | .input, 193 | .select select 194 | padding-left: $input-height 195 | .icon.is-left 196 | left: 0 197 | &.has-icons-right 198 | .input, 199 | .select select 200 | padding-right: $input-height 201 | .icon.is-right 202 | right: 0 203 | &.is-loading 204 | &::after 205 | @extend %loader 206 | position: absolute !important 207 | +ltr-position(0.625em) 208 | top: 0.625em 209 | z-index: 4 210 | &.is-small:after 211 | font-size: $size-small 212 | &.is-medium:after 213 | font-size: $size-medium 214 | &.is-large:after 215 | font-size: $size-large 216 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/tabs.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $tabs-border-bottom-color: $border !default 4 | $tabs-border-bottom-style: solid !default 5 | $tabs-border-bottom-width: 1px !default 6 | $tabs-link-color: $text !default 7 | $tabs-link-hover-border-bottom-color: $text-strong !default 8 | $tabs-link-hover-color: $text-strong !default 9 | $tabs-link-active-border-bottom-color: $link !default 10 | $tabs-link-active-color: $link !default 11 | $tabs-link-padding: 0.5em 1em !default 12 | 13 | $tabs-boxed-link-radius: $radius !default 14 | $tabs-boxed-link-hover-background-color: $background !default 15 | $tabs-boxed-link-hover-border-bottom-color: $border !default 16 | 17 | $tabs-boxed-link-active-background-color: $scheme-main !default 18 | $tabs-boxed-link-active-border-color: $border !default 19 | $tabs-boxed-link-active-border-bottom-color: transparent !default 20 | 21 | $tabs-toggle-link-border-color: $border !default 22 | $tabs-toggle-link-border-style: solid !default 23 | $tabs-toggle-link-border-width: 1px !default 24 | $tabs-toggle-link-hover-background-color: $background !default 25 | $tabs-toggle-link-hover-border-color: $border-hover !default 26 | $tabs-toggle-link-radius: $radius !default 27 | $tabs-toggle-link-active-background-color: $link !default 28 | $tabs-toggle-link-active-border-color: $link !default 29 | $tabs-toggle-link-active-color: $link-invert !default 30 | 31 | .tabs 32 | @extend %block 33 | +overflow-touch 34 | @extend %unselectable 35 | align-items: stretch 36 | display: flex 37 | font-size: $size-normal 38 | justify-content: space-between 39 | overflow: hidden 40 | overflow-x: auto 41 | white-space: nowrap 42 | a 43 | align-items: center 44 | border-bottom-color: $tabs-border-bottom-color 45 | border-bottom-style: $tabs-border-bottom-style 46 | border-bottom-width: $tabs-border-bottom-width 47 | color: $tabs-link-color 48 | display: flex 49 | justify-content: center 50 | margin-bottom: -#{$tabs-border-bottom-width} 51 | padding: $tabs-link-padding 52 | vertical-align: top 53 | &:hover 54 | border-bottom-color: $tabs-link-hover-border-bottom-color 55 | color: $tabs-link-hover-color 56 | li 57 | display: block 58 | &.is-active 59 | a 60 | border-bottom-color: $tabs-link-active-border-bottom-color 61 | color: $tabs-link-active-color 62 | ul 63 | align-items: center 64 | border-bottom-color: $tabs-border-bottom-color 65 | border-bottom-style: $tabs-border-bottom-style 66 | border-bottom-width: $tabs-border-bottom-width 67 | display: flex 68 | flex-grow: 1 69 | flex-shrink: 0 70 | justify-content: flex-start 71 | &.is-left 72 | padding-right: 0.75em 73 | &.is-center 74 | flex: none 75 | justify-content: center 76 | padding-left: 0.75em 77 | padding-right: 0.75em 78 | &.is-right 79 | justify-content: flex-end 80 | padding-left: 0.75em 81 | .icon 82 | &:first-child 83 | +ltr-property("margin", 0.5em) 84 | &:last-child 85 | +ltr-property("margin", 0.5em, false) 86 | // Alignment 87 | &.is-centered 88 | ul 89 | justify-content: center 90 | &.is-right 91 | ul 92 | justify-content: flex-end 93 | // Styles 94 | &.is-boxed 95 | a 96 | border: 1px solid transparent 97 | +ltr 98 | border-radius: $tabs-boxed-link-radius $tabs-boxed-link-radius 0 0 99 | +rtl 100 | border-radius: 0 0 $tabs-boxed-link-radius $tabs-boxed-link-radius 101 | &:hover 102 | background-color: $tabs-boxed-link-hover-background-color 103 | border-bottom-color: $tabs-boxed-link-hover-border-bottom-color 104 | li 105 | &.is-active 106 | a 107 | background-color: $tabs-boxed-link-active-background-color 108 | border-color: $tabs-boxed-link-active-border-color 109 | border-bottom-color: $tabs-boxed-link-active-border-bottom-color !important 110 | &.is-fullwidth 111 | li 112 | flex-grow: 1 113 | flex-shrink: 0 114 | &.is-toggle 115 | a 116 | border-color: $tabs-toggle-link-border-color 117 | border-style: $tabs-toggle-link-border-style 118 | border-width: $tabs-toggle-link-border-width 119 | margin-bottom: 0 120 | position: relative 121 | &:hover 122 | background-color: $tabs-toggle-link-hover-background-color 123 | border-color: $tabs-toggle-link-hover-border-color 124 | z-index: 2 125 | li 126 | & + li 127 | +ltr-property("margin", -#{$tabs-toggle-link-border-width}, false) 128 | &:first-child a 129 | +ltr 130 | border-top-left-radius: $tabs-toggle-link-radius 131 | border-bottom-left-radius: $tabs-toggle-link-radius 132 | +rtl 133 | border-top-right-radius: $tabs-toggle-link-radius 134 | border-bottom-right-radius: $tabs-toggle-link-radius 135 | &:last-child a 136 | +ltr 137 | border-top-right-radius: $tabs-toggle-link-radius 138 | border-bottom-right-radius: $tabs-toggle-link-radius 139 | +rtl 140 | border-top-left-radius: $tabs-toggle-link-radius 141 | border-bottom-left-radius: $tabs-toggle-link-radius 142 | &.is-active 143 | a 144 | background-color: $tabs-toggle-link-active-background-color 145 | border-color: $tabs-toggle-link-active-border-color 146 | color: $tabs-toggle-link-active-color 147 | z-index: 1 148 | ul 149 | border-bottom: none 150 | &.is-toggle-rounded 151 | li 152 | &:first-child a 153 | +ltr 154 | border-bottom-left-radius: $radius-rounded 155 | border-top-left-radius: $radius-rounded 156 | padding-left: 1.25em 157 | +rtl 158 | border-bottom-right-radius: $radius-rounded 159 | border-top-right-radius: $radius-rounded 160 | padding-right: 1.25em 161 | &:last-child a 162 | +ltr 163 | border-bottom-right-radius: $radius-rounded 164 | border-top-right-radius: $radius-rounded 165 | padding-right: 1.25em 166 | +rtl 167 | border-bottom-left-radius: $radius-rounded 168 | border-top-left-radius: $radius-rounded 169 | padding-left: 1.25em 170 | // Sizes 171 | &.is-small 172 | font-size: $size-small 173 | &.is-medium 174 | font-size: $size-medium 175 | &.is-large 176 | font-size: $size-large 177 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/utilities/mixins.sass: -------------------------------------------------------------------------------- 1 | @import "derived-variables" 2 | 3 | =clearfix 4 | &::after 5 | clear: both 6 | content: " " 7 | display: table 8 | 9 | =center($width, $height: 0) 10 | position: absolute 11 | @if $height != 0 12 | left: calc(50% - (#{$width} * 0.5)) 13 | top: calc(50% - (#{$height} * 0.5)) 14 | @else 15 | left: calc(50% - (#{$width} * 0.5)) 16 | top: calc(50% - (#{$width} * 0.5)) 17 | 18 | =fa($size, $dimensions) 19 | display: inline-block 20 | font-size: $size 21 | height: $dimensions 22 | line-height: $dimensions 23 | text-align: center 24 | vertical-align: top 25 | width: $dimensions 26 | 27 | =hamburger($dimensions) 28 | cursor: pointer 29 | display: block 30 | height: $dimensions 31 | position: relative 32 | width: $dimensions 33 | span 34 | background-color: currentColor 35 | display: block 36 | height: 1px 37 | left: calc(50% - 8px) 38 | position: absolute 39 | transform-origin: center 40 | transition-duration: $speed 41 | transition-property: background-color, opacity, transform 42 | transition-timing-function: $easing 43 | width: 16px 44 | &:nth-child(1) 45 | top: calc(50% - 6px) 46 | &:nth-child(2) 47 | top: calc(50% - 1px) 48 | &:nth-child(3) 49 | top: calc(50% + 4px) 50 | &:hover 51 | background-color: bulmaRgba(black, 0.05) 52 | // Modifers 53 | &.is-active 54 | span 55 | &:nth-child(1) 56 | transform: translateY(5px) rotate(45deg) 57 | &:nth-child(2) 58 | opacity: 0 59 | &:nth-child(3) 60 | transform: translateY(-5px) rotate(-45deg) 61 | 62 | =overflow-touch 63 | -webkit-overflow-scrolling: touch 64 | 65 | =placeholder 66 | $placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input' 67 | @each $placeholder in $placeholders 68 | &:#{$placeholder}-placeholder 69 | @content 70 | 71 | =reset 72 | -moz-appearance: none 73 | -webkit-appearance: none 74 | appearance: none 75 | background: none 76 | border: none 77 | color: currentColor 78 | font-family: inherit 79 | font-size: 1em 80 | margin: 0 81 | padding: 0 82 | 83 | // Responsiveness 84 | 85 | =from($device) 86 | @media screen and (min-width: $device) 87 | @content 88 | 89 | =until($device) 90 | @media screen and (max-width: $device - 1px) 91 | @content 92 | 93 | =mobile 94 | @media screen and (max-width: $tablet - 1px) 95 | @content 96 | 97 | =tablet 98 | @media screen and (min-width: $tablet), print 99 | @content 100 | 101 | =tablet-only 102 | @media screen and (min-width: $tablet) and (max-width: $desktop - 1px) 103 | @content 104 | 105 | =touch 106 | @media screen and (max-width: $desktop - 1px) 107 | @content 108 | 109 | =desktop 110 | @media screen and (min-width: $desktop) 111 | @content 112 | 113 | =desktop-only 114 | @if $widescreen-enabled 115 | @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px) 116 | @content 117 | 118 | =until-widescreen 119 | @if $widescreen-enabled 120 | @media screen and (max-width: $widescreen - 1px) 121 | @content 122 | 123 | =widescreen 124 | @if $widescreen-enabled 125 | @media screen and (min-width: $widescreen) 126 | @content 127 | 128 | =widescreen-only 129 | @if $widescreen-enabled and $fullhd-enabled 130 | @media screen and (min-width: $widescreen) and (max-width: $fullhd - 1px) 131 | @content 132 | 133 | =until-fullhd 134 | @if $fullhd-enabled 135 | @media screen and (max-width: $fullhd - 1px) 136 | @content 137 | 138 | =fullhd 139 | @if $fullhd-enabled 140 | @media screen and (min-width: $fullhd) 141 | @content 142 | 143 | =ltr 144 | @if not $rtl 145 | @content 146 | 147 | =rtl 148 | @if $rtl 149 | @content 150 | 151 | =ltr-property($property, $spacing, $right: true) 152 | $normal: if($right, "right", "left") 153 | $opposite: if($right, "left", "right") 154 | @if $rtl 155 | #{$property}-#{$opposite}: $spacing 156 | @else 157 | #{$property}-#{$normal}: $spacing 158 | 159 | =ltr-position($spacing, $right: true) 160 | $normal: if($right, "right", "left") 161 | $opposite: if($right, "left", "right") 162 | @if $rtl 163 | #{$opposite}: $spacing 164 | @else 165 | #{$normal}: $spacing 166 | 167 | // Placeholders 168 | 169 | =unselectable 170 | -webkit-touch-callout: none 171 | -webkit-user-select: none 172 | -moz-user-select: none 173 | -ms-user-select: none 174 | user-select: none 175 | 176 | =arrow($color: transparent) 177 | border: 3px solid $color 178 | border-radius: 2px 179 | border-right: 0 180 | border-top: 0 181 | content: " " 182 | display: block 183 | height: 0.625em 184 | margin-top: -0.4375em 185 | pointer-events: none 186 | position: absolute 187 | top: 50% 188 | transform: rotate(-45deg) 189 | transform-origin: center 190 | width: 0.625em 191 | 192 | =block($spacing: $block-spacing) 193 | &:not(:last-child) 194 | margin-bottom: $spacing 195 | 196 | =delete 197 | +unselectable 198 | -moz-appearance: none 199 | -webkit-appearance: none 200 | background-color: bulmaRgba($scheme-invert, 0.2) 201 | border: none 202 | border-radius: $radius-rounded 203 | cursor: pointer 204 | pointer-events: auto 205 | display: inline-block 206 | flex-grow: 0 207 | flex-shrink: 0 208 | font-size: 0 209 | height: 20px 210 | max-height: 20px 211 | max-width: 20px 212 | min-height: 20px 213 | min-width: 20px 214 | outline: none 215 | position: relative 216 | vertical-align: top 217 | width: 20px 218 | &::before, 219 | &::after 220 | background-color: $scheme-main 221 | content: "" 222 | display: block 223 | left: 50% 224 | position: absolute 225 | top: 50% 226 | transform: translateX(-50%) translateY(-50%) rotate(45deg) 227 | transform-origin: center center 228 | &::before 229 | height: 2px 230 | width: 50% 231 | &::after 232 | height: 50% 233 | width: 2px 234 | &:hover, 235 | &:focus 236 | background-color: bulmaRgba($scheme-invert, 0.3) 237 | &:active 238 | background-color: bulmaRgba($scheme-invert, 0.4) 239 | // Sizes 240 | &.is-small 241 | height: 16px 242 | max-height: 16px 243 | max-width: 16px 244 | min-height: 16px 245 | min-width: 16px 246 | width: 16px 247 | &.is-medium 248 | height: 24px 249 | max-height: 24px 250 | max-width: 24px 251 | min-height: 24px 252 | min-width: 24px 253 | width: 24px 254 | &.is-large 255 | height: 32px 256 | max-height: 32px 257 | max-width: 32px 258 | min-height: 32px 259 | min-width: 32px 260 | width: 32px 261 | 262 | =loader 263 | animation: spinAround 500ms infinite linear 264 | border: 2px solid $grey-lighter 265 | border-radius: $radius-rounded 266 | border-right-color: transparent 267 | border-top-color: transparent 268 | content: "" 269 | display: block 270 | height: 1em 271 | position: relative 272 | width: 1em 273 | 274 | =overlay($offset: 0) 275 | bottom: $offset 276 | left: $offset 277 | position: absolute 278 | right: $offset 279 | top: $offset 280 | 281 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/elements/button.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/controls" 2 | @import "../utilities/mixins" 3 | 4 | $button-color: $text-strong !default 5 | $button-background-color: $scheme-main !default 6 | $button-family: false !default 7 | 8 | $button-border-color: $border !default 9 | $button-border-width: $control-border-width !default 10 | 11 | $button-padding-vertical: calc(0.5em - #{$button-border-width}) !default 12 | $button-padding-horizontal: 1em !default 13 | 14 | $button-hover-color: $link-hover !default 15 | $button-hover-border-color: $link-hover-border !default 16 | 17 | $button-focus-color: $link-focus !default 18 | $button-focus-border-color: $link-focus-border !default 19 | $button-focus-box-shadow-size: 0 0 0 0.125em !default 20 | $button-focus-box-shadow-color: bulmaRgba($link, 0.25) !default 21 | 22 | $button-active-color: $link-active !default 23 | $button-active-border-color: $link-active-border !default 24 | 25 | $button-text-color: $text !default 26 | $button-text-decoration: underline !default 27 | $button-text-hover-background-color: $background !default 28 | $button-text-hover-color: $text-strong !default 29 | 30 | $button-ghost-background: none !default 31 | $button-ghost-border-color: transparent !default 32 | $button-ghost-color: $link !default 33 | $button-ghost-decoration: none !default 34 | $button-ghost-hover-color: $link !default 35 | $button-ghost-hover-decoration: underline !default 36 | 37 | $button-disabled-background-color: $scheme-main !default 38 | $button-disabled-border-color: $border !default 39 | $button-disabled-shadow: none !default 40 | $button-disabled-opacity: 0.5 !default 41 | 42 | $button-static-color: $text-light !default 43 | $button-static-background-color: $scheme-main-ter !default 44 | $button-static-border-color: $border !default 45 | 46 | $button-colors: $colors !default 47 | 48 | // The button sizes use mixins so they can be used at different breakpoints 49 | =button-small 50 | &:not(.is-rounded) 51 | border-radius: $radius-small 52 | font-size: $size-small 53 | =button-normal 54 | font-size: $size-normal 55 | =button-medium 56 | font-size: $size-medium 57 | =button-large 58 | font-size: $size-large 59 | 60 | .button 61 | @extend %control 62 | @extend %unselectable 63 | background-color: $button-background-color 64 | border-color: $button-border-color 65 | border-width: $button-border-width 66 | color: $button-color 67 | cursor: pointer 68 | @if $button-family 69 | font-family: $button-family 70 | justify-content: center 71 | padding-bottom: $button-padding-vertical 72 | padding-left: $button-padding-horizontal 73 | padding-right: $button-padding-horizontal 74 | padding-top: $button-padding-vertical 75 | text-align: center 76 | white-space: nowrap 77 | strong 78 | color: inherit 79 | .icon 80 | &, 81 | &.is-small, 82 | &.is-medium, 83 | &.is-large 84 | height: 1.5em 85 | width: 1.5em 86 | &:first-child:not(:last-child) 87 | +ltr-property("margin", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}), false) 88 | +ltr-property("margin", $button-padding-horizontal * 0.25) 89 | &:last-child:not(:first-child) 90 | +ltr-property("margin", $button-padding-horizontal * 0.25, false) 91 | +ltr-property("margin", calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width})) 92 | &:first-child:last-child 93 | margin-left: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}) 94 | margin-right: calc(#{-0.5 * $button-padding-horizontal} - #{$button-border-width}) 95 | // States 96 | &:hover, 97 | &.is-hovered 98 | border-color: $button-hover-border-color 99 | color: $button-hover-color 100 | &:focus, 101 | &.is-focused 102 | border-color: $button-focus-border-color 103 | color: $button-focus-color 104 | &:not(:active) 105 | box-shadow: $button-focus-box-shadow-size $button-focus-box-shadow-color 106 | &:active, 107 | &.is-active 108 | border-color: $button-active-border-color 109 | color: $button-active-color 110 | // Colors 111 | &.is-text 112 | background-color: transparent 113 | border-color: transparent 114 | color: $button-text-color 115 | text-decoration: $button-text-decoration 116 | &:hover, 117 | &.is-hovered, 118 | &:focus, 119 | &.is-focused 120 | background-color: $button-text-hover-background-color 121 | color: $button-text-hover-color 122 | &:active, 123 | &.is-active 124 | background-color: bulmaDarken($button-text-hover-background-color, 5%) 125 | color: $button-text-hover-color 126 | &[disabled], 127 | fieldset[disabled] & 128 | background-color: transparent 129 | border-color: transparent 130 | box-shadow: none 131 | &.is-ghost 132 | background: $button-ghost-background 133 | border-color: $button-ghost-border-color 134 | color: $button-ghost-color 135 | text-decoration: $button-ghost-decoration 136 | &:hover, 137 | &.is-hovered 138 | color: $button-ghost-hover-color 139 | text-decoration: $button-ghost-hover-decoration 140 | @each $name, $pair in $button-colors 141 | $color: nth($pair, 1) 142 | $color-invert: nth($pair, 2) 143 | &.is-#{$name} 144 | background-color: $color 145 | border-color: transparent 146 | color: $color-invert 147 | &:hover, 148 | &.is-hovered 149 | background-color: bulmaDarken($color, 2.5%) 150 | border-color: transparent 151 | color: $color-invert 152 | &:focus, 153 | &.is-focused 154 | border-color: transparent 155 | color: $color-invert 156 | &:not(:active) 157 | box-shadow: $button-focus-box-shadow-size bulmaRgba($color, 0.25) 158 | &:active, 159 | &.is-active 160 | background-color: bulmaDarken($color, 5%) 161 | border-color: transparent 162 | color: $color-invert 163 | &[disabled], 164 | fieldset[disabled] & 165 | background-color: $color 166 | border-color: transparent 167 | box-shadow: none 168 | &.is-inverted 169 | background-color: $color-invert 170 | color: $color 171 | &:hover, 172 | &.is-hovered 173 | background-color: bulmaDarken($color-invert, 5%) 174 | &[disabled], 175 | fieldset[disabled] & 176 | background-color: $color-invert 177 | border-color: transparent 178 | box-shadow: none 179 | color: $color 180 | &.is-loading 181 | &::after 182 | border-color: transparent transparent $color-invert $color-invert !important 183 | &.is-outlined 184 | background-color: transparent 185 | border-color: $color 186 | color: $color 187 | &:hover, 188 | &.is-hovered, 189 | &:focus, 190 | &.is-focused 191 | background-color: $color 192 | border-color: $color 193 | color: $color-invert 194 | &.is-loading 195 | &::after 196 | border-color: transparent transparent $color $color !important 197 | &:hover, 198 | &.is-hovered, 199 | &:focus, 200 | &.is-focused 201 | &::after 202 | border-color: transparent transparent $color-invert $color-invert !important 203 | &[disabled], 204 | fieldset[disabled] & 205 | background-color: transparent 206 | border-color: $color 207 | box-shadow: none 208 | color: $color 209 | &.is-inverted.is-outlined 210 | background-color: transparent 211 | border-color: $color-invert 212 | color: $color-invert 213 | &:hover, 214 | &.is-hovered, 215 | &:focus, 216 | &.is-focused 217 | background-color: $color-invert 218 | color: $color 219 | &.is-loading 220 | &:hover, 221 | &.is-hovered, 222 | &:focus, 223 | &.is-focused 224 | &::after 225 | border-color: transparent transparent $color $color !important 226 | &[disabled], 227 | fieldset[disabled] & 228 | background-color: transparent 229 | border-color: $color-invert 230 | box-shadow: none 231 | color: $color-invert 232 | // If light and dark colors are provided 233 | @if length($pair) >= 4 234 | $color-light: nth($pair, 3) 235 | $color-dark: nth($pair, 4) 236 | &.is-light 237 | background-color: $color-light 238 | color: $color-dark 239 | &:hover, 240 | &.is-hovered 241 | background-color: bulmaDarken($color-light, 2.5%) 242 | border-color: transparent 243 | color: $color-dark 244 | &:active, 245 | &.is-active 246 | background-color: bulmaDarken($color-light, 5%) 247 | border-color: transparent 248 | color: $color-dark 249 | // Sizes 250 | &.is-small 251 | +button-small 252 | &.is-normal 253 | +button-normal 254 | &.is-medium 255 | +button-medium 256 | &.is-large 257 | +button-large 258 | // Modifiers 259 | &[disabled], 260 | fieldset[disabled] & 261 | background-color: $button-disabled-background-color 262 | border-color: $button-disabled-border-color 263 | box-shadow: $button-disabled-shadow 264 | opacity: $button-disabled-opacity 265 | &.is-fullwidth 266 | display: flex 267 | width: 100% 268 | &.is-loading 269 | color: transparent !important 270 | pointer-events: none 271 | &::after 272 | @extend %loader 273 | +center(1em) 274 | position: absolute !important 275 | &.is-static 276 | background-color: $button-static-background-color 277 | border-color: $button-static-border-color 278 | color: $button-static-color 279 | box-shadow: none 280 | pointer-events: none 281 | &.is-rounded 282 | border-radius: $radius-rounded 283 | padding-left: calc(#{$button-padding-horizontal} + 0.25em) 284 | padding-right: calc(#{$button-padding-horizontal} + 0.25em) 285 | 286 | .buttons 287 | align-items: center 288 | display: flex 289 | flex-wrap: wrap 290 | justify-content: flex-start 291 | .button 292 | margin-bottom: 0.5rem 293 | &:not(:last-child):not(.is-fullwidth) 294 | +ltr-property("margin", 0.5rem) 295 | &:last-child 296 | margin-bottom: -0.5rem 297 | &:not(:last-child) 298 | margin-bottom: 1rem 299 | // Sizes 300 | &.are-small 301 | .button:not(.is-normal):not(.is-medium):not(.is-large) 302 | +button-small 303 | &.are-medium 304 | .button:not(.is-small):not(.is-normal):not(.is-large) 305 | +button-medium 306 | &.are-large 307 | .button:not(.is-small):not(.is-normal):not(.is-medium) 308 | +button-large 309 | &.has-addons 310 | .button 311 | &:not(:first-child) 312 | border-bottom-left-radius: 0 313 | border-top-left-radius: 0 314 | &:not(:last-child) 315 | border-bottom-right-radius: 0 316 | border-top-right-radius: 0 317 | +ltr-property("margin", -1px) 318 | &:last-child 319 | +ltr-property("margin", 0) 320 | &:hover, 321 | &.is-hovered 322 | z-index: 2 323 | &:focus, 324 | &.is-focused, 325 | &:active, 326 | &.is-active, 327 | &.is-selected 328 | z-index: 3 329 | &:hover 330 | z-index: 4 331 | &.is-expanded 332 | flex-grow: 1 333 | flex-shrink: 1 334 | &.is-centered 335 | justify-content: center 336 | &:not(.has-addons) 337 | .button:not(.is-fullwidth) 338 | margin-left: 0.25rem 339 | margin-right: 0.25rem 340 | &.is-right 341 | justify-content: flex-end 342 | &:not(.has-addons) 343 | .button:not(.is-fullwidth) 344 | margin-left: 0.25rem 345 | margin-right: 0.25rem 346 | -------------------------------------------------------------------------------- /assets/css/bulma/README.md: -------------------------------------------------------------------------------- 1 | # [Bulma](https://bulma.io) 2 | 3 | Bulma is a **modern CSS framework** based on [Flexbox](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes). 4 | 5 | ![Github](https://img.shields.io/github/v/release/jgthms/bulma?logo=Bulma) 6 | [![npm](https://img.shields.io/npm/v/bulma.svg)][npm-link] 7 | [![npm](https://img.shields.io/npm/dm/bulma.svg)][npm-link] 8 | [![](https://data.jsdelivr.com/v1/package/npm/bulma/badge)](https://www.jsdelivr.com/package/npm/bulma) 9 | [![Awesome][awesome-badge]][awesome-link] 10 | [![Join the chat at https://gitter.im/jgthms/bulma](https://badges.gitter.im/jgthms/bulma.svg)](https://gitter.im/jgthms/bulma) 11 | [![Build Status](https://travis-ci.org/jgthms/bulma.svg?branch=master)](https://travis-ci.org/jgthms/bulma) 12 | 13 | Bulma: a Flexbox CSS framework 14 | 15 | ## Quick install 16 | 17 | Bulma is constantly in development! Try it out now: 18 | 19 | ### NPM 20 | 21 | ```sh 22 | npm install bulma 23 | ``` 24 | 25 | **or** 26 | 27 | ### Yarn 28 | 29 | ```sh 30 | yarn add bulma 31 | ``` 32 | 33 | ### Bower 34 | 35 | ```sh 36 | bower install bulma 37 | ``` 38 | 39 | ### Import 40 | After installation, you can import the CSS file into your project using this snippet: 41 | 42 | ```sh 43 | @import 'bulma/css/bulma.css' 44 | ``` 45 | 46 | ### CDN 47 | 48 | [https://www.jsdelivr.com/package/npm/bulma](https://www.jsdelivr.com/package/npm/bulma) 49 | 50 | Feel free to raise an issue or submit a pull request. 51 | 52 | ## CSS only 53 | 54 | Bulma is a **CSS** framework. As such, the sole output is a single CSS file: [bulma.css](https://github.com/jgthms/bulma/blob/master/css/bulma.css) 55 | 56 | You can either use that file, "out of the box", or download the Sass source files to customize the [variables](https://bulma.io/documentation/overview/variables/). 57 | 58 | There is **no** JavaScript included. People generally want to use their own JS implementation (and usually already have one). Bulma can be considered "environment agnostic": it's just the style layer on top of the logic. 59 | 60 | ## Browser Support 61 | 62 | Bulma uses [autoprefixer](https://github.com/postcss/autoprefixer) to make (most) Flexbox features compatible with earlier browser versions. According to [Can I use](https://caniuse.com/#feat=flexbox), Bulma is compatible with **recent** versions of: 63 | 64 | * Chrome 65 | * Edge 66 | * Firefox 67 | * Opera 68 | * Safari 69 | 70 | Internet Explorer (10+) is only partially supported. 71 | 72 | ## Documentation 73 | 74 | The documentation resides in the [docs](docs) directory, and is built with the Ruby-based [Jekyll](https://jekyllrb.com/) tool. 75 | 76 | Browse the [online documentation here.](https://bulma.io/documentation/overview/start/) 77 | 78 | ## Related projects 79 | 80 | | Project | Description | 81 | |--------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------| 82 | | [Bulma with Attribute Modules](https://github.com/j5bot/bulma-attribute-selectors) | Adds support for attribute-based selectors | 83 | | [Bulma with Rails](https://github.com/joshuajansen/bulma-rails) | Integrates Bulma with the rails asset pipeline | 84 | | [BulmaRazor](https://github.com/loogn/bulmarazor) | A lightweight component library based on Bulma and Blazor. | 85 | | [Vue Admin (dead)](https://github.com/vue-bulma/vue-admin) | Vue Admin framework powered by Bulma | 86 | | [Bulmaswatch](https://github.com/jenil/bulmaswatch) | Free themes for Bulma | 87 | | [Goldfish (read-only)](https://github.com/Caiyeon/goldfish) | Vault UI with Bulma, Golang, and Vue Admin | 88 | | [ember-bulma](https://github.com/open-tux/ember-bulma) | Ember addon providing a collection of UI components for Bulma | 89 | | [Bloomer](https://bloomer.js.org) | A set of React components for Bulma | 90 | | [React-bulma](https://github.com/kulakowka/react-bulma) | React.js components for Bulma | 91 | | [Buefy](https://buefy.org/) | Lightweight UI components for Vue.js based on Bulma | 92 | | [vue-bulma-components](https://github.com/vouill/vue-bulma-components) | Bulma components for Vue.js with straightforward syntax | 93 | | [BulmaJS](https://github.com/VizuaaLOG/BulmaJS) | Javascript integration for Bulma. Written in ES6 with a data-* API | 94 | | [Bulma-modal-fx](https://github.com/postare/bulma-modal-fx) | A set of modal window effects with CSS transitions and animations for Bulma | 95 | | [Bulma Stylus](https://github.com/groenroos/bulma-stylus) | Up-to-date 1:1 translation to Stylus 96 | | [Bulma.styl (read-only)](https://github.com/log1x/bulma.styl) | 1:1 Stylus translation of Bulma 0.6.11 | 97 | | [elm-bulma](https://github.com/surprisetalk/elm-bulma) | Bulma + Elm | 98 | | [elm-bulma-classes](https://github.com/ahstro/elm-bulma-classes) | Bulma classes prepared for usage with Elm | 99 | | [Bulma Customizer](https://bulma-customizer.bstash.io/) | Bulma Customizer – Create your own **bespoke** Bulma build | 100 | | [Fulma](https://fulma.github.io/Fulma/) | Wrapper around Bulma for [fable-react](https://github.com/fable-compiler/fable-react) | 101 | | [Laravel Enso](https://github.com/laravel-enso/enso) | SPA Admin Panel built with Bulma, VueJS and Laravel | 102 | | [Django Bulma](https://github.com/timonweb/django-bulma) | Integrates Bulma with Django | 103 | | [Bulma Templates](https://github.com/dansup/bulma-templates) | Free Templates for Bulma | 104 | | [React Bulma Components](https://github.com/couds/react-bulma-components) | Another React wrap on React for Bulma.io | 105 | | [purescript-bulma](https://github.com/sectore/purescript-bulma) | PureScript bindings for Bulma | 106 | | [Vue Datatable](https://github.com/laravel-enso/vuedatatable) | Bulma themed datatable based on Vue, Laravel & JSON templates | 107 | | [bulma-fluent](https://mubaidr.github.io/bulma-fluent/) | Fluent Design Theme for Bulma inspired by Microsoft’s Fluent Design System | 108 | | [csskrt-csskrt](https://github.com/4d11/csskrt-csskrt) | Automatically add Bulma classes to HTML files | 109 | | [bulma-pagination-react](https://github.com/hipstersmoothie/bulma-pagination-react) | Bulma pagination as a react component | 110 | | [bulma-helpers](https://github.com/jmaczan/bulma-helpers) | Functional / Atomic CSS classes for Bulma | 111 | | [bulma-swatch-hook](https://github.com/hipstersmoothie/bulma-swatch-hook) | Bulma swatches as a react hook and a component | 112 | | [BulmaWP (read-only)](https://github.com/tomhrtly/BulmaWP) | Starter WordPress theme for Bulma | 113 | | [Ralma](https://github.com/aldi/ralma) | Stateless Ractive.js Components for Bulma | 114 | | [Django Simple Bulma](https://github.com/python-discord/django-simple-bulma) | Lightweight integration of Bulma and Bulma-Extensions for your Django app | 115 | | [rbx](https://dfee.github.io/rbx) | Comprehensive React UI Framework written in TypeScript | 116 | | [Awesome Bulma Templates](https://github.com/aldi/awesome-bulma-templates) | Free real-world Templates built with Bulma | 117 | | [Trunx](http://g14n.info/trunx) | Super Saiyan React components, son of awesome Bulma, implemented in TypeScript | 118 | | [@aybolit/bulma](https://github.com/web-padawan/aybolit/tree/master/packages/bulma) | Web Components library inspired by Bulma and Bulma-extensions | 119 | | [Drulma](https://www.drupal.org/project/drulma) | Drupal theme for Bulma. | 120 | | [Bulrush](https://github.com/textbook/bulrush) | A Bulma-based Python Pelican blog theme | 121 | | [Bulma Variable Export](https://github.com/service-paradis/bulma-variables-export) | Access Bulma Variables in Javascript/Typescript in project using Webpack | 122 | | [Bulmil](https://github.com/gomah/bulmil) | An agnostic UI components library based on Web Components, made with Bulma & Stencil. | 123 | | [Svelte Bulma Components](https://github.com/elcobvg/svelte-bulma-components) | Library of UI components to be used in [Svelte.js](https://svelte.technology/) or standalone. | 124 | | [Bulma Nunjucks Starterkit](https://github.com/benninkcorien/nunjucks-starter-kit) | Starterkit for Nunjucks with Bulma. | 125 | | [Bulma-Social](https://github.com/aldi/bulma-social) | Social Buttons and Colors for Bulma | 126 | | [Divjoy](https://divjoy.com/?kit=bulma) | React codebase generator with Bulma templates | 127 | 128 | ## Copyright and license ![Github](https://img.shields.io/github/license/jgthms/bulma?logo=Github) 129 | 130 | Code copyright 2021 Jeremy Thomas. Code released under [the MIT license](https://github.com/jgthms/bulma/blob/master/LICENSE). 131 | 132 | [npm-link]: https://www.npmjs.com/package/bulma 133 | [awesome-link]: https://github.com/awesome-css-group/awesome-css 134 | [awesome-badge]: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg 135 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/components/navbar.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $navbar-background-color: $scheme-main !default 4 | $navbar-box-shadow-size: 0 2px 0 0 !default 5 | $navbar-box-shadow-color: $background !default 6 | $navbar-height: 3.25rem !default 7 | $navbar-padding-vertical: 1rem !default 8 | $navbar-padding-horizontal: 2rem !default 9 | $navbar-z: 30 !default 10 | $navbar-fixed-z: 30 !default 11 | 12 | $navbar-item-color: $text !default 13 | $navbar-item-hover-color: $link !default 14 | $navbar-item-hover-background-color: $scheme-main-bis !default 15 | $navbar-item-active-color: $scheme-invert !default 16 | $navbar-item-active-background-color: transparent !default 17 | $navbar-item-img-max-height: 1.75rem !default 18 | 19 | $navbar-burger-color: $navbar-item-color !default 20 | 21 | $navbar-tab-hover-background-color: transparent !default 22 | $navbar-tab-hover-border-bottom-color: $link !default 23 | $navbar-tab-active-color: $link !default 24 | $navbar-tab-active-background-color: transparent !default 25 | $navbar-tab-active-border-bottom-color: $link !default 26 | $navbar-tab-active-border-bottom-style: solid !default 27 | $navbar-tab-active-border-bottom-width: 3px !default 28 | 29 | $navbar-dropdown-background-color: $scheme-main !default 30 | $navbar-dropdown-border-top: 2px solid $border !default 31 | $navbar-dropdown-offset: -4px !default 32 | $navbar-dropdown-arrow: $link !default 33 | $navbar-dropdown-radius: $radius-large !default 34 | $navbar-dropdown-z: 20 !default 35 | 36 | $navbar-dropdown-boxed-radius: $radius-large !default 37 | $navbar-dropdown-boxed-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1), 0 0 0 1px bulmaRgba($scheme-invert, 0.1) !default 38 | 39 | $navbar-dropdown-item-hover-color: $scheme-invert !default 40 | $navbar-dropdown-item-hover-background-color: $background !default 41 | $navbar-dropdown-item-active-color: $link !default 42 | $navbar-dropdown-item-active-background-color: $background !default 43 | 44 | $navbar-divider-background-color: $background !default 45 | $navbar-divider-height: 2px !default 46 | 47 | $navbar-bottom-box-shadow-size: 0 -2px 0 0 !default 48 | 49 | $navbar-breakpoint: $desktop !default 50 | 51 | $navbar-colors: $colors !default 52 | 53 | =navbar-fixed 54 | left: 0 55 | position: fixed 56 | right: 0 57 | z-index: $navbar-fixed-z 58 | 59 | .navbar 60 | background-color: $navbar-background-color 61 | min-height: $navbar-height 62 | position: relative 63 | z-index: $navbar-z 64 | @each $name, $pair in $navbar-colors 65 | $color: nth($pair, 1) 66 | $color-invert: nth($pair, 2) 67 | &.is-#{$name} 68 | background-color: $color 69 | color: $color-invert 70 | .navbar-brand 71 | & > .navbar-item, 72 | .navbar-link 73 | color: $color-invert 74 | & > a.navbar-item, 75 | .navbar-link 76 | &:focus, 77 | &:hover, 78 | &.is-active 79 | background-color: bulmaDarken($color, 5%) 80 | color: $color-invert 81 | .navbar-link 82 | &::after 83 | border-color: $color-invert 84 | .navbar-burger 85 | color: $color-invert 86 | +from($navbar-breakpoint) 87 | .navbar-start, 88 | .navbar-end 89 | & > .navbar-item, 90 | .navbar-link 91 | color: $color-invert 92 | & > a.navbar-item, 93 | .navbar-link 94 | &:focus, 95 | &:hover, 96 | &.is-active 97 | background-color: bulmaDarken($color, 5%) 98 | color: $color-invert 99 | .navbar-link 100 | &::after 101 | border-color: $color-invert 102 | .navbar-item.has-dropdown:focus .navbar-link, 103 | .navbar-item.has-dropdown:hover .navbar-link, 104 | .navbar-item.has-dropdown.is-active .navbar-link 105 | background-color: bulmaDarken($color, 5%) 106 | color: $color-invert 107 | .navbar-dropdown 108 | a.navbar-item 109 | &.is-active 110 | background-color: $color 111 | color: $color-invert 112 | & > .container 113 | align-items: stretch 114 | display: flex 115 | min-height: $navbar-height 116 | width: 100% 117 | &.has-shadow 118 | box-shadow: $navbar-box-shadow-size $navbar-box-shadow-color 119 | &.is-fixed-bottom, 120 | &.is-fixed-top 121 | +navbar-fixed 122 | &.is-fixed-bottom 123 | bottom: 0 124 | &.has-shadow 125 | box-shadow: $navbar-bottom-box-shadow-size $navbar-box-shadow-color 126 | &.is-fixed-top 127 | top: 0 128 | 129 | html, 130 | body 131 | &.has-navbar-fixed-top 132 | padding-top: $navbar-height 133 | &.has-navbar-fixed-bottom 134 | padding-bottom: $navbar-height 135 | 136 | .navbar-brand, 137 | .navbar-tabs 138 | align-items: stretch 139 | display: flex 140 | flex-shrink: 0 141 | min-height: $navbar-height 142 | 143 | .navbar-brand 144 | a.navbar-item 145 | &:focus, 146 | &:hover 147 | background-color: transparent 148 | 149 | .navbar-tabs 150 | +overflow-touch 151 | max-width: 100vw 152 | overflow-x: auto 153 | overflow-y: hidden 154 | 155 | .navbar-burger 156 | @extend %reset 157 | color: $navbar-burger-color 158 | +hamburger($navbar-height) 159 | +ltr-property("margin", auto, false) 160 | 161 | .navbar-menu 162 | display: none 163 | 164 | .navbar-item, 165 | .navbar-link 166 | color: $navbar-item-color 167 | display: block 168 | line-height: 1.5 169 | padding: 0.5rem 0.75rem 170 | position: relative 171 | .icon 172 | &:only-child 173 | margin-left: -0.25rem 174 | margin-right: -0.25rem 175 | 176 | a.navbar-item, 177 | .navbar-link 178 | cursor: pointer 179 | &:focus, 180 | &:focus-within, 181 | &:hover, 182 | &.is-active 183 | background-color: $navbar-item-hover-background-color 184 | color: $navbar-item-hover-color 185 | 186 | .navbar-item 187 | flex-grow: 0 188 | flex-shrink: 0 189 | img 190 | max-height: $navbar-item-img-max-height 191 | &.has-dropdown 192 | padding: 0 193 | &.is-expanded 194 | flex-grow: 1 195 | flex-shrink: 1 196 | &.is-tab 197 | border-bottom: 1px solid transparent 198 | min-height: $navbar-height 199 | padding-bottom: calc(0.5rem - 1px) 200 | &:focus, 201 | &:hover 202 | background-color: $navbar-tab-hover-background-color 203 | border-bottom-color: $navbar-tab-hover-border-bottom-color 204 | &.is-active 205 | background-color: $navbar-tab-active-background-color 206 | border-bottom-color: $navbar-tab-active-border-bottom-color 207 | border-bottom-style: $navbar-tab-active-border-bottom-style 208 | border-bottom-width: $navbar-tab-active-border-bottom-width 209 | color: $navbar-tab-active-color 210 | padding-bottom: calc(0.5rem - #{$navbar-tab-active-border-bottom-width}) 211 | 212 | .navbar-content 213 | flex-grow: 1 214 | flex-shrink: 1 215 | 216 | .navbar-link:not(.is-arrowless) 217 | +ltr-property("padding", 2.5em) 218 | &::after 219 | @extend %arrow 220 | border-color: $navbar-dropdown-arrow 221 | margin-top: -0.375em 222 | +ltr-position(1.125em) 223 | 224 | .navbar-dropdown 225 | font-size: 0.875rem 226 | padding-bottom: 0.5rem 227 | padding-top: 0.5rem 228 | .navbar-item 229 | padding-left: 1.5rem 230 | padding-right: 1.5rem 231 | 232 | .navbar-divider 233 | background-color: $navbar-divider-background-color 234 | border: none 235 | display: none 236 | height: $navbar-divider-height 237 | margin: 0.5rem 0 238 | 239 | +until($navbar-breakpoint) 240 | .navbar > .container 241 | display: block 242 | .navbar-brand, 243 | .navbar-tabs 244 | .navbar-item 245 | align-items: center 246 | display: flex 247 | .navbar-link 248 | &::after 249 | display: none 250 | .navbar-menu 251 | background-color: $navbar-background-color 252 | box-shadow: 0 8px 16px bulmaRgba($scheme-invert, 0.1) 253 | padding: 0.5rem 0 254 | &.is-active 255 | display: block 256 | // Fixed navbar 257 | .navbar 258 | &.is-fixed-bottom-touch, 259 | &.is-fixed-top-touch 260 | +navbar-fixed 261 | &.is-fixed-bottom-touch 262 | bottom: 0 263 | &.has-shadow 264 | box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1) 265 | &.is-fixed-top-touch 266 | top: 0 267 | &.is-fixed-top, 268 | &.is-fixed-top-touch 269 | .navbar-menu 270 | +overflow-touch 271 | max-height: calc(100vh - #{$navbar-height}) 272 | overflow: auto 273 | html, 274 | body 275 | &.has-navbar-fixed-top-touch 276 | padding-top: $navbar-height 277 | &.has-navbar-fixed-bottom-touch 278 | padding-bottom: $navbar-height 279 | 280 | +from($navbar-breakpoint) 281 | .navbar, 282 | .navbar-menu, 283 | .navbar-start, 284 | .navbar-end 285 | align-items: stretch 286 | display: flex 287 | .navbar 288 | min-height: $navbar-height 289 | &.is-spaced 290 | padding: $navbar-padding-vertical $navbar-padding-horizontal 291 | .navbar-start, 292 | .navbar-end 293 | align-items: center 294 | a.navbar-item, 295 | .navbar-link 296 | border-radius: $radius 297 | &.is-transparent 298 | a.navbar-item, 299 | .navbar-link 300 | &:focus, 301 | &:hover, 302 | &.is-active 303 | background-color: transparent !important 304 | .navbar-item.has-dropdown 305 | &.is-active, 306 | &.is-hoverable:focus, 307 | &.is-hoverable:focus-within, 308 | &.is-hoverable:hover 309 | .navbar-link 310 | background-color: transparent !important 311 | .navbar-dropdown 312 | a.navbar-item 313 | &:focus, 314 | &:hover 315 | background-color: $navbar-dropdown-item-hover-background-color 316 | color: $navbar-dropdown-item-hover-color 317 | &.is-active 318 | background-color: $navbar-dropdown-item-active-background-color 319 | color: $navbar-dropdown-item-active-color 320 | .navbar-burger 321 | display: none 322 | .navbar-item, 323 | .navbar-link 324 | align-items: center 325 | display: flex 326 | .navbar-item 327 | &.has-dropdown 328 | align-items: stretch 329 | &.has-dropdown-up 330 | .navbar-link::after 331 | transform: rotate(135deg) translate(0.25em, -0.25em) 332 | .navbar-dropdown 333 | border-bottom: $navbar-dropdown-border-top 334 | border-radius: $navbar-dropdown-radius $navbar-dropdown-radius 0 0 335 | border-top: none 336 | bottom: 100% 337 | box-shadow: 0 -8px 8px bulmaRgba($scheme-invert, 0.1) 338 | top: auto 339 | &.is-active, 340 | &.is-hoverable:focus, 341 | &.is-hoverable:focus-within, 342 | &.is-hoverable:hover 343 | .navbar-dropdown 344 | display: block 345 | .navbar.is-spaced &, 346 | &.is-boxed 347 | opacity: 1 348 | pointer-events: auto 349 | transform: translateY(0) 350 | .navbar-menu 351 | flex-grow: 1 352 | flex-shrink: 0 353 | .navbar-start 354 | justify-content: flex-start 355 | +ltr-property("margin", auto) 356 | .navbar-end 357 | justify-content: flex-end 358 | +ltr-property("margin", auto, false) 359 | .navbar-dropdown 360 | background-color: $navbar-dropdown-background-color 361 | border-bottom-left-radius: $navbar-dropdown-radius 362 | border-bottom-right-radius: $navbar-dropdown-radius 363 | border-top: $navbar-dropdown-border-top 364 | box-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1) 365 | display: none 366 | font-size: 0.875rem 367 | +ltr-position(0, false) 368 | min-width: 100% 369 | position: absolute 370 | top: 100% 371 | z-index: $navbar-dropdown-z 372 | .navbar-item 373 | padding: 0.375rem 1rem 374 | white-space: nowrap 375 | a.navbar-item 376 | +ltr-property("padding", 3rem) 377 | &:focus, 378 | &:hover 379 | background-color: $navbar-dropdown-item-hover-background-color 380 | color: $navbar-dropdown-item-hover-color 381 | &.is-active 382 | background-color: $navbar-dropdown-item-active-background-color 383 | color: $navbar-dropdown-item-active-color 384 | .navbar.is-spaced &, 385 | &.is-boxed 386 | border-radius: $navbar-dropdown-boxed-radius 387 | border-top: none 388 | box-shadow: $navbar-dropdown-boxed-shadow 389 | display: block 390 | opacity: 0 391 | pointer-events: none 392 | top: calc(100% + (#{$navbar-dropdown-offset})) 393 | transform: translateY(-5px) 394 | transition-duration: $speed 395 | transition-property: opacity, transform 396 | &.is-right 397 | left: auto 398 | right: 0 399 | .navbar-divider 400 | display: block 401 | .navbar > .container, 402 | .container > .navbar 403 | .navbar-brand 404 | +ltr-property("margin", -.75rem, false) 405 | .navbar-menu 406 | +ltr-property("margin", -.75rem) 407 | // Fixed navbar 408 | .navbar 409 | &.is-fixed-bottom-desktop, 410 | &.is-fixed-top-desktop 411 | +navbar-fixed 412 | &.is-fixed-bottom-desktop 413 | bottom: 0 414 | &.has-shadow 415 | box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1) 416 | &.is-fixed-top-desktop 417 | top: 0 418 | html, 419 | body 420 | &.has-navbar-fixed-top-desktop 421 | padding-top: $navbar-height 422 | &.has-navbar-fixed-bottom-desktop 423 | padding-bottom: $navbar-height 424 | &.has-spaced-navbar-fixed-top 425 | padding-top: $navbar-height + ($navbar-padding-vertical * 2) 426 | &.has-spaced-navbar-fixed-bottom 427 | padding-bottom: $navbar-height + ($navbar-padding-vertical * 2) 428 | // Hover/Active states 429 | a.navbar-item, 430 | .navbar-link 431 | &.is-active 432 | color: $navbar-item-active-color 433 | &.is-active:not(:focus):not(:hover) 434 | background-color: $navbar-item-active-background-color 435 | .navbar-item.has-dropdown 436 | &:focus, 437 | &:hover, 438 | &.is-active 439 | .navbar-link 440 | background-color: $navbar-item-hover-background-color 441 | 442 | // Combination 443 | 444 | .hero 445 | &.is-fullheight-with-navbar 446 | min-height: calc(100vh - #{$navbar-height}) 447 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Screenshot of a website using Huey](https://github.com/alloydwhitlock/huey/blob/main/images/tn.png) 2 | 3 | # Huey 4 | A minimal Hugo blog template using Bulma CSS 5 | 6 | ## Questions 7 | 8 | ### Why is it Named Huey? 9 | The name "Huey" was taken from the musician "Baby Huey". The record was on the mantle when the theme author was trying to come up with a name. The album cover for "The Baby Huey Story: The Living Legend" is used as the default `favicon.ico` for this theme. 10 | 11 | ### Why Use Bulma for CSS? 12 | Bulma is a great framework for starting off sites. It's pure CSS, meaning you don't need to bring in Javascript (unless you want to). This was also meant as an exercise for the author to learn Bulma CSS and how Sass works. 13 | 14 | ### Why Doesn't Huey use "X" Bulma feature? 15 | This is meant to be "minimal". Only add features needed for a slim site and when necessary. If you want a full-featured Bulma theme meant to provide everything Bulma offers, check out [hugo-bulma](https://github.com/wayn3h0/hugo-bulma). 16 | 17 | ### How Can I Contribute? 18 | File a pull request in the Huey theme repository. Preferably create a Github Issue which addresses a problem that needs to be solved, then submit a PR fixing it. 19 | 20 | 21 | ## How Can I Get New Features? 22 | If you need or want new functionality, please create a new issue on Github in the Huey project. 23 | 24 | 25 | ## Installation 26 | 27 | ### Prerequisites 28 | 29 | - A Hugo site has been initialized or cloned. Example: `hugo new site ` 30 | - Git installed in development environment 31 | - Github access available 32 | 33 | ### Method 1: Clone in Themes Directory 34 | 35 | The simplest method of installing Huey is cloning the Huey directly into the site `themes/huey` directory. Below is a command that can be copied & pasted into a terminal to clone the Huey theme. 36 | 37 | 38 | ```git clone https://github.com/alloydwhitlock/huey/ --depth=1``` 39 | 40 | If you use Huey cloned directly, you will need to run `git pull` within `themes/huey` for updating to the most recent version. 41 | 42 | 43 | ### Method 2: Use Git Submodule 44 | 45 | Git Submodule allows you to have one git repository located within another. This lets you separate what your working site directory will be from the Huey theme, as an example. It's a great choice when you have an external component you don't fully control, since it locks the repository reference to the specific commit you used. 46 | 47 | ```git submodule add https://github.com/alloydwhitlock/huey/ themes/huey --depth=1``` 48 | 49 | If you use Huey as a submodule, you will need to run `git submodule update --remote --merge` when updating the most more recent version. 50 | 51 | 52 | 53 | ## Theme Configuration 54 | Huey comes with a number of configuration options. Read through this section for more details, along with a boilerplate configuration that can be used to get started. 55 | 56 | ### Font Awesome 57 | Font Awesome icons are included as part of the Bulma CSS framework, though their use is optional. Using the icons in Huey is also optional. If you want to have icons next to page titles or social media icons in your page footer it's necessary to enable Font Awesome. To use Font Awesome, you will first need to [register with Font Awesome](https://fontawesome.com/start) and get a token. Once you have a token, add it to the `[Params]` table as `fontawesomeToken`. Example configuration is provided below (with additional keys/values removed): 58 | 59 | ``` 60 | [params] 61 | fontawesomeToken = "018de52a07" 62 | ``` 63 | 64 | ### Subtitle 65 | This theme doesn't use a subtitle. To add a subtitle, edit `layouts/partials/header.html` to include a {{ .Params.Subtitle }} along with adding `subtitle` to your `config.toml` `[params]` table. 66 | 67 | ### Social Media Icons and Links 68 | 69 | If you want to use social media icons in your page footer, you can add them through the `[[menu.social]]` table array. The example below shows a full configuration, where three social media locations are set. Any link and icon can be used, though if you don't use Font Awesome it will show the name specified instead of an icon. 70 | 71 | ``` 72 | [[ menu.social]] 73 | identifier = 'linkedin' 74 | name = 'LinkedIn' 75 | pre = "" 76 | url = "https://linkedin.com/in/yourlinkedinprofile" 77 | weight = 10 78 | 79 | [[ menu.social]] 80 | identifier = 'github' 81 | name = 'Github' 82 | pre = "" 83 | url = "https://github.com/yourgithubname" 84 | weight = 20 85 | 86 | [[ menu.social]] 87 | identifier = 'twitter' 88 | name = 'Twitter' 89 | pre = "" 90 | url = "https://twitter.com/yourtwittername" 91 | weight = 30 92 | ``` 93 | 94 | The `pre` key defines the Font Awesome icon code you would use. If you do a search on Font Awesome, you should be able to paste the icon code as the value. You can also use this to specify a location for an icon, if you don't want to use Font Awesome. 95 | 96 | The `weight` key is used to determine the location of icons. Adjusting the weight from low-to-high will order left-to-right. 97 | 98 | 99 | ### Configuration Example 100 | 101 | This is a configuration boilerplate you can use with minimal changes. 102 | 103 | ``` 104 | baseURL = "https://www.yourbaseurl.com" 105 | languageCode = "en-us" 106 | title = "Put a site title here" 107 | theme = "huey" 108 | canonifyurls = true 109 | 110 | [params] 111 | # General site metadata, used in header and other places 112 | author = "Author's name goes here" 113 | dateFormat = "January 2, 2006" 114 | description = "This is a description of your site. This is also used in your site header metadata." 115 | keywords = "" 116 | email = "adam@adamwhitlock.com" 117 | 118 | # Use your Font Awesome token here. Example token is fake, so please get your own. 119 | fontawesomeToken = "018de52a07" 120 | 121 | # Use content from _index.md on homepage 122 | # useIndexContent = true # default is false 123 | 124 | # Navigation, use Bulma options here 125 | # navbarStyle = "is-transparent" # Default is "is-transparent" 126 | # navbarTitleStyle = "has-text-black" # Default is "has-text-black" 127 | 128 | # # Override Bulma schemes with values 129 | # schemeMain = "" # Change background color, default is white 130 | # link = "#000" # Bulma default is blue, though theme is black 131 | # linkHover = "#888" # Bulma default is grey-darker, though theme is #888 132 | # footerBackgroundColor = "false" # Bulma default is #fafafa. You can use "false" or #hex 133 | # navbarItemHoverColor = "#444" # Bulma default is blue, though theme is #444 134 | # navbarItemColor = "#888" # Bulma default is grey-dark, though theme is #888 135 | 136 | # Set static directory locations and favicon 137 | favicon = "favicon.ico" 138 | staticDir = ['static'] 139 | 140 | 141 | 142 | # Page Layout for Index 143 | [pagination] 144 | disableAliases = false 145 | pagerSize = 3 146 | path = 'page' 147 | 148 | [menu] 149 | 150 | # Top Navigation 151 | [[menu.nav]] 152 | identifier = 'home' 153 | name = 'Home' 154 | title = 'Home' 155 | url = '/' 156 | weight = 10 157 | 158 | [[menu.nav]] 159 | identifier = 'archive' 160 | name = 'Archive' 161 | title = "Archive" 162 | url = '/archive/' 163 | weight = 20 164 | 165 | # Contacts 166 | 167 | [[ menu.social]] 168 | identifier = 'linkedin' 169 | name = 'LinkedIn' 170 | pre = "" 171 | url = "https://linkedin.com/in/yourlinkedinprofile" 172 | weight = 10 173 | 174 | [[ menu.social]] 175 | identifier = 'github' 176 | name = 'Github' 177 | pre = "" 178 | url = "https://github.com/yourgithubname" 179 | weight = 20 180 | 181 | [[ menu.social]] 182 | identifier = 'twitter' 183 | name = 'Twitter' 184 | pre = "" 185 | url = "https://twitter.com/yourtwittername" 186 | weight = 30 187 | 188 | [outputs] 189 | home = ['HTML', 'RSS'] 190 | pages = ['HTML'] 191 | 192 | ``` 193 | 194 | ## Page Configuration 195 | 196 | 197 | ### Layout for Individual Pages 198 | 199 | Huey pages require that you specify a `type: pages` and `layout: page` for any page that's standalone (Examples: Contact, About Me). This will remove the "date" field from those pages, along with letting you specify an optional Font Awesome icon next to the page title. Unlike how Font Awesome icons are used in the configuration, you only need to put the short Font Awesome codes on your page front matter (the metadata at the top of a post).S 200 | 201 | Specifying the `menu:nav` and `weight: weight-value`, as seen in the example, will ensure additional pages you create appear in navigation. If declared properly, the active page should be darker in the menu. 202 | 203 | Example Layout for Individual Page 204 | 205 | ``` 206 | --- 207 | title: "About" 208 | date: 2021-12-22T22:31:55-06:00 209 | draft: false 210 | url: /about/ 211 | type: pages 212 | layout: page 213 | fa_icon: "fas fa-user" 214 | menu: nav 215 | weight: 20 216 | 217 | --- 218 | 219 | Content text goes here... 220 | 221 | ``` 222 | 223 | To add an icon next to a page title, use `fa_icon:` key where the value is the Font Awesome icon code. Example: `fa_icon: fas fa-user` 224 | 225 | 226 | ### Layout for Blog Posts 227 | 228 | #### Post Front Matter 229 | 230 | Blog posts only need the type `blog` specified in a page front matter, which allows new posts to appear on the main home page. If you don't want a post to appear on the home page, it's possible to hide them by ignoring the type or setting it to another (Example: post). 231 | 232 | Use the `lastmod` key in your page front matter to specify the last modified date. This is useful if you make changes to a post and want to highlight something new is present. 233 | 234 | `archive` is used throughout Huey as the blog post location, but you can specify your own. Rename `layouts/pages/archive.html` file accordingly. 235 | 236 | 237 | Example Layout for Blog Posts: 238 | 239 | ``` 240 | --- 241 | title: "Example Post" 242 | date: 2021-12-30 243 | # lastmod: 2021-12-29 244 | draft: false 245 | url: /archive/examplepost 246 | type: blog 247 | description: "Every post should have a great description!" 248 | --- 249 | 250 | Content text goes here... 251 | ``` 252 | 253 | 254 | There is not an option for Font Awesome codes with blog posts. If you need/want this functionality please create a new issue on Github in the Huey project. 255 | 256 | #### Header Images & Content 257 | 258 | When using Huey as a theme, it's suggested to use page bundles. These allow for a content author to include all relevant content within a folder. Pages can reference bundle content directly. Below is an example of a page bundle layout: 259 | 260 | 261 | ``` 262 | hugo-site 263 | ├── content/ 264 | │ ├── posts/ 265 | │ │ ├── new_post/ 266 | │ │ │ ├── header.png 267 | │ │ │ ├── image1.png 268 | │ │ │ └── index.md 269 | │ │ ├── _index.md 270 | ... 271 | 272 | ``` 273 | 274 | Post bundles require an `index.md` for the bundle folder, which will contain the content of the post. See [Page Bundles](https://gohugo.io/content-management/page-bundles/) on Hugo for more information. 275 | 276 | 277 | ##### Header Image (Front Page & Posts Page) 278 | 279 | Huey will use any picture named "header.jpg" or "header.png" that's included within a page bundle. This picture is used on the front home page and the posts (blog posts) page. If you do not include an image meeting the naming convention, then no image will be used for the header. 280 | 281 | 282 | ##### Images & Other Content 283 | 284 | You can reference any content in the page bundle, such as additional images, in your markdown files using a relative path. Example: 285 | 286 | ``` 287 | ![Image alt text](image1.png) 288 | ``` 289 | 290 | 291 | 292 | 293 | ##### Shortcodes 294 | 295 | ###### Centered Text 296 | 297 | Example: 298 | 299 | {{% center %}}Text to be centered{{% /center %}} 300 | 301 | 302 | ###### Centered Image 303 | 304 | {{% center-image 305 | src="x400_board.png" 306 | alt="This is sample image" %}} 307 | 308 | 309 | ## Additional Scripts 310 | 311 | Huey supports loading scripts after the footer loads (Example: Javascript for site analytics). Adding new code directly to Huey's existing `huey/layouts/partials/scripts.html` is the fastest method to get started. However, to maintain core site code separate from your theme create a `layouts/partials/scripts.html` file in the base site directory. When generating a new site, Hugo will load the base folder `scripts.html` accoording to the order of precedence. 312 | 313 | Example Layout Showing New scripts.html: 314 | 315 | ``` 316 | hugo-site 317 | ├── layouts/ 318 | ├── partials/ 319 | │└── scripts.html 320 | ... more files ... 321 | ├── themes/ 322 | │└── huey/ 323 | ... 324 | 325 | ``` 326 | 327 | 328 | ## Site Local Assets and Online Dependencies 329 | 330 | Bulma CSS is stored as part of the project theme, in `assets/css/bulma`. This ensures you can move your site around without needing network access. If a newer version of Bulma is necessary, either replace the Bulma CSS directory completely or use a public Bulma CSS location. The location is specified in `layouts/partials/head.html`. 331 | 332 | Font Awesome is not stored within the theme, so network access to the Font Awesome CDN is required. If you need local icons, store them in the `static` folder (Example: `static/icons`) and reference their location directly. This may require theme modification depending on where you are adding or needing icons. 333 | 334 | 335 | ## Theme Customization 336 | 337 | If you want to change the colors that Huey uses, the best location is `assets/css/base/base.scss`. Huey uses Bulma, which itself uses Sass for generating CSS. This file will apply changes to Bulma CSS and generate what is ultimately created in your `public` folder. However, there are a number of Bulma variables already configurable in the `[Params]` table, which means you don't need to edit this file directly. Only edit it directly if you need to make changes. 338 | 339 | If you want to add new CSS definitions that don't exist in Bulma, add them to `assets/css/extra/extra.css` or copy CSS files to the `assets/css/extra` folder. Huey will read any CSS files in that folder. 340 | 341 | 342 | ## TODO 343 | This is the author's current TODO list for Huey. It won't impact your use of Huey. If you run into an issue and it's in the list, be assured it's being looked into. 344 | 345 | - Children pages will show active for parent in menu 346 | -------------------------------------------------------------------------------- /assets/css/bulma/sass/grid/columns.sass: -------------------------------------------------------------------------------- 1 | @import "../utilities/mixins" 2 | 3 | $column-gap: 0.75rem !default 4 | 5 | .column 6 | display: block 7 | flex-basis: 0 8 | flex-grow: 1 9 | flex-shrink: 1 10 | padding: $column-gap 11 | .columns.is-mobile > &.is-narrow 12 | flex: none 13 | width: unset 14 | .columns.is-mobile > &.is-full 15 | flex: none 16 | width: 100% 17 | .columns.is-mobile > &.is-three-quarters 18 | flex: none 19 | width: 75% 20 | .columns.is-mobile > &.is-two-thirds 21 | flex: none 22 | width: 66.6666% 23 | .columns.is-mobile > &.is-half 24 | flex: none 25 | width: 50% 26 | .columns.is-mobile > &.is-one-third 27 | flex: none 28 | width: 33.3333% 29 | .columns.is-mobile > &.is-one-quarter 30 | flex: none 31 | width: 25% 32 | .columns.is-mobile > &.is-one-fifth 33 | flex: none 34 | width: 20% 35 | .columns.is-mobile > &.is-two-fifths 36 | flex: none 37 | width: 40% 38 | .columns.is-mobile > &.is-three-fifths 39 | flex: none 40 | width: 60% 41 | .columns.is-mobile > &.is-four-fifths 42 | flex: none 43 | width: 80% 44 | .columns.is-mobile > &.is-offset-three-quarters 45 | +ltr-property("margin", 75%, false) 46 | .columns.is-mobile > &.is-offset-two-thirds 47 | +ltr-property("margin", 66.6666%, false) 48 | .columns.is-mobile > &.is-offset-half 49 | +ltr-property("margin", 50%, false) 50 | .columns.is-mobile > &.is-offset-one-third 51 | +ltr-property("margin", 33.3333%, false) 52 | .columns.is-mobile > &.is-offset-one-quarter 53 | +ltr-property("margin", 25%, false) 54 | .columns.is-mobile > &.is-offset-one-fifth 55 | +ltr-property("margin", 20%, false) 56 | .columns.is-mobile > &.is-offset-two-fifths 57 | +ltr-property("margin", 40%, false) 58 | .columns.is-mobile > &.is-offset-three-fifths 59 | +ltr-property("margin", 60%, false) 60 | .columns.is-mobile > &.is-offset-four-fifths 61 | +ltr-property("margin", 80%, false) 62 | @for $i from 0 through 12 63 | .columns.is-mobile > &.is-#{$i} 64 | flex: none 65 | width: percentage(divide($i, 12)) 66 | .columns.is-mobile > &.is-offset-#{$i} 67 | +ltr-property("margin", percentage(divide($i, 12)), false) 68 | +mobile 69 | &.is-narrow-mobile 70 | flex: none 71 | width: unset 72 | &.is-full-mobile 73 | flex: none 74 | width: 100% 75 | &.is-three-quarters-mobile 76 | flex: none 77 | width: 75% 78 | &.is-two-thirds-mobile 79 | flex: none 80 | width: 66.6666% 81 | &.is-half-mobile 82 | flex: none 83 | width: 50% 84 | &.is-one-third-mobile 85 | flex: none 86 | width: 33.3333% 87 | &.is-one-quarter-mobile 88 | flex: none 89 | width: 25% 90 | &.is-one-fifth-mobile 91 | flex: none 92 | width: 20% 93 | &.is-two-fifths-mobile 94 | flex: none 95 | width: 40% 96 | &.is-three-fifths-mobile 97 | flex: none 98 | width: 60% 99 | &.is-four-fifths-mobile 100 | flex: none 101 | width: 80% 102 | &.is-offset-three-quarters-mobile 103 | +ltr-property("margin", 75%, false) 104 | &.is-offset-two-thirds-mobile 105 | +ltr-property("margin", 66.6666%, false) 106 | &.is-offset-half-mobile 107 | +ltr-property("margin", 50%, false) 108 | &.is-offset-one-third-mobile 109 | +ltr-property("margin", 33.3333%, false) 110 | &.is-offset-one-quarter-mobile 111 | +ltr-property("margin", 25%, false) 112 | &.is-offset-one-fifth-mobile 113 | +ltr-property("margin", 20%, false) 114 | &.is-offset-two-fifths-mobile 115 | +ltr-property("margin", 40%, false) 116 | &.is-offset-three-fifths-mobile 117 | +ltr-property("margin", 60%, false) 118 | &.is-offset-four-fifths-mobile 119 | +ltr-property("margin", 80%, false) 120 | @for $i from 0 through 12 121 | &.is-#{$i}-mobile 122 | flex: none 123 | width: percentage(divide($i, 12)) 124 | &.is-offset-#{$i}-mobile 125 | +ltr-property("margin", percentage(divide($i, 12)), false) 126 | +tablet 127 | &.is-narrow, 128 | &.is-narrow-tablet 129 | flex: none 130 | width: unset 131 | &.is-full, 132 | &.is-full-tablet 133 | flex: none 134 | width: 100% 135 | &.is-three-quarters, 136 | &.is-three-quarters-tablet 137 | flex: none 138 | width: 75% 139 | &.is-two-thirds, 140 | &.is-two-thirds-tablet 141 | flex: none 142 | width: 66.6666% 143 | &.is-half, 144 | &.is-half-tablet 145 | flex: none 146 | width: 50% 147 | &.is-one-third, 148 | &.is-one-third-tablet 149 | flex: none 150 | width: 33.3333% 151 | &.is-one-quarter, 152 | &.is-one-quarter-tablet 153 | flex: none 154 | width: 25% 155 | &.is-one-fifth, 156 | &.is-one-fifth-tablet 157 | flex: none 158 | width: 20% 159 | &.is-two-fifths, 160 | &.is-two-fifths-tablet 161 | flex: none 162 | width: 40% 163 | &.is-three-fifths, 164 | &.is-three-fifths-tablet 165 | flex: none 166 | width: 60% 167 | &.is-four-fifths, 168 | &.is-four-fifths-tablet 169 | flex: none 170 | width: 80% 171 | &.is-offset-three-quarters, 172 | &.is-offset-three-quarters-tablet 173 | +ltr-property("margin", 75%, false) 174 | &.is-offset-two-thirds, 175 | &.is-offset-two-thirds-tablet 176 | +ltr-property("margin", 66.6666%, false) 177 | &.is-offset-half, 178 | &.is-offset-half-tablet 179 | +ltr-property("margin", 50%, false) 180 | &.is-offset-one-third, 181 | &.is-offset-one-third-tablet 182 | +ltr-property("margin", 33.3333%, false) 183 | &.is-offset-one-quarter, 184 | &.is-offset-one-quarter-tablet 185 | +ltr-property("margin", 25%, false) 186 | &.is-offset-one-fifth, 187 | &.is-offset-one-fifth-tablet 188 | +ltr-property("margin", 20%, false) 189 | &.is-offset-two-fifths, 190 | &.is-offset-two-fifths-tablet 191 | +ltr-property("margin", 40%, false) 192 | &.is-offset-three-fifths, 193 | &.is-offset-three-fifths-tablet 194 | +ltr-property("margin", 60%, false) 195 | &.is-offset-four-fifths, 196 | &.is-offset-four-fifths-tablet 197 | +ltr-property("margin", 80%, false) 198 | @for $i from 0 through 12 199 | &.is-#{$i}, 200 | &.is-#{$i}-tablet 201 | flex: none 202 | width: percentage(divide($i, 12)) 203 | &.is-offset-#{$i}, 204 | &.is-offset-#{$i}-tablet 205 | +ltr-property("margin", percentage(divide($i, 12)), false) 206 | +touch 207 | &.is-narrow-touch 208 | flex: none 209 | width: unset 210 | &.is-full-touch 211 | flex: none 212 | width: 100% 213 | &.is-three-quarters-touch 214 | flex: none 215 | width: 75% 216 | &.is-two-thirds-touch 217 | flex: none 218 | width: 66.6666% 219 | &.is-half-touch 220 | flex: none 221 | width: 50% 222 | &.is-one-third-touch 223 | flex: none 224 | width: 33.3333% 225 | &.is-one-quarter-touch 226 | flex: none 227 | width: 25% 228 | &.is-one-fifth-touch 229 | flex: none 230 | width: 20% 231 | &.is-two-fifths-touch 232 | flex: none 233 | width: 40% 234 | &.is-three-fifths-touch 235 | flex: none 236 | width: 60% 237 | &.is-four-fifths-touch 238 | flex: none 239 | width: 80% 240 | &.is-offset-three-quarters-touch 241 | +ltr-property("margin", 75%, false) 242 | &.is-offset-two-thirds-touch 243 | +ltr-property("margin", 66.6666%, false) 244 | &.is-offset-half-touch 245 | +ltr-property("margin", 50%, false) 246 | &.is-offset-one-third-touch 247 | +ltr-property("margin", 33.3333%, false) 248 | &.is-offset-one-quarter-touch 249 | +ltr-property("margin", 25%, false) 250 | &.is-offset-one-fifth-touch 251 | +ltr-property("margin", 20%, false) 252 | &.is-offset-two-fifths-touch 253 | +ltr-property("margin", 40%, false) 254 | &.is-offset-three-fifths-touch 255 | +ltr-property("margin", 60%, false) 256 | &.is-offset-four-fifths-touch 257 | +ltr-property("margin", 80%, false) 258 | @for $i from 0 through 12 259 | &.is-#{$i}-touch 260 | flex: none 261 | width: percentage(divide($i, 12)) 262 | &.is-offset-#{$i}-touch 263 | +ltr-property("margin", percentage(divide($i, 12)), false) 264 | +desktop 265 | &.is-narrow-desktop 266 | flex: none 267 | width: unset 268 | &.is-full-desktop 269 | flex: none 270 | width: 100% 271 | &.is-three-quarters-desktop 272 | flex: none 273 | width: 75% 274 | &.is-two-thirds-desktop 275 | flex: none 276 | width: 66.6666% 277 | &.is-half-desktop 278 | flex: none 279 | width: 50% 280 | &.is-one-third-desktop 281 | flex: none 282 | width: 33.3333% 283 | &.is-one-quarter-desktop 284 | flex: none 285 | width: 25% 286 | &.is-one-fifth-desktop 287 | flex: none 288 | width: 20% 289 | &.is-two-fifths-desktop 290 | flex: none 291 | width: 40% 292 | &.is-three-fifths-desktop 293 | flex: none 294 | width: 60% 295 | &.is-four-fifths-desktop 296 | flex: none 297 | width: 80% 298 | &.is-offset-three-quarters-desktop 299 | +ltr-property("margin", 75%, false) 300 | &.is-offset-two-thirds-desktop 301 | +ltr-property("margin", 66.6666%, false) 302 | &.is-offset-half-desktop 303 | +ltr-property("margin", 50%, false) 304 | &.is-offset-one-third-desktop 305 | +ltr-property("margin", 33.3333%, false) 306 | &.is-offset-one-quarter-desktop 307 | +ltr-property("margin", 25%, false) 308 | &.is-offset-one-fifth-desktop 309 | +ltr-property("margin", 20%, false) 310 | &.is-offset-two-fifths-desktop 311 | +ltr-property("margin", 40%, false) 312 | &.is-offset-three-fifths-desktop 313 | +ltr-property("margin", 60%, false) 314 | &.is-offset-four-fifths-desktop 315 | +ltr-property("margin", 80%, false) 316 | @for $i from 0 through 12 317 | &.is-#{$i}-desktop 318 | flex: none 319 | width: percentage(divide($i, 12)) 320 | &.is-offset-#{$i}-desktop 321 | +ltr-property("margin", percentage(divide($i, 12)), false) 322 | +widescreen 323 | &.is-narrow-widescreen 324 | flex: none 325 | width: unset 326 | &.is-full-widescreen 327 | flex: none 328 | width: 100% 329 | &.is-three-quarters-widescreen 330 | flex: none 331 | width: 75% 332 | &.is-two-thirds-widescreen 333 | flex: none 334 | width: 66.6666% 335 | &.is-half-widescreen 336 | flex: none 337 | width: 50% 338 | &.is-one-third-widescreen 339 | flex: none 340 | width: 33.3333% 341 | &.is-one-quarter-widescreen 342 | flex: none 343 | width: 25% 344 | &.is-one-fifth-widescreen 345 | flex: none 346 | width: 20% 347 | &.is-two-fifths-widescreen 348 | flex: none 349 | width: 40% 350 | &.is-three-fifths-widescreen 351 | flex: none 352 | width: 60% 353 | &.is-four-fifths-widescreen 354 | flex: none 355 | width: 80% 356 | &.is-offset-three-quarters-widescreen 357 | +ltr-property("margin", 75%, false) 358 | &.is-offset-two-thirds-widescreen 359 | +ltr-property("margin", 66.6666%, false) 360 | &.is-offset-half-widescreen 361 | +ltr-property("margin", 50%, false) 362 | &.is-offset-one-third-widescreen 363 | +ltr-property("margin", 33.3333%, false) 364 | &.is-offset-one-quarter-widescreen 365 | +ltr-property("margin", 25%, false) 366 | &.is-offset-one-fifth-widescreen 367 | +ltr-property("margin", 20%, false) 368 | &.is-offset-two-fifths-widescreen 369 | +ltr-property("margin", 40%, false) 370 | &.is-offset-three-fifths-widescreen 371 | +ltr-property("margin", 60%, false) 372 | &.is-offset-four-fifths-widescreen 373 | +ltr-property("margin", 80%, false) 374 | @for $i from 0 through 12 375 | &.is-#{$i}-widescreen 376 | flex: none 377 | width: percentage(divide($i, 12)) 378 | &.is-offset-#{$i}-widescreen 379 | +ltr-property("margin", percentage(divide($i, 12)), false) 380 | +fullhd 381 | &.is-narrow-fullhd 382 | flex: none 383 | width: unset 384 | &.is-full-fullhd 385 | flex: none 386 | width: 100% 387 | &.is-three-quarters-fullhd 388 | flex: none 389 | width: 75% 390 | &.is-two-thirds-fullhd 391 | flex: none 392 | width: 66.6666% 393 | &.is-half-fullhd 394 | flex: none 395 | width: 50% 396 | &.is-one-third-fullhd 397 | flex: none 398 | width: 33.3333% 399 | &.is-one-quarter-fullhd 400 | flex: none 401 | width: 25% 402 | &.is-one-fifth-fullhd 403 | flex: none 404 | width: 20% 405 | &.is-two-fifths-fullhd 406 | flex: none 407 | width: 40% 408 | &.is-three-fifths-fullhd 409 | flex: none 410 | width: 60% 411 | &.is-four-fifths-fullhd 412 | flex: none 413 | width: 80% 414 | &.is-offset-three-quarters-fullhd 415 | +ltr-property("margin", 75%, false) 416 | &.is-offset-two-thirds-fullhd 417 | +ltr-property("margin", 66.6666%, false) 418 | &.is-offset-half-fullhd 419 | +ltr-property("margin", 50%, false) 420 | &.is-offset-one-third-fullhd 421 | +ltr-property("margin", 33.3333%, false) 422 | &.is-offset-one-quarter-fullhd 423 | +ltr-property("margin", 25%, false) 424 | &.is-offset-one-fifth-fullhd 425 | +ltr-property("margin", 20%, false) 426 | &.is-offset-two-fifths-fullhd 427 | +ltr-property("margin", 40%, false) 428 | &.is-offset-three-fifths-fullhd 429 | +ltr-property("margin", 60%, false) 430 | &.is-offset-four-fifths-fullhd 431 | +ltr-property("margin", 80%, false) 432 | @for $i from 0 through 12 433 | &.is-#{$i}-fullhd 434 | flex: none 435 | width: percentage(divide($i, 12)) 436 | &.is-offset-#{$i}-fullhd 437 | +ltr-property("margin", percentage(divide($i, 12)), false) 438 | 439 | .columns 440 | +ltr-property("margin", (-$column-gap), false) 441 | +ltr-property("margin", (-$column-gap)) 442 | margin-top: (-$column-gap) 443 | &:last-child 444 | margin-bottom: (-$column-gap) 445 | &:not(:last-child) 446 | margin-bottom: calc(1.5rem - #{$column-gap}) 447 | // Modifiers 448 | &.is-centered 449 | justify-content: center 450 | &.is-gapless 451 | +ltr-property("margin", 0, false) 452 | +ltr-property("margin", 0) 453 | margin-top: 0 454 | & > .column 455 | margin: 0 456 | padding: 0 !important 457 | &:not(:last-child) 458 | margin-bottom: 1.5rem 459 | &:last-child 460 | margin-bottom: 0 461 | &.is-mobile 462 | display: flex 463 | &.is-multiline 464 | flex-wrap: wrap 465 | &.is-vcentered 466 | align-items: center 467 | // Responsiveness 468 | +tablet 469 | &:not(.is-desktop) 470 | display: flex 471 | +desktop 472 | // Modifiers 473 | &.is-desktop 474 | display: flex 475 | 476 | @if $variable-columns 477 | .columns.is-variable 478 | --columnGap: 0.75rem 479 | +ltr-property("margin", calc(-1 * var(--columnGap)), false) 480 | +ltr-property("margin", calc(-1 * var(--columnGap))) 481 | > .column 482 | padding-left: var(--columnGap) 483 | padding-right: var(--columnGap) 484 | @for $i from 0 through 8 485 | &.is-#{$i} 486 | --columnGap: #{$i * 0.25rem} 487 | +mobile 488 | &.is-#{$i}-mobile 489 | --columnGap: #{$i * 0.25rem} 490 | +tablet 491 | &.is-#{$i}-tablet 492 | --columnGap: #{$i * 0.25rem} 493 | +tablet-only 494 | &.is-#{$i}-tablet-only 495 | --columnGap: #{$i * 0.25rem} 496 | +touch 497 | &.is-#{$i}-touch 498 | --columnGap: #{$i * 0.25rem} 499 | +desktop 500 | &.is-#{$i}-desktop 501 | --columnGap: #{$i * 0.25rem} 502 | +desktop-only 503 | &.is-#{$i}-desktop-only 504 | --columnGap: #{$i * 0.25rem} 505 | +widescreen 506 | &.is-#{$i}-widescreen 507 | --columnGap: #{$i * 0.25rem} 508 | +widescreen-only 509 | &.is-#{$i}-widescreen-only 510 | --columnGap: #{$i * 0.25rem} 511 | +fullhd 512 | &.is-#{$i}-fullhd 513 | --columnGap: #{$i * 0.25rem} 514 | --------------------------------------------------------------------------------