├── web ├── static │ ├── img │ │ └── .gitkeep │ ├── js │ │ └── main.js │ ├── main.min.js │ └── styles │ │ ├── _temp.scss │ │ ├── pages │ │ └── home │ │ │ ├── _home.scss │ │ │ └── _home_example.scss │ │ ├── plugins │ │ ├── bulma-0.9.1 │ │ │ ├── sass │ │ │ │ ├── helpers │ │ │ │ │ ├── overflow.sass │ │ │ │ │ ├── position.sass │ │ │ │ │ ├── float.sass │ │ │ │ │ ├── other.sass │ │ │ │ │ ├── _all.sass │ │ │ │ │ ├── color.sass │ │ │ │ │ ├── spacing.sass │ │ │ │ │ ├── flexbox.sass │ │ │ │ │ ├── typography.sass │ │ │ │ │ └── visibility.sass │ │ │ │ ├── grid │ │ │ │ │ ├── _all.sass │ │ │ │ │ └── tiles.sass │ │ │ │ ├── base │ │ │ │ │ ├── _all.sass │ │ │ │ │ ├── helpers.sass │ │ │ │ │ ├── minireset.sass │ │ │ │ │ └── generic.sass │ │ │ │ ├── utilities │ │ │ │ │ ├── animations.sass │ │ │ │ │ ├── _all.sass │ │ │ │ │ ├── controls.sass │ │ │ │ │ ├── initial-variables.sass │ │ │ │ │ ├── derived-variables.sass │ │ │ │ │ ├── functions.sass │ │ │ │ │ └── mixins.sass │ │ │ │ ├── elements │ │ │ │ │ ├── form.sass │ │ │ │ │ ├── _all.sass │ │ │ │ │ ├── icon.sass │ │ │ │ │ ├── other.sass │ │ │ │ │ ├── box.sass │ │ │ │ │ ├── container.sass │ │ │ │ │ ├── image.sass │ │ │ │ │ ├── notification.sass │ │ │ │ │ ├── title.sass │ │ │ │ │ ├── progress.sass │ │ │ │ │ ├── table.sass │ │ │ │ │ ├── tag.sass │ │ │ │ │ ├── content.sass │ │ │ │ │ └── button.sass │ │ │ │ ├── layout │ │ │ │ │ ├── _all.sass │ │ │ │ │ ├── footer.sass │ │ │ │ │ ├── section.sass │ │ │ │ │ └── hero.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 │ │ │ │ │ ├── card.sass │ │ │ │ │ ├── dropdown.sass │ │ │ │ │ ├── message.sass │ │ │ │ │ ├── modal.sass │ │ │ │ │ ├── panel.sass │ │ │ │ │ ├── pagination.sass │ │ │ │ │ ├── tabs.sass │ │ │ │ │ └── navbar.sass │ │ │ ├── bulma.sass │ │ │ ├── LICENSE │ │ │ ├── package.json │ │ │ └── README.md │ │ └── normalize.scss │ │ ├── components │ │ └── _quick_edit.scss │ │ ├── base │ │ ├── _variables.scss │ │ ├── _z-index.scss │ │ ├── _mixins.scss │ │ ├── _structure.scss │ │ └── _reset.scss │ │ ├── _classes.scss │ │ └── main.scss ├── cpresources │ └── .gitignore ├── .htaccess ├── index.php └── web.config ├── templates ├── _components │ ├── footer.twig │ ├── quick_edit.twig │ ├── language_switcher.twig │ ├── breadcrumb.twig │ └── pagination.twig ├── _system │ ├── fonts.twig │ ├── meta.twig │ ├── seo.twig │ ├── tag_manager.twig │ ├── static.twig │ ├── favicons.twig │ └── macros.twig ├── index.twig ├── _404.twig ├── _pages │ └── home │ │ ├── home_example.twig │ │ └── home.twig └── _layouts │ ├── layout_main.twig │ └── base.twig ├── translations └── en │ └── site.php ├── .gitignore ├── storage └── .gitignore ├── config ├── redactor │ ├── Simple.json │ └── Default.json ├── htmlpurifier │ └── Default.json ├── routes.php ├── db.php ├── app.php └── general.php ├── package.json ├── .env.example ├── README.md ├── composer.json ├── craft ├── CHANGELOG.md ├── modules └── Module.php └── gulpfile.js /web/static/img/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/static/js/main.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /web/static/main.min.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/_components/footer.twig: -------------------------------------------------------------------------------- 1 | footer -------------------------------------------------------------------------------- /web/cpresources/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /web/static/styles/_temp.scss: -------------------------------------------------------------------------------- 1 | // temporary fixes here... -------------------------------------------------------------------------------- /templates/_system/fonts.twig: -------------------------------------------------------------------------------- 1 | {# include google fonts there #} -------------------------------------------------------------------------------- /translations/en/site.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | example content, can be removed safely 5 | 6 |
7 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /templates/_pages/home/home.twig: -------------------------------------------------------------------------------- 1 | {% extends '_layouts/layout_main' %} 2 | 3 | {% set body_class = 'page-home' %} 4 | 5 | {% block content %} 6 | {% include '_pages/home/home_example' %} 7 | {% endblock %} -------------------------------------------------------------------------------- /web/static/styles/base/_variables.scss: -------------------------------------------------------------------------------- 1 | // widths 2 | $external_container_width: 2100px; 3 | $mobile_container: 600px; 4 | 5 | // colors 6 | $external_container_background: white; 7 | $main_background: white; -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/helpers/float.sass: -------------------------------------------------------------------------------- 1 | .is-clearfix 2 | +clearfix 3 | 4 | .is-pulled-left 5 | float: left !important 6 | 7 | .is-pulled-right 8 | float: right !important 9 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/form/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Form */ 2 | @charset "utf-8" 3 | 4 | @import "shared.sass" 5 | @import "input-textarea.sass" 6 | @import "checkbox-radio.sass" 7 | @import "select.sass" 8 | @import "file.sass" 9 | @import "tools.sass" 10 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/helpers/other.sass: -------------------------------------------------------------------------------- 1 | .is-radiusless 2 | border-radius: 0 !important 3 | 4 | .is-shadowless 5 | box-shadow: none !important 6 | 7 | .is-clickable 8 | cursor: pointer !important 9 | 10 | .is-unselectable 11 | @extend %unselectable 12 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/utilities/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Utilities */ 2 | @charset "utf-8" 3 | 4 | @import "initial-variables.sass" 5 | @import "functions.sass" 6 | @import "derived-variables.sass" 7 | @import "animations.sass" 8 | @import "mixins.sass" 9 | @import "controls.sass" 10 | -------------------------------------------------------------------------------- /web/static/styles/base/_z-index.scss: -------------------------------------------------------------------------------- 1 | $z-index: ( 2 | example: 100, 3 | ); 4 | 5 | @function z-index($key) { 6 | @return map-get($z-index, $key); 7 | } 8 | 9 | @mixin z($key) { 10 | z-index: z-index($key); 11 | } 12 | 13 | // usage example 14 | 15 | // .navigation { 16 | // @include z(example); 17 | // } -------------------------------------------------------------------------------- /config/htmlpurifier/Default.json: -------------------------------------------------------------------------------- 1 | { 2 | "Attr.AllowedFrameTargets": [ 3 | "_blank" 4 | ], 5 | "Attr.EnableID": true, 6 | "HTML.AllowedComments": [ 7 | "pagebreak" 8 | ], 9 | "HTML.SafeIframe": true, 10 | "URI.SafeIframeRegexp": "%^(https?:)?//(www.youtube.com/embed/|player.vimeo.com/video/)%" 11 | } 12 | -------------------------------------------------------------------------------- /templates/_system/meta.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {% if craft.app.config.general.theme.color is defined %} 5 | 6 | {% endif %} -------------------------------------------------------------------------------- /web/static/styles/_classes.scss: -------------------------------------------------------------------------------- 1 | // transition for links and buttons 2 | button,a { 3 | transition: color .3s ease,background-color .3s ease,border-color .3s ease,opacity .3s ease; 4 | } 5 | 6 | // default cursor 7 | body{ 8 | cursor:default; 9 | } 10 | 11 | // remove blue border from focused elements 12 | *:focus { 13 | outline:0; 14 | } -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/layout/footer.sass: -------------------------------------------------------------------------------- 1 | $footer-background-color: $scheme-main-bis !default 2 | $footer-color: false !default 3 | $footer-padding: 3rem 1.5rem 6rem !default 4 | 5 | .footer 6 | background-color: $footer-background-color 7 | padding: $footer-padding 8 | @if $footer-color 9 | color: $footer-color 10 | -------------------------------------------------------------------------------- /web/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | RewriteEngine On 3 | 4 | # Send would-be 404 requests to Craft 5 | RewriteCond %{REQUEST_FILENAME} !-f 6 | RewriteCond %{REQUEST_FILENAME} !-d 7 | RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC] 8 | RewriteRule (.+) index.php?p=$1 [QSA,L] 9 | 10 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/helpers/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Helpers */ 2 | @charset "utf-8" 3 | 4 | @import "color.sass" 5 | @import "flexbox.sass" 6 | @import "float.sass" 7 | @import "other.sass" 8 | @import "overflow.sass" 9 | @import "position.sass" 10 | @import "spacing.sass" 11 | @import "typography.sass" 12 | @import "visibility.sass" 13 | -------------------------------------------------------------------------------- /web/static/styles/pages/home/_home_example.scss: -------------------------------------------------------------------------------- 1 | // transition for links and buttons 2 | button,a { 3 | transition: color .3s ease,background-color .3s ease,border-color .3s ease,opacity .3s ease; 4 | } 5 | 6 | // default cursor 7 | body{ 8 | cursor:default; 9 | } 10 | 11 | // remove blue border from focused elements 12 | *:focus { 13 | outline:0; 14 | } -------------------------------------------------------------------------------- /config/redactor/Default.json: -------------------------------------------------------------------------------- 1 | { 2 | "buttons": [ 3 | "html", 4 | "formatting", 5 | "bold", 6 | "italic", 7 | "unorderedlist", 8 | "orderedlist", 9 | "link", 10 | "image", 11 | "video" 12 | ], 13 | "plugins": [ 14 | "fullscreen", 15 | "video" 16 | ], 17 | "linkNewTab": true, 18 | "toolbarFixed": true 19 | } 20 | -------------------------------------------------------------------------------- /web/static/styles/base/_mixins.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin selection($background, $text){ 3 | 4 | /* WebKit/Blink Browsers */ 5 | ::selection { 6 | background: $background; 7 | color: $text; 8 | } 9 | 10 | /* Gecko Browsers */ 11 | ::-moz-selection { 12 | background: $background; 13 | color: $text; 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/bulma.sass: -------------------------------------------------------------------------------- 1 | @charset "utf-8" 2 | /*! bulma.io v0.9.1 | 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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Components */ 2 | @charset "utf-8" 3 | 4 | @import "breadcrumb.sass" 5 | @import "card.sass" 6 | @import "dropdown.sass" 7 | @import "level.sass" 8 | @import "media.sass" 9 | @import "menu.sass" 10 | @import "message.sass" 11 | @import "modal.sass" 12 | @import "navbar.sass" 13 | @import "pagination.sass" 14 | @import "panel.sass" 15 | @import "tabs.sass" 16 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/_all.sass: -------------------------------------------------------------------------------- 1 | /* Bulma Elements */ 2 | @charset "utf-8" 3 | 4 | @import "box.sass" 5 | @import "button.sass" 6 | @import "container.sass" 7 | @import "content.sass" 8 | @import "icon.sass" 9 | @import "image.sass" 10 | @import "notification.sass" 11 | @import "progress.sass" 12 | @import "table.sass" 13 | @import "tag.sass" 14 | @import "title.sass" 15 | 16 | @import "other.sass" 17 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/layout/section.sass: -------------------------------------------------------------------------------- 1 | $section-padding: 3rem 1.5rem !default 2 | $section-padding-medium: 9rem 1.5rem !default 3 | $section-padding-large: 18rem 1.5rem !default 4 | 5 | .section 6 | padding: $section-padding 7 | // Responsiveness 8 | +desktop 9 | // Sizes 10 | &.is-medium 11 | padding: $section-padding-medium 12 | &.is-large 13 | padding: $section-padding-large 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xxx", 3 | "version": "1.0.0", 4 | "devDependencies": { 5 | "browser-sync": "^2.24.4", 6 | "gulp": "^3.9.1", 7 | "gulp-add-src": "^0.2.0", 8 | "gulp-autoprefixer": "^4.0.0", 9 | "gulp-clean-css": "^3.9.0", 10 | "gulp-concat": "^2.6.1", 11 | "gulp-sass": "^3.1.0", 12 | "gulp-sourcemaps": "^2.6.1", 13 | "gulp-uglify": "^3.0.0", 14 | "node-notifier": "^5.2.1" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /templates/_layouts/layout_main.twig: -------------------------------------------------------------------------------- 1 | {% extends '_layouts/base' %} 2 | 3 | {% block layout %} 4 |
5 |
6 | 7 | 10 | 11 | 15 | 16 |
17 |
18 | {% endblock %} -------------------------------------------------------------------------------- /web/static/styles/main.scss: -------------------------------------------------------------------------------- 1 | // bulma 2 | $gap: 32px; 3 | @import 'plugins/bulma-0.9.1/bulma'; 4 | 5 | // libs 6 | @import 'plugins/normalize'; 7 | 8 | // base 9 | @import 'base/z-index'; 10 | @import 'base/reset'; 11 | @import 'base/mixins'; 12 | @import 'base/variables'; 13 | @import 'base/structure'; 14 | @import 'classes'; 15 | 16 | // components 17 | @import 'components/quick_edit'; 18 | 19 | // pages 20 | @import 'pages/home/home_example'; 21 | 22 | 23 | // temp 24 | @import 'temp'; 25 | -------------------------------------------------------------------------------- /templates/_system/seo.twig: -------------------------------------------------------------------------------- 1 | {% if not craft.app.plugins.isPluginEnabled('seomatic') %} 2 | {% if craft.app.urlManager.matchedElement and craft.app.urlManager.matchedElement.uri == '__home__' %} 3 | {% set seoTitle = craft.app.urlManager.matchedElement.title %} 4 | {% elseif craft.app.urlManager.matchedElement %} 5 | {% set seoTitle = craft.app.urlManager.matchedElement.title ~ ' - ' ~ siteName %} 6 | {% else %} 7 | {% set seoTitle = siteName %} 8 | {% endif %} 9 | {{ seoTitle }} 10 | {% endif %} -------------------------------------------------------------------------------- /templates/_system/tag_manager.twig: -------------------------------------------------------------------------------- 1 | {% if craft.app.config.general.theme.gtm_code is defined %} 2 | 3 | 8 | 9 | {% endif %} -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | # The environment Craft is currently running in (dev, staging, production, etc.) 2 | ENVIRONMENT=dev 3 | 4 | # The application ID used to to uniquely store session and cache data, mutex locks, and more 5 | APP_ID= 6 | 7 | # The secure key Craft will use for hashing and encrypting data 8 | SECURITY_KEY= 9 | 10 | # Database Configuration 11 | DB_DRIVER=mysql 12 | DB_SERVER=127.0.0.1 13 | DB_PORT=3306 14 | DB_DATABASE= 15 | DB_USER=root 16 | DB_PASSWORD= 17 | DB_SCHEMA=public 18 | DB_TABLE_PREFIX= 19 | 20 | # The URI segment that tells Craft to load the control panel 21 | CP_TRIGGER=admin 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > ⚠️ **DEPRECATED**: This repository is no longer maintained. 2 | 3 | # Craft CMS 3 Starter theme 4 | 5 | This is a starter theme for Craft CMS - it can be used as scaffolding for any project. It consists of: 6 | 7 | * Boilerplate Twig files 8 | * Base CSS code with Bulma framework included. Can be pretty opinionated. 9 | * Gulp config for compiling JS and CSS assets and running browsersync 10 | * Few useful Craft config settings 11 | 12 | ------------------------- 13 | 14 | **Documentation can be found on [http://craftsnippets.com/starter-theme-for-craft-cms](http://craftsnippets.com/starter-theme-for-craft-cms).** 15 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "craftcms/cms": "^3.6.4", 4 | "craftcms/redactor": "^2.8", 5 | "vlucas/phpdotenv": "^3.4.0" 6 | }, 7 | "require-dev": { 8 | "yiisoft/yii2-shell": "^2.0.3" 9 | }, 10 | "autoload": { 11 | "psr-4": { 12 | "modules\\": "modules/" 13 | } 14 | }, 15 | "config": { 16 | "sort-packages": true, 17 | "optimize-autoloader": true, 18 | "platform": { 19 | "php": "7.2.5" 20 | } 21 | }, 22 | "scripts": { 23 | "post-root-package-install": [ 24 | "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | 6 | .icon 7 | align-items: center 8 | display: inline-flex 9 | justify-content: center 10 | height: $icon-dimensions 11 | width: $icon-dimensions 12 | // Sizes 13 | &.is-small 14 | height: $icon-dimensions-small 15 | width: $icon-dimensions-small 16 | &.is-medium 17 | height: $icon-dimensions-medium 18 | width: $icon-dimensions-medium 19 | &.is-large 20 | height: $icon-dimensions-large 21 | width: $icon-dimensions-large 22 | -------------------------------------------------------------------------------- /web/index.php: -------------------------------------------------------------------------------- 1 | load(); 16 | } 17 | 18 | // Load and run Craft 19 | define('CRAFT_ENVIRONMENT', getenv('ENVIRONMENT') ?: 'production'); 20 | /** @var craft\web\Application $app */ 21 | $app = require CRAFT_VENDOR_PATH.'/craftcms/cms/bootstrap/web.php'; 22 | $app->run(); 23 | -------------------------------------------------------------------------------- /web/static/styles/base/_structure.scss: -------------------------------------------------------------------------------- 1 | // mobile container 2 | .container:not(.touch-full-width){ 3 | padding-left: 1rem; 4 | padding-right: 1rem; 5 | @include touch{ 6 | max-width: $mobile_container; 7 | } 8 | } 9 | 10 | // fixed footer 11 | .l-main{ 12 | display: flex; 13 | flex-direction: column; 14 | min-height: 100vh; 15 | background-color:$main_background; 16 | } 17 | 18 | .l-outside-footer{ 19 | flex: 1 0 auto; 20 | -webkit-box-flex: 1; 21 | -webkit-flex: 1 0 auto; 22 | -ms-flex: 1 0 auto; 23 | } 24 | 25 | 26 | // external container 27 | .l-external-container{ 28 | max-width: $external_container_width; 29 | background-color: $external_container_background; 30 | margin: 0px auto; 31 | } -------------------------------------------------------------------------------- /craft: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | load(); 17 | } 18 | 19 | // Load and run Craft 20 | define('CRAFT_ENVIRONMENT', getenv('ENVIRONMENT') ?: 'production'); 21 | /** @var craft\console\Application $app */ 22 | $app = require CRAFT_VENDOR_PATH.'/craftcms/cms/bootstrap/console.php'; 23 | $exitCode = $app->run(); 24 | exit($exitCode); 25 | -------------------------------------------------------------------------------- /templates/_system/static.twig: -------------------------------------------------------------------------------- 1 | {% if devMode %} 2 | 3 | {% set staticFiles = [ 4 | 'static/libs/jquery-3.5.1.min.js', 5 | 'static/main.css', 6 | 'static/js/main.js', 7 | ] %} 8 | 9 | {% for file in staticFiles %} 10 | {% set type = file|split('.')|last %} 11 | {% set file = alias('@web')~'/'~file %} 12 | {% if type == 'js' %} 13 | {% do view.registerJsFile(file) %} 14 | {% elseif type == 'css' %} 15 | {% do view.registerCssFile(file) %} 16 | {% endif %} 17 | {% endfor %} 18 | 19 | {% else %} 20 | {% do view.registerJsFile(alias('@web')~'/'~'static/main.min.js') %} 21 | {% do view.registerCssFile(alias('@web')~'/'~'static/main.min.css') %} 22 | {% endif %} -------------------------------------------------------------------------------- /config/routes.php: -------------------------------------------------------------------------------- 1 | ' => ['template' => 'blog/_archive'], 15 | * 16 | * That example would match URIs such as `/blog/archive/2012`, and pass the 17 | * request along to the `blog/_archive` template, providing it a `year` variable 18 | * set to the value `2012`. 19 | */ 20 | 21 | return [ 22 | 23 | ]; 24 | -------------------------------------------------------------------------------- /config/db.php: -------------------------------------------------------------------------------- 1 | App::env('DB_DSN') ?: null, 15 | 'driver' => App::env('DB_DRIVER'), 16 | 'server' => App::env('DB_SERVER'), 17 | 'port' => App::env('DB_PORT'), 18 | 'database' => App::env('DB_DATABASE'), 19 | 'user' => App::env('DB_USER'), 20 | 'password' => App::env('DB_PASSWORD'), 21 | 'schema' => App::env('DB_SCHEMA'), 22 | 'tablePrefix' => App::env('DB_TABLE_PREFIX'), 23 | 'charset' => 'utf8', 24 | 'collation' => 'utf8_unicode_ci', 25 | ]; 26 | -------------------------------------------------------------------------------- /templates/_components/quick_edit.twig: -------------------------------------------------------------------------------- 1 | {# v4 #} 2 | {% if currentUser and currentUser.can('accessCp') and not craft.app.request.isLivePreview %} 3 | {% set element = element|default(craft.app.urlManager.matchedElement) %} 4 | {% if element and element.isEditable %} 5 | {% set editLink = element.getCpEditUrl() %} 6 | {% if element.draftId is defined and element.draftId is not null %} 7 | {% set editLink = editLink ~ '&draftId='~ element.draftId %} 8 | {% endif %} 9 | {% set editText = 'edit'|t %} 10 | {% else %} 11 | {% set editLink = cpUrl() %} 12 | {% set editText = 'control panel'|t %} 13 | {% endif %} 14 | 17 | {% endif %} -------------------------------------------------------------------------------- /templates/_layouts/base.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% set htmlAttr = { 4 | lang: currentSite.language, 5 | dir: craft.app.i18n.getLocaleById(currentSite.id).getOrientation(), 6 | } %} 7 | 8 | 9 | 10 | 11 | 12 | 13 | {% include '_system/seo' %} 14 | {% include '_system/meta' %} 15 | {% include '_system/favicons' %} 16 | {% include '_system/fonts' %} 17 | {% include '_system/static' %} 18 | {% include '_system/tag_manager' %} 19 | 20 | 21 | 22 | {% set bodyAttr = { 23 | class: [ 24 | body_class ?? null, 25 | craft.app.request.isMobileBrowser() ? 'is-mobile' : 'is-desktop', 26 | ] 27 | } %} 28 | 29 | 30 | 31 | {% include '_components/quick_edit' %} 32 | {% block layout %}{% endblock %} 33 | 34 | 35 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/other.sass: -------------------------------------------------------------------------------- 1 | .block 2 | @extend %block 3 | 4 | .delete 5 | @extend %delete 6 | 7 | .heading 8 | display: block 9 | font-size: 11px 10 | letter-spacing: 1px 11 | margin-bottom: 5px 12 | text-transform: uppercase 13 | 14 | .highlight 15 | @extend %block 16 | font-weight: $weight-normal 17 | max-width: 100% 18 | overflow: hidden 19 | padding: 0 20 | pre 21 | overflow: auto 22 | max-width: 100% 23 | 24 | .loader 25 | @extend %loader 26 | 27 | .number 28 | align-items: center 29 | background-color: $background 30 | border-radius: $radius-rounded 31 | display: inline-flex 32 | font-size: $size-medium 33 | height: 2em 34 | justify-content: center 35 | margin-right: 1.5rem 36 | min-width: 2.5em 37 | padding: 0.25rem 0.5rem 38 | text-align: center 39 | vertical-align: top 40 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/box.sass: -------------------------------------------------------------------------------- 1 | $box-color: $text !default 2 | $box-background-color: $scheme-main !default 3 | $box-radius: $radius-large !default 4 | $box-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default 5 | $box-padding: 1.25rem !default 6 | 7 | $box-link-hover-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0 0 1px $link !default 8 | $box-link-active-shadow: inset 0 1px 2px rgba($scheme-invert, 0.2), 0 0 0 1px $link !default 9 | 10 | .box 11 | @extend %block 12 | background-color: $box-background-color 13 | border-radius: $box-radius 14 | box-shadow: $box-shadow 15 | color: $box-color 16 | display: block 17 | padding: $box-padding 18 | 19 | a.box 20 | &:hover, 21 | &:focus 22 | box-shadow: $box-link-hover-shadow 23 | &:active 24 | box-shadow: $box-link-active-shadow 25 | -------------------------------------------------------------------------------- /config/app.php: -------------------------------------------------------------------------------- 1 | App::env('APP_ID') ?: 'CraftCMS', 24 | 'modules' => [ 25 | 'my-module' => \modules\Module::class, 26 | ], 27 | //'bootstrap' => ['my-module'], 28 | ]; 29 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/grid/tiles.sass: -------------------------------------------------------------------------------- 1 | $tile-spacing: 0.75rem !default 2 | 3 | .tile 4 | align-items: stretch 5 | display: block 6 | flex-basis: 0 7 | flex-grow: 1 8 | flex-shrink: 1 9 | min-height: min-content 10 | // Modifiers 11 | &.is-ancestor 12 | margin-left: $tile-spacing * -1 13 | margin-right: $tile-spacing * -1 14 | margin-top: $tile-spacing * -1 15 | &:last-child 16 | margin-bottom: $tile-spacing * -1 17 | &:not(:last-child) 18 | margin-bottom: $tile-spacing 19 | &.is-child 20 | margin: 0 !important 21 | &.is-parent 22 | padding: $tile-spacing 23 | &.is-vertical 24 | flex-direction: column 25 | & > .tile.is-child:not(:last-child) 26 | margin-bottom: 1.5rem !important 27 | // Responsiveness 28 | +tablet 29 | &:not(.is-child) 30 | display: flex 31 | @for $i from 1 through 12 32 | &.is-#{$i} 33 | flex: none 34 | width: ($i / 12) * 100% 35 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/container.sass: -------------------------------------------------------------------------------- 1 | $container-offset: (2 * $gap) !default 2 | $container-max-width: $fullhd !default 3 | 4 | .container 5 | flex-grow: 1 6 | margin: 0 auto 7 | position: relative 8 | width: auto 9 | &.is-fluid 10 | max-width: none !important 11 | padding-left: $gap 12 | padding-right: $gap 13 | width: 100% 14 | +desktop 15 | max-width: $desktop - $container-offset 16 | +until-widescreen 17 | &.is-widescreen:not(.is-max-desktop) 18 | max-width: min($widescreen, $container-max-width) - $container-offset 19 | +until-fullhd 20 | &.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen) 21 | max-width: min($fullhd, $container-max-width) - $container-offset 22 | +widescreen 23 | &:not(.is-max-desktop) 24 | max-width: min($widescreen, $container-max-width) - $container-offset 25 | +fullhd 26 | &:not(.is-max-desktop):not(.is-max-widescreen) 27 | max-width: min($fullhd, $container-max-width) - $container-offset 28 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 2.1 - 07-02-2021 2 | 3 | ### Updated 4 | 5 | * Updated Craft to 3.6.4 6 | * Updated Jquery to 3.5.2 7 | * Updated Bulma to 0.9.1 8 | * Updated Normalize css to 8.0.1 9 | 10 | ### Added 11 | 12 | * Added email template component 13 | * Added language switcher component 14 | 15 | ### Fixed 16 | 17 | * Svg macro - missing namespace param 18 | * Breadcrumb component - added meta position tag 19 | 20 | ## 2.0.1 - 2019-10-17 21 | 22 | ### Fixed 23 | * `static.twig` didn't generated proper file paths on websites with multiple sites and used assset rev plugin which was not included in composer 24 | 25 | ### Added 26 | * Added google tag manager component 27 | * added svg macro 28 | * Added default time format macro and time ago macro 29 | * Added `index.twig` file that can be used to preview theme if no sections are set up yet 30 | * Added redactor plugin to composer.json 31 | 32 | ### Updated 33 | * Updated Craft to 3.3.9 34 | * New version of quick edit button component 35 | 36 | 37 | [#123]: https://github.com/pixelandtonic/foo/issues/123 38 | 39 | ## 1.0.0 - 2019-07-18 40 | - Initial release -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/helpers/color.sass: -------------------------------------------------------------------------------- 1 | @each $name, $pair in $colors 2 | $color: nth($pair, 1) 3 | .has-text-#{$name} 4 | color: $color !important 5 | a.has-text-#{$name} 6 | &:hover, 7 | &:focus 8 | color: bulmaDarken($color, 10%) !important 9 | .has-background-#{$name} 10 | background-color: $color !important 11 | @if length($pair) >= 4 12 | $color-light: nth($pair, 3) 13 | $color-dark: nth($pair, 4) 14 | // Light 15 | .has-text-#{$name}-light 16 | color: $color-light !important 17 | a.has-text-#{$name}-light 18 | &:hover, 19 | &:focus 20 | color: bulmaDarken($color-light, 10%) !important 21 | .has-background-#{$name}-light 22 | background-color: $color-light !important 23 | // Dark 24 | .has-text-#{$name}-dark 25 | color: $color-dark !important 26 | a.has-text-#{$name}-dark 27 | &:hover, 28 | &:focus 29 | color: bulmaLighten($color-dark, 10%) !important 30 | .has-background-#{$name}-dark 31 | background-color: $color-dark !important 32 | 33 | @each $name, $shade in $shades 34 | .has-text-#{$name} 35 | color: $shade !important 36 | .has-background-#{$name} 37 | background-color: $shade !important 38 | -------------------------------------------------------------------------------- /web/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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) !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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/media.sass: -------------------------------------------------------------------------------- 1 | $media-border-color: bulmaRgba($border, 0.5) !default 2 | $media-spacing: 1rem 3 | $media-spacing-large: 1.5rem 4 | 5 | .media 6 | align-items: flex-start 7 | display: flex 8 | text-align: inherit 9 | .content:not(:last-child) 10 | margin-bottom: 0.75rem 11 | .media 12 | border-top: 1px solid $media-border-color 13 | display: flex 14 | padding-top: 0.75rem 15 | .content:not(:last-child), 16 | .control:not(:last-child) 17 | margin-bottom: 0.5rem 18 | .media 19 | padding-top: 0.5rem 20 | & + .media 21 | margin-top: 0.5rem 22 | & + .media 23 | border-top: 1px solid $media-border-color 24 | margin-top: $media-spacing 25 | padding-top: $media-spacing 26 | // Sizes 27 | &.is-large 28 | & + .media 29 | margin-top: $media-spacing-large 30 | padding-top: $media-spacing-large 31 | 32 | .media-left, 33 | .media-right 34 | flex-basis: auto 35 | flex-grow: 0 36 | flex-shrink: 0 37 | 38 | .media-left 39 | +ltr-property("margin", $media-spacing) 40 | 41 | .media-right 42 | +ltr-property("margin", $media-spacing, false) 43 | 44 | .media-content 45 | flex-basis: auto 46 | flex-grow: 1 47 | flex-shrink: 1 48 | text-align: inherit 49 | 50 | +mobile 51 | .media-content 52 | overflow-x: auto 53 | -------------------------------------------------------------------------------- /modules/Module.php: -------------------------------------------------------------------------------- 1 | getModule('my-module')`. 11 | * 12 | * You can change its module ID ("my-module") to something else from 13 | * config/app.php. 14 | * 15 | * If you want the module to get loaded on every request, uncomment this line 16 | * in config/app.php: 17 | * 18 | * 'bootstrap' => ['my-module'] 19 | * 20 | * Learn more about Yii module development in Yii's documentation: 21 | * http://www.yiiframework.com/doc-2.0/guide-structure-modules.html 22 | */ 23 | class Module extends \yii\base\Module 24 | { 25 | /** 26 | * Initializes the module. 27 | */ 28 | public function init() 29 | { 30 | // Set a @modules alias pointed to the modules/ directory 31 | Craft::setAlias('@modules', __DIR__); 32 | 33 | // Set the controllerNamespace based on whether this is a console or web request 34 | if (Craft::$app->getRequest()->getIsConsoleRequest()) { 35 | $this->controllerNamespace = 'modules\\console\\controllers'; 36 | } else { 37 | $this->controllerNamespace = 'modules\\controllers'; 38 | } 39 | 40 | parent::init(); 41 | 42 | // Custom initialization code goes here... 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /config/general.php: -------------------------------------------------------------------------------- 1 | [ 14 | // Default Week Start Day (0 = Sunday, 1 = Monday...) 15 | 'defaultWeekStartDay' => 1, 16 | 17 | // Whether generated URLs should omit "index.php" 18 | 'omitScriptNameInUrls' => true, 19 | 20 | // Control Panel trigger word 21 | 'cpTrigger' => 'admin', 22 | 23 | // The secure key Craft will use for hashing and encrypting data 24 | 'securityKey' => getenv('SECURITY_KEY'), 25 | 26 | // Whether to save the project config out to config/project.yaml 27 | // (see https://docs.craftcms.com/v3/project-config.html) 28 | 'useProjectConfigFile' => false, 29 | 30 | // https://docs.craftcms.com/api/v3/craft-config-generalconfig.html#errortemplateprefix 31 | 'errorTemplatePrefix' => '_', 32 | 33 | // https://docs.craftcms.com/api/v3/craft-config-generalconfig.html#devmode 34 | 'devMode' => true, 35 | 36 | 'theme' => [ 37 | // 'color' => '#000000' 38 | // 'gtm_id' => '', 39 | ], 40 | 41 | ], 42 | ]; 43 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/utilities/controls.sass: -------------------------------------------------------------------------------- 1 | $control-radius: $radius !default 2 | $control-radius-small: $radius-small !default 3 | 4 | $control-border-width: 1px !default 5 | 6 | $control-height: 2.5em !default 7 | $control-line-height: 1.5 !default 8 | 9 | $control-padding-vertical: calc(0.5em - #{$control-border-width}) !default 10 | $control-padding-horizontal: calc(0.75em - #{$control-border-width}) !default 11 | 12 | =control 13 | -moz-appearance: none 14 | -webkit-appearance: none 15 | align-items: center 16 | border: $control-border-width solid transparent 17 | border-radius: $control-radius 18 | box-shadow: none 19 | display: inline-flex 20 | font-size: $size-normal 21 | height: $control-height 22 | justify-content: flex-start 23 | line-height: $control-line-height 24 | padding-bottom: $control-padding-vertical 25 | padding-left: $control-padding-horizontal 26 | padding-right: $control-padding-horizontal 27 | padding-top: $control-padding-vertical 28 | position: relative 29 | vertical-align: top 30 | // States 31 | &:focus, 32 | &.is-focused, 33 | &:active, 34 | &.is-active 35 | outline: none 36 | &[disabled], 37 | fieldset[disabled] & 38 | cursor: not-allowed 39 | 40 | %control 41 | +control 42 | 43 | // The controls sizes use mixins so they can be used at different breakpoints 44 | =control-small 45 | border-radius: $control-radius-small 46 | font-size: $size-small 47 | =control-medium 48 | font-size: $size-medium 49 | =control-large 50 | font-size: $size-large 51 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/image.sass: -------------------------------------------------------------------------------- 1 | $dimensions: 16 24 32 48 64 96 128 !default 2 | 3 | .image 4 | display: block 5 | position: relative 6 | img 7 | display: block 8 | height: auto 9 | width: 100% 10 | &.is-rounded 11 | border-radius: $radius-rounded 12 | &.is-fullwidth 13 | width: 100% 14 | // Ratio 15 | &.is-square, 16 | &.is-1by1, 17 | &.is-5by4, 18 | &.is-4by3, 19 | &.is-3by2, 20 | &.is-5by3, 21 | &.is-16by9, 22 | &.is-2by1, 23 | &.is-3by1, 24 | &.is-4by5, 25 | &.is-3by4, 26 | &.is-2by3, 27 | &.is-3by5, 28 | &.is-9by16, 29 | &.is-1by2, 30 | &.is-1by3 31 | img, 32 | .has-ratio 33 | @extend %overlay 34 | height: 100% 35 | width: 100% 36 | &.is-square, 37 | &.is-1by1 38 | padding-top: 100% 39 | &.is-5by4 40 | padding-top: 80% 41 | &.is-4by3 42 | padding-top: 75% 43 | &.is-3by2 44 | padding-top: 66.6666% 45 | &.is-5by3 46 | padding-top: 60% 47 | &.is-16by9 48 | padding-top: 56.25% 49 | &.is-2by1 50 | padding-top: 50% 51 | &.is-3by1 52 | padding-top: 33.3333% 53 | &.is-4by5 54 | padding-top: 125% 55 | &.is-3by4 56 | padding-top: 133.3333% 57 | &.is-2by3 58 | padding-top: 150% 59 | &.is-3by5 60 | padding-top: 166.6666% 61 | &.is-9by16 62 | padding-top: 177.7777% 63 | &.is-1by2 64 | padding-top: 200% 65 | &.is-1by3 66 | padding-top: 300% 67 | // Sizes 68 | @each $dimension in $dimensions 69 | &.is-#{$dimension}x#{$dimension} 70 | height: $dimension * 1px 71 | width: $dimension * 1px 72 | -------------------------------------------------------------------------------- /templates/_system/favicons.twig: -------------------------------------------------------------------------------- 1 | {# v1 #} 2 | {# http://craftsnippets.com/articles/adding-favicons-to-craft-cms-website #} 3 | 4 | {# requires global with handle 'favicon' containing asset field with handle 'faviconFile' #} 5 | {% cache globally %} 6 | {% set sizesIcon = [192, 48, 32, 16] %} 7 | {% set sizesAppleTouch = [180] %} 8 | {% if favicon is defined and favicon['faviconFile'] is defined and favicon.faviconFile.exists() and favicon.faviconFile.one().kind == 'image' %} 9 | {# link icon #} 10 | {% for faviconSize in sizesIcon %} 11 | {% set icon = favicon.faviconFile.one() %} 12 | {% set shorterEdge = icon.width > icon.height ? icon.height : icon.width %} 13 | {% if shorterEdge >= faviconSize %} 14 | {% set faviconTransform = { 15 | width: faviconSize, 16 | height: faviconSize, 17 | quality: 100, 18 | position: 'center-center', 19 | format: 'png', 20 | } %} 21 | 22 | {% endif %} 23 | {% endfor %} 24 | {# link touch icon #} 25 | {% for faviconSize in sizesAppleTouch %} 26 | {% set icon = favicon.faviconFile.one() %} 27 | {% set shorterEdge = icon.width > icon.height ? icon.height : icon.width %} 28 | {% if shorterEdge >= faviconSize %} 29 | {% set faviconTransform = { 30 | width: faviconSize, 31 | height: faviconSize, 32 | quality: 100, 33 | position: 'center-center', 34 | format: 'png', 35 | } %} 36 | 37 | {% endif %} 38 | {% endfor %} 39 | {% endif %} 40 | {% endcache %} -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/notification.sass: -------------------------------------------------------------------------------- 1 | $notification-background-color: $background !default 2 | $notification-code-background-color: $scheme-main !default 3 | $notification-radius: $radius !default 4 | $notification-padding: 1.25rem 2.5rem 1.25rem 1.5rem !default 5 | $notification-padding-ltr: 1.25rem 2.5rem 1.25rem 1.5rem !default 6 | $notification-padding-rtl: 1.25rem 1.5rem 1.25rem 2.5rem !default 7 | 8 | $notification-colors: $colors !default 9 | 10 | .notification 11 | @extend %block 12 | background-color: $notification-background-color 13 | border-radius: $notification-radius 14 | position: relative 15 | +ltr 16 | padding: $notification-padding-ltr 17 | +rtl 18 | padding: $notification-padding-rtl 19 | a:not(.button):not(.dropdown-item) 20 | color: currentColor 21 | text-decoration: underline 22 | strong 23 | color: currentColor 24 | code, 25 | pre 26 | background: $notification-code-background-color 27 | pre code 28 | background: transparent 29 | & > .delete 30 | +ltr-position(0.5rem) 31 | position: absolute 32 | top: 0.5rem 33 | .title, 34 | .subtitle, 35 | .content 36 | color: currentColor 37 | // Colors 38 | @each $name, $pair in $notification-colors 39 | $color: nth($pair, 1) 40 | $color-invert: nth($pair, 2) 41 | &.is-#{$name} 42 | background-color: $color 43 | color: $color-invert 44 | // If light and dark colors are provided 45 | @if length($pair) >= 4 46 | $color-light: nth($pair, 3) 47 | $color-dark: nth($pair, 4) 48 | &.is-light 49 | background-color: $color-light 50 | color: $color-dark 51 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /templates/_components/language_switcher.twig: -------------------------------------------------------------------------------- 1 | {# v1 #} 2 | {# http://craftsnippets.com/articles/universal-language-switcher-for-craft-cms #} 3 | {# logic #} 4 | {% set currentElement = craft.app.urlManager.matchedElement %} 5 | {% set sites = craft.app.getSites().getGroupById(currentSite.groupId).getSites() %} 6 | {% set switcherLinks = [] %} 7 | 8 | {% for site in sites if site.baseUrl is not empty %} 9 | 10 | {% set title = craft.app.i18n.getLocaleById(site.language).nativeName %} 11 | {% set url = site.getBaseUrl() %} 12 | {% if currentElement %} 13 | {% set otherLocaleElement = craft.app.getElements().getElementById(currentElement.id, currentElement.className(), site.id) %} 14 | {% if otherLocaleElement and otherLocaleElement.enabledForSite %} 15 | {% set url = otherLocaleElement.url %} 16 | {% endif %} 17 | {% endif %} 18 | 19 | {% set switcherLinks = switcherLinks|merge([{ 20 | url: url, 21 | title: title, 22 | countryCode: site.language|split('-')|last, 23 | current: site.id == currentSite.id ? true : false, 24 | language: site.language, 25 | }]) %} 26 | 27 | {% endfor %} 28 | 29 | {# outputting html #} 30 | {% if switcherLinks|length > 1 %} 31 | 43 | {% endif %} 44 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/level.sass: -------------------------------------------------------------------------------- 1 | $level-item-spacing: ($block-spacing / 2) !default 2 | 3 | .level 4 | @extend %block 5 | align-items: center 6 | justify-content: space-between 7 | code 8 | border-radius: $radius 9 | img 10 | display: inline-block 11 | vertical-align: top 12 | // Modifiers 13 | &.is-mobile 14 | display: flex 15 | .level-left, 16 | .level-right 17 | display: flex 18 | .level-left + .level-right 19 | margin-top: 0 20 | .level-item 21 | &:not(:last-child) 22 | margin-bottom: 0 23 | +ltr-property("margin", $level-item-spacing) 24 | &:not(.is-narrow) 25 | flex-grow: 1 26 | // Responsiveness 27 | +tablet 28 | display: flex 29 | & > .level-item 30 | &:not(.is-narrow) 31 | flex-grow: 1 32 | 33 | .level-item 34 | align-items: center 35 | display: flex 36 | flex-basis: auto 37 | flex-grow: 0 38 | flex-shrink: 0 39 | justify-content: center 40 | .title, 41 | .subtitle 42 | margin-bottom: 0 43 | // Responsiveness 44 | +mobile 45 | &:not(:last-child) 46 | margin-bottom: $level-item-spacing 47 | 48 | .level-left, 49 | .level-right 50 | flex-basis: auto 51 | flex-grow: 0 52 | flex-shrink: 0 53 | .level-item 54 | // Modifiers 55 | &.is-flexible 56 | flex-grow: 1 57 | // Responsiveness 58 | +tablet 59 | &:not(:last-child) 60 | +ltr-property("margin", $level-item-spacing) 61 | 62 | .level-left 63 | align-items: center 64 | justify-content: flex-start 65 | // Responsiveness 66 | +mobile 67 | & + .level-right 68 | margin-top: 1.5rem 69 | +tablet 70 | display: flex 71 | 72 | .level-right 73 | align-items: center 74 | justify-content: flex-end 75 | // Responsiveness 76 | +tablet 77 | display: flex 78 | -------------------------------------------------------------------------------- /web/static/styles/base/_reset.scss: -------------------------------------------------------------------------------- 1 | *{ 2 | box-sizing:border-box; 3 | } 4 | 5 | ul,p{ 6 | margin:0px; 7 | } 8 | 9 | ul{ 10 | list-style:none; 11 | padding:0px; 12 | } 13 | 14 | a, a:visited{ 15 | text-decoration:none; 16 | text-decoration: none; 17 | } 18 | 19 | h1, 20 | h2, 21 | h3, 22 | h4, 23 | p, 24 | ol, 25 | ul { 26 | margin: 0; 27 | padding: 0; 28 | } 29 | 30 | button,a { 31 | color: inherit; 32 | } 33 | 34 | img { 35 | max-width: 100%; 36 | } 37 | 38 | h1, 39 | h2, 40 | h3, 41 | h4 { 42 | font-size: inherit; 43 | } 44 | 45 | button, input[type="reset"], input[type="button"], input[type="submit"] { 46 | overflow: visible; 47 | border: 0; 48 | font: inherit; 49 | -webkit-font-smoothing: inherit; 50 | letter-spacing: inherit; 51 | background: none; 52 | cursor: pointer; 53 | padding:0px; 54 | } 55 | 56 | fieldset{ 57 | border:0px; 58 | padding:0px; 59 | } 60 | 61 | 62 | textarea{ 63 | font-family: inherit; 64 | font-size:inherit; 65 | color:inherit; 66 | } 67 | 68 | // remove whitespace under image 69 | //https://getpocket.com/a/read/667377816 70 | img, svg{ 71 | vertical-align:text-bottom; 72 | } 73 | 74 | 75 | 76 | 77 | 78 | // remove safari rounded inputs 79 | input, textarea { 80 | -webkit-appearance: none; 81 | -webkit-border-radius: 0; 82 | } 83 | 84 | // display checkbox on safari 85 | input[type=checkbox] 86 | { 87 | -webkit-appearance:checkbox; 88 | } 89 | 90 | 91 | //Remove most spacing between table cells. 92 | table { 93 | border-collapse: collapse; 94 | border-spacing: 0; 95 | } 96 | 97 | td, 98 | th { 99 | padding: 0; 100 | } 101 | 102 | 103 | date{ 104 | display: inline-block; 105 | } 106 | 107 | // svg inheriting color 108 | svg{ 109 | fill: currentColor; 110 | transition: fill 0.3s ease; 111 | } 112 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/menu.sass: -------------------------------------------------------------------------------- 1 | $menu-item-color: $text !default 2 | $menu-item-radius: $radius-small !default 3 | $menu-item-hover-color: $text-strong !default 4 | $menu-item-hover-background-color: $background !default 5 | $menu-item-active-color: $link-invert !default 6 | $menu-item-active-background-color: $link !default 7 | 8 | $menu-list-border-left: 1px solid $border !default 9 | $menu-list-line-height: 1.25 !default 10 | $menu-list-link-padding: 0.5em 0.75em !default 11 | $menu-nested-list-margin: 0.75em !default 12 | $menu-nested-list-padding-left: 0.75em !default 13 | 14 | $menu-label-color: $text-light !default 15 | $menu-label-font-size: 0.75em !default 16 | $menu-label-letter-spacing: 0.1em !default 17 | $menu-label-spacing: 1em !default 18 | 19 | .menu 20 | font-size: $size-normal 21 | // Sizes 22 | &.is-small 23 | font-size: $size-small 24 | &.is-medium 25 | font-size: $size-medium 26 | &.is-large 27 | font-size: $size-large 28 | 29 | .menu-list 30 | line-height: $menu-list-line-height 31 | a 32 | border-radius: $menu-item-radius 33 | color: $menu-item-color 34 | display: block 35 | padding: $menu-list-link-padding 36 | &:hover 37 | background-color: $menu-item-hover-background-color 38 | color: $menu-item-hover-color 39 | // Modifiers 40 | &.is-active 41 | background-color: $menu-item-active-background-color 42 | color: $menu-item-active-color 43 | li 44 | ul 45 | +ltr-property("border", $menu-list-border-left, false) 46 | margin: $menu-nested-list-margin 47 | +ltr-property("padding", $menu-nested-list-padding-left, false) 48 | 49 | .menu-label 50 | color: $menu-label-color 51 | font-size: $menu-label-font-size 52 | letter-spacing: $menu-label-letter-spacing 53 | text-transform: uppercase 54 | &:not(:first-child) 55 | margin-top: $menu-label-spacing 56 | &:not(:last-child) 57 | margin-bottom: $menu-label-spacing 58 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/form/shared.sass: -------------------------------------------------------------------------------- 1 | $form-colors: $colors !default 2 | 3 | $input-color: $text-strong !default 4 | $input-background-color: $scheme-main !default 5 | $input-border-color: $border !default 6 | $input-height: $control-height !default 7 | $input-shadow: inset 0 0.0625em 0.125em rgba($scheme-invert, 0.05) !default 8 | $input-placeholder-color: bulmaRgba($input-color, 0.3) !default 9 | 10 | $input-hover-color: $text-strong !default 11 | $input-hover-border-color: $border-hover !default 12 | 13 | $input-focus-color: $text-strong !default 14 | $input-focus-border-color: $link !default 15 | $input-focus-box-shadow-size: 0 0 0 0.125em !default 16 | $input-focus-box-shadow-color: bulmaRgba($link, 0.25) !default 17 | 18 | $input-disabled-color: $text-light !default 19 | $input-disabled-background-color: $background !default 20 | $input-disabled-border-color: $background !default 21 | $input-disabled-placeholder-color: bulmaRgba($input-disabled-color, 0.3) !default 22 | 23 | $input-arrow: $link !default 24 | 25 | $input-icon-color: $border !default 26 | $input-icon-active-color: $text !default 27 | 28 | $input-radius: $radius !default 29 | 30 | =input 31 | @extend %control 32 | background-color: $input-background-color 33 | border-color: $input-border-color 34 | border-radius: $input-radius 35 | color: $input-color 36 | +placeholder 37 | color: $input-placeholder-color 38 | &:hover, 39 | &.is-hovered 40 | border-color: $input-hover-border-color 41 | &:focus, 42 | &.is-focused, 43 | &:active, 44 | &.is-active 45 | border-color: $input-focus-border-color 46 | box-shadow: $input-focus-box-shadow-size $input-focus-box-shadow-color 47 | &[disabled], 48 | fieldset[disabled] & 49 | background-color: $input-disabled-background-color 50 | border-color: $input-disabled-border-color 51 | box-shadow: none 52 | color: $input-disabled-color 53 | +placeholder 54 | color: $input-disabled-placeholder-color 55 | 56 | %input 57 | +input 58 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/title.sass: -------------------------------------------------------------------------------- 1 | $title-color: $text-strong !default 2 | $title-family: false !default 3 | $title-size: $size-3 !default 4 | $title-weight: $weight-semibold !default 5 | $title-line-height: 1.125 !default 6 | $title-strong-color: inherit !default 7 | $title-strong-weight: inherit !default 8 | $title-sub-size: 0.75em !default 9 | $title-sup-size: 0.75em !default 10 | 11 | $subtitle-color: $text !default 12 | $subtitle-family: false !default 13 | $subtitle-size: $size-5 !default 14 | $subtitle-weight: $weight-normal !default 15 | $subtitle-line-height: 1.25 !default 16 | $subtitle-strong-color: $text-strong !default 17 | $subtitle-strong-weight: $weight-semibold !default 18 | $subtitle-negative-margin: -1.25rem !default 19 | 20 | .title, 21 | .subtitle 22 | @extend %block 23 | word-break: break-word 24 | em, 25 | span 26 | font-weight: inherit 27 | sub 28 | font-size: $title-sub-size 29 | sup 30 | font-size: $title-sup-size 31 | .tag 32 | vertical-align: middle 33 | 34 | .title 35 | color: $title-color 36 | @if $title-family 37 | font-family: $title-family 38 | font-size: $title-size 39 | font-weight: $title-weight 40 | line-height: $title-line-height 41 | strong 42 | color: $title-strong-color 43 | font-weight: $title-strong-weight 44 | & + .highlight 45 | margin-top: -0.75rem 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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/breadcrumb.sass: -------------------------------------------------------------------------------- 1 | $breadcrumb-item-color: $link !default 2 | $breadcrumb-item-hover-color: $link-hover !default 3 | $breadcrumb-item-active-color: $text-strong !default 4 | 5 | $breadcrumb-item-padding-vertical: 0 !default 6 | $breadcrumb-item-padding-horizontal: 0.75em !default 7 | 8 | $breadcrumb-item-separator-color: $border-hover !default 9 | 10 | .breadcrumb 11 | @extend %block 12 | @extend %unselectable 13 | font-size: $size-normal 14 | white-space: nowrap 15 | a 16 | align-items: center 17 | color: $breadcrumb-item-color 18 | display: flex 19 | justify-content: center 20 | padding: $breadcrumb-item-padding-vertical $breadcrumb-item-padding-horizontal 21 | &:hover 22 | color: $breadcrumb-item-hover-color 23 | li 24 | align-items: center 25 | display: flex 26 | &:first-child a 27 | +ltr-property("padding", 0, false) 28 | &.is-active 29 | a 30 | color: $breadcrumb-item-active-color 31 | cursor: default 32 | pointer-events: none 33 | & + li::before 34 | color: $breadcrumb-item-separator-color 35 | content: "\0002f" 36 | ul, 37 | ol 38 | align-items: flex-start 39 | display: flex 40 | flex-wrap: wrap 41 | justify-content: flex-start 42 | .icon 43 | &:first-child 44 | +ltr-property("margin", 0.5em) 45 | &:last-child 46 | +ltr-property("margin", 0.5em, false) 47 | // Alignment 48 | &.is-centered 49 | ol, 50 | ul 51 | justify-content: center 52 | &.is-right 53 | ol, 54 | ul 55 | justify-content: flex-end 56 | // Sizes 57 | &.is-small 58 | font-size: $size-small 59 | &.is-medium 60 | font-size: $size-medium 61 | &.is-large 62 | font-size: $size-large 63 | // Styles 64 | &.has-arrow-separator 65 | li + li::before 66 | content: "\02192" 67 | &.has-bullet-separator 68 | li + li::before 69 | content: "\02022" 70 | &.has-dot-separator 71 | li + li::before 72 | content: "\000b7" 73 | &.has-succeeds-separator 74 | li + li::before 75 | content: "\0227B" 76 | -------------------------------------------------------------------------------- /templates/_components/breadcrumb.twig: -------------------------------------------------------------------------------- 1 | {# v4 #} 2 | {# http://craftsnippets.com/articles/breadcrumb-created-from-url-for-craft-cms #} 3 | 4 | {# settings #} 5 | {% set nonElementLinks = false %} 6 | 7 | {# populate breadcrumbLinks array if no array of links was provided #} 8 | {% if breadcrumbLinks is not defined %} 9 | {% set breadcrumbLinks = [] %} 10 | {# home #} 11 | {% set home = craft.app.getElements().getElementByUri('__home__', currentSite.id) %} 12 | {% set breadcrumbLinks = breadcrumbLinks|merge([{ 13 | url: home.url ?? alias(currentSite.baseUrl), 14 | title: home.title ?? 'homepage'|t, 15 | }]) %} 16 | 17 | {# get elements #} 18 | {% set segments = craft.app.request.segments %} 19 | {% for segment in segments %} 20 | {% set uriPart = segments[0:loop.index]|join('/')|literal %} 21 | {% set element = craft.app.elements.getElementByUri(uriPart, currentSite.id) %} 22 | {% if element %} 23 | {% set breadcrumbLinks = breadcrumbLinks|merge([{ 24 | url: element.url, 25 | title: element.title, 26 | }]) %} 27 | {% elseif nonElementLinks %} 28 | {% set breadcrumbLinks = breadcrumbLinks|merge([{ 29 | url: url(uriPart), 30 | title: segment|t, 31 | }]) %} 32 | {% endif %} 33 | {% endfor %} 34 | {% endif %} 35 | 36 | {# render breadcrumb #} 37 | {% if breadcrumbLinks|length > 1 %} 38 | 50 | {% endif %} -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/progress.sass: -------------------------------------------------------------------------------- 1 | $progress-bar-background-color: $border-light !default 2 | $progress-value-background-color: $text !default 3 | $progress-border-radius: $radius-rounded !default 4 | 5 | $progress-indeterminate-duration: 1.5s !default 6 | 7 | $progress-colors: $colors !default 8 | 9 | .progress 10 | @extend %block 11 | -moz-appearance: none 12 | -webkit-appearance: none 13 | border: none 14 | border-radius: $progress-border-radius 15 | display: block 16 | height: $size-normal 17 | overflow: hidden 18 | padding: 0 19 | width: 100% 20 | &::-webkit-progress-bar 21 | background-color: $progress-bar-background-color 22 | &::-webkit-progress-value 23 | background-color: $progress-value-background-color 24 | &::-moz-progress-bar 25 | background-color: $progress-value-background-color 26 | &::-ms-fill 27 | background-color: $progress-value-background-color 28 | border: none 29 | // Colors 30 | @each $name, $pair in $progress-colors 31 | $color: nth($pair, 1) 32 | &.is-#{$name} 33 | &::-webkit-progress-value 34 | background-color: $color 35 | &::-moz-progress-bar 36 | background-color: $color 37 | &::-ms-fill 38 | background-color: $color 39 | &:indeterminate 40 | background-image: linear-gradient(to right, $color 30%, $progress-bar-background-color 30%) 41 | 42 | &:indeterminate 43 | animation-duration: $progress-indeterminate-duration 44 | animation-iteration-count: infinite 45 | animation-name: moveIndeterminate 46 | animation-timing-function: linear 47 | background-color: $progress-bar-background-color 48 | background-image: linear-gradient(to right, $text 30%, $progress-bar-background-color 30%) 49 | background-position: top left 50 | background-repeat: no-repeat 51 | background-size: 150% 150% 52 | &::-webkit-progress-bar 53 | background-color: transparent 54 | &::-moz-progress-bar 55 | background-color: transparent 56 | &::-ms-fill 57 | animation-name: none 58 | 59 | // Sizes 60 | &.is-small 61 | height: $size-small 62 | &.is-medium 63 | height: $size-medium 64 | &.is-large 65 | height: $size-large 66 | 67 | @keyframes moveIndeterminate 68 | from 69 | background-position: 200% 0 70 | to 71 | background-position: -200% 0 72 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var concat = require('gulp-concat'); 3 | var sourcemaps = require('gulp-sourcemaps'); 4 | var sass = require('gulp-sass'); 5 | var uglify = require('gulp-uglify'); 6 | let cleanCSS = require('gulp-clean-css'); 7 | var autoprefixer = require('gulp-autoprefixer'); 8 | var browserSync = require('browser-sync').create(); 9 | const notifier = require('node-notifier'); 10 | 11 | 12 | gulp.task('dev', ['sass:development', 'watch:development', 'browser-sync']); 13 | gulp.task('default', ['dev']); 14 | gulp.task('prod', ['sass:production', 'uglify:production']); 15 | 16 | // browser sync 17 | gulp.task('browser-sync', function() { 18 | 19 | var file_path = __dirname; 20 | var explode = file_path.split('htdocs'); 21 | 22 | browserSync.init({ 23 | proxy: "localhost"+explode[1]+'/web' 24 | }); 25 | 26 | }); 27 | 28 | // watch file changes 29 | gulp.task('watch:development', function() { 30 | gulp.watch('web/static/styles/**/*.scss', ['sass:development']); 31 | gulp.watch("templates/**/*.twig").on('change', browserSync.reload); 32 | }); 33 | 34 | 35 | // compile scss 36 | gulp.task('sass:development', function() { 37 | gulp.src('web/static/styles/main.scss') 38 | .pipe(sourcemaps.init()) 39 | .pipe(sass()) 40 | .on('error', swallowError) 41 | .pipe(concat('main.css')) 42 | .pipe(sourcemaps.write()) 43 | .pipe(gulp.dest('web/static')) 44 | .pipe(browserSync.stream()); 45 | }); 46 | 47 | 48 | // concat and minify JS 49 | gulp.task('uglify:production', function() { 50 | return gulp.src([ 51 | 'web/static/js/main.js', 52 | // file paths here.. 53 | ]) 54 | .pipe(sourcemaps.init()) 55 | .pipe(concat('main.min.js')) 56 | .pipe(sourcemaps.write()) 57 | .pipe(uglify()) 58 | .on('error', swallowError) 59 | .pipe(gulp.dest('web/static')); 60 | }); 61 | 62 | 63 | // concat and minify CSS 64 | gulp.task('sass:production', function() { 65 | gulp.src([ 66 | 'web/static/main.css', 67 | // file paths here... 68 | ]) 69 | .pipe(sass()) 70 | .on('error', swallowError) 71 | .pipe(concat('main.min.css')) 72 | .pipe(autoprefixer()) 73 | .pipe(cleanCSS()) 74 | .pipe(gulp.dest('web/static')) 75 | }); 76 | 77 | 78 | // handle errors 79 | function swallowError (error) { 80 | console.log(error.toString()) 81 | this.emit('end') 82 | notifier.notify({ 83 | title: 'gulp css error', 84 | message: error.relativePath + ' line '+ error.line, 85 | sound: false, 86 | }); 87 | } 88 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/card.sass: -------------------------------------------------------------------------------- 1 | $card-color: $text !default 2 | $card-background-color: $scheme-main !default 3 | $card-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default 4 | $card-radius: 0.25rem !default 5 | $card-overflow: hidden !default 6 | 7 | $card-header-background-color: transparent !default 8 | $card-header-color: $text-strong !default 9 | $card-header-padding: 0.75rem 1rem !default 10 | $card-header-shadow: 0 0.125em 0.25em rgba($scheme-invert, 0.1) !default 11 | $card-header-weight: $weight-bold !default 12 | 13 | $card-content-background-color: transparent !default 14 | $card-content-padding: 1.5rem !default 15 | 16 | $card-footer-background-color: transparent !default 17 | $card-footer-border-top: 1px solid $border-light !default 18 | $card-footer-padding: 0.75rem !default 19 | 20 | $card-media-margin: $block-spacing !default 21 | 22 | .card 23 | background-color: $card-background-color 24 | border-radius: $card-radius 25 | box-shadow: $card-shadow 26 | color: $card-color 27 | max-width: 100% 28 | overflow: $card-overflow 29 | position: relative 30 | 31 | .card-header 32 | background-color: $card-header-background-color 33 | align-items: stretch 34 | box-shadow: $card-header-shadow 35 | display: flex 36 | 37 | .card-header-title 38 | align-items: center 39 | color: $card-header-color 40 | display: flex 41 | flex-grow: 1 42 | font-weight: $card-header-weight 43 | padding: $card-header-padding 44 | &.is-centered 45 | justify-content: center 46 | 47 | .card-header-icon 48 | align-items: center 49 | cursor: pointer 50 | display: flex 51 | justify-content: center 52 | padding: $card-header-padding 53 | 54 | .card-image 55 | display: block 56 | position: relative 57 | 58 | .card-content 59 | background-color: $card-content-background-color 60 | padding: $card-content-padding 61 | 62 | .card-footer 63 | background-color: $card-footer-background-color 64 | border-top: $card-footer-border-top 65 | align-items: stretch 66 | display: flex 67 | 68 | .card-footer-item 69 | align-items: center 70 | display: flex 71 | flex-basis: 0 72 | flex-grow: 1 73 | flex-shrink: 0 74 | justify-content: center 75 | padding: $card-footer-padding 76 | &:not(:last-child) 77 | +ltr-property("border", $card-footer-border-top) 78 | 79 | // Combinations 80 | 81 | .card 82 | .media:not(:last-child) 83 | margin-bottom: $card-media-margin 84 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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(48, 100%, 67%) !default 20 | $green: hsl(141, 53%, 53%) !default 21 | $turquoise: hsl(171, 100%, 41%) !default 22 | $cyan: hsl(204, 71%, 53%) !default 23 | $blue: hsl(217, 71%, 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: 290486px !default 73 | $speed: 86ms !default 74 | 75 | // Flags 76 | 77 | $variable-columns: true !default 78 | $rtl: false !default 79 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/dropdown.sass: -------------------------------------------------------------------------------- 1 | $dropdown-menu-min-width: 12rem !default 2 | 3 | $dropdown-content-background-color: $scheme-main !default 4 | $dropdown-content-arrow: $link !default 5 | $dropdown-content-offset: 4px !default 6 | $dropdown-content-padding-bottom: 0.5rem !default 7 | $dropdown-content-padding-top: 0.5rem !default 8 | $dropdown-content-radius: $radius !default 9 | $dropdown-content-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default 10 | $dropdown-content-z: 20 !default 11 | 12 | $dropdown-item-color: $text !default 13 | $dropdown-item-hover-color: $scheme-invert !default 14 | $dropdown-item-hover-background-color: $background !default 15 | $dropdown-item-active-color: $link-invert !default 16 | $dropdown-item-active-background-color: $link !default 17 | 18 | $dropdown-divider-background-color: $border-light !default 19 | 20 | .dropdown 21 | display: inline-flex 22 | position: relative 23 | vertical-align: top 24 | &.is-active, 25 | &.is-hoverable:hover 26 | .dropdown-menu 27 | display: block 28 | &.is-right 29 | .dropdown-menu 30 | left: auto 31 | right: 0 32 | &.is-up 33 | .dropdown-menu 34 | bottom: 100% 35 | padding-bottom: $dropdown-content-offset 36 | padding-top: initial 37 | top: auto 38 | 39 | .dropdown-menu 40 | display: none 41 | +ltr-position(0, false) 42 | min-width: $dropdown-menu-min-width 43 | padding-top: $dropdown-content-offset 44 | position: absolute 45 | top: 100% 46 | z-index: $dropdown-content-z 47 | 48 | .dropdown-content 49 | background-color: $dropdown-content-background-color 50 | border-radius: $dropdown-content-radius 51 | box-shadow: $dropdown-content-shadow 52 | padding-bottom: $dropdown-content-padding-bottom 53 | padding-top: $dropdown-content-padding-top 54 | 55 | .dropdown-item 56 | color: $dropdown-item-color 57 | display: block 58 | font-size: 0.875rem 59 | line-height: 1.5 60 | padding: 0.375rem 1rem 61 | position: relative 62 | 63 | a.dropdown-item, 64 | button.dropdown-item 65 | +ltr-property("padding", 3rem) 66 | text-align: inherit 67 | white-space: nowrap 68 | width: 100% 69 | &:hover 70 | background-color: $dropdown-item-hover-background-color 71 | color: $dropdown-item-hover-color 72 | &.is-active 73 | background-color: $dropdown-item-active-background-color 74 | color: $dropdown-item-active-color 75 | 76 | .dropdown-divider 77 | background-color: $dropdown-divider-background-color 78 | border: none 79 | display: block 80 | height: 1px 81 | margin: 0.5rem 0 82 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/helpers/typography.sass: -------------------------------------------------------------------------------- 1 | =typography-size($target:'') 2 | @each $size in $sizes 3 | $i: index($sizes, $size) 4 | .is-size-#{$i}#{if($target == '', '', '-' + $target)} 5 | font-size: $size !important 6 | 7 | +typography-size() 8 | 9 | +mobile 10 | +typography-size('mobile') 11 | 12 | +tablet 13 | +typography-size('tablet') 14 | 15 | +touch 16 | +typography-size('touch') 17 | 18 | +desktop 19 | +typography-size('desktop') 20 | 21 | +widescreen 22 | +typography-size('widescreen') 23 | 24 | +fullhd 25 | +typography-size('fullhd') 26 | 27 | $alignments: ('centered': 'center', 'justified': 'justify', 'left': 'left', 'right': 'right') 28 | 29 | @each $alignment, $text-align in $alignments 30 | .has-text-#{$alignment} 31 | text-align: #{$text-align} !important 32 | 33 | @each $alignment, $text-align in $alignments 34 | +mobile 35 | .has-text-#{$alignment}-mobile 36 | text-align: #{$text-align} !important 37 | +tablet 38 | .has-text-#{$alignment}-tablet 39 | text-align: #{$text-align} !important 40 | +tablet-only 41 | .has-text-#{$alignment}-tablet-only 42 | text-align: #{$text-align} !important 43 | +touch 44 | .has-text-#{$alignment}-touch 45 | text-align: #{$text-align} !important 46 | +desktop 47 | .has-text-#{$alignment}-desktop 48 | text-align: #{$text-align} !important 49 | +desktop-only 50 | .has-text-#{$alignment}-desktop-only 51 | text-align: #{$text-align} !important 52 | +widescreen 53 | .has-text-#{$alignment}-widescreen 54 | text-align: #{$text-align} !important 55 | +widescreen-only 56 | .has-text-#{$alignment}-widescreen-only 57 | text-align: #{$text-align} !important 58 | +fullhd 59 | .has-text-#{$alignment}-fullhd 60 | text-align: #{$text-align} !important 61 | 62 | .is-capitalized 63 | text-transform: capitalize !important 64 | 65 | .is-lowercase 66 | text-transform: lowercase !important 67 | 68 | .is-uppercase 69 | text-transform: uppercase !important 70 | 71 | .is-italic 72 | font-style: italic !important 73 | 74 | .has-text-weight-light 75 | font-weight: $weight-light !important 76 | .has-text-weight-normal 77 | font-weight: $weight-normal !important 78 | .has-text-weight-medium 79 | font-weight: $weight-medium !important 80 | .has-text-weight-semibold 81 | font-weight: $weight-semibold !important 82 | .has-text-weight-bold 83 | font-weight: $weight-bold !important 84 | 85 | .is-family-primary 86 | font-family: $family-primary !important 87 | 88 | .is-family-secondary 89 | font-family: $family-secondary !important 90 | 91 | .is-family-sans-serif 92 | font-family: $family-sans-serif !important 93 | 94 | .is-family-monospace 95 | font-family: $family-monospace !important 96 | 97 | .is-family-code 98 | font-family: $family-code !important 99 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "bulma@0.9.1", 3 | "_id": "bulma@0.9.1", 4 | "_inBundle": false, 5 | "_integrity": "sha512-LSF69OumXg2HSKl2+rN0/OEXJy7WFEb681wtBlNS/ulJYR27J3rORHibdXZ6GVb/vyUzzYK/Arjyh56wjbFedA==", 6 | "_location": "/bulma", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "bulma@0.9.1", 12 | "name": "bulma", 13 | "escapedName": "bulma", 14 | "rawSpec": "0.9.1", 15 | "saveSpec": null, 16 | "fetchSpec": "0.9.1" 17 | }, 18 | "_requiredBy": [ 19 | "#USER", 20 | "/" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/bulma/-/bulma-0.9.1.tgz", 23 | "_shasum": "2bf0e25062a22166db5c92e8c3dcb4605ab040d8", 24 | "_spec": "bulma@0.9.1", 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.0", 39 | "clean-css-cli": "^4.3.0", 40 | "node-sass": "^4.14.1", 41 | "postcss-cli": "^7.1.1", 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.1" 82 | } 83 | -------------------------------------------------------------------------------- /templates/_components/pagination.twig: -------------------------------------------------------------------------------- 1 | {# v3 #} 2 | {# http://craftsnippets.com/articles/ellipsis-pagination-component-for-craft-cms #} 3 | {# requires pageInfo variable #} 4 | 5 | {# settings #} 6 | {% set neighbours = 1 %} 7 | 8 | {# symbols #} 9 | {% set prev = '❮' %} 10 | {% set next = '❯' %} 11 | {% set dots = "…" %} 12 | 13 | {# single numeric link #} 14 | {% macro numericLink(url, number, current) %} 15 |
  • 16 | {{number}} 17 |
  • 18 | {% endmacro %} 19 | 20 | {# next/prev link #} 21 | {% macro textLink(url, content, aria, number) %} 22 |
  • 23 | {{content|raw}} 24 |
  • 25 | {% endmacro %} 26 | 27 | {# ellipsis #} 28 | {% macro ellipsis(content) %} 29 |
  • 30 | {{content|raw}} 31 |
  • 32 | {% endmacro %} 33 | 34 | {# pagination logic #} 35 | {% if pageInfo is defined and pageInfo.totalPages > 1 %} 36 | {% import _self as self %} 37 | 38 | {# seomatic #} 39 | {# https://github.com/nystudio107/craft-seomatic#pagination-and-seo #} 40 | {% if seomatic is defined %} 41 | {% do seomatic.helper.paginate(pageInfo) %} 42 | {% endif %} 43 | 44 | 45 | 93 | {% endif %} -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/helpers/visibility.sass: -------------------------------------------------------------------------------- 1 | 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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/base/generic.sass: -------------------------------------------------------------------------------- 1 | $body-background-color: $scheme-main !default 2 | $body-size: 16px !default 3 | $body-min-width: 300px !default 4 | $body-rendering: optimizeLegibility !default 5 | $body-family: $family-primary !default 6 | $body-overflow-x: hidden !default 7 | $body-overflow-y: scroll !default 8 | 9 | $body-color: $text !default 10 | $body-font-size: 1em !default 11 | $body-weight: $weight-normal !default 12 | $body-line-height: 1.5 !default 13 | 14 | $code-family: $family-code !default 15 | $code-padding: 0.25em 0.5em 0.25em !default 16 | $code-weight: normal !default 17 | $code-size: 0.875em !default 18 | 19 | $small-font-size: 0.875em !default 20 | 21 | $hr-background-color: $background !default 22 | $hr-height: 2px !default 23 | $hr-margin: 1.5rem 0 !default 24 | 25 | $strong-color: $text-strong !default 26 | $strong-weight: $weight-bold !default 27 | 28 | $pre-font-size: 0.875em !default 29 | $pre-padding: 1.25rem 1.5rem !default 30 | $pre-code-font-size: 1em !default 31 | 32 | html 33 | background-color: $body-background-color 34 | font-size: $body-size 35 | -moz-osx-font-smoothing: grayscale 36 | -webkit-font-smoothing: antialiased 37 | min-width: $body-min-width 38 | overflow-x: $body-overflow-x 39 | overflow-y: $body-overflow-y 40 | text-rendering: $body-rendering 41 | text-size-adjust: 100% 42 | 43 | article, 44 | aside, 45 | figure, 46 | footer, 47 | header, 48 | hgroup, 49 | section 50 | display: block 51 | 52 | body, 53 | button, 54 | input, 55 | optgroup, 56 | select, 57 | textarea 58 | font-family: $body-family 59 | 60 | code, 61 | pre 62 | -moz-osx-font-smoothing: auto 63 | -webkit-font-smoothing: auto 64 | font-family: $code-family 65 | 66 | body 67 | color: $body-color 68 | font-size: $body-font-size 69 | font-weight: $body-weight 70 | line-height: $body-line-height 71 | 72 | // Inline 73 | 74 | a 75 | color: $link 76 | cursor: pointer 77 | text-decoration: none 78 | strong 79 | color: currentColor 80 | &:hover 81 | color: $link-hover 82 | 83 | code 84 | background-color: $code-background 85 | color: $code 86 | font-size: $code-size 87 | font-weight: $code-weight 88 | padding: $code-padding 89 | 90 | hr 91 | background-color: $hr-background-color 92 | border: none 93 | display: block 94 | height: $hr-height 95 | margin: $hr-margin 96 | 97 | img 98 | height: auto 99 | max-width: 100% 100 | 101 | input[type="checkbox"], 102 | input[type="radio"] 103 | vertical-align: baseline 104 | 105 | small 106 | font-size: $small-font-size 107 | 108 | span 109 | font-style: inherit 110 | font-weight: inherit 111 | 112 | strong 113 | color: $strong-color 114 | font-weight: $strong-weight 115 | 116 | // Block 117 | 118 | fieldset 119 | border: none 120 | 121 | pre 122 | +overflow-touch 123 | background-color: $pre-background 124 | color: $pre 125 | font-size: $pre-font-size 126 | overflow-x: auto 127 | padding: $pre-padding 128 | white-space: pre 129 | word-wrap: normal 130 | code 131 | background-color: transparent 132 | color: currentColor 133 | font-size: $pre-code-font-size 134 | padding: 0 135 | 136 | table 137 | td, 138 | th 139 | vertical-align: top 140 | &:not([align]) 141 | text-align: inherit 142 | th 143 | color: $text-strong 144 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/message.sass: -------------------------------------------------------------------------------- 1 | $message-background-color: $background !default 2 | $message-radius: $radius !default 3 | 4 | $message-header-background-color: $text !default 5 | $message-header-color: $text-invert !default 6 | $message-header-weight: $weight-bold !default 7 | $message-header-padding: 0.75em 1em !default 8 | $message-header-radius: $radius !default 9 | 10 | $message-body-border-color: $border !default 11 | $message-body-border-width: 0 0 0 4px !default 12 | $message-body-color: $text !default 13 | $message-body-padding: 1.25em 1.5em !default 14 | $message-body-radius: $radius !default 15 | 16 | $message-body-pre-background-color: $scheme-main !default 17 | $message-body-pre-code-background-color: transparent !default 18 | 19 | $message-header-body-border-width: 0 !default 20 | $message-colors: $colors !default 21 | 22 | .message 23 | @extend %block 24 | background-color: $message-background-color 25 | border-radius: $message-radius 26 | font-size: $size-normal 27 | strong 28 | color: currentColor 29 | a:not(.button):not(.tag):not(.dropdown-item) 30 | color: currentColor 31 | text-decoration: underline 32 | // Sizes 33 | &.is-small 34 | font-size: $size-small 35 | &.is-medium 36 | font-size: $size-medium 37 | &.is-large 38 | font-size: $size-large 39 | // Colors 40 | @each $name, $components in $message-colors 41 | $color: nth($components, 1) 42 | $color-invert: nth($components, 2) 43 | $color-light: null 44 | $color-dark: null 45 | 46 | @if length($components) >= 3 47 | $color-light: nth($components, 3) 48 | @if length($components) >= 4 49 | $color-dark: nth($components, 4) 50 | @else 51 | $color-luminance: colorLuminance($color) 52 | $darken-percentage: $color-luminance * 70% 53 | $desaturate-percentage: $color-luminance * 30% 54 | $color-dark: desaturate(darken($color, $darken-percentage), $desaturate-percentage) 55 | @else 56 | $color-lightning: max((100% - lightness($color)) - 2%, 0%) 57 | $color-light: lighten($color, $color-lightning) 58 | 59 | &.is-#{$name} 60 | background-color: $color-light 61 | .message-header 62 | background-color: $color 63 | color: $color-invert 64 | .message-body 65 | border-color: $color 66 | color: $color-dark 67 | 68 | .message-header 69 | align-items: center 70 | background-color: $message-header-background-color 71 | border-radius: $message-header-radius $message-header-radius 0 0 72 | color: $message-header-color 73 | display: flex 74 | font-weight: $message-header-weight 75 | justify-content: space-between 76 | line-height: 1.25 77 | padding: $message-header-padding 78 | position: relative 79 | .delete 80 | flex-grow: 0 81 | flex-shrink: 0 82 | +ltr-property("margin", 0.75em, false) 83 | & + .message-body 84 | border-width: $message-header-body-border-width 85 | border-top-left-radius: 0 86 | border-top-right-radius: 0 87 | 88 | .message-body 89 | border-color: $message-body-border-color 90 | border-radius: $message-body-radius 91 | border-style: solid 92 | border-width: $message-body-border-width 93 | color: $message-body-color 94 | padding: $message-body-padding 95 | code, 96 | pre 97 | background-color: $message-body-pre-background-color 98 | pre code 99 | background-color: $message-body-pre-code-background-color 100 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/modal.sass: -------------------------------------------------------------------------------- 1 | $modal-z: 40 !default 2 | 3 | $modal-background-background-color: bulmaRgba($scheme-invert, 0.86) !default 4 | 5 | $modal-content-width: 640px !default 6 | $modal-content-margin-mobile: 20px !default 7 | $modal-content-spacing-mobile: 160px !default 8 | $modal-content-spacing-tablet: 40px !default 9 | 10 | $modal-close-dimensions: 40px !default 11 | $modal-close-right: 20px !default 12 | $modal-close-top: 20px !default 13 | 14 | $modal-card-spacing: 40px !default 15 | 16 | $modal-card-head-background-color: $background !default 17 | $modal-card-head-border-bottom: 1px solid $border !default 18 | $modal-card-head-padding: 20px !default 19 | $modal-card-head-radius: $radius-large !default 20 | 21 | $modal-card-title-color: $text-strong !default 22 | $modal-card-title-line-height: 1 !default 23 | $modal-card-title-size: $size-4 !default 24 | 25 | $modal-card-foot-radius: $radius-large !default 26 | $modal-card-foot-border-top: 1px solid $border !default 27 | 28 | $modal-card-body-background-color: $scheme-main !default 29 | $modal-card-body-padding: 20px !default 30 | 31 | $modal-breakpoint: $tablet !default 32 | 33 | .modal 34 | @extend %overlay 35 | align-items: center 36 | display: none 37 | flex-direction: column 38 | justify-content: center 39 | overflow: hidden 40 | position: fixed 41 | z-index: $modal-z 42 | // Modifiers 43 | &.is-active 44 | display: flex 45 | 46 | .modal-background 47 | @extend %overlay 48 | background-color: $modal-background-background-color 49 | 50 | .modal-content, 51 | .modal-card 52 | margin: 0 $modal-content-margin-mobile 53 | max-height: calc(100vh - #{$modal-content-spacing-mobile}) 54 | overflow: auto 55 | position: relative 56 | width: 100% 57 | // Responsiveness 58 | +from($modal-breakpoint) 59 | margin: 0 auto 60 | max-height: calc(100vh - #{$modal-content-spacing-tablet}) 61 | width: $modal-content-width 62 | 63 | .modal-close 64 | @extend %delete 65 | background: none 66 | height: $modal-close-dimensions 67 | position: fixed 68 | +ltr-position($modal-close-right) 69 | top: $modal-close-top 70 | width: $modal-close-dimensions 71 | 72 | .modal-card 73 | display: flex 74 | flex-direction: column 75 | max-height: calc(100vh - #{$modal-card-spacing}) 76 | overflow: hidden 77 | -ms-overflow-y: visible 78 | 79 | .modal-card-head, 80 | .modal-card-foot 81 | align-items: center 82 | background-color: $modal-card-head-background-color 83 | display: flex 84 | flex-shrink: 0 85 | justify-content: flex-start 86 | padding: $modal-card-head-padding 87 | position: relative 88 | 89 | .modal-card-head 90 | border-bottom: $modal-card-head-border-bottom 91 | border-top-left-radius: $modal-card-head-radius 92 | border-top-right-radius: $modal-card-head-radius 93 | 94 | .modal-card-title 95 | color: $modal-card-title-color 96 | flex-grow: 1 97 | flex-shrink: 0 98 | font-size: $modal-card-title-size 99 | line-height: $modal-card-title-line-height 100 | 101 | .modal-card-foot 102 | border-bottom-left-radius: $modal-card-foot-radius 103 | border-bottom-right-radius: $modal-card-foot-radius 104 | border-top: $modal-card-foot-border-top 105 | .button 106 | &:not(:last-child) 107 | +ltr-property("margin", 0.5em) 108 | 109 | .modal-card-body 110 | +overflow-touch 111 | background-color: $modal-card-body-background-color 112 | flex-grow: 1 113 | flex-shrink: 1 114 | overflow: auto 115 | padding: $modal-card-body-padding 116 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/panel.sass: -------------------------------------------------------------------------------- 1 | $panel-margin: $block-spacing !default 2 | $panel-item-border: 1px solid $border-light !default 3 | $panel-radius: $radius-large !default 4 | $panel-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default 5 | 6 | $panel-heading-background-color: $border-light !default 7 | $panel-heading-color: $text-strong !default 8 | $panel-heading-line-height: 1.25 !default 9 | $panel-heading-padding: 0.75em 1em !default 10 | $panel-heading-radius: $radius !default 11 | $panel-heading-size: 1.25em !default 12 | $panel-heading-weight: $weight-bold !default 13 | 14 | $panel-tabs-font-size: 0.875em !default 15 | $panel-tab-border-bottom: 1px solid $border !default 16 | $panel-tab-active-border-bottom-color: $link-active-border !default 17 | $panel-tab-active-color: $link-active !default 18 | 19 | $panel-list-item-color: $text !default 20 | $panel-list-item-hover-color: $link !default 21 | 22 | $panel-block-color: $text-strong !default 23 | $panel-block-hover-background-color: $background !default 24 | $panel-block-active-border-left-color: $link !default 25 | $panel-block-active-color: $link-active !default 26 | $panel-block-active-icon-color: $link !default 27 | 28 | $panel-icon-color: $text-light !default 29 | $panel-colors: $colors !default 30 | 31 | .panel 32 | border-radius: $panel-radius 33 | box-shadow: $panel-shadow 34 | font-size: $size-normal 35 | &:not(:last-child) 36 | margin-bottom: $panel-margin 37 | // Colors 38 | @each $name, $components in $panel-colors 39 | $color: nth($components, 1) 40 | $color-invert: nth($components, 2) 41 | &.is-#{$name} 42 | .panel-heading 43 | background-color: $color 44 | color: $color-invert 45 | .panel-tabs a.is-active 46 | border-bottom-color: $color 47 | .panel-block.is-active .panel-icon 48 | color: $color 49 | 50 | .panel-tabs, 51 | .panel-block 52 | &:not(:last-child) 53 | border-bottom: $panel-item-border 54 | 55 | .panel-heading 56 | background-color: $panel-heading-background-color 57 | border-radius: $panel-radius $panel-radius 0 0 58 | color: $panel-heading-color 59 | font-size: $panel-heading-size 60 | font-weight: $panel-heading-weight 61 | line-height: $panel-heading-line-height 62 | padding: $panel-heading-padding 63 | 64 | .panel-tabs 65 | align-items: flex-end 66 | display: flex 67 | font-size: $panel-tabs-font-size 68 | justify-content: center 69 | a 70 | border-bottom: $panel-tab-border-bottom 71 | margin-bottom: -1px 72 | padding: 0.5em 73 | // Modifiers 74 | &.is-active 75 | border-bottom-color: $panel-tab-active-border-bottom-color 76 | color: $panel-tab-active-color 77 | 78 | .panel-list 79 | a 80 | color: $panel-list-item-color 81 | &:hover 82 | color: $panel-list-item-hover-color 83 | 84 | .panel-block 85 | align-items: center 86 | color: $panel-block-color 87 | display: flex 88 | justify-content: flex-start 89 | padding: 0.5em 0.75em 90 | input[type="checkbox"] 91 | +ltr-property("margin", 0.75em) 92 | & > .control 93 | flex-grow: 1 94 | flex-shrink: 1 95 | width: 100% 96 | &.is-wrapped 97 | flex-wrap: wrap 98 | &.is-active 99 | border-left-color: $panel-block-active-border-left-color 100 | color: $panel-block-active-color 101 | .panel-icon 102 | color: $panel-block-active-icon-color 103 | &:last-child 104 | border-bottom-left-radius: $panel-radius 105 | border-bottom-right-radius: $panel-radius 106 | 107 | a.panel-block, 108 | label.panel-block 109 | cursor: pointer 110 | &:hover 111 | background-color: $panel-block-hover-background-color 112 | 113 | .panel-icon 114 | +fa(14px, 1em) 115 | color: $panel-icon-color 116 | +ltr-property("margin", 0.75em) 117 | .fa 118 | font-size: inherit 119 | line-height: inherit 120 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/table.sass: -------------------------------------------------------------------------------- 1 | $table-color: $text-strong !default 2 | $table-background-color: $scheme-main !default 3 | 4 | $table-cell-border: 1px solid $border !default 5 | $table-cell-border-width: 0 0 1px !default 6 | $table-cell-padding: 0.5em 0.75em !default 7 | $table-cell-heading-color: $text-strong !default 8 | 9 | $table-head-cell-border-width: 0 0 2px !default 10 | $table-head-cell-color: $text-strong !default 11 | $table-foot-cell-border-width: 2px 0 0 !default 12 | $table-foot-cell-color: $text-strong !default 13 | 14 | $table-head-background-color: transparent !default 15 | $table-body-background-color: transparent !default 16 | $table-foot-background-color: transparent !default 17 | 18 | $table-row-hover-background-color: $scheme-main-bis !default 19 | 20 | $table-row-active-background-color: $primary !default 21 | $table-row-active-color: $primary-invert !default 22 | 23 | $table-striped-row-even-background-color: $scheme-main-bis !default 24 | $table-striped-row-even-hover-background-color: $scheme-main-ter !default 25 | 26 | $table-colors: $colors !default 27 | 28 | .table 29 | @extend %block 30 | background-color: $table-background-color 31 | color: $table-color 32 | td, 33 | th 34 | border: $table-cell-border 35 | border-width: $table-cell-border-width 36 | padding: $table-cell-padding 37 | vertical-align: top 38 | // Colors 39 | @each $name, $pair in $table-colors 40 | $color: nth($pair, 1) 41 | $color-invert: nth($pair, 2) 42 | &.is-#{$name} 43 | background-color: $color 44 | border-color: $color 45 | color: $color-invert 46 | // Modifiers 47 | &.is-narrow 48 | white-space: nowrap 49 | width: 1% 50 | &.is-selected 51 | background-color: $table-row-active-background-color 52 | color: $table-row-active-color 53 | a, 54 | strong 55 | color: currentColor 56 | &.is-vcentered 57 | vertical-align: middle 58 | th 59 | color: $table-cell-heading-color 60 | &:not([align]) 61 | text-align: inherit 62 | tr 63 | &.is-selected 64 | background-color: $table-row-active-background-color 65 | color: $table-row-active-color 66 | a, 67 | strong 68 | color: currentColor 69 | td, 70 | th 71 | border-color: $table-row-active-color 72 | color: currentColor 73 | thead 74 | background-color: $table-head-background-color 75 | td, 76 | th 77 | border-width: $table-head-cell-border-width 78 | color: $table-head-cell-color 79 | tfoot 80 | background-color: $table-foot-background-color 81 | td, 82 | th 83 | border-width: $table-foot-cell-border-width 84 | color: $table-foot-cell-color 85 | tbody 86 | background-color: $table-body-background-color 87 | tr 88 | &:last-child 89 | td, 90 | th 91 | border-bottom-width: 0 92 | // Modifiers 93 | &.is-bordered 94 | td, 95 | th 96 | border-width: 1px 97 | tr 98 | &:last-child 99 | td, 100 | th 101 | border-bottom-width: 1px 102 | &.is-fullwidth 103 | width: 100% 104 | &.is-hoverable 105 | tbody 106 | tr:not(.is-selected) 107 | &:hover 108 | background-color: $table-row-hover-background-color 109 | &.is-striped 110 | tbody 111 | tr:not(.is-selected) 112 | &:hover 113 | background-color: $table-row-hover-background-color 114 | &:nth-child(even) 115 | background-color: $table-striped-row-even-hover-background-color 116 | &.is-narrow 117 | td, 118 | th 119 | padding: 0.25em 0.5em 120 | &.is-striped 121 | tbody 122 | tr:not(.is-selected) 123 | &:nth-child(even) 124 | background-color: $table-striped-row-even-background-color 125 | 126 | .table-container 127 | @extend %block 128 | +overflow-touch 129 | overflow: auto 130 | overflow-y: hidden 131 | max-width: 100% 132 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/tag.sass: -------------------------------------------------------------------------------- 1 | $tag-background-color: $background !default 2 | $tag-color: $text !default 3 | $tag-radius: $radius !default 4 | $tag-delete-margin: 1px !default 5 | 6 | $tag-colors: $colors !default 7 | 8 | .tags 9 | align-items: center 10 | display: flex 11 | flex-wrap: wrap 12 | justify-content: flex-start 13 | .tag 14 | margin-bottom: 0.5rem 15 | &:not(:last-child) 16 | +ltr-property("margin", 0.5rem) 17 | &:last-child 18 | margin-bottom: -0.5rem 19 | &:not(:last-child) 20 | margin-bottom: 1rem 21 | // Sizes 22 | &.are-medium 23 | .tag:not(.is-normal):not(.is-large) 24 | font-size: $size-normal 25 | &.are-large 26 | .tag:not(.is-normal):not(.is-medium) 27 | font-size: $size-medium 28 | &.is-centered 29 | justify-content: center 30 | .tag 31 | margin-right: 0.25rem 32 | margin-left: 0.25rem 33 | &.is-right 34 | justify-content: flex-end 35 | .tag 36 | &:not(:first-child) 37 | margin-left: 0.5rem 38 | &:not(:last-child) 39 | margin-right: 0 40 | &.has-addons 41 | .tag 42 | +ltr-property("margin", 0) 43 | &:not(:first-child) 44 | +ltr-property("margin", 0, false) 45 | +ltr 46 | border-top-left-radius: 0 47 | border-bottom-left-radius: 0 48 | +rtl 49 | border-top-right-radius: 0 50 | border-bottom-right-radius: 0 51 | &:not(:last-child) 52 | +ltr 53 | border-top-right-radius: 0 54 | border-bottom-right-radius: 0 55 | +rtl 56 | border-top-left-radius: 0 57 | border-bottom-left-radius: 0 58 | 59 | .tag:not(body) 60 | align-items: center 61 | background-color: $tag-background-color 62 | border-radius: $tag-radius 63 | color: $tag-color 64 | display: inline-flex 65 | font-size: $size-small 66 | height: 2em 67 | justify-content: center 68 | line-height: 1.5 69 | padding-left: 0.75em 70 | padding-right: 0.75em 71 | white-space: nowrap 72 | .delete 73 | +ltr-property("margin", 0.25rem, false) 74 | +ltr-property("margin", -0.375rem) 75 | // Colors 76 | @each $name, $pair in $tag-colors 77 | $color: nth($pair, 1) 78 | $color-invert: nth($pair, 2) 79 | &.is-#{$name} 80 | background-color: $color 81 | color: $color-invert 82 | // If a light and dark colors are provided 83 | @if length($pair) > 3 84 | $color-light: nth($pair, 3) 85 | $color-dark: nth($pair, 4) 86 | &.is-light 87 | background-color: $color-light 88 | color: $color-dark 89 | // Sizes 90 | &.is-normal 91 | font-size: $size-small 92 | &.is-medium 93 | font-size: $size-normal 94 | &.is-large 95 | font-size: $size-medium 96 | .icon 97 | &:first-child:not(:last-child) 98 | +ltr-property("margin", -0.375em, false) 99 | +ltr-property("margin", 0.1875em) 100 | &:last-child:not(:first-child) 101 | +ltr-property("margin", 0.1875em, false) 102 | +ltr-property("margin", -0.375em) 103 | &:first-child:last-child 104 | +ltr-property("margin", -0.375em, false) 105 | +ltr-property("margin", -0.375em) 106 | // Modifiers 107 | &.is-delete 108 | +ltr-property("margin", $tag-delete-margin, false) 109 | padding: 0 110 | position: relative 111 | width: 2em 112 | &::before, 113 | &::after 114 | background-color: currentColor 115 | content: "" 116 | display: block 117 | left: 50% 118 | position: absolute 119 | top: 50% 120 | transform: translateX(-50%) translateY(-50%) rotate(45deg) 121 | transform-origin: center center 122 | &::before 123 | height: 1px 124 | width: 50% 125 | &::after 126 | height: 50% 127 | width: 1px 128 | &:hover, 129 | &:focus 130 | background-color: darken($tag-background-color, 5%) 131 | &:active 132 | background-color: darken($tag-background-color, 10%) 133 | &.is-rounded 134 | border-radius: $radius-rounded 135 | 136 | a.tag 137 | &:hover 138 | text-decoration: underline 139 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/layout/hero.sass: -------------------------------------------------------------------------------- 1 | $hero-body-padding: 3rem 1.5rem !default 2 | $hero-body-padding-small: 1.5rem !default 3 | $hero-body-padding-medium: 9rem 1.5rem !default 4 | $hero-body-padding-large: 18rem 1.5rem !default 5 | 6 | $hero-colors: $colors !default 7 | 8 | // Main container 9 | .hero 10 | align-items: stretch 11 | display: flex 12 | flex-direction: column 13 | justify-content: space-between 14 | .navbar 15 | background: none 16 | .tabs 17 | ul 18 | border-bottom: none 19 | // Colors 20 | @each $name, $pair in $hero-colors 21 | $color: nth($pair, 1) 22 | $color-invert: nth($pair, 2) 23 | &.is-#{$name} 24 | background-color: $color 25 | color: $color-invert 26 | a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), 27 | strong 28 | color: inherit 29 | .title 30 | color: $color-invert 31 | .subtitle 32 | color: bulmaRgba($color-invert, 0.9) 33 | a:not(.button), 34 | strong 35 | color: $color-invert 36 | .navbar-menu 37 | +touch 38 | background-color: $color 39 | .navbar-item, 40 | .navbar-link 41 | color: bulmaRgba($color-invert, 0.7) 42 | a.navbar-item, 43 | .navbar-link 44 | &:hover, 45 | &.is-active 46 | background-color: bulmaDarken($color, 5%) 47 | color: $color-invert 48 | .tabs 49 | a 50 | color: $color-invert 51 | opacity: 0.9 52 | &:hover 53 | opacity: 1 54 | li 55 | &.is-active a 56 | opacity: 1 57 | &.is-boxed, 58 | &.is-toggle 59 | a 60 | color: $color-invert 61 | &:hover 62 | background-color: bulmaRgba($scheme-invert, 0.1) 63 | li.is-active a 64 | &, 65 | &:hover 66 | background-color: $color-invert 67 | border-color: $color-invert 68 | color: $color 69 | // Modifiers 70 | @if type-of($color) == 'color' 71 | &.is-bold 72 | $gradient-top-left: darken(saturate(adjust-hue($color, -10deg), 10%), 10%) 73 | $gradient-bottom-right: lighten(saturate(adjust-hue($color, 10deg), 5%), 5%) 74 | background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%) 75 | +mobile 76 | .navbar-menu 77 | background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%) 78 | // Sizes 79 | &.is-small 80 | .hero-body 81 | padding: $hero-body-padding-small 82 | &.is-medium 83 | +tablet 84 | .hero-body 85 | padding: $hero-body-padding-medium 86 | &.is-large 87 | +tablet 88 | .hero-body 89 | padding: $hero-body-padding-large 90 | &.is-halfheight, 91 | &.is-fullheight, 92 | &.is-fullheight-with-navbar 93 | .hero-body 94 | align-items: center 95 | display: flex 96 | & > .container 97 | flex-grow: 1 98 | flex-shrink: 1 99 | &.is-halfheight 100 | min-height: 50vh 101 | &.is-fullheight 102 | min-height: 100vh 103 | 104 | // Components 105 | 106 | .hero-video 107 | @extend %overlay 108 | overflow: hidden 109 | video 110 | left: 50% 111 | min-height: 100% 112 | min-width: 100% 113 | position: absolute 114 | top: 50% 115 | transform: translate3d(-50%, -50%, 0) 116 | // Modifiers 117 | &.is-transparent 118 | opacity: 0.3 119 | // Responsiveness 120 | +mobile 121 | display: none 122 | 123 | .hero-buttons 124 | margin-top: 1.5rem 125 | // Responsiveness 126 | +mobile 127 | .button 128 | display: flex 129 | &:not(:last-child) 130 | margin-bottom: 0.75rem 131 | +tablet 132 | display: flex 133 | justify-content: center 134 | .button:not(:last-child) 135 | +ltr-property("margin", 1.5rem) 136 | 137 | // Containers 138 | 139 | .hero-head, 140 | .hero-foot 141 | flex-grow: 0 142 | flex-shrink: 0 143 | 144 | .hero-body 145 | flex-grow: 1 146 | flex-shrink: 0 147 | padding: $hero-body-padding 148 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/utilities/derived-variables.sass: -------------------------------------------------------------------------------- 1 | $primary: $turquoise !default 2 | 3 | $info: $cyan !default 4 | $success: $green !default 5 | $warning: $yellow !default 6 | $danger: $red !default 7 | 8 | $light: $white-ter !default 9 | $dark: $grey-darker !default 10 | 11 | // Invert colors 12 | 13 | $orange-invert: findColorInvert($orange) !default 14 | $yellow-invert: findColorInvert($yellow) !default 15 | $green-invert: findColorInvert($green) !default 16 | $turquoise-invert: findColorInvert($turquoise) !default 17 | $cyan-invert: findColorInvert($cyan) !default 18 | $blue-invert: findColorInvert($blue) !default 19 | $purple-invert: findColorInvert($purple) !default 20 | $red-invert: findColorInvert($red) !default 21 | 22 | $primary-invert: findColorInvert($primary) !default 23 | $primary-light: findLightColor($primary) !default 24 | $primary-dark: findDarkColor($primary) !default 25 | $info-invert: findColorInvert($info) !default 26 | $info-light: findLightColor($info) !default 27 | $info-dark: findDarkColor($info) !default 28 | $success-invert: findColorInvert($success) !default 29 | $success-light: findLightColor($success) !default 30 | $success-dark: findDarkColor($success) !default 31 | $warning-invert: findColorInvert($warning) !default 32 | $warning-light: findLightColor($warning) !default 33 | $warning-dark: findDarkColor($warning) !default 34 | $danger-invert: findColorInvert($danger) !default 35 | $danger-light: findLightColor($danger) !default 36 | $danger-dark: findDarkColor($danger) !default 37 | $light-invert: findColorInvert($light) !default 38 | $dark-invert: findColorInvert($dark) !default 39 | 40 | // General colors 41 | 42 | $scheme-main: $white !default 43 | $scheme-main-bis: $white-bis !default 44 | $scheme-main-ter: $white-ter !default 45 | $scheme-invert: $black !default 46 | $scheme-invert-bis: $black-bis !default 47 | $scheme-invert-ter: $black-ter !default 48 | 49 | $background: $white-ter !default 50 | 51 | $border: $grey-lighter !default 52 | $border-hover: $grey-light !default 53 | $border-light: $grey-lightest !default 54 | $border-light-hover: $grey-light !default 55 | 56 | // Text colors 57 | 58 | $text: $grey-dark !default 59 | $text-invert: findColorInvert($text) !default 60 | $text-light: $grey !default 61 | $text-strong: $grey-darker !default 62 | 63 | // Code colors 64 | 65 | $code: darken($red, 15%) !default 66 | $code-background: $background !default 67 | 68 | $pre: $text !default 69 | $pre-background: $background !default 70 | 71 | // Link colors 72 | 73 | $link: $blue !default 74 | $link-invert: findColorInvert($link) !default 75 | $link-light: findLightColor($link) !default 76 | $link-dark: findDarkColor($link) !default 77 | $link-visited: $purple !default 78 | 79 | $link-hover: $grey-darker !default 80 | $link-hover-border: $grey-light !default 81 | 82 | $link-focus: $grey-darker !default 83 | $link-focus-border: $blue !default 84 | 85 | $link-active: $grey-darker !default 86 | $link-active-border: $grey-dark !default 87 | 88 | // Typography 89 | 90 | $family-primary: $family-sans-serif !default 91 | $family-secondary: $family-sans-serif !default 92 | $family-code: $family-monospace !default 93 | 94 | $size-small: $size-7 !default 95 | $size-normal: $size-6 !default 96 | $size-medium: $size-5 !default 97 | $size-large: $size-4 !default 98 | 99 | // Lists and maps 100 | $custom-colors: null !default 101 | $custom-shades: null !default 102 | 103 | $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 104 | 105 | $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 106 | 107 | $sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default 108 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/content.sass: -------------------------------------------------------------------------------- 1 | $content-heading-color: $text-strong !default 2 | $content-heading-weight: $weight-semibold !default 3 | $content-heading-line-height: 1.125 !default 4 | 5 | $content-blockquote-background-color: $background !default 6 | $content-blockquote-border-left: 5px solid $border !default 7 | $content-blockquote-padding: 1.25em 1.5em !default 8 | 9 | $content-pre-padding: 1.25em 1.5em !default 10 | 11 | $content-table-cell-border: 1px solid $border !default 12 | $content-table-cell-border-width: 0 0 1px !default 13 | $content-table-cell-padding: 0.5em 0.75em !default 14 | $content-table-cell-heading-color: $text-strong !default 15 | $content-table-head-cell-border-width: 0 0 2px !default 16 | $content-table-head-cell-color: $text-strong !default 17 | $content-table-foot-cell-border-width: 2px 0 0 !default 18 | $content-table-foot-cell-color: $text-strong !default 19 | 20 | .content 21 | @extend %block 22 | // Inline 23 | li + li 24 | margin-top: 0.25em 25 | // Block 26 | p, 27 | dl, 28 | ol, 29 | ul, 30 | blockquote, 31 | pre, 32 | table 33 | &:not(:last-child) 34 | margin-bottom: 1em 35 | h1, 36 | h2, 37 | h3, 38 | h4, 39 | h5, 40 | h6 41 | color: $content-heading-color 42 | font-weight: $content-heading-weight 43 | line-height: $content-heading-line-height 44 | h1 45 | font-size: 2em 46 | margin-bottom: 0.5em 47 | &:not(:first-child) 48 | margin-top: 1em 49 | h2 50 | font-size: 1.75em 51 | margin-bottom: 0.5714em 52 | &:not(:first-child) 53 | margin-top: 1.1428em 54 | h3 55 | font-size: 1.5em 56 | margin-bottom: 0.6666em 57 | &:not(:first-child) 58 | margin-top: 1.3333em 59 | h4 60 | font-size: 1.25em 61 | margin-bottom: 0.8em 62 | h5 63 | font-size: 1.125em 64 | margin-bottom: 0.8888em 65 | h6 66 | font-size: 1em 67 | margin-bottom: 1em 68 | blockquote 69 | background-color: $content-blockquote-background-color 70 | +ltr-property("border", $content-blockquote-border-left, false) 71 | padding: $content-blockquote-padding 72 | ol 73 | list-style-position: outside 74 | +ltr-property("margin", 2em, false) 75 | margin-top: 1em 76 | &:not([type]) 77 | list-style-type: decimal 78 | &.is-lower-alpha 79 | list-style-type: lower-alpha 80 | &.is-lower-roman 81 | list-style-type: lower-roman 82 | &.is-upper-alpha 83 | list-style-type: upper-alpha 84 | &.is-upper-roman 85 | list-style-type: upper-roman 86 | ul 87 | list-style: disc outside 88 | +ltr-property("margin", 2em, false) 89 | margin-top: 1em 90 | ul 91 | list-style-type: circle 92 | margin-top: 0.5em 93 | ul 94 | list-style-type: square 95 | dd 96 | +ltr-property("margin", 2em, false) 97 | figure 98 | margin-left: 2em 99 | margin-right: 2em 100 | text-align: center 101 | &:not(:first-child) 102 | margin-top: 2em 103 | &:not(:last-child) 104 | margin-bottom: 2em 105 | img 106 | display: inline-block 107 | figcaption 108 | font-style: italic 109 | pre 110 | +overflow-touch 111 | overflow-x: auto 112 | padding: $content-pre-padding 113 | white-space: pre 114 | word-wrap: normal 115 | sup, 116 | sub 117 | font-size: 75% 118 | table 119 | width: 100% 120 | td, 121 | th 122 | border: $content-table-cell-border 123 | border-width: $content-table-cell-border-width 124 | padding: $content-table-cell-padding 125 | vertical-align: top 126 | th 127 | color: $content-table-cell-heading-color 128 | &:not([align]) 129 | text-align: inherit 130 | thead 131 | td, 132 | th 133 | border-width: $content-table-head-cell-border-width 134 | color: $content-table-head-cell-color 135 | tfoot 136 | td, 137 | th 138 | border-width: $content-table-foot-cell-border-width 139 | color: $content-table-foot-cell-color 140 | tbody 141 | tr 142 | &:last-child 143 | td, 144 | th 145 | border-bottom-width: 0 146 | .tabs 147 | li + li 148 | margin-top: 0 149 | // Sizes 150 | &.is-small 151 | font-size: $size-small 152 | &.is-medium 153 | font-size: $size-medium 154 | &.is-large 155 | font-size: $size-large 156 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/pagination.sass: -------------------------------------------------------------------------------- 1 | $pagination-color: $text-strong !default 2 | $pagination-border-color: $border !default 3 | $pagination-margin: -0.25rem !default 4 | $pagination-min-width: $control-height !default 5 | 6 | $pagination-item-font-size: 1em !default 7 | $pagination-item-margin: 0.25rem !default 8 | $pagination-item-padding-left: 0.5em !default 9 | $pagination-item-padding-right: 0.5em !default 10 | 11 | $pagination-hover-color: $link-hover !default 12 | $pagination-hover-border-color: $link-hover-border !default 13 | 14 | $pagination-focus-color: $link-focus !default 15 | $pagination-focus-border-color: $link-focus-border !default 16 | 17 | $pagination-active-color: $link-active !default 18 | $pagination-active-border-color: $link-active-border !default 19 | 20 | $pagination-disabled-color: $text-light !default 21 | $pagination-disabled-background-color: $border !default 22 | $pagination-disabled-border-color: $border !default 23 | 24 | $pagination-current-color: $link-invert !default 25 | $pagination-current-background-color: $link !default 26 | $pagination-current-border-color: $link !default 27 | 28 | $pagination-ellipsis-color: $grey-light !default 29 | 30 | $pagination-shadow-inset: inset 0 1px 2px rgba($scheme-invert, 0.2) 31 | 32 | .pagination 33 | @extend %block 34 | font-size: $size-normal 35 | margin: $pagination-margin 36 | // Sizes 37 | &.is-small 38 | font-size: $size-small 39 | &.is-medium 40 | font-size: $size-medium 41 | &.is-large 42 | font-size: $size-large 43 | &.is-rounded 44 | .pagination-previous, 45 | .pagination-next 46 | padding-left: 1em 47 | padding-right: 1em 48 | border-radius: $radius-rounded 49 | .pagination-link 50 | border-radius: $radius-rounded 51 | 52 | .pagination, 53 | .pagination-list 54 | align-items: center 55 | display: flex 56 | justify-content: center 57 | text-align: center 58 | 59 | .pagination-previous, 60 | .pagination-next, 61 | .pagination-link, 62 | .pagination-ellipsis 63 | @extend %control 64 | @extend %unselectable 65 | font-size: $pagination-item-font-size 66 | justify-content: center 67 | margin: $pagination-item-margin 68 | padding-left: $pagination-item-padding-left 69 | padding-right: $pagination-item-padding-right 70 | text-align: center 71 | 72 | .pagination-previous, 73 | .pagination-next, 74 | .pagination-link 75 | border-color: $pagination-border-color 76 | color: $pagination-color 77 | min-width: $pagination-min-width 78 | &:hover 79 | border-color: $pagination-hover-border-color 80 | color: $pagination-hover-color 81 | &:focus 82 | border-color: $pagination-focus-border-color 83 | &:active 84 | box-shadow: $pagination-shadow-inset 85 | &[disabled] 86 | background-color: $pagination-disabled-background-color 87 | border-color: $pagination-disabled-border-color 88 | box-shadow: none 89 | color: $pagination-disabled-color 90 | opacity: 0.5 91 | 92 | .pagination-previous, 93 | .pagination-next 94 | padding-left: 0.75em 95 | padding-right: 0.75em 96 | white-space: nowrap 97 | 98 | .pagination-link 99 | &.is-current 100 | background-color: $pagination-current-background-color 101 | border-color: $pagination-current-border-color 102 | color: $pagination-current-color 103 | 104 | .pagination-ellipsis 105 | color: $pagination-ellipsis-color 106 | pointer-events: none 107 | 108 | .pagination-list 109 | flex-wrap: wrap 110 | 111 | +mobile 112 | .pagination 113 | flex-wrap: wrap 114 | .pagination-previous, 115 | .pagination-next 116 | flex-grow: 1 117 | flex-shrink: 1 118 | .pagination-list 119 | li 120 | flex-grow: 1 121 | flex-shrink: 1 122 | 123 | +tablet 124 | .pagination-list 125 | flex-grow: 1 126 | flex-shrink: 1 127 | justify-content: flex-start 128 | order: 1 129 | .pagination-previous 130 | order: 2 131 | .pagination-next 132 | order: 3 133 | .pagination 134 | justify-content: space-between 135 | &.is-centered 136 | .pagination-previous 137 | order: 1 138 | .pagination-list 139 | justify-content: center 140 | order: 2 141 | .pagination-next 142 | order: 3 143 | &.is-right 144 | .pagination-previous 145 | order: 1 146 | .pagination-next 147 | order: 2 148 | .pagination-list 149 | justify-content: flex-end 150 | order: 3 151 | -------------------------------------------------------------------------------- /templates/_system/macros.twig: -------------------------------------------------------------------------------- 1 | {# truncate words my number of words #} 2 | {# http://craftsnippets.com/articles/truncating-text-with-twig-macros-in-craft-cms #} 3 | {# v1 #} 4 | {% macro truncateWords(text, length, suffix) %} 5 | {% spaceless %} 6 | {# settings #} 7 | {% set defaultSuffix = '...' %} 8 | {# logic #} 9 | {% if text and length %} 10 | {% set suffix = suffix|default(defaultSuffix) %} 11 | {% set text = text|striptags %} 12 | {% set text = text|replace('/\\n/', '\n ') %} 13 | {% set array = text|split(' ') %} 14 | {% set arrayTruncated = array|slice(0, length) %} 15 | {% set string = arrayTruncated|join(' ') %} 16 | {% if array|length > length %} 17 | {% set string = string ~ suffix %} 18 | {% endif %} 19 | {% set string = string|replace('/\\n\\s/', '\n') %} 20 | {{ string }} 21 | {% endif %} 22 | {% endspaceless %} 23 | {% endmacro %} 24 | 25 | 26 | 27 | {# truncate text by number of characters #} 28 | {# http://craftsnippets.com/articles/truncating-text-with-twig-macros-in-craft-cms #} 29 | {# v1 #} 30 | {% macro truncateChars(text, limit, suffix) %} 31 | {% spaceless %} 32 | {# settings #} 33 | {% set defaultSuffix = '...' %} 34 | {# logic #} 35 | {% if text and limit %} 36 | {% set text = text|striptags %} 37 | {% set suffix = suffix|default(defaultSuffix) %} 38 | {% set stringy = create( 39 | "Stringy\\Stringy", 40 | [text] 41 | ) %} 42 | {{ stringy.safeTruncate(limit, suffix) }} 43 | {% endif %} 44 | {% endspaceless %} 45 | {% endmacro %} 46 | 47 | 48 | 49 | {# turns email in strings into links and secure them from spambots #} 50 | {# http://craftsnippets.com/articles/converting-email-addresses-into-links-using-twig-macro #} 51 | {# v1 #} 52 | {% macro emailLinks(text, class) %} 53 | {% spaceless %} 54 | {% set text = text|replace('/([a-zA-Z0-9_.+-]+)+@([a-zA-Z0-9-]+.[a-zA-Z]+)/', ''~ '\\1@\\2' ~'') %} 55 | {{text|raw}} 56 | {% endspaceless %} 57 | {% endmacro %} 58 | 59 | 60 | {# macro for formatting dates #} 61 | {# http://craftsnippets.com/articles/working-with-dates-in-craft-cms-templates #} 62 | {%- macro defaultDateFormat(date, additionalAttributes) -%} 63 | {# v1 #} 64 | {% if date is defined %} 65 | {# settings #} 66 | {% set format = 'medium' %} 67 | {# logic #} 68 | {% set attributes = { 69 | text: date|date(format), 70 | datetime: date|date('yy-m-d') 71 | } %} 72 | {% if additionalAttributes is defined and additionalAttributes is not iterable %} 73 | {% set attributes = attributes|merge({class: additionalAttributes}) %} 74 | {% elseif additionalAttributes is iterable %} 75 | {% set attributes = attributes|merge(additionalAttributes) %} 76 | {% endif %} 77 | {{tag('time',attributes)}} 78 | {% endif %} 79 | {%- endmacro -%} 80 | 81 | 82 | {# returns time elapsed since specific date in human readable format #} 83 | {# http://craftsnippets.com/articles/working-with-dates-in-craft-cms-templates #} 84 | {%- macro timeAgo(date, additionalAttributes) -%} 85 | {# v1 #} 86 | {% if date is defined %} 87 | {# settings #} 88 | {% set format = 'medium' %} 89 | {% set locale = currentSite.language %} 90 | {# logic #} 91 | {% set formatter = create({ class: 'craft\\i18n\\Formatter', locale: locale }) %} 92 | {% set attributes = { 93 | text: formatter.asRelativeTime(date), 94 | datetime: date|date('yy-m-d'), 95 | title: date|date(format), 96 | } %} 97 | {% if additionalAttributes is defined and additionalAttributes is not iterable %} 98 | {% set attributes = attributes|merge({class: additionalAttributes}) %} 99 | {% elseif additionalAttributes is iterable %} 100 | {% set attributes = attributes|merge(additionalAttributes) %} 101 | {% endif %} 102 | {{tag('time',attributes)}} 103 | {% endif %} 104 | {%- endmacro -%} 105 | 106 | 107 | {# loads svg image from web root #} 108 | {# http://craftsnippets.com/articles/working-with-svg-images-in-craft-cms-templates #} 109 | {# v2 #} 110 | {%- macro svg(path, attributes = null, alt = null) -%} 111 | {# settings #} 112 | {% set directory = 'svg' %} 113 | {# logic #} 114 | {% if path is defined and path is not empty %} 115 | {% set svg = svg('@webroot/'~directory~'/'~path~'.svg', namespace=true) %} 116 | {% if alt %} 117 | {% set svg = svg|prepend(''~alt~'') %} 118 | {% endif %} 119 | {% if attributes and attributes is not iterable %} 120 | {% set svg = svg|attr({class: attributes}) %} 121 | {% elseif attributes and attributes is iterable %} 122 | {% set svg = svg|attr(attributes) %} 123 | {% endif %} 124 | {{svg|raw}} 125 | {% endif %} 126 | {%- endmacro -%} -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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: $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: $value / 255 71 | @if $value < 0.03928 72 | $value: $value / 12.92 73 | @else 74 | $value: ($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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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-medium 53 | font-size: $size-medium 54 | .file-icon 55 | .fa 56 | font-size: 21px 57 | &.is-large 58 | font-size: $size-large 59 | .file-icon 60 | .fa 61 | font-size: 28px 62 | // Modifiers 63 | &.has-name 64 | .file-cta 65 | border-bottom-right-radius: 0 66 | border-top-right-radius: 0 67 | .file-name 68 | border-bottom-left-radius: 0 69 | border-top-left-radius: 0 70 | &.is-empty 71 | .file-cta 72 | border-radius: $file-radius 73 | .file-name 74 | display: none 75 | &.is-boxed 76 | .file-label 77 | flex-direction: column 78 | .file-cta 79 | flex-direction: column 80 | height: auto 81 | padding: 1em 3em 82 | .file-name 83 | border-width: 0 1px 1px 84 | .file-icon 85 | height: 1.5em 86 | width: 1.5em 87 | .fa 88 | font-size: 21px 89 | &.is-small 90 | .file-icon .fa 91 | font-size: 14px 92 | &.is-medium 93 | .file-icon .fa 94 | font-size: 28px 95 | &.is-large 96 | .file-icon .fa 97 | font-size: 35px 98 | &.has-name 99 | .file-cta 100 | border-radius: $file-radius $file-radius 0 0 101 | .file-name 102 | border-radius: 0 0 $file-radius $file-radius 103 | border-width: 0 1px 1px 104 | &.is-centered 105 | justify-content: center 106 | &.is-fullwidth 107 | .file-label 108 | width: 100% 109 | .file-name 110 | flex-grow: 1 111 | max-width: none 112 | &.is-right 113 | justify-content: flex-end 114 | .file-cta 115 | border-radius: 0 $file-radius $file-radius 0 116 | .file-name 117 | border-radius: $file-radius 0 0 $file-radius 118 | border-width: 1px 0 1px 1px 119 | order: -1 120 | 121 | .file-label 122 | align-items: stretch 123 | display: flex 124 | cursor: pointer 125 | justify-content: flex-start 126 | overflow: hidden 127 | position: relative 128 | &:hover 129 | .file-cta 130 | background-color: bulmaDarken($file-cta-background-color, 2.5%) 131 | color: $file-cta-hover-color 132 | .file-name 133 | border-color: bulmaDarken($file-name-border-color, 2.5%) 134 | &:active 135 | .file-cta 136 | background-color: bulmaDarken($file-cta-background-color, 5%) 137 | color: $file-cta-active-color 138 | .file-name 139 | border-color: bulmaDarken($file-name-border-color, 5%) 140 | 141 | .file-input 142 | height: 100% 143 | left: 0 144 | opacity: 0 145 | outline: none 146 | position: absolute 147 | top: 0 148 | width: 100% 149 | 150 | .file-cta, 151 | .file-name 152 | @extend %control 153 | border-color: $file-border-color 154 | border-radius: $file-radius 155 | font-size: 1em 156 | padding-left: 1em 157 | padding-right: 1em 158 | white-space: nowrap 159 | 160 | .file-cta 161 | background-color: $file-cta-background-color 162 | color: $file-cta-color 163 | 164 | .file-name 165 | border-color: $file-name-border-color 166 | border-style: $file-name-border-style 167 | border-width: $file-name-border-width 168 | display: block 169 | max-width: $file-name-max-width 170 | overflow: hidden 171 | text-align: inherit 172 | text-overflow: ellipsis 173 | 174 | .file-icon 175 | align-items: center 176 | display: flex 177 | height: 1em 178 | justify-content: center 179 | +ltr-property("margin", 0.5em) 180 | width: 1em 181 | .fa 182 | font-size: 14px 183 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/tabs.sass: -------------------------------------------------------------------------------- 1 | $tabs-border-bottom-color: $border !default 2 | $tabs-border-bottom-style: solid !default 3 | $tabs-border-bottom-width: 1px !default 4 | $tabs-link-color: $text !default 5 | $tabs-link-hover-border-bottom-color: $text-strong !default 6 | $tabs-link-hover-color: $text-strong !default 7 | $tabs-link-active-border-bottom-color: $link !default 8 | $tabs-link-active-color: $link !default 9 | $tabs-link-padding: 0.5em 1em !default 10 | 11 | $tabs-boxed-link-radius: $radius !default 12 | $tabs-boxed-link-hover-background-color: $background !default 13 | $tabs-boxed-link-hover-border-bottom-color: $border !default 14 | 15 | $tabs-boxed-link-active-background-color: $scheme-main !default 16 | $tabs-boxed-link-active-border-color: $border !default 17 | $tabs-boxed-link-active-border-bottom-color: transparent !default 18 | 19 | $tabs-toggle-link-border-color: $border !default 20 | $tabs-toggle-link-border-style: solid !default 21 | $tabs-toggle-link-border-width: 1px !default 22 | $tabs-toggle-link-hover-background-color: $background !default 23 | $tabs-toggle-link-hover-border-color: $border-hover !default 24 | $tabs-toggle-link-radius: $radius !default 25 | $tabs-toggle-link-active-background-color: $link !default 26 | $tabs-toggle-link-active-border-color: $link !default 27 | $tabs-toggle-link-active-color: $link-invert !default 28 | 29 | .tabs 30 | @extend %block 31 | +overflow-touch 32 | @extend %unselectable 33 | align-items: stretch 34 | display: flex 35 | font-size: $size-normal 36 | justify-content: space-between 37 | overflow: hidden 38 | overflow-x: auto 39 | white-space: nowrap 40 | a 41 | align-items: center 42 | border-bottom-color: $tabs-border-bottom-color 43 | border-bottom-style: $tabs-border-bottom-style 44 | border-bottom-width: $tabs-border-bottom-width 45 | color: $tabs-link-color 46 | display: flex 47 | justify-content: center 48 | margin-bottom: -#{$tabs-border-bottom-width} 49 | padding: $tabs-link-padding 50 | vertical-align: top 51 | &:hover 52 | border-bottom-color: $tabs-link-hover-border-bottom-color 53 | color: $tabs-link-hover-color 54 | li 55 | display: block 56 | &.is-active 57 | a 58 | border-bottom-color: $tabs-link-active-border-bottom-color 59 | color: $tabs-link-active-color 60 | ul 61 | align-items: center 62 | border-bottom-color: $tabs-border-bottom-color 63 | border-bottom-style: $tabs-border-bottom-style 64 | border-bottom-width: $tabs-border-bottom-width 65 | display: flex 66 | flex-grow: 1 67 | flex-shrink: 0 68 | justify-content: flex-start 69 | &.is-left 70 | padding-right: 0.75em 71 | &.is-center 72 | flex: none 73 | justify-content: center 74 | padding-left: 0.75em 75 | padding-right: 0.75em 76 | &.is-right 77 | justify-content: flex-end 78 | padding-left: 0.75em 79 | .icon 80 | &:first-child 81 | +ltr-property("margin", 0.5em) 82 | &:last-child 83 | +ltr-property("margin", 0.5em, false) 84 | // Alignment 85 | &.is-centered 86 | ul 87 | justify-content: center 88 | &.is-right 89 | ul 90 | justify-content: flex-end 91 | // Styles 92 | &.is-boxed 93 | a 94 | border: 1px solid transparent 95 | +ltr 96 | border-radius: $tabs-boxed-link-radius $tabs-boxed-link-radius 0 0 97 | +rtl 98 | border-radius: 0 0 $tabs-boxed-link-radius $tabs-boxed-link-radius 99 | &:hover 100 | background-color: $tabs-boxed-link-hover-background-color 101 | border-bottom-color: $tabs-boxed-link-hover-border-bottom-color 102 | li 103 | &.is-active 104 | a 105 | background-color: $tabs-boxed-link-active-background-color 106 | border-color: $tabs-boxed-link-active-border-color 107 | border-bottom-color: $tabs-boxed-link-active-border-bottom-color !important 108 | &.is-fullwidth 109 | li 110 | flex-grow: 1 111 | flex-shrink: 0 112 | &.is-toggle 113 | a 114 | border-color: $tabs-toggle-link-border-color 115 | border-style: $tabs-toggle-link-border-style 116 | border-width: $tabs-toggle-link-border-width 117 | margin-bottom: 0 118 | position: relative 119 | &:hover 120 | background-color: $tabs-toggle-link-hover-background-color 121 | border-color: $tabs-toggle-link-hover-border-color 122 | z-index: 2 123 | li 124 | & + li 125 | +ltr-property("margin", -#{$tabs-toggle-link-border-width}, false) 126 | &:first-child a 127 | +ltr 128 | border-top-left-radius: $tabs-toggle-link-radius 129 | border-bottom-left-radius: $tabs-toggle-link-radius 130 | +rtl 131 | border-top-right-radius: $tabs-toggle-link-radius 132 | border-bottom-right-radius: $tabs-toggle-link-radius 133 | &:last-child a 134 | +ltr 135 | border-top-right-radius: $tabs-toggle-link-radius 136 | border-bottom-right-radius: $tabs-toggle-link-radius 137 | +rtl 138 | border-top-left-radius: $tabs-toggle-link-radius 139 | border-bottom-left-radius: $tabs-toggle-link-radius 140 | &.is-active 141 | a 142 | background-color: $tabs-toggle-link-active-background-color 143 | border-color: $tabs-toggle-link-active-border-color 144 | color: $tabs-toggle-link-active-color 145 | z-index: 1 146 | ul 147 | border-bottom: none 148 | &.is-toggle-rounded 149 | li 150 | &:first-child a 151 | +ltr 152 | border-bottom-left-radius: $radius-rounded 153 | border-top-left-radius: $radius-rounded 154 | padding-left: 1.25em 155 | +rtl 156 | border-bottom-right-radius: $radius-rounded 157 | border-top-right-radius: $radius-rounded 158 | padding-right: 1.25em 159 | &:last-child a 160 | +ltr 161 | border-bottom-right-radius: $radius-rounded 162 | border-top-right-radius: $radius-rounded 163 | padding-right: 1.25em 164 | +rtl 165 | border-bottom-left-radius: $radius-rounded 166 | border-top-left-radius: $radius-rounded 167 | padding-left: 1.25em 168 | // Sizes 169 | &.is-small 170 | font-size: $size-small 171 | &.is-medium 172 | font-size: $size-medium 173 | &.is-large 174 | font-size: $size-large 175 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/utilities/mixins.sass: -------------------------------------------------------------------------------- 1 | @import "initial-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} / 2)) 13 | top: calc(50% - (#{$height} / 2)) 14 | @else 15 | left: calc(50% - (#{$width} / 2)) 16 | top: calc(50% - (#{$width} / 2)) 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 | // Responsiveness 72 | 73 | =from($device) 74 | @media screen and (min-width: $device) 75 | @content 76 | 77 | =until($device) 78 | @media screen and (max-width: $device - 1px) 79 | @content 80 | 81 | =mobile 82 | @media screen and (max-width: $tablet - 1px) 83 | @content 84 | 85 | =tablet 86 | @media screen and (min-width: $tablet), print 87 | @content 88 | 89 | =tablet-only 90 | @media screen and (min-width: $tablet) and (max-width: $desktop - 1px) 91 | @content 92 | 93 | =touch 94 | @media screen and (max-width: $desktop - 1px) 95 | @content 96 | 97 | =desktop 98 | @media screen and (min-width: $desktop) 99 | @content 100 | 101 | =desktop-only 102 | @if $widescreen-enabled 103 | @media screen and (min-width: $desktop) and (max-width: $widescreen - 1px) 104 | @content 105 | 106 | =until-widescreen 107 | @if $widescreen-enabled 108 | @media screen and (max-width: $widescreen - 1px) 109 | @content 110 | 111 | =widescreen 112 | @if $widescreen-enabled 113 | @media screen and (min-width: $widescreen) 114 | @content 115 | 116 | =widescreen-only 117 | @if $widescreen-enabled and $fullhd-enabled 118 | @media screen and (min-width: $widescreen) and (max-width: $fullhd - 1px) 119 | @content 120 | 121 | =until-fullhd 122 | @if $fullhd-enabled 123 | @media screen and (max-width: $fullhd - 1px) 124 | @content 125 | 126 | =fullhd 127 | @if $fullhd-enabled 128 | @media screen and (min-width: $fullhd) 129 | @content 130 | 131 | =ltr 132 | @if not $rtl 133 | @content 134 | 135 | =rtl 136 | @if $rtl 137 | @content 138 | 139 | =ltr-property($property, $spacing, $right: true) 140 | $normal: if($right, "right", "left") 141 | $opposite: if($right, "left", "right") 142 | @if $rtl 143 | #{$property}-#{$opposite}: $spacing 144 | @else 145 | #{$property}-#{$normal}: $spacing 146 | 147 | =ltr-position($spacing, $right: true) 148 | $normal: if($right, "right", "left") 149 | $opposite: if($right, "left", "right") 150 | @if $rtl 151 | #{$opposite}: $spacing 152 | @else 153 | #{$normal}: $spacing 154 | 155 | // Placeholders 156 | 157 | =unselectable 158 | -webkit-touch-callout: none 159 | -webkit-user-select: none 160 | -moz-user-select: none 161 | -ms-user-select: none 162 | user-select: none 163 | 164 | %unselectable 165 | +unselectable 166 | 167 | =arrow($color: transparent) 168 | border: 3px solid $color 169 | border-radius: 2px 170 | border-right: 0 171 | border-top: 0 172 | content: " " 173 | display: block 174 | height: 0.625em 175 | margin-top: -0.4375em 176 | pointer-events: none 177 | position: absolute 178 | top: 50% 179 | transform: rotate(-45deg) 180 | transform-origin: center 181 | width: 0.625em 182 | 183 | %arrow 184 | +arrow 185 | 186 | =block($spacing: $block-spacing) 187 | &:not(:last-child) 188 | margin-bottom: $spacing 189 | 190 | %block 191 | +block 192 | 193 | =delete 194 | @extend %unselectable 195 | -moz-appearance: none 196 | -webkit-appearance: none 197 | background-color: bulmaRgba($scheme-invert, 0.2) 198 | border: none 199 | border-radius: $radius-rounded 200 | cursor: pointer 201 | pointer-events: auto 202 | display: inline-block 203 | flex-grow: 0 204 | flex-shrink: 0 205 | font-size: 0 206 | height: 20px 207 | max-height: 20px 208 | max-width: 20px 209 | min-height: 20px 210 | min-width: 20px 211 | outline: none 212 | position: relative 213 | vertical-align: top 214 | width: 20px 215 | &::before, 216 | &::after 217 | background-color: $scheme-main 218 | content: "" 219 | display: block 220 | left: 50% 221 | position: absolute 222 | top: 50% 223 | transform: translateX(-50%) translateY(-50%) rotate(45deg) 224 | transform-origin: center center 225 | &::before 226 | height: 2px 227 | width: 50% 228 | &::after 229 | height: 50% 230 | width: 2px 231 | &:hover, 232 | &:focus 233 | background-color: bulmaRgba($scheme-invert, 0.3) 234 | &:active 235 | background-color: bulmaRgba($scheme-invert, 0.4) 236 | // Sizes 237 | &.is-small 238 | height: 16px 239 | max-height: 16px 240 | max-width: 16px 241 | min-height: 16px 242 | min-width: 16px 243 | width: 16px 244 | &.is-medium 245 | height: 24px 246 | max-height: 24px 247 | max-width: 24px 248 | min-height: 24px 249 | min-width: 24px 250 | width: 24px 251 | &.is-large 252 | height: 32px 253 | max-height: 32px 254 | max-width: 32px 255 | min-height: 32px 256 | min-width: 32px 257 | width: 32px 258 | 259 | %delete 260 | +delete 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 | %loader 275 | +loader 276 | 277 | =overlay($offset: 0) 278 | bottom: $offset 279 | left: $offset 280 | position: absolute 281 | right: $offset 282 | top: $offset 283 | 284 | %overlay 285 | +overlay 286 | -------------------------------------------------------------------------------- /web/static/styles/plugins/normalize.scss: -------------------------------------------------------------------------------- 1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /* Document 4 | ========================================================================== */ 5 | 6 | /** 7 | * 1. Correct the line height in all browsers. 8 | * 2. Prevent adjustments of font size after orientation changes in iOS. 9 | */ 10 | 11 | html { 12 | line-height: 1.15; /* 1 */ 13 | -webkit-text-size-adjust: 100%; /* 2 */ 14 | } 15 | 16 | /* Sections 17 | ========================================================================== */ 18 | 19 | /** 20 | * Remove the margin in all browsers. 21 | */ 22 | 23 | body { 24 | margin: 0; 25 | } 26 | 27 | /** 28 | * Render the `main` element consistently in IE. 29 | */ 30 | 31 | main { 32 | display: block; 33 | } 34 | 35 | /** 36 | * Correct the font size and margin on `h1` elements within `section` and 37 | * `article` contexts in Chrome, Firefox, and Safari. 38 | */ 39 | 40 | h1 { 41 | font-size: 2em; 42 | margin: 0.67em 0; 43 | } 44 | 45 | /* Grouping content 46 | ========================================================================== */ 47 | 48 | /** 49 | * 1. Add the correct box sizing in Firefox. 50 | * 2. Show the overflow in Edge and IE. 51 | */ 52 | 53 | hr { 54 | box-sizing: content-box; /* 1 */ 55 | height: 0; /* 1 */ 56 | overflow: visible; /* 2 */ 57 | } 58 | 59 | /** 60 | * 1. Correct the inheritance and scaling of font size in all browsers. 61 | * 2. Correct the odd `em` font sizing in all browsers. 62 | */ 63 | 64 | pre { 65 | font-family: monospace, monospace; /* 1 */ 66 | font-size: 1em; /* 2 */ 67 | } 68 | 69 | /* Text-level semantics 70 | ========================================================================== */ 71 | 72 | /** 73 | * Remove the gray background on active links in IE 10. 74 | */ 75 | 76 | a { 77 | background-color: transparent; 78 | } 79 | 80 | /** 81 | * 1. Remove the bottom border in Chrome 57- 82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 83 | */ 84 | 85 | abbr[title] { 86 | border-bottom: none; /* 1 */ 87 | text-decoration: underline; /* 2 */ 88 | text-decoration: underline dotted; /* 2 */ 89 | } 90 | 91 | /** 92 | * Add the correct font weight in Chrome, Edge, and Safari. 93 | */ 94 | 95 | b, 96 | strong { 97 | font-weight: bolder; 98 | } 99 | 100 | /** 101 | * 1. Correct the inheritance and scaling of font size in all browsers. 102 | * 2. Correct the odd `em` font sizing in all browsers. 103 | */ 104 | 105 | code, 106 | kbd, 107 | samp { 108 | font-family: monospace, monospace; /* 1 */ 109 | font-size: 1em; /* 2 */ 110 | } 111 | 112 | /** 113 | * Add the correct font size in all browsers. 114 | */ 115 | 116 | small { 117 | font-size: 80%; 118 | } 119 | 120 | /** 121 | * Prevent `sub` and `sup` elements from affecting the line height in 122 | * all browsers. 123 | */ 124 | 125 | sub, 126 | sup { 127 | font-size: 75%; 128 | line-height: 0; 129 | position: relative; 130 | vertical-align: baseline; 131 | } 132 | 133 | sub { 134 | bottom: -0.25em; 135 | } 136 | 137 | sup { 138 | top: -0.5em; 139 | } 140 | 141 | /* Embedded content 142 | ========================================================================== */ 143 | 144 | /** 145 | * Remove the border on images inside links in IE 10. 146 | */ 147 | 148 | img { 149 | border-style: none; 150 | } 151 | 152 | /* Forms 153 | ========================================================================== */ 154 | 155 | /** 156 | * 1. Change the font styles in all browsers. 157 | * 2. Remove the margin in Firefox and Safari. 158 | */ 159 | 160 | button, 161 | input, 162 | optgroup, 163 | select, 164 | textarea { 165 | font-family: inherit; /* 1 */ 166 | font-size: 100%; /* 1 */ 167 | line-height: 1.15; /* 1 */ 168 | margin: 0; /* 2 */ 169 | } 170 | 171 | /** 172 | * Show the overflow in IE. 173 | * 1. Show the overflow in Edge. 174 | */ 175 | 176 | button, 177 | input { /* 1 */ 178 | overflow: visible; 179 | } 180 | 181 | /** 182 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 183 | * 1. Remove the inheritance of text transform in Firefox. 184 | */ 185 | 186 | button, 187 | select { /* 1 */ 188 | text-transform: none; 189 | } 190 | 191 | /** 192 | * Correct the inability to style clickable types in iOS and Safari. 193 | */ 194 | 195 | button, 196 | [type="button"], 197 | [type="reset"], 198 | [type="submit"] { 199 | -webkit-appearance: button; 200 | } 201 | 202 | /** 203 | * Remove the inner border and padding in Firefox. 204 | */ 205 | 206 | button::-moz-focus-inner, 207 | [type="button"]::-moz-focus-inner, 208 | [type="reset"]::-moz-focus-inner, 209 | [type="submit"]::-moz-focus-inner { 210 | border-style: none; 211 | padding: 0; 212 | } 213 | 214 | /** 215 | * Restore the focus styles unset by the previous rule. 216 | */ 217 | 218 | button:-moz-focusring, 219 | [type="button"]:-moz-focusring, 220 | [type="reset"]:-moz-focusring, 221 | [type="submit"]:-moz-focusring { 222 | outline: 1px dotted ButtonText; 223 | } 224 | 225 | /** 226 | * Correct the padding in Firefox. 227 | */ 228 | 229 | fieldset { 230 | padding: 0.35em 0.75em 0.625em; 231 | } 232 | 233 | /** 234 | * 1. Correct the text wrapping in Edge and IE. 235 | * 2. Correct the color inheritance from `fieldset` elements in IE. 236 | * 3. Remove the padding so developers are not caught out when they zero out 237 | * `fieldset` elements in all browsers. 238 | */ 239 | 240 | legend { 241 | box-sizing: border-box; /* 1 */ 242 | color: inherit; /* 2 */ 243 | display: table; /* 1 */ 244 | max-width: 100%; /* 1 */ 245 | padding: 0; /* 3 */ 246 | white-space: normal; /* 1 */ 247 | } 248 | 249 | /** 250 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 251 | */ 252 | 253 | progress { 254 | vertical-align: baseline; 255 | } 256 | 257 | /** 258 | * Remove the default vertical scrollbar in IE 10+. 259 | */ 260 | 261 | textarea { 262 | overflow: auto; 263 | } 264 | 265 | /** 266 | * 1. Add the correct box sizing in IE 10. 267 | * 2. Remove the padding in IE 10. 268 | */ 269 | 270 | [type="checkbox"], 271 | [type="radio"] { 272 | box-sizing: border-box; /* 1 */ 273 | padding: 0; /* 2 */ 274 | } 275 | 276 | /** 277 | * Correct the cursor style of increment and decrement buttons in Chrome. 278 | */ 279 | 280 | [type="number"]::-webkit-inner-spin-button, 281 | [type="number"]::-webkit-outer-spin-button { 282 | height: auto; 283 | } 284 | 285 | /** 286 | * 1. Correct the odd appearance in Chrome and Safari. 287 | * 2. Correct the outline style in Safari. 288 | */ 289 | 290 | [type="search"] { 291 | -webkit-appearance: textfield; /* 1 */ 292 | outline-offset: -2px; /* 2 */ 293 | } 294 | 295 | /** 296 | * Remove the inner padding in Chrome and Safari on macOS. 297 | */ 298 | 299 | [type="search"]::-webkit-search-decoration { 300 | -webkit-appearance: none; 301 | } 302 | 303 | /** 304 | * 1. Correct the inability to style clickable types in iOS and Safari. 305 | * 2. Change font properties to `inherit` in Safari. 306 | */ 307 | 308 | ::-webkit-file-upload-button { 309 | -webkit-appearance: button; /* 1 */ 310 | font: inherit; /* 2 */ 311 | } 312 | 313 | /* Interactive 314 | ========================================================================== */ 315 | 316 | /* 317 | * Add the correct display in Edge, IE 10+, and Firefox. 318 | */ 319 | 320 | details { 321 | display: block; 322 | } 323 | 324 | /* 325 | * Add the correct display in all browsers. 326 | */ 327 | 328 | summary { 329 | display: list-item; 330 | } 331 | 332 | /* Misc 333 | ========================================================================== */ 334 | 335 | /** 336 | * Add the correct display in IE 10+. 337 | */ 338 | 339 | template { 340 | display: none; 341 | } 342 | 343 | /** 344 | * Add the correct display in IE 10. 345 | */ 346 | 347 | [hidden] { 348 | display: none; 349 | } 350 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/elements/button.sass: -------------------------------------------------------------------------------- 1 | $button-color: $text-strong !default 2 | $button-background-color: $scheme-main !default 3 | $button-family: false !default 4 | 5 | $button-border-color: $border !default 6 | $button-border-width: $control-border-width !default 7 | 8 | $button-padding-vertical: calc(0.5em - #{$button-border-width}) !default 9 | $button-padding-horizontal: 1em !default 10 | 11 | $button-hover-color: $link-hover !default 12 | $button-hover-border-color: $link-hover-border !default 13 | 14 | $button-focus-color: $link-focus !default 15 | $button-focus-border-color: $link-focus-border !default 16 | $button-focus-box-shadow-size: 0 0 0 0.125em !default 17 | $button-focus-box-shadow-color: bulmaRgba($link, 0.25) !default 18 | 19 | $button-active-color: $link-active !default 20 | $button-active-border-color: $link-active-border !default 21 | 22 | $button-text-color: $text !default 23 | $button-text-decoration: underline !default 24 | $button-text-hover-background-color: $background !default 25 | $button-text-hover-color: $text-strong !default 26 | 27 | $button-disabled-background-color: $scheme-main !default 28 | $button-disabled-border-color: $border !default 29 | $button-disabled-shadow: none !default 30 | $button-disabled-opacity: 0.5 !default 31 | 32 | $button-static-color: $text-light !default 33 | $button-static-background-color: $scheme-main-ter !default 34 | $button-static-border-color: $border !default 35 | 36 | $button-colors: $colors !default 37 | 38 | // The button sizes use mixins so they can be used at different breakpoints 39 | =button-small 40 | border-radius: $radius-small 41 | font-size: $size-small 42 | =button-normal 43 | font-size: $size-normal 44 | =button-medium 45 | font-size: $size-medium 46 | =button-large 47 | font-size: $size-large 48 | 49 | .button 50 | @extend %control 51 | @extend %unselectable 52 | background-color: $button-background-color 53 | border-color: $button-border-color 54 | border-width: $button-border-width 55 | color: $button-color 56 | cursor: pointer 57 | @if $button-family 58 | font-family: $button-family 59 | justify-content: center 60 | padding-bottom: $button-padding-vertical 61 | padding-left: $button-padding-horizontal 62 | padding-right: $button-padding-horizontal 63 | padding-top: $button-padding-vertical 64 | text-align: center 65 | white-space: nowrap 66 | strong 67 | color: inherit 68 | .icon 69 | &, 70 | &.is-small, 71 | &.is-medium, 72 | &.is-large 73 | height: 1.5em 74 | width: 1.5em 75 | &:first-child:not(:last-child) 76 | +ltr-property("margin", calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width}), false) 77 | +ltr-property("margin", $button-padding-horizontal / 4) 78 | &:last-child:not(:first-child) 79 | +ltr-property("margin", $button-padding-horizontal / 4, false) 80 | +ltr-property("margin", calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width})) 81 | &:first-child:last-child 82 | margin-left: calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width}) 83 | margin-right: calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width}) 84 | // States 85 | &:hover, 86 | &.is-hovered 87 | border-color: $button-hover-border-color 88 | color: $button-hover-color 89 | &:focus, 90 | &.is-focused 91 | border-color: $button-focus-border-color 92 | color: $button-focus-color 93 | &:not(:active) 94 | box-shadow: $button-focus-box-shadow-size $button-focus-box-shadow-color 95 | &:active, 96 | &.is-active 97 | border-color: $button-active-border-color 98 | color: $button-active-color 99 | // Colors 100 | &.is-text 101 | background-color: transparent 102 | border-color: transparent 103 | color: $button-text-color 104 | text-decoration: $button-text-decoration 105 | &:hover, 106 | &.is-hovered, 107 | &:focus, 108 | &.is-focused 109 | background-color: $button-text-hover-background-color 110 | color: $button-text-hover-color 111 | &:active, 112 | &.is-active 113 | background-color: bulmaDarken($button-text-hover-background-color, 5%) 114 | color: $button-text-hover-color 115 | &[disabled], 116 | fieldset[disabled] & 117 | background-color: transparent 118 | border-color: transparent 119 | box-shadow: none 120 | @each $name, $pair in $button-colors 121 | $color: nth($pair, 1) 122 | $color-invert: nth($pair, 2) 123 | &.is-#{$name} 124 | background-color: $color 125 | border-color: transparent 126 | color: $color-invert 127 | &:hover, 128 | &.is-hovered 129 | background-color: bulmaDarken($color, 2.5%) 130 | border-color: transparent 131 | color: $color-invert 132 | &:focus, 133 | &.is-focused 134 | border-color: transparent 135 | color: $color-invert 136 | &:not(:active) 137 | box-shadow: $button-focus-box-shadow-size bulmaRgba($color, 0.25) 138 | &:active, 139 | &.is-active 140 | background-color: bulmaDarken($color, 5%) 141 | border-color: transparent 142 | color: $color-invert 143 | &[disabled], 144 | fieldset[disabled] & 145 | background-color: $color 146 | border-color: transparent 147 | box-shadow: none 148 | &.is-inverted 149 | background-color: $color-invert 150 | color: $color 151 | &:hover, 152 | &.is-hovered 153 | background-color: bulmaDarken($color-invert, 5%) 154 | &[disabled], 155 | fieldset[disabled] & 156 | background-color: $color-invert 157 | border-color: transparent 158 | box-shadow: none 159 | color: $color 160 | &.is-loading 161 | &::after 162 | border-color: transparent transparent $color-invert $color-invert !important 163 | &.is-outlined 164 | background-color: transparent 165 | border-color: $color 166 | color: $color 167 | &:hover, 168 | &.is-hovered, 169 | &:focus, 170 | &.is-focused 171 | background-color: $color 172 | border-color: $color 173 | color: $color-invert 174 | &.is-loading 175 | &::after 176 | border-color: transparent transparent $color $color !important 177 | &:hover, 178 | &.is-hovered, 179 | &:focus, 180 | &.is-focused 181 | &::after 182 | border-color: transparent transparent $color-invert $color-invert !important 183 | &[disabled], 184 | fieldset[disabled] & 185 | background-color: transparent 186 | border-color: $color 187 | box-shadow: none 188 | color: $color 189 | &.is-inverted.is-outlined 190 | background-color: transparent 191 | border-color: $color-invert 192 | color: $color-invert 193 | &:hover, 194 | &.is-hovered, 195 | &:focus, 196 | &.is-focused 197 | background-color: $color-invert 198 | color: $color 199 | &.is-loading 200 | &:hover, 201 | &.is-hovered, 202 | &:focus, 203 | &.is-focused 204 | &::after 205 | border-color: transparent transparent $color $color !important 206 | &[disabled], 207 | fieldset[disabled] & 208 | background-color: transparent 209 | border-color: $color-invert 210 | box-shadow: none 211 | color: $color-invert 212 | // If light and dark colors are provided 213 | @if length($pair) >= 4 214 | $color-light: nth($pair, 3) 215 | $color-dark: nth($pair, 4) 216 | &.is-light 217 | background-color: $color-light 218 | color: $color-dark 219 | &:hover, 220 | &.is-hovered 221 | background-color: bulmaDarken($color-light, 2.5%) 222 | border-color: transparent 223 | color: $color-dark 224 | &:active, 225 | &.is-active 226 | background-color: bulmaDarken($color-light, 5%) 227 | border-color: transparent 228 | color: $color-dark 229 | // Sizes 230 | &.is-small 231 | +button-small 232 | &.is-normal 233 | +button-normal 234 | &.is-medium 235 | +button-medium 236 | &.is-large 237 | +button-large 238 | // Modifiers 239 | &[disabled], 240 | fieldset[disabled] & 241 | background-color: $button-disabled-background-color 242 | border-color: $button-disabled-border-color 243 | box-shadow: $button-disabled-shadow 244 | opacity: $button-disabled-opacity 245 | &.is-fullwidth 246 | display: flex 247 | width: 100% 248 | &.is-loading 249 | color: transparent !important 250 | pointer-events: none 251 | &::after 252 | @extend %loader 253 | +center(1em) 254 | position: absolute !important 255 | &.is-static 256 | background-color: $button-static-background-color 257 | border-color: $button-static-border-color 258 | color: $button-static-color 259 | box-shadow: none 260 | pointer-events: none 261 | &.is-rounded 262 | border-radius: $radius-rounded 263 | padding-left: calc(#{$button-padding-horizontal} + 0.25em) 264 | padding-right: calc(#{$button-padding-horizontal} + 0.25em) 265 | 266 | .buttons 267 | align-items: center 268 | display: flex 269 | flex-wrap: wrap 270 | justify-content: flex-start 271 | .button 272 | margin-bottom: 0.5rem 273 | &:not(:last-child):not(.is-fullwidth) 274 | +ltr-property("margin", 0.5rem) 275 | &:last-child 276 | margin-bottom: -0.5rem 277 | &:not(:last-child) 278 | margin-bottom: 1rem 279 | // Sizes 280 | &.are-small 281 | .button:not(.is-normal):not(.is-medium):not(.is-large) 282 | +button-small 283 | &.are-medium 284 | .button:not(.is-small):not(.is-normal):not(.is-large) 285 | +button-medium 286 | &.are-large 287 | .button:not(.is-small):not(.is-normal):not(.is-medium) 288 | +button-large 289 | &.has-addons 290 | .button 291 | &:not(:first-child) 292 | border-bottom-left-radius: 0 293 | border-top-left-radius: 0 294 | &:not(:last-child) 295 | border-bottom-right-radius: 0 296 | border-top-right-radius: 0 297 | +ltr-property("margin", -1px) 298 | &:last-child 299 | +ltr-property("margin", 0) 300 | &:hover, 301 | &.is-hovered 302 | z-index: 2 303 | &:focus, 304 | &.is-focused, 305 | &:active, 306 | &.is-active, 307 | &.is-selected 308 | z-index: 3 309 | &:hover 310 | z-index: 4 311 | &.is-expanded 312 | flex-grow: 1 313 | flex-shrink: 1 314 | &.is-centered 315 | justify-content: center 316 | &:not(.has-addons) 317 | .button:not(.is-fullwidth) 318 | margin-left: 0.25rem 319 | margin-right: 0.25rem 320 | &.is-right 321 | justify-content: flex-end 322 | &:not(.has-addons) 323 | .button:not(.is-fullwidth) 324 | margin-left: 0.25rem 325 | margin-right: 0.25rem 326 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/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 | | [Vue Admin (dead)](https://github.com/vue-bulma/vue-admin) | Vue Admin framework powered by Bulma | 85 | | [Bulmaswatch](https://github.com/jenil/bulmaswatch) | Free themes for Bulma | 86 | | [Goldfish (read-only)](https://github.com/Caiyeon/goldfish) | Vault UI with Bulma, Golang, and Vue Admin | 87 | | [ember-bulma](https://github.com/open-tux/ember-bulma) | Ember addon providing a collection of UI components for Bulma | 88 | | [Bloomer](https://bloomer.js.org) | A set of React components for Bulma | 89 | | [React-bulma](https://github.com/kulakowka/react-bulma) | React.js components for Bulma | 90 | | [Buefy](https://buefy.org/) | Lightweight UI components for Vue.js based on Bulma | 91 | | [vue-bulma-components](https://github.com/vouill/vue-bulma-components) | Bulma components for Vue.js with straightforward syntax | 92 | | [BulmaJS](https://github.com/VizuaaLOG/BulmaJS) | Javascript integration for Bulma. Written in ES6 with a data-* API | 93 | | [Bulma-modal-fx](https://github.com/postare/bulma-modal-fx) | A set of modal window effects with CSS transitions and animations for Bulma | 94 | | [Bulma Stylus](https://github.com/groenroos/bulma-stylus) | Up-to-date 1:1 translation to Stylus 95 | | [Bulma.styl (read-only)](https://github.com/log1x/bulma.styl) | 1:1 Stylus translation of Bulma 0.6.11 | 96 | | [elm-bulma](https://github.com/surprisetalk/elm-bulma) | Bulma + Elm | 97 | | [elm-bulma-classes](https://github.com/ahstro/elm-bulma-classes) | Bulma classes prepared for usage with Elm | 98 | | [Bulma Customizer](https://bulma-customizer.bstash.io/) | Bulma Customizer – Create your own **bespoke** Bulma build | 99 | | [Fulma](https://fulma.github.io/Fulma/) | Wrapper around Bulma for [fable-react](https://github.com/fable-compiler/fable-react) | 100 | | [Laravel Enso](https://github.com/laravel-enso/enso) | SPA Admin Panel built with Bulma, VueJS and Laravel | 101 | | [Django Bulma](https://github.com/timonweb/django-bulma) | Integrates Bulma with Django | 102 | | [Bulma Templates](https://github.com/dansup/bulma-templates) | Free Templates for Bulma | 103 | | [React Bulma Components](https://github.com/couds/react-bulma-components) | Another React wrap on React for Bulma.io | 104 | | [purescript-bulma](https://github.com/sectore/purescript-bulma) | PureScript bindings for Bulma | 105 | | [Vue Datatable](https://github.com/laravel-enso/vuedatatable) | Bulma themed datatable based on Vue, Laravel & JSON templates | 106 | | [bulma-fluent](https://mubaidr.github.io/bulma-fluent/) | Fluent Design Theme for Bulma inspired by Microsoft’s Fluent Design System | 107 | | [csskrt-csskrt](https://github.com/4d11/csskrt-csskrt) | Automatically add Bulma classes to HTML files | 108 | | [bulma-pagination-react](https://github.com/hipstersmoothie/bulma-pagination-react) | Bulma pagination as a react component | 109 | | [bulma-helpers](https://github.com/jmaczan/bulma-helpers) | Functional / Atomic CSS classes for Bulma | 110 | | [bulma-swatch-hook](https://github.com/hipstersmoothie/bulma-swatch-hook) | Bulma swatches as a react hook and a component | 111 | | [BulmaWP (read-only)](https://github.com/tomhrtly/BulmaWP) | Starter WordPress theme for Bulma | 112 | | [Ralma](https://github.com/aldi/ralma) | Stateless Ractive.js Components for Bulma | 113 | | [Django Simple Bulma](https://github.com/python-discord/django-simple-bulma) | Lightweight integration of Bulma and Bulma-Extensions for your Django app | 114 | | [rbx](https://dfee.github.io/rbx) | Comprehensive React UI Framework written in TypeScript | 115 | | [Awesome Bulma Templates](https://github.com/aldi/awesome-bulma-templates) | Free real-world Templates built with Bulma | 116 | | [Trunx](http://g14n.info/trunx) | Super Saiyan React components, son of awesome Bulma, implemented in TypeScript | 117 | | [@aybolit/bulma](https://github.com/web-padawan/aybolit/tree/master/packages/bulma) | Web Components library inspired by Bulma and Bulma-extensions | 118 | | [Drulma](https://www.drupal.org/project/drulma) | Drupal theme for Bulma. | 119 | | [Bulrush](https://github.com/textbook/bulrush) | A Bulma-based Python Pelican blog theme | 120 | | [Bulma Variable Export](https://github.com/service-paradis/bulma-variables-export) | Access Bulma Variables in Javascript/Typescript in project using Webpack | 121 | | [Bulmil](https://github.com/gomah/bulmil) | An agnostic UI components library based on Web Components, made with Bulma & Stencil. | 122 | | [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. | 123 | | [Bulma Nunjucks Starterkit](https://github.com/benninkcorien/nunjucks-starter-kit) | Starterkit for Nunjucks with Bulma. | 124 | 125 | ## Copyright and license ![Github](https://img.shields.io/github/license/jgthms/bulma?logo=Github) 126 | 127 | Code copyright 2020 Jeremy Thomas. Code released under [the MIT license](https://github.com/jgthms/bulma/blob/master/LICENSE). 128 | 129 | [npm-link]: https://www.npmjs.com/package/bulma 130 | [awesome-link]: https://github.com/awesome-css-group/awesome-css 131 | [awesome-badge]: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg 132 | -------------------------------------------------------------------------------- /web/static/styles/plugins/bulma-0.9.1/sass/components/navbar.sass: -------------------------------------------------------------------------------- 1 | $navbar-background-color: $scheme-main !default 2 | $navbar-box-shadow-size: 0 2px 0 0 !default 3 | $navbar-box-shadow-color: $background !default 4 | $navbar-height: 3.25rem !default 5 | $navbar-padding-vertical: 1rem !default 6 | $navbar-padding-horizontal: 2rem !default 7 | $navbar-z: 30 !default 8 | $navbar-fixed-z: 30 !default 9 | 10 | $navbar-item-color: $text !default 11 | $navbar-item-hover-color: $link !default 12 | $navbar-item-hover-background-color: $scheme-main-bis !default 13 | $navbar-item-active-color: $scheme-invert !default 14 | $navbar-item-active-background-color: transparent !default 15 | $navbar-item-img-max-height: 1.75rem !default 16 | 17 | $navbar-burger-color: $navbar-item-color !default 18 | 19 | $navbar-tab-hover-background-color: transparent !default 20 | $navbar-tab-hover-border-bottom-color: $link !default 21 | $navbar-tab-active-color: $link !default 22 | $navbar-tab-active-background-color: transparent !default 23 | $navbar-tab-active-border-bottom-color: $link !default 24 | $navbar-tab-active-border-bottom-style: solid !default 25 | $navbar-tab-active-border-bottom-width: 3px !default 26 | 27 | $navbar-dropdown-background-color: $scheme-main !default 28 | $navbar-dropdown-border-top: 2px solid $border !default 29 | $navbar-dropdown-offset: -4px !default 30 | $navbar-dropdown-arrow: $link !default 31 | $navbar-dropdown-radius: $radius-large !default 32 | $navbar-dropdown-z: 20 !default 33 | 34 | $navbar-dropdown-boxed-radius: $radius-large !default 35 | $navbar-dropdown-boxed-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1), 0 0 0 1px bulmaRgba($scheme-invert, 0.1) !default 36 | 37 | $navbar-dropdown-item-hover-color: $scheme-invert !default 38 | $navbar-dropdown-item-hover-background-color: $background !default 39 | $navbar-dropdown-item-active-color: $link !default 40 | $navbar-dropdown-item-active-background-color: $background !default 41 | 42 | $navbar-divider-background-color: $background !default 43 | $navbar-divider-height: 2px !default 44 | 45 | $navbar-bottom-box-shadow-size: 0 -2px 0 0 !default 46 | 47 | $navbar-breakpoint: $desktop !default 48 | 49 | $navbar-colors: $colors !default 50 | 51 | =navbar-fixed 52 | left: 0 53 | position: fixed 54 | right: 0 55 | z-index: $navbar-fixed-z 56 | 57 | .navbar 58 | background-color: $navbar-background-color 59 | min-height: $navbar-height 60 | position: relative 61 | z-index: $navbar-z 62 | @each $name, $pair in $navbar-colors 63 | $color: nth($pair, 1) 64 | $color-invert: nth($pair, 2) 65 | &.is-#{$name} 66 | background-color: $color 67 | color: $color-invert 68 | .navbar-brand 69 | & > .navbar-item, 70 | .navbar-link 71 | color: $color-invert 72 | & > a.navbar-item, 73 | .navbar-link 74 | &:focus, 75 | &:hover, 76 | &.is-active 77 | background-color: bulmaDarken($color, 5%) 78 | color: $color-invert 79 | .navbar-link 80 | &::after 81 | border-color: $color-invert 82 | .navbar-burger 83 | color: $color-invert 84 | +from($navbar-breakpoint) 85 | .navbar-start, 86 | .navbar-end 87 | & > .navbar-item, 88 | .navbar-link 89 | color: $color-invert 90 | & > a.navbar-item, 91 | .navbar-link 92 | &:focus, 93 | &:hover, 94 | &.is-active 95 | background-color: bulmaDarken($color, 5%) 96 | color: $color-invert 97 | .navbar-link 98 | &::after 99 | border-color: $color-invert 100 | .navbar-item.has-dropdown:focus .navbar-link, 101 | .navbar-item.has-dropdown:hover .navbar-link, 102 | .navbar-item.has-dropdown.is-active .navbar-link 103 | background-color: bulmaDarken($color, 5%) 104 | color: $color-invert 105 | .navbar-dropdown 106 | a.navbar-item 107 | &.is-active 108 | background-color: $color 109 | color: $color-invert 110 | & > .container 111 | align-items: stretch 112 | display: flex 113 | min-height: $navbar-height 114 | width: 100% 115 | &.has-shadow 116 | box-shadow: $navbar-box-shadow-size $navbar-box-shadow-color 117 | &.is-fixed-bottom, 118 | &.is-fixed-top 119 | +navbar-fixed 120 | &.is-fixed-bottom 121 | bottom: 0 122 | &.has-shadow 123 | box-shadow: $navbar-bottom-box-shadow-size $navbar-box-shadow-color 124 | &.is-fixed-top 125 | top: 0 126 | 127 | html, 128 | body 129 | &.has-navbar-fixed-top 130 | padding-top: $navbar-height 131 | &.has-navbar-fixed-bottom 132 | padding-bottom: $navbar-height 133 | 134 | .navbar-brand, 135 | .navbar-tabs 136 | align-items: stretch 137 | display: flex 138 | flex-shrink: 0 139 | min-height: $navbar-height 140 | 141 | .navbar-brand 142 | a.navbar-item 143 | &:focus, 144 | &:hover 145 | background-color: transparent 146 | 147 | .navbar-tabs 148 | +overflow-touch 149 | max-width: 100vw 150 | overflow-x: auto 151 | overflow-y: hidden 152 | 153 | .navbar-burger 154 | color: $navbar-burger-color 155 | +hamburger($navbar-height) 156 | +ltr-property("margin", auto, false) 157 | 158 | .navbar-menu 159 | display: none 160 | 161 | .navbar-item, 162 | .navbar-link 163 | color: $navbar-item-color 164 | display: block 165 | line-height: 1.5 166 | padding: 0.5rem 0.75rem 167 | position: relative 168 | .icon 169 | &:only-child 170 | margin-left: -0.25rem 171 | margin-right: -0.25rem 172 | 173 | a.navbar-item, 174 | .navbar-link 175 | cursor: pointer 176 | &:focus, 177 | &:focus-within, 178 | &:hover, 179 | &.is-active 180 | background-color: $navbar-item-hover-background-color 181 | color: $navbar-item-hover-color 182 | 183 | .navbar-item 184 | flex-grow: 0 185 | flex-shrink: 0 186 | img 187 | max-height: $navbar-item-img-max-height 188 | &.has-dropdown 189 | padding: 0 190 | &.is-expanded 191 | flex-grow: 1 192 | flex-shrink: 1 193 | &.is-tab 194 | border-bottom: 1px solid transparent 195 | min-height: $navbar-height 196 | padding-bottom: calc(0.5rem - 1px) 197 | &:focus, 198 | &:hover 199 | background-color: $navbar-tab-hover-background-color 200 | border-bottom-color: $navbar-tab-hover-border-bottom-color 201 | &.is-active 202 | background-color: $navbar-tab-active-background-color 203 | border-bottom-color: $navbar-tab-active-border-bottom-color 204 | border-bottom-style: $navbar-tab-active-border-bottom-style 205 | border-bottom-width: $navbar-tab-active-border-bottom-width 206 | color: $navbar-tab-active-color 207 | padding-bottom: calc(0.5rem - #{$navbar-tab-active-border-bottom-width}) 208 | 209 | .navbar-content 210 | flex-grow: 1 211 | flex-shrink: 1 212 | 213 | .navbar-link:not(.is-arrowless) 214 | +ltr-property("padding", 2.5em) 215 | &::after 216 | @extend %arrow 217 | border-color: $navbar-dropdown-arrow 218 | margin-top: -0.375em 219 | +ltr-position(1.125em) 220 | 221 | .navbar-dropdown 222 | font-size: 0.875rem 223 | padding-bottom: 0.5rem 224 | padding-top: 0.5rem 225 | .navbar-item 226 | padding-left: 1.5rem 227 | padding-right: 1.5rem 228 | 229 | .navbar-divider 230 | background-color: $navbar-divider-background-color 231 | border: none 232 | display: none 233 | height: $navbar-divider-height 234 | margin: 0.5rem 0 235 | 236 | +until($navbar-breakpoint) 237 | .navbar > .container 238 | display: block 239 | .navbar-brand, 240 | .navbar-tabs 241 | .navbar-item 242 | align-items: center 243 | display: flex 244 | .navbar-link 245 | &::after 246 | display: none 247 | .navbar-menu 248 | background-color: $navbar-background-color 249 | box-shadow: 0 8px 16px bulmaRgba($scheme-invert, 0.1) 250 | padding: 0.5rem 0 251 | &.is-active 252 | display: block 253 | // Fixed navbar 254 | .navbar 255 | &.is-fixed-bottom-touch, 256 | &.is-fixed-top-touch 257 | +navbar-fixed 258 | &.is-fixed-bottom-touch 259 | bottom: 0 260 | &.has-shadow 261 | box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1) 262 | &.is-fixed-top-touch 263 | top: 0 264 | &.is-fixed-top, 265 | &.is-fixed-top-touch 266 | .navbar-menu 267 | +overflow-touch 268 | max-height: calc(100vh - #{$navbar-height}) 269 | overflow: auto 270 | html, 271 | body 272 | &.has-navbar-fixed-top-touch 273 | padding-top: $navbar-height 274 | &.has-navbar-fixed-bottom-touch 275 | padding-bottom: $navbar-height 276 | 277 | +from($navbar-breakpoint) 278 | .navbar, 279 | .navbar-menu, 280 | .navbar-start, 281 | .navbar-end 282 | align-items: stretch 283 | display: flex 284 | .navbar 285 | min-height: $navbar-height 286 | &.is-spaced 287 | padding: $navbar-padding-vertical $navbar-padding-horizontal 288 | .navbar-start, 289 | .navbar-end 290 | align-items: center 291 | a.navbar-item, 292 | .navbar-link 293 | border-radius: $radius 294 | &.is-transparent 295 | a.navbar-item, 296 | .navbar-link 297 | &:focus, 298 | &:hover, 299 | &.is-active 300 | background-color: transparent !important 301 | .navbar-item.has-dropdown 302 | &.is-active, 303 | &.is-hoverable:focus, 304 | &.is-hoverable:focus-within, 305 | &.is-hoverable:hover 306 | .navbar-link 307 | background-color: transparent !important 308 | .navbar-dropdown 309 | a.navbar-item 310 | &:focus, 311 | &:hover 312 | background-color: $navbar-dropdown-item-hover-background-color 313 | color: $navbar-dropdown-item-hover-color 314 | &.is-active 315 | background-color: $navbar-dropdown-item-active-background-color 316 | color: $navbar-dropdown-item-active-color 317 | .navbar-burger 318 | display: none 319 | .navbar-item, 320 | .navbar-link 321 | align-items: center 322 | display: flex 323 | .navbar-item 324 | &.has-dropdown 325 | align-items: stretch 326 | &.has-dropdown-up 327 | .navbar-link::after 328 | transform: rotate(135deg) translate(0.25em, -0.25em) 329 | .navbar-dropdown 330 | border-bottom: $navbar-dropdown-border-top 331 | border-radius: $navbar-dropdown-radius $navbar-dropdown-radius 0 0 332 | border-top: none 333 | bottom: 100% 334 | box-shadow: 0 -8px 8px bulmaRgba($scheme-invert, 0.1) 335 | top: auto 336 | &.is-active, 337 | &.is-hoverable:focus, 338 | &.is-hoverable:focus-within, 339 | &.is-hoverable:hover 340 | .navbar-dropdown 341 | display: block 342 | .navbar.is-spaced &, 343 | &.is-boxed 344 | opacity: 1 345 | pointer-events: auto 346 | transform: translateY(0) 347 | .navbar-menu 348 | flex-grow: 1 349 | flex-shrink: 0 350 | .navbar-start 351 | justify-content: flex-start 352 | +ltr-property("margin", auto) 353 | .navbar-end 354 | justify-content: flex-end 355 | +ltr-property("margin", auto, false) 356 | .navbar-dropdown 357 | background-color: $navbar-dropdown-background-color 358 | border-bottom-left-radius: $navbar-dropdown-radius 359 | border-bottom-right-radius: $navbar-dropdown-radius 360 | border-top: $navbar-dropdown-border-top 361 | box-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1) 362 | display: none 363 | font-size: 0.875rem 364 | +ltr-position(0, false) 365 | min-width: 100% 366 | position: absolute 367 | top: 100% 368 | z-index: $navbar-dropdown-z 369 | .navbar-item 370 | padding: 0.375rem 1rem 371 | white-space: nowrap 372 | a.navbar-item 373 | +ltr-property("padding", 3rem) 374 | &:focus, 375 | &:hover 376 | background-color: $navbar-dropdown-item-hover-background-color 377 | color: $navbar-dropdown-item-hover-color 378 | &.is-active 379 | background-color: $navbar-dropdown-item-active-background-color 380 | color: $navbar-dropdown-item-active-color 381 | .navbar.is-spaced &, 382 | &.is-boxed 383 | border-radius: $navbar-dropdown-boxed-radius 384 | border-top: none 385 | box-shadow: $navbar-dropdown-boxed-shadow 386 | display: block 387 | opacity: 0 388 | pointer-events: none 389 | top: calc(100% + (#{$navbar-dropdown-offset})) 390 | transform: translateY(-5px) 391 | transition-duration: $speed 392 | transition-property: opacity, transform 393 | &.is-right 394 | left: auto 395 | right: 0 396 | .navbar-divider 397 | display: block 398 | .navbar > .container, 399 | .container > .navbar 400 | .navbar-brand 401 | +ltr-property("margin", -.75rem, false) 402 | .navbar-menu 403 | +ltr-property("margin", -.75rem) 404 | // Fixed navbar 405 | .navbar 406 | &.is-fixed-bottom-desktop, 407 | &.is-fixed-top-desktop 408 | +navbar-fixed 409 | &.is-fixed-bottom-desktop 410 | bottom: 0 411 | &.has-shadow 412 | box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1) 413 | &.is-fixed-top-desktop 414 | top: 0 415 | html, 416 | body 417 | &.has-navbar-fixed-top-desktop 418 | padding-top: $navbar-height 419 | &.has-navbar-fixed-bottom-desktop 420 | padding-bottom: $navbar-height 421 | &.has-spaced-navbar-fixed-top 422 | padding-top: $navbar-height + ($navbar-padding-vertical * 2) 423 | &.has-spaced-navbar-fixed-bottom 424 | padding-bottom: $navbar-height + ($navbar-padding-vertical * 2) 425 | // Hover/Active states 426 | a.navbar-item, 427 | .navbar-link 428 | &.is-active 429 | color: $navbar-item-active-color 430 | &.is-active:not(:focus):not(:hover) 431 | background-color: $navbar-item-active-background-color 432 | .navbar-item.has-dropdown 433 | &:focus, 434 | &:hover, 435 | &.is-active 436 | .navbar-link 437 | background-color: $navbar-item-hover-background-color 438 | 439 | // Combination 440 | 441 | .hero 442 | &.is-fullheight-with-navbar 443 | min-height: calc(100vh - #{$navbar-height}) 444 | --------------------------------------------------------------------------------