├── assets ├── sass │ ├── bourbon │ │ ├── settings │ │ │ ├── _px-to-em.scss │ │ │ ├── _asset-pipeline.scss │ │ │ ├── _deprecation-warnings.scss │ │ │ └── _prefixer.scss │ │ ├── css3 │ │ │ ├── _appearance.scss │ │ │ ├── _calc.scss │ │ │ ├── _user-select.scss │ │ │ ├── _hyphens.scss │ │ │ ├── _backface-visibility.scss │ │ │ ├── _filter.scss │ │ │ ├── _font-feature-settings.scss │ │ │ ├── _placeholder.scss │ │ │ ├── _perspective.scss │ │ │ ├── _image-rendering.scss │ │ │ ├── _hidpi-media-query.scss │ │ │ ├── _transform.scss │ │ │ ├── _font-face.scss │ │ │ ├── _text-decoration.scss │ │ │ ├── _selection.scss │ │ │ ├── _keyframes.scss │ │ │ ├── _linear-gradient.scss │ │ │ ├── _background-image.scss │ │ │ ├── _radial-gradient.scss │ │ │ ├── _background.scss │ │ │ ├── _border-image.scss │ │ │ ├── _columns.scss │ │ │ ├── _animation.scss │ │ │ ├── _transition.scss │ │ │ └── _flex-box.scss │ │ ├── functions │ │ │ ├── _is-number.scss │ │ │ ├── _assign-inputs.scss │ │ │ ├── _is-length.scss │ │ │ ├── _shade.scss │ │ │ ├── _tint.scss │ │ │ ├── _contains-falsy.scss │ │ │ ├── _strip-units.scss │ │ │ ├── _is-size.scss │ │ │ ├── _contains.scss │ │ │ ├── _px-to-rem.scss │ │ │ ├── _is-light.scss │ │ │ ├── _px-to-em.scss │ │ │ ├── _unpack.scss │ │ │ ├── _transition-property-name.scss │ │ │ └── _modular-scale.scss │ │ ├── helpers │ │ │ ├── _shape-size-stripper.scss │ │ │ ├── _gradient-positions-parser.scss │ │ │ ├── _radial-positions-parser.scss │ │ │ ├── _convert-units.scss │ │ │ ├── _render-gradients.scss │ │ │ ├── _linear-angle-parser.scss │ │ │ ├── _linear-side-corner-parser.scss │ │ │ ├── _font-source-declaration.scss │ │ │ ├── _str-to-num.scss │ │ │ ├── _radial-gradient-parser.scss │ │ │ ├── _linear-gradient-parser.scss │ │ │ ├── _radial-arg-parser.scss │ │ │ ├── _linear-positions-parser.scss │ │ │ └── _directional-values.scss │ │ ├── addons │ │ │ ├── _clearfix.scss │ │ │ ├── _font-stacks.scss │ │ │ ├── _word-wrap.scss │ │ │ ├── _ellipsis.scss │ │ │ ├── _hide-text.scss │ │ │ ├── _border-width.scss │ │ │ ├── _margin.scss │ │ │ ├── _padding.scss │ │ │ ├── _border-style.scss │ │ │ ├── _border-color.scss │ │ │ ├── _retina-image.scss │ │ │ ├── _border-radius.scss │ │ │ ├── _position.scss │ │ │ ├── _size.scss │ │ │ ├── _timing-functions.scss │ │ │ ├── _prefixer.scss │ │ │ ├── _buttons.scss │ │ │ ├── _triangle.scss │ │ │ └── _text-inputs.scss │ │ ├── _bourbon-deprecate.scss │ │ ├── _bourbon.scss │ │ └── _bourbon-deprecated-upcoming.scss │ ├── _colors.scss │ ├── screen.scss │ ├── _solarized-dark.scss │ ├── _typography.scss │ ├── _layout.scss │ └── _normalize.scss └── favicon.ico ├── package.json ├── README.md ├── partials ├── spacer.hbs ├── navigation.hbs ├── pagination.hbs └── loop.hbs ├── index.hbs ├── .gitignore ├── Makefile ├── error.hbs ├── page.hbs ├── post.hbs ├── UNLICENSE └── default.hbs /assets/sass/bourbon/settings/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | $em-base: 16px !default; 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Adelie", 3 | "version": "0.0.4" 4 | } 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Adelie 2 | 3 | A Ghost theme for [Zack's Blog](https://zacharyvoase.com/). 4 | -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zacharyvoase/Adelie/master/assets/favicon.ico -------------------------------------------------------------------------------- /partials/spacer.hbs: -------------------------------------------------------------------------------- 1 |
2 |
 
3 |
4 | -------------------------------------------------------------------------------- /assets/sass/_colors.scss: -------------------------------------------------------------------------------- 1 | $teal: #4891b1; 2 | $light-teal: #67a3be; 3 | $grey: #666; 4 | $codebg: #002b36; 5 | $codefg: #9eb2b5; 6 | -------------------------------------------------------------------------------- /index.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 |
4 |
5 | {{> "loop"}} 6 |
7 |
8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/* 3 | .sass-cache/ 4 | assets/css/ 5 | b-cov/ 6 | dist/ 7 | logs/ 8 | node_modules 9 | npm-debug.log 10 | -------------------------------------------------------------------------------- /assets/sass/screen.scss: -------------------------------------------------------------------------------- 1 | @import "bourbon/_bourbon"; 2 | 3 | @import "_normalize"; 4 | @import "_layout"; 5 | @import "_solarized-dark"; 6 | @import "_typography"; 7 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_appearance.scss: -------------------------------------------------------------------------------- 1 | @mixin appearance($value) { 2 | @include _bourbon-deprecate-for-prefixing("appearance"); 3 | 4 | @include prefixer(appearance, $value, webkit moz ms o spec); 5 | } 6 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_calc.scss: -------------------------------------------------------------------------------- 1 | @mixin calc($property, $value) { 2 | @include _bourbon-deprecate-for-prefixing("calc"); 3 | 4 | #{$property}: -webkit-calc(#{$value}); 5 | #{$property}: calc(#{$value}); 6 | } 7 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_user-select.scss: -------------------------------------------------------------------------------- 1 | @mixin user-select($value: none) { 2 | @include _bourbon-deprecate-for-prefixing("user-select"); 3 | 4 | @include prefixer(user-select, $value, webkit moz ms spec); 5 | } 6 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_hyphens.scss: -------------------------------------------------------------------------------- 1 | @mixin hyphens($hyphenation: none) { 2 | @include _bourbon-deprecate-for-prefixing("hyphens"); 3 | 4 | // none | manual | auto 5 | @include prefixer(hyphens, $hyphenation, webkit moz ms spec); 6 | } 7 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_backface-visibility.scss: -------------------------------------------------------------------------------- 1 | @mixin backface-visibility($visibility) { 2 | @include _bourbon-deprecate-for-prefixing("backface-visibility"); 3 | 4 | @include prefixer(backface-visibility, $visibility, webkit spec); 5 | } 6 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_filter.scss: -------------------------------------------------------------------------------- 1 | @mixin filter($function: none) { 2 | @include _bourbon-deprecate-for-prefixing("filter"); 3 | 4 | // [ 2 | 7 | 8 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_font-feature-settings.scss: -------------------------------------------------------------------------------- 1 | @mixin font-feature-settings($settings...) { 2 | @include _bourbon-deprecate-for-prefixing("font-feature-settings"); 3 | 4 | @if length($settings) == 0 { $settings: none; } 5 | @include prefixer(font-feature-settings, $settings, webkit moz ms spec); 6 | } 7 | -------------------------------------------------------------------------------- /assets/sass/bourbon/settings/_deprecation-warnings.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Enable or disable output of Bourbon’s deprecation-related Sass warnings. 4 | /// This variable must be declared _before_ importing Bourbon. 5 | /// 6 | /// @type Bool 7 | 8 | $output-bourbon-deprecation-warnings: true !default; 9 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | dist/Adelie.zip: css 2 | zip --filesync dist/Adelie.zip assets/favicon.ico assets/css/*.css package.json *.hbs partials/*.hbs 3 | 4 | css: assets/css 5 | sass --scss --style compressed -E utf-8 --sourcemap=none --update assets/sass:assets/css 6 | 7 | assets/css: 8 | mkdir assets/css 9 | 10 | .PHONY: css 11 | -------------------------------------------------------------------------------- /error.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 |
4 |
5 |

Whoops.

6 |

I tried my best, but couldn't find that page.

7 |

You could try heading back to the index.

8 |
9 |
10 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_placeholder.scss: -------------------------------------------------------------------------------- 1 | @mixin placeholder { 2 | @include _bourbon-deprecate-for-prefixing("placeholder"); 3 | 4 | $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input"; 5 | @each $placeholder in $placeholders { 6 | &:#{$placeholder}-placeholder { 7 | @content; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /assets/sass/bourbon/settings/_prefixer.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Global variables to enable or disable vendor prefixes 4 | 5 | $prefix-for-webkit: true !default; 6 | $prefix-for-mozilla: true !default; 7 | $prefix-for-microsoft: true !default; 8 | $prefix-for-opera: true !default; 9 | $prefix-for-spec: true !default; 10 | -------------------------------------------------------------------------------- /page.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 | {{#post}} 4 | 5 |
6 |
7 | 10 | 11 |

{{title}}

12 | 13 |
{{content}}
14 |
15 |
16 | 17 | {{/post}} 18 | -------------------------------------------------------------------------------- /partials/pagination.hbs: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_perspective.scss: -------------------------------------------------------------------------------- 1 | @mixin perspective($depth: none) { 2 | @include _bourbon-deprecate-for-prefixing("perspective"); 3 | 4 | // none | 5 | @include prefixer(perspective, $depth, webkit moz spec); 6 | } 7 | 8 | @mixin perspective-origin($value: 50% 50%) { 9 | @include _bourbon-deprecate-for-prefixing("perspective-origin"); 10 | 11 | @include prefixer(perspective-origin, $value, webkit moz spec); 12 | } 13 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_image-rendering.scss: -------------------------------------------------------------------------------- 1 | @mixin image-rendering ($mode:auto) { 2 | @include _bourbon-deprecate-for-prefixing("image-rendering"); 3 | 4 | @if ($mode == crisp-edges) { 5 | -ms-interpolation-mode: nearest-neighbor; // IE8+ 6 | image-rendering: -moz-crisp-edges; 7 | image-rendering: -o-crisp-edges; 8 | image-rendering: -webkit-optimize-contrast; 9 | image-rendering: crisp-edges; 10 | } 11 | 12 | @else { 13 | image-rendering: $mode; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_is-number.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks for a valid number. 4 | /// 5 | /// @param {Number} $value 6 | /// 7 | /// @require {function} contains 8 | 9 | @function is-number($value) { 10 | @if $output-bourbon-deprecation-warnings == true { 11 | @warn "[Bourbon] [Deprecation] `is-number` is deprecated and will be " + 12 | "removed in 5.0.0."; 13 | } 14 | 15 | @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value); 16 | } 17 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_assign-inputs.scss: -------------------------------------------------------------------------------- 1 | @function assign-inputs($inputs, $pseudo: null) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `assign-inputs` is deprecated and will be " + 4 | "removed in 5.0.0."; 5 | } 6 | 7 | $list: (); 8 | 9 | @each $input in $inputs { 10 | $input: unquote($input); 11 | $input: if($pseudo, $input + ":" + $pseudo, $input); 12 | $list: append($list, $input, comma); 13 | } 14 | 15 | @return $list; 16 | } 17 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_shape-size-stripper.scss: -------------------------------------------------------------------------------- 1 | @function _shape-size-stripper($shape-size) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `_shape-size-stripper` is " + 4 | "deprecated and will be removed in 5.0.0."; 5 | } 6 | 7 | $shape-size-spec: null; 8 | @each $value in $shape-size { 9 | @if ($value == "cover") or ($value == "contain") { 10 | $value: null; 11 | } 12 | $shape-size-spec: "#{$shape-size-spec} #{$value}"; 13 | } 14 | @return $shape-size-spec; 15 | } 16 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_is-length.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks for a valid CSS length. 4 | /// 5 | /// @param {String} $value 6 | 7 | @function is-length($value) { 8 | @if $output-bourbon-deprecation-warnings == true { 9 | @warn "[Bourbon] [Deprecation] `is-length` is deprecated and will be " + 10 | "removed in 5.0.0."; 11 | } 12 | 13 | @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc" 14 | or index(auto inherit initial 0, $value) 15 | or (type-of($value) == "number" and not(unitless($value)))); 16 | } 17 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides an easy way to include a clearfix for containing floats. 4 | /// 5 | /// @link http://cssmojo.com/latest_new_clearfix_so_far/ 6 | /// 7 | /// @example scss - Usage 8 | /// .element { 9 | /// @include clearfix; 10 | /// } 11 | /// 12 | /// @example css - CSS Output 13 | /// .element::after { 14 | /// clear: both; 15 | /// content: ""; 16 | /// display: table; 17 | /// } 18 | 19 | @mixin clearfix { 20 | &::after { 21 | clear: both; 22 | content: ""; 23 | display: table; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_hidpi-media-query.scss: -------------------------------------------------------------------------------- 1 | // HiDPI mixin. Default value set to 1.3 to target Google Nexus 7 (http://bjango.com/articles/min-device-pixel-ratio/) 2 | @mixin hidpi($ratio: 1.3) { 3 | @include _bourbon-deprecate-for-prefixing("hidpi"); 4 | 5 | @media only screen and (-webkit-min-device-pixel-ratio: $ratio), 6 | only screen and (min--moz-device-pixel-ratio: $ratio), 7 | only screen and (-o-min-device-pixel-ratio: #{$ratio}/1), 8 | only screen and (min-resolution: round($ratio * 96dpi)), 9 | only screen and (min-resolution: $ratio * 1dppx) { 10 | @content; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_shade.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Mixes a color with black. 4 | /// 5 | /// @param {Color} $color 6 | /// 7 | /// @param {Number (Percentage)} $percent 8 | /// The amount of black to be mixed in. 9 | /// 10 | /// @example scss - Usage 11 | /// .element { 12 | /// background-color: shade(#ffbb52, 60%); 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element { 17 | /// background-color: #664a20; 18 | /// } 19 | /// 20 | /// @return {Color} 21 | 22 | @function shade($color, $percent) { 23 | @return mix(#000, $color, $percent); 24 | } 25 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_tint.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Mixes a color with white. 4 | /// 5 | /// @param {Color} $color 6 | /// 7 | /// @param {Number (Percentage)} $percent 8 | /// The amount of white to be mixed in. 9 | /// 10 | /// @example scss - Usage 11 | /// .element { 12 | /// background-color: tint(#6ecaa6, 40%); 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element { 17 | /// background-color: #a8dfc9; 18 | /// } 19 | /// 20 | /// @return {Color} 21 | 22 | @function tint($color, $percent) { 23 | @return mix(#fff, $color, $percent); 24 | } 25 | -------------------------------------------------------------------------------- /partials/loop.hbs: -------------------------------------------------------------------------------- 1 | {{#is "paged"}} 2 |
3 | {{pagination}} 4 |
5 | {{/is}} 6 | 7 |
    8 | {{#foreach posts}} 9 |
  • 10 | 15 | {{title}} 16 |
  • 17 | {{/foreach}} 18 |
19 | 20 | {{pagination}} 21 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_contains-falsy.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks if a list does not contains a value. 4 | /// 5 | /// @access private 6 | /// 7 | /// @param {List} $list 8 | /// The list to check against. 9 | /// 10 | /// @return {Bool} 11 | 12 | @function contains-falsy($list) { 13 | @if $output-bourbon-deprecation-warnings == true { 14 | @warn "[Bourbon] [Deprecation] `contains-falsy` is deprecated and will be " + 15 | "removed in 5.0.0."; 16 | } 17 | 18 | @each $item in $list { 19 | @if not $item { 20 | @return true; 21 | } 22 | } 23 | 24 | @return false; 25 | } 26 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_strip-units.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Strips the unit from a number. 4 | /// 5 | /// @param {Number (With Unit)} $value 6 | /// 7 | /// @example scss - Usage 8 | /// $dimension: strip-units(10em); 9 | /// 10 | /// @example css - CSS Output 11 | /// $dimension: 10; 12 | /// 13 | /// @return {Number (Unitless)} 14 | 15 | @function strip-units($value) { 16 | @if $output-bourbon-deprecation-warnings == true { 17 | @warn "[Bourbon] [Deprecation] `strip-units` is deprecated and will be " + 18 | "removed in 5.0.0 and replaced by the `strip-unit` function."; 19 | } 20 | 21 | @return ($value / ($value * 0 + 1)); 22 | } 23 | -------------------------------------------------------------------------------- /assets/sass/bourbon/_bourbon-deprecate.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Throws Sass warnings to announce library deprecations. You can disable them 4 | /// by setting the `$output-bourbon-deprecation-warnings` variable to `false`. 5 | /// 6 | /// @access private 7 | 8 | @mixin _bourbon-deprecate($feature, $message: null) { 9 | @if $output-bourbon-deprecation-warnings == true { 10 | @warn "[Bourbon] [Deprecation] `#{$feature}` is deprecated and will be " + 11 | "removed in 5.0.0. #{$message}"; 12 | @content; 13 | } 14 | } 15 | 16 | @mixin _bourbon-deprecate-for-prefixing($feature) { 17 | @include _bourbon-deprecate($feature, "We suggest using an automated " + 18 | "prefixing tool, like Autoprefixer."); 19 | } 20 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_font-stacks.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Georgia font stack. 4 | /// 5 | /// @type List 6 | 7 | $georgia: "Georgia", "Cambria", "Times New Roman", "Times", serif; 8 | 9 | /// Helvetica font stack. 10 | /// 11 | /// @type List 12 | 13 | $helvetica: "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif; 14 | 15 | /// Lucida Grande font stack. 16 | /// 17 | /// @type List 18 | 19 | $lucida-grande: "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif; 20 | 21 | /// Monospace font stack. 22 | /// 23 | /// @type List 24 | 25 | $monospace: "Bitstream Vera Sans Mono", "Consolas", "Courier", monospace; 26 | 27 | /// Verdana font stack. 28 | /// 29 | /// @type List 30 | 31 | $verdana: "Verdana", "Geneva", sans-serif; 32 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_word-wrap.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides an easy way to change the `word-wrap` property. 4 | /// 5 | /// @param {String} $wrap [break-word] 6 | /// Value for the `word-break` property. 7 | /// 8 | /// @example scss - Usage 9 | /// .wrapper { 10 | /// @include word-wrap(break-word); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .wrapper { 15 | /// overflow-wrap: break-word; 16 | /// word-break: break-all; 17 | /// word-wrap: break-word; 18 | /// } 19 | 20 | @mixin word-wrap($wrap: break-word) { 21 | overflow-wrap: $wrap; 22 | word-wrap: $wrap; 23 | 24 | @if $wrap == break-word { 25 | word-break: break-all; 26 | } @else { 27 | word-break: $wrap; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_is-size.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks for a valid CSS size. 4 | /// 5 | /// @param {String} $value 6 | /// 7 | /// @require {function} contains 8 | /// @require {function} is-length 9 | 10 | @function is-size($value) { 11 | @if $output-bourbon-deprecation-warnings == true { 12 | @warn "[Bourbon] [Deprecation] `is-size` is deprecated and will be " + 13 | "removed in 5.0.0."; 14 | } 15 | 16 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 17 | $output-bourbon-deprecation-warnings: false !global; 18 | 19 | @return is-length($value) 20 | or contains("fill" "fit-content" "min-content" "max-content", $value); 21 | 22 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 23 | } 24 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_transform.scss: -------------------------------------------------------------------------------- 1 | @mixin transform($property: none) { 2 | @include _bourbon-deprecate-for-prefixing("transform"); 3 | 4 | // none | 5 | @include prefixer(transform, $property, webkit moz ms o spec); 6 | } 7 | 8 | @mixin transform-origin($axes: 50%) { 9 | @include _bourbon-deprecate-for-prefixing("transform-origin"); 10 | 11 | // x-axis - left | center | right | length | % 12 | // y-axis - top | center | bottom | length | % 13 | // z-axis - length 14 | @include prefixer(transform-origin, $axes, webkit moz ms o spec); 15 | } 16 | 17 | @mixin transform-style($style: flat) { 18 | @include _bourbon-deprecate-for-prefixing("transform-style"); 19 | 20 | @include prefixer(transform-style, $style, webkit moz ms o spec); 21 | } 22 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_contains.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Checks if a list contains a value(s). 4 | /// 5 | /// @access private 6 | /// 7 | /// @param {List} $list 8 | /// The list to check against. 9 | /// 10 | /// @param {List} $values 11 | /// A single value or list of values to check for. 12 | /// 13 | /// @example scss - Usage 14 | /// contains($list, $value) 15 | /// 16 | /// @return {Bool} 17 | 18 | @function contains($list, $values...) { 19 | @if $output-bourbon-deprecation-warnings == true { 20 | @warn "[Bourbon] [Deprecation] `contains` is deprecated and will be " + 21 | "removed in 5.0.0."; 22 | } 23 | 24 | @each $value in $values { 25 | @if type-of(index($list, $value)) != "number" { 26 | @return false; 27 | } 28 | } 29 | 30 | @return true; 31 | } 32 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_ellipsis.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Truncates text and adds an ellipsis to represent overflow. 4 | /// 5 | /// @param {Number} $width [100%] 6 | /// Max-width for the string to respect before being truncated 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include ellipsis; 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// display: inline-block; 16 | /// max-width: 100%; 17 | /// overflow: hidden; 18 | /// text-overflow: ellipsis; 19 | /// white-space: nowrap; 20 | /// word-wrap: normal; 21 | /// } 22 | 23 | @mixin ellipsis($width: 100%) { 24 | display: inline-block; 25 | max-width: $width; 26 | overflow: hidden; 27 | text-overflow: ellipsis; 28 | white-space: nowrap; 29 | word-wrap: normal; 30 | } 31 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_font-face.scss: -------------------------------------------------------------------------------- 1 | @mixin font-face( 2 | $font-family, 3 | $file-path, 4 | $weight: normal, 5 | $style: normal, 6 | $asset-pipeline: $asset-pipeline, 7 | $file-formats: eot woff2 woff ttf svg) { 8 | 9 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 10 | $output-bourbon-deprecation-warnings: false !global; 11 | 12 | $font-url-prefix: font-url-prefixer($asset-pipeline); 13 | 14 | @font-face { 15 | font-family: $font-family; 16 | font-style: $style; 17 | font-weight: $weight; 18 | 19 | src: font-source-declaration( 20 | $font-family, 21 | $file-path, 22 | $asset-pipeline, 23 | $file-formats, 24 | $font-url-prefix 25 | ); 26 | } 27 | 28 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 29 | } 30 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_px-to-rem.scss: -------------------------------------------------------------------------------- 1 | // Convert pixels to rems 2 | // eg. for a relational value of 12px write rem(12) 3 | // Assumes $em-base is the font-size of 4 | 5 | @function rem($pxval) { 6 | @if $output-bourbon-deprecation-warnings == true { 7 | @warn "[Bourbon] [Deprecation] `rem` is deprecated and will be " + 8 | "removed in 5.0.0."; 9 | } 10 | 11 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 12 | $output-bourbon-deprecation-warnings: false !global; 13 | 14 | @if not unitless($pxval) { 15 | $pxval: strip-units($pxval); 16 | } 17 | 18 | $base: $em-base; 19 | @if not unitless($base) { 20 | $base: strip-units($base); 21 | } 22 | 23 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 24 | 25 | @return ($pxval / $base) * 1rem; 26 | } 27 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_is-light.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Programatically determines whether a color is light or dark. 4 | /// 5 | /// @link http://robots.thoughtbot.com/closer-look-color-lightness 6 | /// 7 | /// @param {Color (Hex)} $color 8 | /// 9 | /// @example scss - Usage 10 | /// is-light($color) 11 | /// 12 | /// @return {Bool} 13 | 14 | @function is-light($hex-color) { 15 | @if $output-bourbon-deprecation-warnings == true { 16 | @warn "[Bourbon] [Deprecation] `is-light` is deprecated and will be " + 17 | "removed in 5.0.0."; 18 | } 19 | 20 | $-local-red: red(rgba($hex-color, 1)); 21 | $-local-green: green(rgba($hex-color, 1)); 22 | $-local-blue: blue(rgba($hex-color, 1)); 23 | $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; 24 | 25 | @return $-local-lightness > 0.6; 26 | } 27 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_px-to-em.scss: -------------------------------------------------------------------------------- 1 | // Convert pixels to ems 2 | // eg. for a relational value of 12px write em(12) when the parent is 16px 3 | // if the parent is another value say 24px write em(12, 24) 4 | 5 | @function em($pxval, $base: $em-base) { 6 | @if $output-bourbon-deprecation-warnings == true { 7 | @warn "[Bourbon] [Deprecation] `em` is deprecated and will be " + 8 | "removed in 5.0.0."; 9 | } 10 | 11 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 12 | $output-bourbon-deprecation-warnings: false !global; 13 | 14 | @if not unitless($pxval) { 15 | $pxval: strip-units($pxval); 16 | } 17 | @if not unitless($base) { 18 | $base: strip-units($base); 19 | } 20 | 21 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 22 | 23 | @return ($pxval / $base) * 1em; 24 | } 25 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_hide-text.scss: -------------------------------------------------------------------------------- 1 | /// Hides the text in an element, commonly used to show an image. Some elements will need block-level styles applied. 2 | /// 3 | /// @link http://zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement 4 | /// 5 | /// @example scss - Usage 6 | /// .element { 7 | /// @include hide-text; 8 | /// } 9 | /// 10 | /// @example css - CSS Output 11 | /// .element { 12 | /// overflow: hidden; 13 | /// text-indent: 101%; 14 | /// white-space: nowrap; 15 | /// } 16 | /// 17 | /// @todo Remove height argument in v5.0.0 18 | 19 | @mixin hide-text($height: null) { 20 | overflow: hidden; 21 | text-indent: 101%; 22 | white-space: nowrap; 23 | 24 | @if $height { 25 | @warn "The `hide-text` mixin has changed and no longer requires a height. The height argument will no longer be accepted in v5.0.0"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_border-width.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-width` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-width(1em null 20px); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-bottom-width: 20px; 16 | /// border-top-width: 1em; 17 | /// } 18 | /// 19 | /// @require {mixin} directional-property 20 | /// 21 | /// @output `border-width` 22 | 23 | @mixin border-width($vals...) { 24 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 25 | $output-bourbon-deprecation-warnings: false !global; 26 | @include directional-property(border, width, $vals...); 27 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 28 | } 29 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_margin.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `margin` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include margin(null 10px 3em 20vh); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// margin-bottom: 3em; 16 | /// margin-left: 20vh; 17 | /// margin-right: 10px; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `margin` 23 | 24 | @mixin margin($vals...) { 25 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 26 | $output-bourbon-deprecation-warnings: false !global; 27 | @include directional-property(margin, false, $vals...); 28 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 29 | } 30 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_padding.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `padding` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include padding(12vh null 10px 5%); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// padding-bottom: 10px; 16 | /// padding-left: 5%; 17 | /// padding-top: 12vh; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `padding` 23 | 24 | @mixin padding($vals...) { 25 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 26 | $output-bourbon-deprecation-warnings: false !global; 27 | @include directional-property(padding, false, $vals...); 28 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 29 | } 30 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_border-style.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-style` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-style(dashed null solid); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-bottom-style: solid; 16 | /// border-top-style: dashed; 17 | /// } 18 | /// 19 | /// @require {mixin} directional-property 20 | /// 21 | /// @output `border-style` 22 | 23 | @mixin border-style($vals...) { 24 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 25 | $output-bourbon-deprecation-warnings: false !global; 26 | @include directional-property(border, style, $vals...); 27 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 28 | } 29 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_border-color.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-color` on specific sides of a box. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Arglist} $vals 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include border-color(#a60b55 #76cd9c null #e8ae1a); 11 | /// } 12 | /// 13 | /// @example css - CSS Output 14 | /// .element { 15 | /// border-left-color: #e8ae1a; 16 | /// border-right-color: #76cd9c; 17 | /// border-top-color: #a60b55; 18 | /// } 19 | /// 20 | /// @require {mixin} directional-property 21 | /// 22 | /// @output `border-color` 23 | 24 | @mixin border-color($vals...) { 25 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 26 | $output-bourbon-deprecation-warnings: false !global; 27 | @include directional-property(border, color, $vals...); 28 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 29 | } 30 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_gradient-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _gradient-positions-parser($gradient-type, $gradient-positions) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `_gradient-positions-parser` is " + 4 | "deprecated and will be removed in 5.0.0."; 5 | } 6 | 7 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 8 | $output-bourbon-deprecation-warnings: false !global; 9 | 10 | @if $gradient-positions 11 | and ($gradient-type == linear) 12 | and (type-of($gradient-positions) != color) { 13 | $gradient-positions: _linear-positions-parser($gradient-positions); 14 | } 15 | @else if $gradient-positions 16 | and ($gradient-type == radial) 17 | and (type-of($gradient-positions) != color) { 18 | $gradient-positions: _radial-positions-parser($gradient-positions); 19 | } 20 | 21 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 22 | 23 | @return $gradient-positions; 24 | } 25 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_retina-image.scss: -------------------------------------------------------------------------------- 1 | @mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { 2 | @include _bourbon-deprecate("retina-image"); 3 | 4 | @if $asset-pipeline { 5 | background-image: image-url("#{$filename}.#{$extension}"); 6 | } @else { 7 | background-image: url("#{$filename}.#{$extension}"); 8 | } 9 | 10 | @include hidpi { 11 | @if $asset-pipeline { 12 | @if $retina-filename { 13 | background-image: image-url("#{$retina-filename}.#{$extension}"); 14 | } @else { 15 | background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); 16 | } 17 | } @else { 18 | @if $retina-filename { 19 | background-image: url("#{$retina-filename}.#{$extension}"); 20 | } @else { 21 | background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); 22 | } 23 | } 24 | 25 | background-size: $background-size; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_text-decoration.scss: -------------------------------------------------------------------------------- 1 | @mixin text-decoration($value) { 2 | @include _bourbon-deprecate-for-prefixing("text-decoration"); 3 | 4 | // || || 5 | @include prefixer(text-decoration, $value, moz); 6 | } 7 | 8 | @mixin text-decoration-line($line: none) { 9 | @include _bourbon-deprecate-for-prefixing("text-decoration-line"); 10 | 11 | // none || underline || overline || line-through 12 | @include prefixer(text-decoration-line, $line, moz); 13 | } 14 | 15 | @mixin text-decoration-style($style: solid) { 16 | @include _bourbon-deprecate-for-prefixing("text-decoration-style"); 17 | 18 | // solid || double || dotted || dashed || wavy 19 | @include prefixer(text-decoration-style, $style, moz webkit); 20 | } 21 | 22 | @mixin text-decoration-color($color: currentColor) { 23 | @include _bourbon-deprecate-for-prefixing("text-decoration-color"); 24 | 25 | // currentColor || 26 | @include prefixer(text-decoration-color, $color, moz); 27 | } 28 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_radial-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-positions-parser($gradient-pos) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `_radial-positions-parser` is " + 4 | "deprecated and will be removed in 5.0.0."; 5 | } 6 | 7 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 8 | $output-bourbon-deprecation-warnings: false !global; 9 | 10 | $shape-size: nth($gradient-pos, 1); 11 | $pos: nth($gradient-pos, 2); 12 | $shape-size-spec: _shape-size-stripper($shape-size); 13 | 14 | $pre-spec: unquote(if($pos, "#{$pos}, ", null)) 15 | unquote(if($shape-size, "#{$shape-size},", null)); 16 | $pos-spec: if($pos, "at #{$pos}", null); 17 | 18 | $spec: "#{$shape-size-spec} #{$pos-spec}"; 19 | 20 | // Add comma 21 | @if ($spec != " ") { 22 | $spec: "#{$spec},"; 23 | } 24 | 25 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 26 | 27 | @return $pre-spec $spec; 28 | } 29 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_unpack.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Converts shorthand to the 4-value syntax. 4 | /// 5 | /// @param {List} $shorthand 6 | /// 7 | /// @example scss - Usage 8 | /// .element { 9 | /// margin: unpack(1em 2em); 10 | /// } 11 | /// 12 | /// @example css - CSS Output 13 | /// .element { 14 | /// margin: 1em 2em 1em 2em; 15 | /// } 16 | 17 | @function unpack($shorthand) { 18 | @if $output-bourbon-deprecation-warnings == true { 19 | @warn "[Bourbon] [Deprecation] `unpack` is deprecated and will be " + 20 | "removed in 5.0.0."; 21 | } 22 | 23 | @if length($shorthand) == 1 { 24 | @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); 25 | } @else if length($shorthand) == 2 { 26 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); 27 | } @else if length($shorthand) == 3 { 28 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); 29 | } @else { 30 | @return $shorthand; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /post.hbs: -------------------------------------------------------------------------------- 1 | {{!< default}} 2 | 3 | {{#post}} 4 | {{#if image}} 5 |
6 | 13 |
14 | 15 |
16 |
17 |
{{content}}
18 |
19 |
20 | {{else}} 21 |
22 |
23 | 26 | 27 |

{{title}}

28 | 29 | 32 | 33 |
{{content}}
34 |
35 |
36 | {{/if}} 37 | 38 | {{/post}} 39 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_convert-units.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for str-to-num fn. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _convert-units($number, $unit) { 6 | @if $output-bourbon-deprecation-warnings == true { 7 | @warn "[Bourbon] [Deprecation] `_convert-units` is deprecated and will " + 8 | "be removed in 5.0.0."; 9 | } 10 | 11 | $strings: "px", "cm", "mm", "%", "ch", "pica", "in", "em", "rem", "pt", "pc", "ex", "vw", "vh", "vmin", "vmax", "deg", "rad", "grad", "turn"; 12 | $units: 1px, 1cm, 1mm, 1%, 1ch, 1pica, 1in, 1em, 1rem, 1pt, 1pc, 1ex, 1vw, 1vh, 1vmin, 1vmax, 1deg, 1rad, 1grad, 1turn; 13 | $index: index($strings, $unit); 14 | 15 | @if not $index { 16 | @warn "Unknown unit `#{$unit}`."; 17 | @return false; 18 | } 19 | 20 | @if type-of($number) != "number" { 21 | @warn "`#{$number} is not a number`"; 22 | @return false; 23 | } 24 | 25 | @return $number * nth($units, $index); 26 | } 27 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_selection.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Outputs the spec and prefixed versions of the `::selection` pseudo-element. 4 | /// 5 | /// @param {Bool} $current-selector [false] 6 | /// If set to `true`, it takes the current element into consideration. 7 | /// 8 | /// @example scss - Usage 9 | /// .element { 10 | /// @include selection(true) { 11 | /// background-color: #ffbb52; 12 | /// } 13 | /// } 14 | /// 15 | /// @example css - CSS Output 16 | /// .element::-moz-selection { 17 | /// background-color: #ffbb52; 18 | /// } 19 | /// 20 | /// .element::selection { 21 | /// background-color: #ffbb52; 22 | /// } 23 | 24 | @mixin selection($current-selector: false) { 25 | @include _bourbon-deprecate-for-prefixing("selection"); 26 | 27 | @if $current-selector { 28 | &::-moz-selection { 29 | @content; 30 | } 31 | 32 | &::selection { 33 | @content; 34 | } 35 | } @else { 36 | ::-moz-selection { 37 | @content; 38 | } 39 | 40 | ::selection { 41 | @content; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_render-gradients.scss: -------------------------------------------------------------------------------- 1 | // User for linear and radial gradients within background-image or border-image properties 2 | 3 | @function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { 4 | @if $output-bourbon-deprecation-warnings == true { 5 | @warn "[Bourbon] [Deprecation] `_render-gradients` is " + 6 | "deprecated and will be removed in 5.0.0."; 7 | } 8 | 9 | $pre-spec: null; 10 | $spec: null; 11 | $vendor-gradients: null; 12 | @if $gradient-type == linear { 13 | @if $gradient-positions { 14 | $pre-spec: nth($gradient-positions, 1); 15 | $spec: nth($gradient-positions, 2); 16 | } 17 | } 18 | @else if $gradient-type == radial { 19 | $pre-spec: nth($gradient-positions, 1); 20 | $spec: nth($gradient-positions, 2); 21 | } 22 | 23 | @if $vendor { 24 | $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); 25 | } 26 | @else if $vendor == false { 27 | $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; 28 | $vendor-gradients: unquote($vendor-gradients); 29 | } 30 | @return $vendor-gradients; 31 | } 32 | -------------------------------------------------------------------------------- /UNLICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_border-radius.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for targeting `border-radius` on both corners on the side of a box. 4 | /// 5 | /// @param {Number} $radii 6 | /// List of arguments 7 | /// 8 | /// @example scss - Usage 9 | /// .element-one { 10 | /// @include border-top-radius(5px); 11 | /// } 12 | /// 13 | /// .element-two { 14 | /// @include border-left-radius(3px); 15 | /// } 16 | /// 17 | /// @example css - CSS Output 18 | /// .element-one { 19 | /// border-top-left-radius: 5px; 20 | /// border-top-right-radius: 5px; 21 | /// } 22 | /// 23 | /// .element-two { 24 | /// border-bottom-left-radius: 3px; 25 | /// border-top-left-radius: 3px; 26 | /// } 27 | /// 28 | /// @output `border-radius` 29 | 30 | @mixin border-top-radius($radii) { 31 | border-top-left-radius: $radii; 32 | border-top-right-radius: $radii; 33 | } 34 | 35 | @mixin border-right-radius($radii) { 36 | border-bottom-right-radius: $radii; 37 | border-top-right-radius: $radii; 38 | } 39 | 40 | @mixin border-bottom-radius($radii) { 41 | border-bottom-left-radius: $radii; 42 | border-bottom-right-radius: $radii; 43 | } 44 | 45 | @mixin border-left-radius($radii) { 46 | border-bottom-left-radius: $radii; 47 | border-top-left-radius: $radii; 48 | } 49 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_linear-angle-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-angle-parser($image, $first-val, $prefix, $suffix) { 3 | @if $output-bourbon-deprecation-warnings == true { 4 | @warn "[Bourbon] [Deprecation] `_linear-angle-parser` is " + 5 | "deprecated and will be removed in 5.0.0."; 6 | } 7 | 8 | $offset: null; 9 | $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); 10 | $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); 11 | 12 | @if ($unit-long == "grad") or 13 | ($unit-long == "turn") { 14 | $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); 15 | } 16 | 17 | @else if ($unit-short == "deg") or 18 | ($unit-short == "rad") { 19 | $offset: if($unit-short == "deg", -90 * 3, 1.6rad); 20 | } 21 | 22 | @if $offset { 23 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 24 | $output-bourbon-deprecation-warnings: false !global; 25 | 26 | $num: _str-to-num($first-val); 27 | 28 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 29 | 30 | @return ( 31 | webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, 32 | spec-image: $image 33 | ); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_keyframes.scss: -------------------------------------------------------------------------------- 1 | // Adds keyframes blocks for supported prefixes, removing redundant prefixes in the block's content 2 | @mixin keyframes($name) { 3 | @include _bourbon-deprecate-for-prefixing("keyframes"); 4 | 5 | $original-prefix-for-webkit: $prefix-for-webkit; 6 | $original-prefix-for-mozilla: $prefix-for-mozilla; 7 | $original-prefix-for-microsoft: $prefix-for-microsoft; 8 | $original-prefix-for-opera: $prefix-for-opera; 9 | $original-prefix-for-spec: $prefix-for-spec; 10 | 11 | @if $original-prefix-for-webkit { 12 | @include disable-prefix-for-all(); 13 | $prefix-for-webkit: true !global; 14 | @-webkit-keyframes #{$name} { 15 | @content; 16 | } 17 | } 18 | 19 | @if $original-prefix-for-mozilla { 20 | @include disable-prefix-for-all(); 21 | $prefix-for-mozilla: true !global; 22 | @-moz-keyframes #{$name} { 23 | @content; 24 | } 25 | } 26 | 27 | $prefix-for-webkit: $original-prefix-for-webkit !global; 28 | $prefix-for-mozilla: $original-prefix-for-mozilla !global; 29 | $prefix-for-microsoft: $original-prefix-for-microsoft !global; 30 | $prefix-for-opera: $original-prefix-for-opera !global; 31 | $prefix-for-spec: $original-prefix-for-spec !global; 32 | 33 | @if $original-prefix-for-spec { 34 | @keyframes #{$name} { 35 | @content; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_transition-property-name.scss: -------------------------------------------------------------------------------- 1 | // Return vendor-prefixed property names if appropriate 2 | // Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background 3 | //************************************************************************// 4 | @function transition-property-names($props, $vendor: false) { 5 | @if $output-bourbon-deprecation-warnings == true { 6 | @warn "[Bourbon] [Deprecation] `transition-property-names` is deprecated " + 7 | "and will be removed in 5.0.0."; 8 | } 9 | 10 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 11 | $output-bourbon-deprecation-warnings: false !global; 12 | 13 | $new-props: (); 14 | 15 | @each $prop in $props { 16 | $new-props: append($new-props, transition-property-name($prop, $vendor), comma); 17 | } 18 | 19 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 20 | 21 | @return $new-props; 22 | } 23 | 24 | @function transition-property-name($prop, $vendor: false) { 25 | @if $output-bourbon-deprecation-warnings == true { 26 | @warn "[Bourbon] [Deprecation] `transition-property-name` is deprecated " + 27 | "and will be removed in 5.0.0."; 28 | } 29 | 30 | // put other properties that need to be prefixed here aswell 31 | @if $vendor and $prop == transform { 32 | @return unquote('-'+$vendor+'-'+$prop); 33 | } 34 | @else { 35 | @return $prop; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_linear-side-corner-parser.scss: -------------------------------------------------------------------------------- 1 | // Private function for linear-gradient-parser 2 | @function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { 3 | @if $output-bourbon-deprecation-warnings == true { 4 | @warn "[Bourbon] [Deprecation] `_linear-side-corner-parser` is " + 5 | "deprecated and will be removed in 5.0.0."; 6 | } 7 | 8 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 9 | $output-bourbon-deprecation-warnings: false !global; 10 | 11 | $val-1: str-slice($first-val, 1, $has-multiple-vals - 1); 12 | $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); 13 | $val-3: null; 14 | $has-val-3: str-index($val-2, " "); 15 | 16 | @if $has-val-3 { 17 | $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); 18 | $val-2: str-slice($val-2, 1, $has-val-3 - 1); 19 | } 20 | 21 | $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); 22 | $pos: unquote($pos + ""); 23 | 24 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 25 | 26 | // Use old spec for webkit 27 | @if $val-1 == "to" { 28 | @return ( 29 | webkit-image: -webkit- + $prefix + $pos + $suffix, 30 | spec-image: $image 31 | ); 32 | } 33 | 34 | // Bring the code up to spec 35 | @else { 36 | @return ( 37 | webkit-image: -webkit- + $image, 38 | spec-image: $prefix + "to " + $pos + $suffix 39 | ); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /assets/sass/_solarized-dark.scss: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #002b36; 12 | color: #839496; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #586e75; 18 | } 19 | 20 | /* Solarized Green */ 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-addition { 24 | color: #859900; 25 | } 26 | 27 | /* Solarized Cyan */ 28 | .hljs-number, 29 | .hljs-string, 30 | .hljs-meta .hljs-meta-string, 31 | .hljs-literal, 32 | .hljs-doctag, 33 | .hljs-regexp { 34 | color: #2aa198; 35 | } 36 | 37 | /* Solarized Blue */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-name, 41 | .hljs-selector-id, 42 | .hljs-selector-class { 43 | color: #268bd2; 44 | } 45 | 46 | /* Solarized Yellow */ 47 | .hljs-attribute, 48 | .hljs-attr, 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-class .hljs-title, 52 | .hljs-type { 53 | color: #b58900; 54 | } 55 | 56 | /* Solarized Orange */ 57 | .hljs-symbol, 58 | .hljs-bullet, 59 | .hljs-subst, 60 | .hljs-meta, 61 | .hljs-meta .hljs-keyword, 62 | .hljs-selector-attr, 63 | .hljs-selector-pseudo, 64 | .hljs-link { 65 | color: #cb4b16; 66 | } 67 | 68 | /* Solarized Red */ 69 | .hljs-built_in, 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #073642; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_linear-gradient.scss: -------------------------------------------------------------------------------- 1 | @mixin linear-gradient($pos, $g1, $g2: null, 2 | $g3: null, $g4: null, 3 | $g5: null, $g6: null, 4 | $g7: null, $g8: null, 5 | $g9: null, $g10: null, 6 | $fallback: null) { 7 | @include _bourbon-deprecate-for-prefixing("linear-gradient"); 8 | 9 | // Detect what type of value exists in $pos 10 | $pos-type: type-of(nth($pos, 1)); 11 | $pos-spec: null; 12 | $pos-degree: null; 13 | 14 | // If $pos is missing from mixin, reassign vars and add default position 15 | @if ($pos-type == color) or (nth($pos, 1) == "transparent") { 16 | $g10: $g9; $g9: $g8; $g8: $g7; $g7: $g6; $g6: $g5; 17 | $g5: $g4; $g4: $g3; $g3: $g2; $g2: $g1; $g1: $pos; 18 | $pos: null; 19 | } 20 | 21 | @if $pos { 22 | $positions: _linear-positions-parser($pos); 23 | $pos-degree: nth($positions, 1); 24 | $pos-spec: nth($positions, 2); 25 | } 26 | 27 | $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10; 28 | 29 | // Set $g1 as the default fallback color 30 | $fallback-color: nth($g1, 1); 31 | 32 | // If $fallback is a color use that color as the fallback color 33 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 34 | $fallback-color: $fallback; 35 | } 36 | 37 | background-color: $fallback-color; 38 | background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome 39 | background-image: unquote("linear-gradient(#{$pos-spec}#{$full})"); 40 | } 41 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_position.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Provides a quick method for setting an element’s position. Use a `null` value to “skip” a side. 4 | /// 5 | /// @param {Position} $position [relative] 6 | /// A CSS position value 7 | /// 8 | /// @param {Arglist} $coordinates [null null null null] 9 | /// List of values that correspond to the 4-value syntax for the edges of a box 10 | /// 11 | /// @example scss - Usage 12 | /// .element { 13 | /// @include position(absolute, 0 null null 10em); 14 | /// } 15 | /// 16 | /// @example css - CSS Output 17 | /// .element { 18 | /// left: 10em; 19 | /// position: absolute; 20 | /// top: 0; 21 | /// } 22 | /// 23 | /// @require {function} is-length 24 | /// @require {function} unpack 25 | 26 | @mixin position($position: relative, $coordinates: null null null null) { 27 | @if type-of($position) == list { 28 | $coordinates: $position; 29 | $position: relative; 30 | } 31 | 32 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 33 | $output-bourbon-deprecation-warnings: false !global; 34 | $coordinates: unpack($coordinates); 35 | 36 | $offsets: ( 37 | top: nth($coordinates, 1), 38 | right: nth($coordinates, 2), 39 | bottom: nth($coordinates, 3), 40 | left: nth($coordinates, 4) 41 | ); 42 | 43 | position: $position; 44 | 45 | @each $offset, $value in $offsets { 46 | @if is-length($value) { 47 | #{$offset}: $value; 48 | } 49 | } 50 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 51 | } 52 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_size.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Sets the `width` and `height` of the element. 4 | /// 5 | /// @param {List} $size 6 | /// A list of at most 2 size values. 7 | /// 8 | /// If there is only a single value in `$size` it is used for both width and height. All units are supported. 9 | /// 10 | /// @example scss - Usage 11 | /// .first-element { 12 | /// @include size(2em); 13 | /// } 14 | /// 15 | /// .second-element { 16 | /// @include size(auto 10em); 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// .first-element { 21 | /// width: 2em; 22 | /// height: 2em; 23 | /// } 24 | /// 25 | /// .second-element { 26 | /// width: auto; 27 | /// height: 10em; 28 | /// } 29 | /// 30 | /// @todo Refactor in 5.0.0 to use a comma-separated argument 31 | 32 | @mixin size($value) { 33 | $width: nth($value, 1); 34 | $height: $width; 35 | 36 | @if length($value) > 1 { 37 | $height: nth($value, 2); 38 | } 39 | 40 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 41 | $output-bourbon-deprecation-warnings: false !global; 42 | 43 | @if is-size($height) { 44 | height: $height; 45 | } @else { 46 | @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin."; 47 | } 48 | 49 | @if is-size($width) { 50 | width: $width; 51 | } @else { 52 | @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin."; 53 | } 54 | 55 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 56 | } 57 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_background-image.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background-image property for adding multiple background images with 3 | // gradients, or for stringing multiple gradients together. 4 | //************************************************************************// 5 | 6 | @mixin background-image($images...) { 7 | @include _bourbon-deprecate-for-prefixing("background-image"); 8 | 9 | $webkit-images: (); 10 | $spec-images: (); 11 | 12 | @each $image in $images { 13 | $webkit-image: (); 14 | $spec-image: (); 15 | 16 | @if (type-of($image) == string) { 17 | $url-str: str-slice($image, 1, 3); 18 | $gradient-type: str-slice($image, 1, 6); 19 | 20 | @if $url-str == "url" { 21 | $webkit-image: $image; 22 | $spec-image: $image; 23 | } 24 | 25 | @else if $gradient-type == "linear" { 26 | $gradients: _linear-gradient-parser($image); 27 | $webkit-image: map-get($gradients, webkit-image); 28 | $spec-image: map-get($gradients, spec-image); 29 | } 30 | 31 | @else if $gradient-type == "radial" { 32 | $gradients: _radial-gradient-parser($image); 33 | $webkit-image: map-get($gradients, webkit-image); 34 | $spec-image: map-get($gradients, spec-image); 35 | } 36 | } 37 | 38 | $webkit-images: append($webkit-images, $webkit-image, comma); 39 | $spec-images: append($spec-images, $spec-image, comma); 40 | } 41 | 42 | background-image: $webkit-images; 43 | background-image: $spec-images; 44 | } 45 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_radial-gradient.scss: -------------------------------------------------------------------------------- 1 | // Requires Sass 3.1+ 2 | @mixin radial-gradient($g1, $g2, 3 | $g3: null, $g4: null, 4 | $g5: null, $g6: null, 5 | $g7: null, $g8: null, 6 | $g9: null, $g10: null, 7 | $pos: null, 8 | $shape-size: null, 9 | $fallback: null) { 10 | @include _bourbon-deprecate-for-prefixing("radial-gradient"); 11 | 12 | $data: _radial-arg-parser($g1, $g2, $pos, $shape-size); 13 | $g1: nth($data, 1); 14 | $g2: nth($data, 2); 15 | $pos: nth($data, 3); 16 | $shape-size: nth($data, 4); 17 | 18 | $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10; 19 | 20 | // Strip deprecated cover/contain for spec 21 | $shape-size-spec: _shape-size-stripper($shape-size); 22 | 23 | // Set $g1 as the default fallback color 24 | $first-color: nth($full, 1); 25 | $fallback-color: nth($first-color, 1); 26 | 27 | @if (type-of($fallback) == color) or ($fallback == "transparent") { 28 | $fallback-color: $fallback; 29 | } 30 | 31 | // Add Commas and spaces 32 | $shape-size: if($shape-size, "#{$shape-size}, ", null); 33 | $pos: if($pos, "#{$pos}, ", null); 34 | $pos-spec: if($pos, "at #{$pos}", null); 35 | $shape-size-spec: if(($shape-size-spec != " ") and ($pos == null), "#{$shape-size-spec}, ", "#{$shape-size-spec} "); 36 | 37 | background-color: $fallback-color; 38 | background-image: -webkit-radial-gradient(#{$pos}#{$shape-size}#{$full}); 39 | background-image: radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full}); 40 | } 41 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_font-source-declaration.scss: -------------------------------------------------------------------------------- 1 | // Used for creating the source string for fonts using @font-face 2 | // Reference: http://goo.gl/Ru1bKP 3 | 4 | @function font-url-prefixer($asset-pipeline) { 5 | @if $output-bourbon-deprecation-warnings == true { 6 | @warn "[Bourbon] [Deprecation] `font-url-prefixer` is deprecated and " + 7 | "will be removed in 5.0.0."; 8 | } 9 | 10 | @if $asset-pipeline == true { 11 | @return font-url; 12 | } @else { 13 | @return url; 14 | } 15 | } 16 | 17 | @function font-source-declaration( 18 | $font-family, 19 | $file-path, 20 | $asset-pipeline, 21 | $file-formats, 22 | $font-url) { 23 | 24 | @if $output-bourbon-deprecation-warnings == true { 25 | @warn "[Bourbon] [Deprecation] `font-source-declaration` is deprecated " + 26 | "and will be removed in 5.0.0."; 27 | } 28 | 29 | $src: (); 30 | 31 | $formats-map: ( 32 | eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"), 33 | woff2: "#{$file-path}.woff2" format("woff2"), 34 | woff: "#{$file-path}.woff" format("woff"), 35 | ttf: "#{$file-path}.ttf" format("truetype"), 36 | svg: "#{$file-path}.svg##{$font-family}" format("svg") 37 | ); 38 | 39 | @each $key, $values in $formats-map { 40 | @if contains($file-formats, $key) { 41 | $file-path: nth($values, 1); 42 | $font-format: nth($values, 2); 43 | 44 | @if $asset-pipeline == true { 45 | $src: append($src, font-url($file-path) $font-format, comma); 46 | } @else { 47 | $src: append($src, url($file-path) $font-format, comma); 48 | } 49 | } 50 | } 51 | 52 | @return $src; 53 | } 54 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_str-to-num.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Helper function for linear/radial-gradient-parsers. 3 | // Source: http://sassmeister.com/gist/9647408 4 | //************************************************************************// 5 | @function _str-to-num($string) { 6 | @if $output-bourbon-deprecation-warnings == true { 7 | @warn "[Bourbon] [Deprecation] `_str-to-num` is " + 8 | "deprecated and will be removed in 5.0.0."; 9 | } 10 | 11 | // Matrices 12 | $strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"; 13 | $numbers: 0 1 2 3 4 5 6 7 8 9; 14 | 15 | // Result 16 | $result: 0; 17 | $divider: 0; 18 | $minus: false; 19 | 20 | // Looping through all characters 21 | @for $i from 1 through str-length($string) { 22 | $character: str-slice($string, $i, $i); 23 | $index: index($strings, $character); 24 | 25 | @if $character == "-" { 26 | $minus: true; 27 | } 28 | 29 | @else if $character == "." { 30 | $divider: 1; 31 | } 32 | 33 | @else { 34 | @if not $index { 35 | $result: if($minus, $result * -1, $result); 36 | @return _convert-units($result, str-slice($string, $i)); 37 | } 38 | 39 | $number: nth($numbers, $index); 40 | 41 | @if $divider == 0 { 42 | $result: $result * 10; 43 | } 44 | 45 | @else { 46 | // Move the decimal dot to the left 47 | $divider: $divider * 10; 48 | $number: $number / $divider; 49 | } 50 | 51 | $result: $result + $number; 52 | } 53 | } 54 | @return if($minus, $result * -1, $result); 55 | } 56 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_radial-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-gradient-parser($image) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `_radial-gradient-parser` is " + 4 | "deprecated and will be removed in 5.0.0."; 5 | } 6 | 7 | $image: unquote($image); 8 | $gradients: (); 9 | $start: str-index($image, "("); 10 | $end: str-index($image, ","); 11 | $first-val: str-slice($image, $start + 1, $end - 1); 12 | 13 | $prefix: str-slice($image, 1, $start); 14 | $suffix: str-slice($image, $end, str-length($image)); 15 | 16 | $is-spec-syntax: str-index($first-val, "at"); 17 | 18 | @if $is-spec-syntax and $is-spec-syntax > 1 { 19 | $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); 20 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 21 | $pos: append($pos, $keyword, comma); 22 | 23 | $gradients: ( 24 | webkit-image: -webkit- + $prefix + $pos + $suffix, 25 | spec-image: $image 26 | ); 27 | } 28 | 29 | @else if $is-spec-syntax == 1 { 30 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); 31 | 32 | $gradients: ( 33 | webkit-image: -webkit- + $prefix + $pos + $suffix, 34 | spec-image: $image 35 | ); 36 | } 37 | 38 | @else if str-index($image, "cover") or str-index($image, "contain") { 39 | @warn "Radial-gradient needs to be updated to conform to latest spec."; 40 | 41 | $gradients: ( 42 | webkit-image: null, 43 | spec-image: $image 44 | ); 45 | } 46 | 47 | @else { 48 | $gradients: ( 49 | webkit-image: -webkit- + $image, 50 | spec-image: $image 51 | ); 52 | } 53 | 54 | @return $gradients; 55 | } 56 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_linear-gradient-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-gradient-parser($image) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `_linear-gradient-parser` is " + 4 | "deprecated and will be removed in 5.0.0."; 5 | } 6 | 7 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 8 | $output-bourbon-deprecation-warnings: false !global; 9 | 10 | $image: unquote($image); 11 | $gradients: (); 12 | $start: str-index($image, "("); 13 | $end: str-index($image, ","); 14 | $first-val: str-slice($image, $start + 1, $end - 1); 15 | 16 | $prefix: str-slice($image, 1, $start); 17 | $suffix: str-slice($image, $end, str-length($image)); 18 | 19 | $has-multiple-vals: str-index($first-val, " "); 20 | $has-single-position: unquote(_position-flipper($first-val) + ""); 21 | $has-angle: is-number(str-slice($first-val, 1, 1)); 22 | 23 | @if $has-multiple-vals { 24 | $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); 25 | } 26 | 27 | @else if $has-single-position != "" { 28 | $pos: unquote($has-single-position + ""); 29 | 30 | $gradients: ( 31 | webkit-image: -webkit- + $image, 32 | spec-image: $prefix + "to " + $pos + $suffix 33 | ); 34 | } 35 | 36 | @else if $has-angle { 37 | // Rotate degree for webkit 38 | $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); 39 | } 40 | 41 | @else { 42 | $gradients: ( 43 | webkit-image: -webkit- + $image, 44 | spec-image: $image 45 | ); 46 | } 47 | 48 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 49 | 50 | @return $gradients; 51 | } 52 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_timing-functions.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) 4 | /// 5 | /// Timing functions are the same as demoed here: http://jqueryui.com/resources/demos/effect/easing.html 6 | /// 7 | /// @type cubic-bezier 8 | 9 | $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); 10 | $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); 11 | $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); 12 | $ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); 13 | $ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); 14 | $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); 15 | $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); 16 | $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); 17 | 18 | $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); 19 | $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); 20 | $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); 21 | $ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); 22 | $ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); 23 | $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); 24 | $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); 25 | $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); 26 | 27 | $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); 28 | $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); 29 | $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); 30 | $ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); 31 | $ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); 32 | $ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); 33 | $ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); 34 | $ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); 35 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_prefixer.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// A mixin for generating vendor prefixes on non-standardized properties. 4 | /// 5 | /// @param {String} $property 6 | /// Property to prefix 7 | /// 8 | /// @param {*} $value 9 | /// Value to use 10 | /// 11 | /// @param {List} $prefixes 12 | /// Prefixes to define 13 | /// 14 | /// @example scss - Usage 15 | /// .element { 16 | /// @include prefixer(border-radius, 10px, webkit ms spec); 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// .element { 21 | /// -webkit-border-radius: 10px; 22 | /// -moz-border-radius: 10px; 23 | /// border-radius: 10px; 24 | /// } 25 | /// 26 | /// @require {variable} $prefix-for-webkit 27 | /// @require {variable} $prefix-for-mozilla 28 | /// @require {variable} $prefix-for-microsoft 29 | /// @require {variable} $prefix-for-opera 30 | /// @require {variable} $prefix-for-spec 31 | 32 | @mixin prefixer($property, $value, $prefixes) { 33 | @each $prefix in $prefixes { 34 | @if $prefix == webkit { 35 | @if $prefix-for-webkit { 36 | -webkit-#{$property}: $value; 37 | } 38 | } @else if $prefix == moz { 39 | @if $prefix-for-mozilla { 40 | -moz-#{$property}: $value; 41 | } 42 | } @else if $prefix == ms { 43 | @if $prefix-for-microsoft { 44 | -ms-#{$property}: $value; 45 | } 46 | } @else if $prefix == o { 47 | @if $prefix-for-opera { 48 | -o-#{$property}: $value; 49 | } 50 | } @else if $prefix == spec { 51 | @if $prefix-for-spec { 52 | #{$property}: $value; 53 | } 54 | } @else { 55 | @warn "Unrecognized prefix: #{$prefix}"; 56 | } 57 | } 58 | } 59 | 60 | @mixin disable-prefix-for-all() { 61 | $prefix-for-webkit: false !global; 62 | $prefix-for-mozilla: false !global; 63 | $prefix-for-microsoft: false !global; 64 | $prefix-for-opera: false !global; 65 | $prefix-for-spec: false !global; 66 | } 67 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_background.scss: -------------------------------------------------------------------------------- 1 | //************************************************************************// 2 | // Background property for adding multiple backgrounds using shorthand 3 | // notation. 4 | //************************************************************************// 5 | 6 | @mixin background($backgrounds...) { 7 | @include _bourbon-deprecate-for-prefixing("background"); 8 | 9 | $webkit-backgrounds: (); 10 | $spec-backgrounds: (); 11 | 12 | @each $background in $backgrounds { 13 | $webkit-background: (); 14 | $spec-background: (); 15 | $background-type: type-of($background); 16 | 17 | @if $background-type == string or $background-type == list { 18 | $background-str: if($background-type == list, nth($background, 1), $background); 19 | 20 | $url-str: str-slice($background-str, 1, 3); 21 | $gradient-type: str-slice($background-str, 1, 6); 22 | 23 | @if $url-str == "url" { 24 | $webkit-background: $background; 25 | $spec-background: $background; 26 | } 27 | 28 | @else if $gradient-type == "linear" { 29 | $gradients: _linear-gradient-parser("#{$background}"); 30 | $webkit-background: map-get($gradients, webkit-image); 31 | $spec-background: map-get($gradients, spec-image); 32 | } 33 | 34 | @else if $gradient-type == "radial" { 35 | $gradients: _radial-gradient-parser("#{$background}"); 36 | $webkit-background: map-get($gradients, webkit-image); 37 | $spec-background: map-get($gradients, spec-image); 38 | } 39 | 40 | @else { 41 | $webkit-background: $background; 42 | $spec-background: $background; 43 | } 44 | } 45 | 46 | @else { 47 | $webkit-background: $background; 48 | $spec-background: $background; 49 | } 50 | 51 | $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); 52 | $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); 53 | } 54 | 55 | background: $webkit-backgrounds; 56 | background: $spec-backgrounds; 57 | } 58 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_border-image.scss: -------------------------------------------------------------------------------- 1 | @mixin border-image($borders...) { 2 | @include _bourbon-deprecate-for-prefixing("border-image"); 3 | 4 | $webkit-borders: (); 5 | $spec-borders: (); 6 | 7 | @each $border in $borders { 8 | $webkit-border: (); 9 | $spec-border: (); 10 | $border-type: type-of($border); 11 | 12 | @if $border-type == string or list { 13 | $border-str: if($border-type == list, nth($border, 1), $border); 14 | 15 | $url-str: str-slice($border-str, 1, 3); 16 | $gradient-type: str-slice($border-str, 1, 6); 17 | 18 | @if $url-str == "url" { 19 | $webkit-border: $border; 20 | $spec-border: $border; 21 | } 22 | 23 | @else if $gradient-type == "linear" { 24 | $gradients: _linear-gradient-parser("#{$border}"); 25 | $webkit-border: map-get($gradients, webkit-image); 26 | $spec-border: map-get($gradients, spec-image); 27 | } 28 | 29 | @else if $gradient-type == "radial" { 30 | $gradients: _radial-gradient-parser("#{$border}"); 31 | $webkit-border: map-get($gradients, webkit-image); 32 | $spec-border: map-get($gradients, spec-image); 33 | } 34 | 35 | @else { 36 | $webkit-border: $border; 37 | $spec-border: $border; 38 | } 39 | } 40 | 41 | @else { 42 | $webkit-border: $border; 43 | $spec-border: $border; 44 | } 45 | 46 | $webkit-borders: append($webkit-borders, $webkit-border, comma); 47 | $spec-borders: append($spec-borders, $spec-border, comma); 48 | } 49 | 50 | -webkit-border-image: $webkit-borders; 51 | border-image: $spec-borders; 52 | border-style: solid; 53 | } 54 | 55 | //Examples: 56 | // @include border-image(url("image.png")); 57 | // @include border-image(url("image.png") 20 stretch); 58 | // @include border-image(linear-gradient(45deg, orange, yellow)); 59 | // @include border-image(linear-gradient(45deg, orange, yellow) stretch); 60 | // @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); 61 | // @include border-image(radial-gradient(top, cover, orange, yellow, orange)); 62 | -------------------------------------------------------------------------------- /assets/sass/bourbon/functions/_modular-scale.scss: -------------------------------------------------------------------------------- 1 | // Scaling Variables 2 | $golden: 1.618; 3 | $minor-second: 1.067; 4 | $major-second: 1.125; 5 | $minor-third: 1.2; 6 | $major-third: 1.25; 7 | $perfect-fourth: 1.333; 8 | $augmented-fourth: 1.414; 9 | $perfect-fifth: 1.5; 10 | $minor-sixth: 1.6; 11 | $major-sixth: 1.667; 12 | $minor-seventh: 1.778; 13 | $major-seventh: 1.875; 14 | $octave: 2; 15 | $major-tenth: 2.5; 16 | $major-eleventh: 2.667; 17 | $major-twelfth: 3; 18 | $double-octave: 4; 19 | 20 | $user-output-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 21 | $output-bourbon-deprecation-warnings: false; 22 | 23 | $modular-scale-ratio: $perfect-fourth !default; 24 | $modular-scale-base: em($em-base) !default; 25 | 26 | $output-bourbon-deprecation-warnings: $user-output-deprecation-warnings-setting; 27 | 28 | @function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) { 29 | $v1: nth($value, 1); 30 | $v2: nth($value, length($value)); 31 | $value: $v1; 32 | 33 | // scale $v2 to just above $v1 34 | @while $v2 > $v1 { 35 | $v2: ($v2 / $ratio); // will be off-by-1 36 | } 37 | @while $v2 < $v1 { 38 | $v2: ($v2 * $ratio); // will fix off-by-1 39 | } 40 | 41 | // check AFTER scaling $v2 to prevent double-counting corner-case 42 | $double-stranded: $v2 > $v1; 43 | 44 | @if $increment > 0 { 45 | @for $i from 1 through $increment { 46 | @if $double-stranded and ($v1 * $ratio) > $v2 { 47 | $value: $v2; 48 | $v2: ($v2 * $ratio); 49 | } @else { 50 | $v1: ($v1 * $ratio); 51 | $value: $v1; 52 | } 53 | } 54 | } 55 | 56 | @if $increment < 0 { 57 | // adjust $v2 to just below $v1 58 | @if $double-stranded { 59 | $v2: ($v2 / $ratio); 60 | } 61 | 62 | @for $i from $increment through -1 { 63 | @if $double-stranded and ($v1 / $ratio) < $v2 { 64 | $value: $v2; 65 | $v2: ($v2 / $ratio); 66 | } @else { 67 | $v1: ($v1 / $ratio); 68 | $value: $v1; 69 | } 70 | } 71 | } 72 | 73 | @return $value; 74 | } 75 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_columns.scss: -------------------------------------------------------------------------------- 1 | @mixin columns($arg: auto) { 2 | @include _bourbon-deprecate-for-prefixing("columns"); 3 | 4 | // || 5 | @include prefixer(columns, $arg, webkit moz spec); 6 | } 7 | 8 | @mixin column-count($int: auto) { 9 | @include _bourbon-deprecate-for-prefixing("column-count"); 10 | 11 | // auto || integer 12 | @include prefixer(column-count, $int, webkit moz spec); 13 | } 14 | 15 | @mixin column-gap($length: normal) { 16 | @include _bourbon-deprecate-for-prefixing("column-gap"); 17 | 18 | // normal || length 19 | @include prefixer(column-gap, $length, webkit moz spec); 20 | } 21 | 22 | @mixin column-fill($arg: auto) { 23 | @include _bourbon-deprecate-for-prefixing("column-fill"); 24 | 25 | // auto || length 26 | @include prefixer(column-fill, $arg, webkit moz spec); 27 | } 28 | 29 | @mixin column-rule($arg) { 30 | @include _bourbon-deprecate-for-prefixing("column-rule"); 31 | 32 | // || || 33 | @include prefixer(column-rule, $arg, webkit moz spec); 34 | } 35 | 36 | @mixin column-rule-color($color) { 37 | @include _bourbon-deprecate-for-prefixing("column-rule-color"); 38 | 39 | @include prefixer(column-rule-color, $color, webkit moz spec); 40 | } 41 | 42 | @mixin column-rule-style($style: none) { 43 | @include _bourbon-deprecate-for-prefixing("column-rule-style"); 44 | 45 | // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid 46 | @include prefixer(column-rule-style, $style, webkit moz spec); 47 | } 48 | 49 | @mixin column-rule-width($width: none) { 50 | @include _bourbon-deprecate-for-prefixing("column-rule-width"); 51 | 52 | @include prefixer(column-rule-width, $width, webkit moz spec); 53 | } 54 | 55 | @mixin column-span($arg: none) { 56 | @include _bourbon-deprecate-for-prefixing("column-span"); 57 | 58 | // none || all 59 | @include prefixer(column-span, $arg, webkit moz spec); 60 | } 61 | 62 | @mixin column-width($length: auto) { 63 | @include _bourbon-deprecate-for-prefixing("column-width"); 64 | 65 | // auto || length 66 | @include prefixer(column-width, $length, webkit moz spec); 67 | } 68 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_buttons.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Generates variables for all buttons. Please note that you must use interpolation on the variable: `#{$all-buttons}`. 4 | /// 5 | /// @example scss - Usage 6 | /// #{$all-buttons} { 7 | /// background-color: #f00; 8 | /// } 9 | /// 10 | /// #{$all-buttons-focus}, 11 | /// #{$all-buttons-hover} { 12 | /// background-color: #0f0; 13 | /// } 14 | /// 15 | /// #{$all-buttons-active} { 16 | /// background-color: #00f; 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// button, 21 | /// input[type="button"], 22 | /// input[type="reset"], 23 | /// input[type="submit"] { 24 | /// background-color: #f00; 25 | /// } 26 | /// 27 | /// button:focus, 28 | /// input[type="button"]:focus, 29 | /// input[type="reset"]:focus, 30 | /// input[type="submit"]:focus, 31 | /// button:hover, 32 | /// input[type="button"]:hover, 33 | /// input[type="reset"]:hover, 34 | /// input[type="submit"]:hover { 35 | /// background-color: #0f0; 36 | /// } 37 | /// 38 | /// button:active, 39 | /// input[type="button"]:active, 40 | /// input[type="reset"]:active, 41 | /// input[type="submit"]:active { 42 | /// background-color: #00f; 43 | /// } 44 | /// 45 | /// @require assign-inputs 46 | /// 47 | /// @type List 48 | /// 49 | /// @todo Remove double assigned variables (Lines 59–62) in v5.0.0 50 | 51 | $buttons-list: 'button', 52 | 'input[type="button"]', 53 | 'input[type="reset"]', 54 | 'input[type="submit"]'; 55 | 56 | $user-output-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 57 | $output-bourbon-deprecation-warnings: false; 58 | 59 | $all-buttons: assign-inputs($buttons-list); 60 | $all-buttons-active: assign-inputs($buttons-list, active); 61 | $all-buttons-focus: assign-inputs($buttons-list, focus); 62 | $all-buttons-hover: assign-inputs($buttons-list, hover); 63 | 64 | $output-bourbon-deprecation-warnings: $user-output-deprecation-warnings-setting; 65 | 66 | $all-button-inputs: $all-buttons; 67 | $all-button-inputs-active: $all-buttons-active; 68 | $all-button-inputs-focus: $all-buttons-focus; 69 | $all-button-inputs-hover: $all-buttons-hover; 70 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_radial-arg-parser.scss: -------------------------------------------------------------------------------- 1 | @function _radial-arg-parser($g1, $g2, $pos, $shape-size) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `_radial-arg-parser` is " + 4 | "deprecated and will be removed in 5.0.0."; 5 | } 6 | 7 | @each $value in $g1, $g2 { 8 | $first-val: nth($value, 1); 9 | $pos-type: type-of($first-val); 10 | $spec-at-index: null; 11 | 12 | // Determine if spec was passed to mixin 13 | @if type-of($value) == list { 14 | $spec-at-index: if(index($value, at), index($value, at), false); 15 | } 16 | @if $spec-at-index { 17 | @if $spec-at-index > 1 { 18 | @for $i from 1 through ($spec-at-index - 1) { 19 | $shape-size: $shape-size nth($value, $i); 20 | } 21 | @for $i from ($spec-at-index + 1) through length($value) { 22 | $pos: $pos nth($value, $i); 23 | } 24 | } 25 | @else if $spec-at-index == 1 { 26 | @for $i from ($spec-at-index + 1) through length($value) { 27 | $pos: $pos nth($value, $i); 28 | } 29 | } 30 | $g1: null; 31 | } 32 | 33 | // If not spec calculate correct values 34 | @else { 35 | @if ($pos-type != color) or ($first-val != "transparent") { 36 | @if ($pos-type == number) 37 | or ($first-val == "center") 38 | or ($first-val == "top") 39 | or ($first-val == "right") 40 | or ($first-val == "bottom") 41 | or ($first-val == "left") { 42 | 43 | $pos: $value; 44 | 45 | @if $pos == $g1 { 46 | $g1: null; 47 | } 48 | } 49 | 50 | @else if 51 | ($first-val == "ellipse") 52 | or ($first-val == "circle") 53 | or ($first-val == "closest-side") 54 | or ($first-val == "closest-corner") 55 | or ($first-val == "farthest-side") 56 | or ($first-val == "farthest-corner") 57 | or ($first-val == "contain") 58 | or ($first-val == "cover") { 59 | 60 | $shape-size: $value; 61 | 62 | @if $value == $g1 { 63 | $g1: null; 64 | } 65 | 66 | @else if $value == $g2 { 67 | $g2: null; 68 | } 69 | } 70 | } 71 | } 72 | } 73 | @return $g1, $g2, $pos, $shape-size; 74 | } 75 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_animation.scss: -------------------------------------------------------------------------------- 1 | // http://www.w3.org/TR/css3-animations/#the-animation-name-property- 2 | // Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. 3 | 4 | @mixin animation($animations...) { 5 | @include _bourbon-deprecate-for-prefixing("animation"); 6 | 7 | @include prefixer(animation, $animations, webkit moz spec); 8 | } 9 | 10 | @mixin animation-name($names...) { 11 | @include _bourbon-deprecate-for-prefixing("animation-name"); 12 | 13 | @include prefixer(animation-name, $names, webkit moz spec); 14 | } 15 | 16 | @mixin animation-duration($times...) { 17 | @include _bourbon-deprecate-for-prefixing("animation-duration"); 18 | 19 | @include prefixer(animation-duration, $times, webkit moz spec); 20 | } 21 | 22 | @mixin animation-timing-function($motions...) { 23 | @include _bourbon-deprecate-for-prefixing("animation-timing-function"); 24 | 25 | // ease | linear | ease-in | ease-out | ease-in-out 26 | @include prefixer(animation-timing-function, $motions, webkit moz spec); 27 | } 28 | 29 | @mixin animation-iteration-count($values...) { 30 | @include _bourbon-deprecate-for-prefixing("animation-iteration-count"); 31 | 32 | // infinite | 33 | @include prefixer(animation-iteration-count, $values, webkit moz spec); 34 | } 35 | 36 | @mixin animation-direction($directions...) { 37 | @include _bourbon-deprecate-for-prefixing("animation-direction"); 38 | 39 | // normal | alternate 40 | @include prefixer(animation-direction, $directions, webkit moz spec); 41 | } 42 | 43 | @mixin animation-play-state($states...) { 44 | @include _bourbon-deprecate-for-prefixing("animation-play-state"); 45 | 46 | // running | paused 47 | @include prefixer(animation-play-state, $states, webkit moz spec); 48 | } 49 | 50 | @mixin animation-delay($times...) { 51 | @include _bourbon-deprecate-for-prefixing("animation-delay"); 52 | 53 | @include prefixer(animation-delay, $times, webkit moz spec); 54 | } 55 | 56 | @mixin animation-fill-mode($modes...) { 57 | @include _bourbon-deprecate-for-prefixing("animation-fill-mode"); 58 | 59 | // none | forwards | backwards | both 60 | @include prefixer(animation-fill-mode, $modes, webkit moz spec); 61 | } 62 | -------------------------------------------------------------------------------- /default.hbs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{!-- Document Settings --}} 5 | 6 | 7 | 8 | {{!-- Page Meta --}} 9 | {{meta_title}} 10 | 11 | 12 | {{!-- Mobile Meta --}} 13 | 14 | 15 | 16 | {{!-- Brand icon --}} 17 | 18 | 19 | {{!-- Styles'n'Scripts --}} 20 | 21 | 22 | 33 | 34 | {{!-- Ghost outputs important style and meta data with this tag --}} 35 | {{ghost_head}} 36 | 37 | 38 |
39 | 43 |
44 | 45 |
46 |

{{@blog.description}}

47 | {{navigation}} 48 |
49 | 50 | {{> "spacer"}} 51 | 52 | {{!-- All the main content gets inserted here, index.hbs, post.hbs, etc --}} 53 | {{{body}}} 54 | 55 | 63 | 64 | {{!-- Ghost outputs important scripts and data with this tag --}} 65 | {{ghost_foot}} 66 | 67 | 68 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_triangle.scss: -------------------------------------------------------------------------------- 1 | @mixin triangle($size, $color, $direction) { 2 | $width: nth($size, 1); 3 | $height: nth($size, length($size)); 4 | $foreground-color: nth($color, 1); 5 | $background-color: if(length($color) == 2, nth($color, 2), transparent); 6 | height: 0; 7 | width: 0; 8 | 9 | @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) { 10 | $width: $width / 2; 11 | $height: if(length($size) > 1, $height, $height/2); 12 | 13 | @if $direction == up { 14 | border-bottom: $height solid $foreground-color; 15 | border-left: $width solid $background-color; 16 | border-right: $width solid $background-color; 17 | } @else if $direction == right { 18 | border-bottom: $width solid $background-color; 19 | border-left: $height solid $foreground-color; 20 | border-top: $width solid $background-color; 21 | } @else if $direction == down { 22 | border-left: $width solid $background-color; 23 | border-right: $width solid $background-color; 24 | border-top: $height solid $foreground-color; 25 | } @else if $direction == left { 26 | border-bottom: $width solid $background-color; 27 | border-right: $height solid $foreground-color; 28 | border-top: $width solid $background-color; 29 | } 30 | } @else if ($direction == up-right) or ($direction == up-left) { 31 | border-top: $height solid $foreground-color; 32 | 33 | @if $direction == up-right { 34 | border-left: $width solid $background-color; 35 | } @else if $direction == up-left { 36 | border-right: $width solid $background-color; 37 | } 38 | } @else if ($direction == down-right) or ($direction == down-left) { 39 | border-bottom: $height solid $foreground-color; 40 | 41 | @if $direction == down-right { 42 | border-left: $width solid $background-color; 43 | } @else if $direction == down-left { 44 | border-right: $width solid $background-color; 45 | } 46 | } @else if ($direction == inset-up) { 47 | border-color: $background-color $background-color $foreground-color; 48 | border-style: solid; 49 | border-width: $height $width; 50 | } @else if ($direction == inset-down) { 51 | border-color: $foreground-color $background-color $background-color; 52 | border-style: solid; 53 | border-width: $height $width; 54 | } @else if ($direction == inset-right) { 55 | border-color: $background-color $background-color $background-color $foreground-color; 56 | border-style: solid; 57 | border-width: $width $height; 58 | } @else if ($direction == inset-left) { 59 | border-color: $background-color $foreground-color $background-color $background-color; 60 | border-style: solid; 61 | border-width: $width $height; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_transition.scss: -------------------------------------------------------------------------------- 1 | // Shorthand mixin. Supports multiple parentheses-deliminated values for each variable. 2 | // Example: @include transition (all 2s ease-in-out); 3 | // @include transition (opacity 1s ease-in 2s, width 2s ease-out); 4 | // @include transition-property (transform, opacity); 5 | 6 | @mixin transition($properties...) { 7 | @include _bourbon-deprecate-for-prefixing("transition"); 8 | 9 | // Fix for vendor-prefix transform property 10 | $needs-prefixes: false; 11 | $webkit: (); 12 | $moz: (); 13 | $spec: (); 14 | 15 | // Create lists for vendor-prefixed transform 16 | @each $list in $properties { 17 | @if nth($list, 1) == "transform" { 18 | $needs-prefixes: true; 19 | $list1: -webkit-transform; 20 | $list2: -moz-transform; 21 | $list3: (); 22 | 23 | @each $var in $list { 24 | $list3: join($list3, $var); 25 | 26 | @if $var != "transform" { 27 | $list1: join($list1, $var); 28 | $list2: join($list2, $var); 29 | } 30 | } 31 | 32 | $webkit: append($webkit, $list1); 33 | $moz: append($moz, $list2); 34 | $spec: append($spec, $list3); 35 | } @else { 36 | $webkit: append($webkit, $list, comma); 37 | $moz: append($moz, $list, comma); 38 | $spec: append($spec, $list, comma); 39 | } 40 | } 41 | 42 | @if $needs-prefixes { 43 | -webkit-transition: $webkit; 44 | -moz-transition: $moz; 45 | transition: $spec; 46 | } @else { 47 | @if length($properties) >= 1 { 48 | @include prefixer(transition, $properties, webkit moz spec); 49 | } @else { 50 | $properties: all 0.15s ease-out 0s; 51 | @include prefixer(transition, $properties, webkit moz spec); 52 | } 53 | } 54 | } 55 | 56 | @mixin transition-property($properties...) { 57 | @include _bourbon-deprecate-for-prefixing("transition-property"); 58 | 59 | -webkit-transition-property: transition-property-names($properties, "webkit"); 60 | -moz-transition-property: transition-property-names($properties, "moz"); 61 | transition-property: transition-property-names($properties, false); 62 | } 63 | 64 | @mixin transition-duration($times...) { 65 | @include _bourbon-deprecate-for-prefixing("transition-duration"); 66 | 67 | @include prefixer(transition-duration, $times, webkit moz spec); 68 | } 69 | 70 | @mixin transition-timing-function($motions...) { 71 | @include _bourbon-deprecate-for-prefixing("transition-timing-function"); 72 | 73 | // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() 74 | @include prefixer(transition-timing-function, $motions, webkit moz spec); 75 | } 76 | 77 | @mixin transition-delay($times...) { 78 | @include _bourbon-deprecate-for-prefixing("transition-delay"); 79 | 80 | @include prefixer(transition-delay, $times, webkit moz spec); 81 | } 82 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_linear-positions-parser.scss: -------------------------------------------------------------------------------- 1 | @function _linear-positions-parser($pos) { 2 | @if $output-bourbon-deprecation-warnings == true { 3 | @warn "[Bourbon] [Deprecation] `_linear-positions-parser` is " + 4 | "deprecated and will be removed in 5.0.0."; 5 | } 6 | 7 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 8 | $output-bourbon-deprecation-warnings: false !global; 9 | 10 | $type: type-of(nth($pos, 1)); 11 | $spec: null; 12 | $degree: null; 13 | $side: null; 14 | $corner: null; 15 | $length: length($pos); 16 | // Parse Side and corner positions 17 | @if ($length > 1) { 18 | @if nth($pos, 1) == "to" { // Newer syntax 19 | $side: nth($pos, 2); 20 | 21 | @if $length == 2 { // eg. to top 22 | // Swap for backwards compatibility 23 | $degree: _position-flipper(nth($pos, 2)); 24 | } 25 | @else if $length == 3 { // eg. to top left 26 | $corner: nth($pos, 3); 27 | } 28 | } 29 | @else if $length == 2 { // Older syntax ("top left") 30 | $side: _position-flipper(nth($pos, 1)); 31 | $corner: _position-flipper(nth($pos, 2)); 32 | } 33 | 34 | @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { 35 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 36 | } 37 | @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { 38 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 39 | } 40 | @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { 41 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 42 | } 43 | @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { 44 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); 45 | } 46 | $spec: to $side $corner; 47 | } 48 | @else if $length == 1 { 49 | // Swap for backwards compatibility 50 | @if $type == string { 51 | $degree: $pos; 52 | $spec: to _position-flipper($pos); 53 | } 54 | @else { 55 | $degree: -270 - $pos; //rotate the gradient opposite from spec 56 | $spec: $pos; 57 | } 58 | } 59 | $degree: unquote($degree + ","); 60 | $spec: unquote($spec + ","); 61 | 62 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 63 | 64 | @return $degree $spec; 65 | } 66 | 67 | @function _position-flipper($pos) { 68 | @if $output-bourbon-deprecation-warnings == true { 69 | @warn "[Bourbon] [Deprecation] `_position-flipper` is " + 70 | "deprecated and will be removed in 5.0.0."; 71 | } 72 | 73 | @return if($pos == left, right, null) 74 | if($pos == right, left, null) 75 | if($pos == top, bottom, null) 76 | if($pos == bottom, top, null); 77 | } 78 | -------------------------------------------------------------------------------- /assets/sass/bourbon/_bourbon.scss: -------------------------------------------------------------------------------- 1 | // Bourbon 4.3.4 2 | // http://bourbon.io 3 | // Copyright 2011-2017 thoughtbot, inc. 4 | // MIT License 5 | 6 | @import "settings/deprecation-warnings"; 7 | @import "settings/prefixer"; 8 | @import "settings/px-to-em"; 9 | @import "settings/asset-pipeline"; 10 | 11 | @import "bourbon-deprecate"; 12 | 13 | @import "functions/assign-inputs"; 14 | @import "functions/contains"; 15 | @import "functions/contains-falsy"; 16 | @import "functions/is-length"; 17 | @import "functions/is-light"; 18 | @import "functions/is-number"; 19 | @import "functions/is-size"; 20 | @import "functions/px-to-em"; 21 | @import "functions/px-to-rem"; 22 | @import "functions/shade"; 23 | @import "functions/strip-units"; 24 | @import "functions/tint"; 25 | @import "functions/transition-property-name"; 26 | @import "functions/unpack"; 27 | @import "functions/modular-scale"; 28 | 29 | @import "helpers/convert-units"; 30 | @import "helpers/directional-values"; 31 | @import "helpers/font-source-declaration"; 32 | @import "helpers/gradient-positions-parser"; 33 | @import "helpers/linear-angle-parser"; 34 | @import "helpers/linear-gradient-parser"; 35 | @import "helpers/linear-positions-parser"; 36 | @import "helpers/linear-side-corner-parser"; 37 | @import "helpers/radial-arg-parser"; 38 | @import "helpers/radial-positions-parser"; 39 | @import "helpers/radial-gradient-parser"; 40 | @import "helpers/render-gradients"; 41 | @import "helpers/shape-size-stripper"; 42 | @import "helpers/str-to-num"; 43 | 44 | @import "css3/animation"; 45 | @import "css3/appearance"; 46 | @import "css3/backface-visibility"; 47 | @import "css3/background"; 48 | @import "css3/background-image"; 49 | @import "css3/border-image"; 50 | @import "css3/calc"; 51 | @import "css3/columns"; 52 | @import "css3/filter"; 53 | @import "css3/flex-box"; 54 | @import "css3/font-face"; 55 | @import "css3/font-feature-settings"; 56 | @import "css3/hidpi-media-query"; 57 | @import "css3/hyphens"; 58 | @import "css3/image-rendering"; 59 | @import "css3/keyframes"; 60 | @import "css3/linear-gradient"; 61 | @import "css3/perspective"; 62 | @import "css3/placeholder"; 63 | @import "css3/radial-gradient"; 64 | @import "css3/selection"; 65 | @import "css3/text-decoration"; 66 | @import "css3/transform"; 67 | @import "css3/transition"; 68 | @import "css3/user-select"; 69 | 70 | @import "addons/border-color"; 71 | @import "addons/border-radius"; 72 | @import "addons/border-style"; 73 | @import "addons/border-width"; 74 | @import "addons/buttons"; 75 | @import "addons/clearfix"; 76 | @import "addons/ellipsis"; 77 | @import "addons/font-stacks"; 78 | @import "addons/hide-text"; 79 | @import "addons/margin"; 80 | @import "addons/padding"; 81 | @import "addons/position"; 82 | @import "addons/prefixer"; 83 | @import "addons/retina-image"; 84 | @import "addons/size"; 85 | @import "addons/text-inputs"; 86 | @import "addons/timing-functions"; 87 | @import "addons/triangle"; 88 | @import "addons/word-wrap"; 89 | 90 | @import "bourbon-deprecated-upcoming"; 91 | -------------------------------------------------------------------------------- /assets/sass/bourbon/helpers/_directional-values.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Directional-property mixins are shorthands for writing properties like the following 4 | /// 5 | /// @ignore You can also use `false` instead of `null`. 6 | /// 7 | /// @param {List} $vals 8 | /// List of directional values 9 | /// 10 | /// @example scss - Usage 11 | /// .element { 12 | /// @include border-style(dotted null); 13 | /// @include margin(null 0 10px); 14 | /// } 15 | /// 16 | /// @example css - CSS Output 17 | /// .element { 18 | /// border-bottom-style: dotted; 19 | /// border-top-style: dotted; 20 | /// margin-bottom: 10px; 21 | /// margin-left: 0; 22 | /// margin-right: 0; 23 | /// } 24 | /// 25 | /// @require {function} contains-falsy 26 | /// 27 | /// @return {List} 28 | 29 | @function collapse-directionals($vals) { 30 | @if $output-bourbon-deprecation-warnings == true { 31 | @warn "[Bourbon] [Deprecation] `collapse-directionals` is deprecated and " + 32 | "will be removed in 5.0.0."; 33 | } 34 | 35 | $output: null; 36 | 37 | $a: nth($vals, 1); 38 | $b: if(length($vals) < 2, $a, nth($vals, 2)); 39 | $c: if(length($vals) < 3, $a, nth($vals, 3)); 40 | $d: if(length($vals) < 2, $a, nth($vals, if(length($vals) < 4, 2, 4))); 41 | 42 | @if $a == 0 { $a: 0; } 43 | @if $b == 0 { $b: 0; } 44 | @if $c == 0 { $c: 0; } 45 | @if $d == 0 { $d: 0; } 46 | 47 | @if $a == $b and $a == $c and $a == $d { $output: $a; } 48 | @else if $a == $c and $b == $d { $output: $a $b; } 49 | @else if $b == $d { $output: $a $b $c; } 50 | @else { $output: $a $b $c $d; } 51 | 52 | @return $output; 53 | } 54 | 55 | /// Output directional properties, for instance `margin`. 56 | /// 57 | /// @access private 58 | /// 59 | /// @param {String} $pre 60 | /// Prefix to use 61 | /// @param {String} $suf 62 | /// Suffix to use 63 | /// @param {List} $vals 64 | /// List of values 65 | /// 66 | /// @require {function} collapse-directionals 67 | /// @require {function} contains-falsy 68 | 69 | @mixin directional-property($pre, $suf, $vals) { 70 | @include _bourbon-deprecate("directional-property"); 71 | 72 | $user-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 73 | $output-bourbon-deprecation-warnings: false !global; 74 | 75 | // Property Names 76 | $top: $pre + "-top" + if($suf, "-#{$suf}", ""); 77 | $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", ""); 78 | $left: $pre + "-left" + if($suf, "-#{$suf}", ""); 79 | $right: $pre + "-right" + if($suf, "-#{$suf}", ""); 80 | $all: $pre + if($suf, "-#{$suf}", ""); 81 | 82 | $vals: collapse-directionals($vals); 83 | 84 | @if contains-falsy($vals) { 85 | @if nth($vals, 1) { #{$top}: nth($vals, 1); } 86 | 87 | @if length($vals) == 1 { 88 | @if nth($vals, 1) { #{$right}: nth($vals, 1); } 89 | } @else { 90 | @if nth($vals, 2) { #{$right}: nth($vals, 2); } 91 | } 92 | 93 | @if length($vals) == 2 { 94 | @if nth($vals, 1) { #{$bottom}: nth($vals, 1); } 95 | @if nth($vals, 2) { #{$left}: nth($vals, 2); } 96 | } @else if length($vals) == 3 { 97 | @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } 98 | @if nth($vals, 2) { #{$left}: nth($vals, 2); } 99 | } @else if length($vals) == 4 { 100 | @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } 101 | @if nth($vals, 4) { #{$left}: nth($vals, 4); } 102 | } 103 | } @else { 104 | #{$all}: $vals; 105 | } 106 | 107 | $output-bourbon-deprecation-warnings: $user-deprecation-warnings-setting !global; 108 | } 109 | -------------------------------------------------------------------------------- /assets/sass/bourbon/addons/_text-inputs.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | /// Generates variables for all text-based inputs. Please note that you must use interpolation on the variable: `#{$all-text-inputs}`. 4 | /// 5 | /// @example scss - Usage 6 | /// #{$all-text-inputs} { 7 | /// border: 1px solid #f00; 8 | /// } 9 | /// 10 | /// #{$all-text-inputs-focus}, 11 | /// #{$all-text-inputs-hover} { 12 | /// border: 1px solid #0f0; 13 | /// } 14 | /// 15 | /// #{$all-text-inputs-active} { 16 | /// border: 1px solid #00f; 17 | /// } 18 | /// 19 | /// @example css - CSS Output 20 | /// input[type="color"], 21 | /// input[type="date"], 22 | /// input[type="datetime"], 23 | /// input[type="datetime-local"], 24 | /// input[type="email"], 25 | /// input[type="month"], 26 | /// input[type="number"], 27 | /// input[type="password"], 28 | /// input[type="search"], 29 | /// input[type="tel"], 30 | /// input[type="text"], 31 | /// input[type="time"], 32 | /// input[type="url"], 33 | /// input[type="week"], 34 | /// textarea { 35 | /// border: 1px solid #f00; 36 | /// } 37 | /// 38 | /// input[type="color"]:focus, 39 | /// input[type="date"]:focus, 40 | /// input[type="datetime"]:focus, 41 | /// input[type="datetime-local"]:focus, 42 | /// input[type="email"]:focus, 43 | /// input[type="month"]:focus, 44 | /// input[type="number"]:focus, 45 | /// input[type="password"]:focus, 46 | /// input[type="search"]:focus, 47 | /// input[type="tel"]:focus, 48 | /// input[type="text"]:focus, 49 | /// input[type="time"]:focus, 50 | /// input[type="url"]:focus, 51 | /// input[type="week"]:focus, 52 | /// textarea:focus, 53 | /// input[type="color"]:hover, 54 | /// input[type="date"]:hover, 55 | /// input[type="datetime"]:hover, 56 | /// input[type="datetime-local"]:hover, 57 | /// input[type="email"]:hover, 58 | /// input[type="month"]:hover, 59 | /// input[type="number"]:hover, 60 | /// input[type="password"]:hover, 61 | /// input[type="search"]:hover, 62 | /// input[type="tel"]:hover, 63 | /// input[type="text"]:hover, 64 | /// input[type="time"]:hover, 65 | /// input[type="url"]:hover, 66 | /// input[type="week"]:hover, 67 | /// textarea:hover { 68 | /// border: 1px solid #0f0; 69 | /// } 70 | /// 71 | /// input[type="color"]:active, 72 | /// input[type="date"]:active, 73 | /// input[type="datetime"]:active, 74 | /// input[type="datetime-local"]:active, 75 | /// input[type="email"]:active, 76 | /// input[type="month"]:active, 77 | /// input[type="number"]:active, 78 | /// input[type="password"]:active, 79 | /// input[type="search"]:active, 80 | /// input[type="tel"]:active, 81 | /// input[type="text"]:active, 82 | /// input[type="time"]:active, 83 | /// input[type="url"]:active, 84 | /// input[type="week"]:active, 85 | /// textarea:active { 86 | /// border: 1px solid #00f; 87 | /// } 88 | /// 89 | /// @require assign-inputs 90 | /// 91 | /// @type List 92 | 93 | $text-inputs-list: 'input[type="color"]', 94 | 'input[type="date"]', 95 | 'input[type="datetime"]', 96 | 'input[type="datetime-local"]', 97 | 'input[type="email"]', 98 | 'input[type="month"]', 99 | 'input[type="number"]', 100 | 'input[type="password"]', 101 | 'input[type="search"]', 102 | 'input[type="tel"]', 103 | 'input[type="text"]', 104 | 'input[type="time"]', 105 | 'input[type="url"]', 106 | 'input[type="week"]', 107 | 'input:not([type])', 108 | 'textarea'; 109 | 110 | $user-output-deprecation-warnings-setting: $output-bourbon-deprecation-warnings; 111 | $output-bourbon-deprecation-warnings: false; 112 | 113 | $all-text-inputs: assign-inputs($text-inputs-list); 114 | $all-text-inputs-active: assign-inputs($text-inputs-list, active); 115 | $all-text-inputs-focus: assign-inputs($text-inputs-list, focus); 116 | $all-text-inputs-hover: assign-inputs($text-inputs-list, hover); 117 | 118 | $output-bourbon-deprecation-warnings: $user-output-deprecation-warnings-setting; 119 | -------------------------------------------------------------------------------- /assets/sass/_typography.scss: -------------------------------------------------------------------------------- 1 | @import "_colors"; 2 | 3 | $serif: ff-meta-serif-web-pro, Georgia, "Liberation Serif", serif; 4 | $sans-serif: futura-pt, Futura, "Gill Sans", "Gill Sans MT", "Liberation Sans", "Trebuchet MS", "DejaVu Sans", "Bitstream Vera Sans", Verdana, sans-serif; 5 | $monospace-inline: "Courier", "Courier 10 Pitch", "Courier New", "monospace"; 6 | $monospace-block: "Menlo", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier", "Courier 10 Pitch", "Courier New", "monospace"; 7 | 8 | @mixin dark-bg { 9 | color: white; 10 | text-decoration: none; 11 | 12 | a, a:visited, a:active { color: $teal * 3; } 13 | } 14 | 15 | .titling { 16 | font-family: $sans-serif; 17 | font-weight: 700; 18 | letter-spacing: 1px; 19 | text-transform: uppercase; 20 | text-align: center; 21 | } 22 | 23 | .summary { 24 | font-style: italic; 25 | } 26 | 27 | #header { 28 | h1 { 29 | color: white; 30 | font-size: 38px; 31 | line-height: 44px; 32 | @extend .titling; 33 | 34 | @include mobile { 35 | font-size: 24px; 36 | line-height: 32px; 37 | } 38 | 39 | a { 40 | color: inherit; 41 | text-decoration: none; 42 | &:hover { text-decoration: none; } 43 | } 44 | 45 | .prefix { 46 | font-size: 16px; 47 | line-height: 20px; 48 | } 49 | } 50 | } 51 | 52 | #meta { 53 | text-align: center; 54 | text-transform: uppercase; 55 | font-size: 14px; 56 | line-height: 20px; 57 | 58 | p.copy { 59 | font-family: $serif; 60 | text-transform: none; 61 | white-space: pre-line; 62 | font-size: 18px; 63 | line-height: 24px; 64 | } 65 | } 66 | 67 | #links { 68 | @extend .titling; 69 | color: $grey; 70 | font-size: 14px; 71 | 72 | ul { text-align: center; } 73 | a, a:visited { color: $grey; } 74 | } 75 | 76 | #footer p { 77 | @include dark-bg; 78 | @extend .titling; 79 | font-size: 12px; 80 | } 81 | 82 | #articles { 83 | li { 84 | .date { 85 | @extend .titling; 86 | color: $grey; 87 | font-size: 12px; 88 | text-align: right; 89 | font-weight: normal; 90 | @include mobile { 91 | text-align: left; 92 | } 93 | } 94 | 95 | .date_month { 96 | display: inline-block; 97 | width: 32px; 98 | text-align: center; 99 | } 100 | 101 | .link { 102 | @extend .titling; 103 | color: #000; 104 | text-align: left; 105 | font-size: 13px; 106 | @include mobile { font-size: 18px; } 107 | } 108 | } 109 | } 110 | 111 | .pagination { 112 | text-align: center; 113 | text-transform: uppercase; 114 | font-size: 14px; 115 | } 116 | 117 | .article, .page { 118 | text-rendering: optimizeLegibility; 119 | 120 | .index-link { 121 | font-size: 12px; 122 | text-transform: uppercase; 123 | } 124 | 125 | h1 { 126 | @extend .titling; 127 | font-size: 24px; 128 | line-height: 32px; 129 | } 130 | 131 | .date { 132 | color: $grey * 0.5; 133 | font-size: 14px; 134 | text-align: center; 135 | } 136 | } 137 | 138 | .post-image-header { 139 | > .post-meta { 140 | > h1 { 141 | @extend .titling; 142 | font-size: 28px; 143 | line-height: 36px; 144 | text-align: left; 145 | color: white; 146 | } 147 | 148 | > .date { 149 | @extend .titling; 150 | color: white; 151 | font-size: 16px; 152 | line-height: 16px; 153 | } 154 | } 155 | } 156 | 157 | body { 158 | font-family: $sans-serif; 159 | font-size: 16px; 160 | line-height: 26px; 161 | color: #333; 162 | 163 | .contents { 164 | font-family: $serif; 165 | text-align: justify; 166 | 167 | h1, h2, h3, h4, h5 { 168 | @extend .titling; 169 | text-align: left; 170 | } 171 | h2 { font-size: 20px; } 172 | h3 { font-size: 18px; } 173 | h4 { font-size: 16px; } 174 | h5 { font-size: 15px; } 175 | p { margin-bottom: 26px; } 176 | } 177 | } 178 | 179 | a { 180 | color: #333; 181 | text-decoration: none; 182 | 183 | &:hover { text-decoration: underline; } 184 | &:visited, &:active { color: #333; } 185 | 186 | // Links in the body of an article/page. 187 | .article .contents &, .page .contents & { 188 | text-decoration: underline; 189 | 190 | &:visited { color: $grey; } 191 | } 192 | } 193 | 194 | code { 195 | font-family: $monospace-inline; 196 | font-size: 14px; 197 | line-height: 24px; 198 | } 199 | 200 | pre { 201 | white-space: normal; 202 | & > code { 203 | color: $codefg; 204 | font-family: $monospace-block; 205 | font-size: 12px; 206 | line-height: 18px; 207 | white-space: pre; 208 | } 209 | } 210 | 211 | blockquote { color: $grey / 2; } 212 | dl dt { font-weight: bold; } 213 | .article .contents { 214 | ins, del { @include dark-bg; } 215 | } 216 | sup { vertical-align: super; } 217 | -------------------------------------------------------------------------------- /assets/sass/_layout.scss: -------------------------------------------------------------------------------- 1 | @import "_colors"; 2 | 3 | @mixin mobile { 4 | @media only screen and (max-width: 640px), 5 | only screen and (max-device-width: 640px) { 6 | @content; 7 | } 8 | } 9 | 10 | @mixin container { 11 | clear: both; 12 | float: left; 13 | margin: 0; 14 | padding: 0; 15 | width: 100%; 16 | } 17 | 18 | @mixin section { 19 | margin: 0 auto; 20 | width: 640px; 21 | 22 | @include mobile { 23 | width: 90%; 24 | padding-left: 5%; 25 | padding-right: 5%; 26 | } 27 | } 28 | 29 | hr { 30 | margin: 0 0 26px 0; 31 | border: none; 32 | border-top: 1px solid $grey * 2; 33 | } 34 | 35 | p, iframe, fieldset, table, pre { 36 | margin-bottom: 26px; 37 | } 38 | 39 | iframe { 40 | @include mobile { 41 | width: 100%; 42 | height: auto; 43 | } 44 | } 45 | 46 | p.summary { 47 | padding-bottom: 26px; 48 | border-bottom: 3px double $grey * 2; 49 | } 50 | 51 | .contents { 52 | img { 53 | width: 640px; 54 | @include mobile { width: 100%; } 55 | } 56 | .center img { width: inherit; } 57 | } 58 | 59 | .hidden { 60 | display: none; 61 | visibility: hidden; 62 | } 63 | 64 | body, html { 65 | background-color: $teal; 66 | margin: 0; 67 | } 68 | 69 | #header-container { 70 | @include container; 71 | 72 | #header { 73 | @include section; 74 | 75 | @include mobile { 76 | width: 100%; 77 | padding-left: 0; 78 | padding-right: 0; 79 | } 80 | 81 | h1 { 82 | background-color: $light-teal; 83 | width: 75%; 84 | margin: 0; 85 | padding: 40px 12.5%; 86 | 87 | @include mobile { padding: 10px 12.5%; } 88 | 89 | .prefix { display: block; } 90 | } 91 | } 92 | } 93 | 94 | .post-image-header { 95 | @include container; 96 | 97 | background-position: center center; 98 | background-repeat: no-repeat; 99 | background-size: 100%; 100 | box-shadow: 101 | inset 0px -90px 80px -25px rgba(0, 0, 0, .8), 102 | inset 0px 30px 60px -30px rgba(0, 0, 0, .6); 103 | 104 | .post-meta { 105 | @include section; 106 | margin: 250px auto 1em auto; 107 | @include mobile { 108 | margin: 100px auto 1em auto; 109 | } 110 | 111 | .date { 112 | display: inline-block; 113 | border-top: 1px solid white; 114 | padding-top: 1em; 115 | padding-right: 10px; 116 | } 117 | } 118 | } 119 | 120 | .content-container { 121 | @include container; 122 | 123 | background-color: #fff; 124 | border-top: 8px solid $teal; 125 | 126 | &.has-image { 127 | border: none 128 | } 129 | 130 | .content { 131 | @include section; 132 | 133 | padding: 20px 0 0 0; 134 | } 135 | 136 | @include mobile { 137 | #index & .content { padding-top: 10px; } 138 | } 139 | } 140 | 141 | #footer-container { 142 | @include container; 143 | 144 | border-top: 8px solid $teal; 145 | padding-bottom: 20px; 146 | @include mobile { 147 | padding-bottom: 0; 148 | } 149 | 150 | #footer { 151 | @include section; 152 | @include border-bottom-radius(10px); 153 | @include mobile { 154 | @include border-bottom-radius(0); 155 | } 156 | 157 | background-color: $light-teal; 158 | padding: 20px; 159 | width: 640px - (20px * 2); 160 | 161 | p { 162 | margin-top: 0; 163 | margin-bottom: 0; 164 | } 165 | } 166 | } 167 | 168 | .spacer { 169 | @include container; 170 | 171 | border-top: 8px solid $teal; 172 | 173 | .spacer-child { 174 | @include section; 175 | height: 40px; 176 | background-color: $light-teal; 177 | } 178 | } 179 | 180 | #links { 181 | @include clearfix; 182 | 183 | margin-bottom: 20px; 184 | 185 | ul { 186 | margin: 0; 187 | padding: 0; 188 | } 189 | 190 | li { 191 | display: inline; 192 | margin: 0; 193 | padding: 0; 194 | margin-left: 8px; 195 | 196 | &:before { 197 | content: "\2605"; 198 | margin-right: 8px; 199 | } 200 | 201 | &:first-child { 202 | margin-left: 0; 203 | &:before { content: ''; } 204 | } 205 | 206 | a { white-space: nowrap; } 207 | } 208 | } 209 | 210 | #articles { 211 | @include clearfix; 212 | 213 | margin: 10px 0 20px 0; 214 | padding: 0; 215 | 216 | li { 217 | display: block; 218 | list-style: none; 219 | margin-bottom: 10px; 220 | 221 | .date { 222 | clear: both; 223 | display: block; 224 | float: right; 225 | width: auto; 226 | white-space: nowrap; 227 | } 228 | 229 | .link { white-space: nowrap; } 230 | } 231 | 232 | @include mobile { 233 | margin-top: 0; 234 | margin-bottom: 10px; 235 | 236 | li { 237 | margin-bottom: 0; 238 | padding-bottom: 10px; 239 | padding-top: 10px; 240 | &:first-child { padding-top: 0; } 241 | border-bottom: 1px solid #AAA; 242 | &:last-child { border-bottom: none; } 243 | 244 | .date { float: none; } 245 | .link { white-space: normal; } 246 | } 247 | } 248 | } 249 | 250 | .pagination { 251 | display: block; 252 | margin-bottom: 20px; 253 | } 254 | 255 | p.index-link-container { margin-bottom: 10px; } 256 | 257 | p.center { text-align: center; } 258 | 259 | h1 { margin: 8px 0; } 260 | 261 | .content.page h1, .content.article .date { 262 | border-bottom: 3px double $grey * 2; 263 | padding-bottom: 16px; 264 | margin-bottom: 26px; 265 | } 266 | 267 | .content.article .date { 268 | display: block; 269 | margin-bottom: 26px; 270 | } 271 | 272 | h4 { margin-bottom: 16px; } 273 | 274 | blockquote, pre > code { 275 | border-radius: 5px; 276 | float: none; 277 | overflow-x: scroll; 278 | } 279 | 280 | pre > code { 281 | display: block; 282 | padding: 10px !important; 283 | background-color: $codebg; 284 | } 285 | 286 | blockquote { 287 | margin: 0 0 16px 0; 288 | padding: 10px 20px; 289 | min-width: 640px - (20px * 2); 290 | border-left: 5px solid $grey * 2; 291 | 292 | @include mobile { min-width: 0; } 293 | 294 | > :last-child { margin-bottom: 0 !important; } 295 | > :first-child { margin-top: 0 !important; } 296 | } 297 | 298 | ul, ol { margin-right: 0; } 299 | 300 | dl { 301 | margin: 0 0 16px 0; 302 | 303 | dd { margin-bottom: 8px; } 304 | } 305 | 306 | ins, del { 307 | background-color: $teal; 308 | display: block; 309 | padding: 10px; 310 | border-radius: 5px; 311 | width: 640px - (10px * 2); 312 | @include mobile { width: auto; } 313 | } 314 | 315 | p, ins, del, pre, h1, h2, h3, h4, h5, h6 { clear: both; } 316 | -------------------------------------------------------------------------------- /assets/sass/_normalize.scss: -------------------------------------------------------------------------------- 1 | /*! normalize.css v6.0.0 | 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 9 | * IE on Windows Phone and in iOS. 10 | */ 11 | 12 | html { 13 | line-height: 1.15; /* 1 */ 14 | -ms-text-size-adjust: 100%; /* 2 */ 15 | -webkit-text-size-adjust: 100%; /* 2 */ 16 | } 17 | 18 | /* Sections 19 | ========================================================================== */ 20 | 21 | /** 22 | * Add the correct display in IE 9-. 23 | */ 24 | 25 | article, 26 | aside, 27 | footer, 28 | header, 29 | nav, 30 | section { 31 | display: block; 32 | } 33 | 34 | /** 35 | * Correct the font size and margin on `h1` elements within `section` and 36 | * `article` contexts in Chrome, Firefox, and Safari. 37 | */ 38 | 39 | h1 { 40 | font-size: 2em; 41 | margin: 0.67em 0; 42 | } 43 | 44 | /* Grouping content 45 | ========================================================================== */ 46 | 47 | /** 48 | * Add the correct display in IE 9-. 49 | * 1. Add the correct display in IE. 50 | */ 51 | 52 | figcaption, 53 | figure, 54 | main { /* 1 */ 55 | display: block; 56 | } 57 | 58 | /** 59 | * Add the correct margin in IE 8. 60 | */ 61 | 62 | figure { 63 | margin: 1em 40px; 64 | } 65 | 66 | /** 67 | * 1. Add the correct box sizing in Firefox. 68 | * 2. Show the overflow in Edge and IE. 69 | */ 70 | 71 | hr { 72 | box-sizing: content-box; /* 1 */ 73 | height: 0; /* 1 */ 74 | overflow: visible; /* 2 */ 75 | } 76 | 77 | /** 78 | * 1. Correct the inheritance and scaling of font size in all browsers. 79 | * 2. Correct the odd `em` font sizing in all browsers. 80 | */ 81 | 82 | pre { 83 | font-family: monospace, monospace; /* 1 */ 84 | font-size: 1em; /* 2 */ 85 | } 86 | 87 | /* Text-level semantics 88 | ========================================================================== */ 89 | 90 | /** 91 | * 1. Remove the gray background on active links in IE 10. 92 | * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. 93 | */ 94 | 95 | a { 96 | background-color: transparent; /* 1 */ 97 | -webkit-text-decoration-skip: objects; /* 2 */ 98 | } 99 | 100 | /** 101 | * 1. Remove the bottom border in Chrome 57- and Firefox 39-. 102 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 103 | */ 104 | 105 | abbr[title] { 106 | border-bottom: none; /* 1 */ 107 | text-decoration: underline; /* 2 */ 108 | text-decoration: underline dotted; /* 2 */ 109 | } 110 | 111 | /** 112 | * Prevent the duplicate application of `bolder` by the next rule in Safari 6. 113 | */ 114 | 115 | b, 116 | strong { 117 | font-weight: inherit; 118 | } 119 | 120 | /** 121 | * Add the correct font weight in Chrome, Edge, and Safari. 122 | */ 123 | 124 | b, 125 | strong { 126 | font-weight: bolder; 127 | } 128 | 129 | /** 130 | * 1. Correct the inheritance and scaling of font size in all browsers. 131 | * 2. Correct the odd `em` font sizing in all browsers. 132 | */ 133 | 134 | code, 135 | kbd, 136 | samp { 137 | font-family: monospace, monospace; /* 1 */ 138 | font-size: 1em; /* 2 */ 139 | } 140 | 141 | /** 142 | * Add the correct font style in Android 4.3-. 143 | */ 144 | 145 | dfn { 146 | font-style: italic; 147 | } 148 | 149 | /** 150 | * Add the correct background and color in IE 9-. 151 | */ 152 | 153 | mark { 154 | background-color: #ff0; 155 | color: #000; 156 | } 157 | 158 | /** 159 | * Add the correct font size in all browsers. 160 | */ 161 | 162 | small { 163 | font-size: 80%; 164 | } 165 | 166 | /** 167 | * Prevent `sub` and `sup` elements from affecting the line height in 168 | * all browsers. 169 | */ 170 | 171 | sub, 172 | sup { 173 | font-size: 75%; 174 | line-height: 0; 175 | position: relative; 176 | vertical-align: baseline; 177 | } 178 | 179 | sub { 180 | bottom: -0.25em; 181 | } 182 | 183 | sup { 184 | top: -0.5em; 185 | } 186 | 187 | /* Embedded content 188 | ========================================================================== */ 189 | 190 | /** 191 | * Add the correct display in IE 9-. 192 | */ 193 | 194 | audio, 195 | video { 196 | display: inline-block; 197 | } 198 | 199 | /** 200 | * Add the correct display in iOS 4-7. 201 | */ 202 | 203 | audio:not([controls]) { 204 | display: none; 205 | height: 0; 206 | } 207 | 208 | /** 209 | * Remove the border on images inside links in IE 10-. 210 | */ 211 | 212 | img { 213 | border-style: none; 214 | } 215 | 216 | /** 217 | * Hide the overflow in IE. 218 | */ 219 | 220 | svg:not(:root) { 221 | overflow: hidden; 222 | } 223 | 224 | /* Forms 225 | ========================================================================== */ 226 | 227 | /** 228 | * Remove the margin in Firefox and Safari. 229 | */ 230 | 231 | button, 232 | input, 233 | optgroup, 234 | select, 235 | textarea { 236 | margin: 0; 237 | } 238 | 239 | /** 240 | * Show the overflow in IE. 241 | * 1. Show the overflow in Edge. 242 | */ 243 | 244 | button, 245 | input { /* 1 */ 246 | overflow: visible; 247 | } 248 | 249 | /** 250 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 251 | * 1. Remove the inheritance of text transform in Firefox. 252 | */ 253 | 254 | button, 255 | select { /* 1 */ 256 | text-transform: none; 257 | } 258 | 259 | /** 260 | * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` 261 | * controls in Android 4. 262 | * 2. Correct the inability to style clickable types in iOS and Safari. 263 | */ 264 | 265 | button, 266 | html [type="button"], /* 1 */ 267 | [type="reset"], 268 | [type="submit"] { 269 | -webkit-appearance: button; /* 2 */ 270 | } 271 | 272 | /** 273 | * Remove the inner border and padding in Firefox. 274 | */ 275 | 276 | button::-moz-focus-inner, 277 | [type="button"]::-moz-focus-inner, 278 | [type="reset"]::-moz-focus-inner, 279 | [type="submit"]::-moz-focus-inner { 280 | border-style: none; 281 | padding: 0; 282 | } 283 | 284 | /** 285 | * Restore the focus styles unset by the previous rule. 286 | */ 287 | 288 | button:-moz-focusring, 289 | [type="button"]:-moz-focusring, 290 | [type="reset"]:-moz-focusring, 291 | [type="submit"]:-moz-focusring { 292 | outline: 1px dotted ButtonText; 293 | } 294 | 295 | /** 296 | * 1. Correct the text wrapping in Edge and IE. 297 | * 2. Correct the color inheritance from `fieldset` elements in IE. 298 | * 3. Remove the padding so developers are not caught out when they zero out 299 | * `fieldset` elements in all browsers. 300 | */ 301 | 302 | legend { 303 | box-sizing: border-box; /* 1 */ 304 | color: inherit; /* 2 */ 305 | display: table; /* 1 */ 306 | max-width: 100%; /* 1 */ 307 | padding: 0; /* 3 */ 308 | white-space: normal; /* 1 */ 309 | } 310 | 311 | /** 312 | * 1. Add the correct display in IE 9-. 313 | * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. 314 | */ 315 | 316 | progress { 317 | display: inline-block; /* 1 */ 318 | vertical-align: baseline; /* 2 */ 319 | } 320 | 321 | /** 322 | * Remove the default vertical scrollbar in IE. 323 | */ 324 | 325 | textarea { 326 | overflow: auto; 327 | } 328 | 329 | /** 330 | * 1. Add the correct box sizing in IE 10-. 331 | * 2. Remove the padding in IE 10-. 332 | */ 333 | 334 | [type="checkbox"], 335 | [type="radio"] { 336 | box-sizing: border-box; /* 1 */ 337 | padding: 0; /* 2 */ 338 | } 339 | 340 | /** 341 | * Correct the cursor style of increment and decrement buttons in Chrome. 342 | */ 343 | 344 | [type="number"]::-webkit-inner-spin-button, 345 | [type="number"]::-webkit-outer-spin-button { 346 | height: auto; 347 | } 348 | 349 | /** 350 | * 1. Correct the odd appearance in Chrome and Safari. 351 | * 2. Correct the outline style in Safari. 352 | */ 353 | 354 | [type="search"] { 355 | -webkit-appearance: textfield; /* 1 */ 356 | outline-offset: -2px; /* 2 */ 357 | } 358 | 359 | /** 360 | * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. 361 | */ 362 | 363 | [type="search"]::-webkit-search-cancel-button, 364 | [type="search"]::-webkit-search-decoration { 365 | -webkit-appearance: none; 366 | } 367 | 368 | /** 369 | * 1. Correct the inability to style clickable types in iOS and Safari. 370 | * 2. Change font properties to `inherit` in Safari. 371 | */ 372 | 373 | ::-webkit-file-upload-button { 374 | -webkit-appearance: button; /* 1 */ 375 | font: inherit; /* 2 */ 376 | } 377 | 378 | /* Interactive 379 | ========================================================================== */ 380 | 381 | /* 382 | * Add the correct display in IE 9-. 383 | * 1. Add the correct display in Edge, IE, and Firefox. 384 | */ 385 | 386 | details, /* 1 */ 387 | menu { 388 | display: block; 389 | } 390 | 391 | /* 392 | * Add the correct display in all browsers. 393 | */ 394 | 395 | summary { 396 | display: list-item; 397 | } 398 | 399 | /* Scripting 400 | ========================================================================== */ 401 | 402 | /** 403 | * Add the correct display in IE 9-. 404 | */ 405 | 406 | canvas { 407 | display: inline-block; 408 | } 409 | 410 | /** 411 | * Add the correct display in IE. 412 | */ 413 | 414 | template { 415 | display: none; 416 | } 417 | 418 | /* Hidden 419 | ========================================================================== */ 420 | 421 | /** 422 | * Add the correct display in IE 10-. 423 | */ 424 | 425 | [hidden] { 426 | display: none; 427 | } 428 | -------------------------------------------------------------------------------- /assets/sass/bourbon/css3/_flex-box.scss: -------------------------------------------------------------------------------- 1 | // CSS3 Flexible Box Model and property defaults 2 | 3 | // Custom shorthand notation for flexbox 4 | @mixin box($orient: inline-axis, $pack: start, $align: stretch) { 5 | @include _bourbon-deprecate-for-prefixing("box"); 6 | 7 | @include display-box; 8 | @include box-orient($orient); 9 | @include box-pack($pack); 10 | @include box-align($align); 11 | } 12 | 13 | @mixin display-box { 14 | @include _bourbon-deprecate-for-prefixing("display-box"); 15 | 16 | display: -webkit-box; 17 | display: -moz-box; 18 | display: -ms-flexbox; // IE 10 19 | display: box; 20 | } 21 | 22 | @mixin box-orient($orient: inline-axis) { 23 | @include _bourbon-deprecate-for-prefixing("box-orient"); 24 | 25 | // horizontal|vertical|inline-axis|block-axis|inherit 26 | @include prefixer(box-orient, $orient, webkit moz spec); 27 | } 28 | 29 | @mixin box-pack($pack: start) { 30 | @include _bourbon-deprecate-for-prefixing("box-pack"); 31 | 32 | // start|end|center|justify 33 | @include prefixer(box-pack, $pack, webkit moz spec); 34 | -ms-flex-pack: $pack; // IE 10 35 | } 36 | 37 | @mixin box-align($align: stretch) { 38 | @include _bourbon-deprecate-for-prefixing("box-align"); 39 | 40 | // start|end|center|baseline|stretch 41 | @include prefixer(box-align, $align, webkit moz spec); 42 | -ms-flex-align: $align; // IE 10 43 | } 44 | 45 | @mixin box-direction($direction: normal) { 46 | @include _bourbon-deprecate-for-prefixing("box-direction"); 47 | 48 | // normal|reverse|inherit 49 | @include prefixer(box-direction, $direction, webkit moz spec); 50 | -ms-flex-direction: $direction; // IE 10 51 | } 52 | 53 | @mixin box-lines($lines: single) { 54 | @include _bourbon-deprecate-for-prefixing("box-lines"); 55 | 56 | // single|multiple 57 | @include prefixer(box-lines, $lines, webkit moz spec); 58 | } 59 | 60 | @mixin box-ordinal-group($int: 1) { 61 | @include _bourbon-deprecate-for-prefixing("box-ordinal-group"); 62 | 63 | @include prefixer(box-ordinal-group, $int, webkit moz spec); 64 | -ms-flex-order: $int; // IE 10 65 | } 66 | 67 | @mixin box-flex($value: 0) { 68 | @include _bourbon-deprecate-for-prefixing("box-flex"); 69 | 70 | @include prefixer(box-flex, $value, webkit moz spec); 71 | -ms-flex: $value; // IE 10 72 | } 73 | 74 | @mixin box-flex-group($int: 1) { 75 | @include _bourbon-deprecate-for-prefixing("box-flex-group"); 76 | 77 | @include prefixer(box-flex-group, $int, webkit moz spec); 78 | } 79 | 80 | // CSS3 Flexible Box Model and property defaults 81 | // Unified attributes for 2009, 2011, and 2012 flavours. 82 | 83 | // 2009 - display (box | inline-box) 84 | // 2011 - display (flexbox | inline-flexbox) 85 | // 2012 - display (flex | inline-flex) 86 | @mixin display($value) { 87 | @include _bourbon-deprecate-for-prefixing("display"); 88 | 89 | // flex | inline-flex 90 | @if $value == "flex" { 91 | // 2009 92 | display: -webkit-box; 93 | display: -moz-box; 94 | display: box; 95 | 96 | // 2012 97 | display: -webkit-flex; 98 | display: -moz-flex; 99 | display: -ms-flexbox; // 2011 (IE 10) 100 | display: flex; 101 | } @else if $value == "inline-flex" { 102 | display: -webkit-inline-box; 103 | display: -moz-inline-box; 104 | display: inline-box; 105 | 106 | display: -webkit-inline-flex; 107 | display: -moz-inline-flex; 108 | display: -ms-inline-flexbox; 109 | display: inline-flex; 110 | } @else { 111 | display: $value; 112 | } 113 | } 114 | 115 | // 2009 - box-flex (integer) 116 | // 2011 - flex (decimal | width decimal) 117 | // 2012 - flex (integer integer width) 118 | @mixin flex($value) { 119 | @include _bourbon-deprecate-for-prefixing("flex"); 120 | 121 | // Grab flex-grow for older browsers. 122 | $flex-grow: nth($value, 1); 123 | 124 | // 2009 125 | @include prefixer(box-flex, $flex-grow, webkit moz spec); 126 | 127 | // 2011 (IE 10), 2012 128 | @include prefixer(flex, $value, webkit moz ms spec); 129 | } 130 | 131 | // 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis) 132 | // - box-direction (normal | reverse) 133 | // 2011 - flex-direction (row | row-reverse | column | column-reverse) 134 | // 2012 - flex-direction (row | row-reverse | column | column-reverse) 135 | @mixin flex-direction($value: row) { 136 | @include _bourbon-deprecate-for-prefixing("flex-direction"); 137 | 138 | // Alt values. 139 | $value-2009: $value; 140 | $value-2011: $value; 141 | $direction: normal; 142 | 143 | @if $value == row { 144 | $value-2009: horizontal; 145 | } @else if $value == "row-reverse" { 146 | $value-2009: horizontal; 147 | $direction: reverse; 148 | } @else if $value == column { 149 | $value-2009: vertical; 150 | } @else if $value == "column-reverse" { 151 | $value-2009: vertical; 152 | $direction: reverse; 153 | } 154 | 155 | // 2009 156 | @include prefixer(box-orient, $value-2009, webkit moz spec); 157 | @include prefixer(box-direction, $direction, webkit moz spec); 158 | 159 | // 2012 160 | @include prefixer(flex-direction, $value, webkit moz spec); 161 | 162 | // 2011 (IE 10) 163 | -ms-flex-direction: $value; 164 | } 165 | 166 | // 2009 - box-lines (single | multiple) 167 | // 2011 - flex-wrap (nowrap | wrap | wrap-reverse) 168 | // 2012 - flex-wrap (nowrap | wrap | wrap-reverse) 169 | @mixin flex-wrap($value: nowrap) { 170 | @include _bourbon-deprecate-for-prefixing("flex-wrap"); 171 | 172 | // Alt values 173 | $alt-value: $value; 174 | @if $value == nowrap { 175 | $alt-value: single; 176 | } @else if $value == wrap { 177 | $alt-value: multiple; 178 | } @else if $value == "wrap-reverse" { 179 | $alt-value: multiple; 180 | } 181 | 182 | @include prefixer(box-lines, $alt-value, webkit moz spec); 183 | @include prefixer(flex-wrap, $value, webkit moz ms spec); 184 | } 185 | 186 | // 2009 - TODO: parse values into flex-direction/flex-wrap 187 | // 2011 - TODO: parse values into flex-direction/flex-wrap 188 | // 2012 - flex-flow (flex-direction || flex-wrap) 189 | @mixin flex-flow($value) { 190 | @include _bourbon-deprecate-for-prefixing("flex-flow"); 191 | 192 | @include prefixer(flex-flow, $value, webkit moz spec); 193 | } 194 | 195 | // 2009 - box-ordinal-group (integer) 196 | // 2011 - flex-order (integer) 197 | // 2012 - order (integer) 198 | @mixin order($int: 0) { 199 | @include _bourbon-deprecate-for-prefixing("order"); 200 | 201 | // 2009 202 | @include prefixer(box-ordinal-group, $int, webkit moz spec); 203 | 204 | // 2012 205 | @include prefixer(order, $int, webkit moz spec); 206 | 207 | // 2011 (IE 10) 208 | -ms-flex-order: $int; 209 | } 210 | 211 | // 2012 - flex-grow (number) 212 | @mixin flex-grow($number: 0) { 213 | @include _bourbon-deprecate-for-prefixing("flex-grow"); 214 | 215 | @include prefixer(flex-grow, $number, webkit moz spec); 216 | -ms-flex-positive: $number; 217 | } 218 | 219 | // 2012 - flex-shrink (number) 220 | @mixin flex-shrink($number: 1) { 221 | @include _bourbon-deprecate-for-prefixing("flex-shrink"); 222 | 223 | @include prefixer(flex-shrink, $number, webkit moz spec); 224 | -ms-flex-negative: $number; 225 | } 226 | 227 | // 2012 - flex-basis (number) 228 | @mixin flex-basis($width: auto) { 229 | @include _bourbon-deprecate-for-prefixing("flex-basis"); 230 | 231 | @include prefixer(flex-basis, $width, webkit moz spec); 232 | -ms-flex-preferred-size: $width; 233 | } 234 | 235 | // 2009 - box-pack (start | end | center | justify) 236 | // 2011 - flex-pack (start | end | center | justify) 237 | // 2012 - justify-content (flex-start | flex-end | center | space-between | space-around) 238 | @mixin justify-content($value: flex-start) { 239 | @include _bourbon-deprecate-for-prefixing("justify-content"); 240 | 241 | // Alt values. 242 | $alt-value: $value; 243 | @if $value == "flex-start" { 244 | $alt-value: start; 245 | } @else if $value == "flex-end" { 246 | $alt-value: end; 247 | } @else if $value == "space-between" { 248 | $alt-value: justify; 249 | } @else if $value == "space-around" { 250 | $alt-value: distribute; 251 | } 252 | 253 | // 2009 254 | @include prefixer(box-pack, $alt-value, webkit moz spec); 255 | 256 | // 2012 257 | @include prefixer(justify-content, $value, webkit moz ms o spec); 258 | 259 | // 2011 (IE 10) 260 | -ms-flex-pack: $alt-value; 261 | } 262 | 263 | // 2009 - box-align (start | end | center | baseline | stretch) 264 | // 2011 - flex-align (start | end | center | baseline | stretch) 265 | // 2012 - align-items (flex-start | flex-end | center | baseline | stretch) 266 | @mixin align-items($value: stretch) { 267 | @include _bourbon-deprecate-for-prefixing("align-items"); 268 | 269 | $alt-value: $value; 270 | 271 | @if $value == "flex-start" { 272 | $alt-value: start; 273 | } @else if $value == "flex-end" { 274 | $alt-value: end; 275 | } 276 | 277 | // 2009 278 | @include prefixer(box-align, $alt-value, webkit moz spec); 279 | 280 | // 2012 281 | @include prefixer(align-items, $value, webkit moz ms o spec); 282 | 283 | // 2011 (IE 10) 284 | -ms-flex-align: $alt-value; 285 | } 286 | 287 | // 2011 - flex-item-align (auto | start | end | center | baseline | stretch) 288 | // 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch) 289 | @mixin align-self($value: auto) { 290 | @include _bourbon-deprecate-for-prefixing("align-self"); 291 | 292 | $value-2011: $value; 293 | @if $value == "flex-start" { 294 | $value-2011: start; 295 | } @else if $value == "flex-end" { 296 | $value-2011: end; 297 | } 298 | 299 | // 2012 300 | @include prefixer(align-self, $value, webkit moz spec); 301 | 302 | // 2011 (IE 10) 303 | -ms-flex-item-align: $value-2011; 304 | } 305 | 306 | // 2011 - flex-line-pack (start | end | center | justify | distribute | stretch) 307 | // 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch) 308 | @mixin align-content($value: stretch) { 309 | @include _bourbon-deprecate-for-prefixing("align-content"); 310 | 311 | $value-2011: $value; 312 | @if $value == "flex-start" { 313 | $value-2011: start; 314 | } @else if $value == "flex-end" { 315 | $value-2011: end; 316 | } @else if $value == "space-between" { 317 | $value-2011: justify; 318 | } @else if $value == "space-around" { 319 | $value-2011: distribute; 320 | } 321 | 322 | // 2012 323 | @include prefixer(align-content, $value, webkit moz spec); 324 | 325 | // 2011 (IE 10) 326 | -ms-flex-line-pack: $value-2011; 327 | } 328 | -------------------------------------------------------------------------------- /assets/sass/bourbon/_bourbon-deprecated-upcoming.scss: -------------------------------------------------------------------------------- 1 | // The following features have been deprecated and will be removed in the next MAJOR version release 2 | 3 | @mixin inline-block { 4 | @include _bourbon-deprecate("inline-block"); 5 | 6 | display: inline-block; 7 | } 8 | 9 | @mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) { 10 | @include _bourbon-deprecate("button"); 11 | 12 | @if type-of($style) == string and type-of($base-color) == color { 13 | @include buttonstyle($style, $base-color, $text-size, $padding); 14 | } 15 | 16 | @if type-of($style) == string and type-of($base-color) == number { 17 | $padding: $text-size; 18 | $text-size: $base-color; 19 | $base-color: #4294f0; 20 | 21 | @if $padding == inherit { 22 | $padding: 7px 18px; 23 | } 24 | 25 | @include buttonstyle($style, $base-color, $text-size, $padding); 26 | } 27 | 28 | @if type-of($style) == color and type-of($base-color) == color { 29 | $base-color: $style; 30 | $style: simple; 31 | @include buttonstyle($style, $base-color, $text-size, $padding); 32 | } 33 | 34 | @if type-of($style) == color and type-of($base-color) == number { 35 | $padding: $text-size; 36 | $text-size: $base-color; 37 | $base-color: $style; 38 | $style: simple; 39 | 40 | @if $padding == inherit { 41 | $padding: 7px 18px; 42 | } 43 | 44 | @include buttonstyle($style, $base-color, $text-size, $padding); 45 | } 46 | 47 | @if type-of($style) == number { 48 | $padding: $base-color; 49 | $text-size: $style; 50 | $base-color: #4294f0; 51 | $style: simple; 52 | 53 | @if $padding == #4294f0 { 54 | $padding: 7px 18px; 55 | } 56 | 57 | @include buttonstyle($style, $base-color, $text-size, $padding); 58 | } 59 | 60 | &:disabled { 61 | cursor: not-allowed; 62 | opacity: 0.5; 63 | } 64 | } 65 | 66 | // Selector Style Button 67 | @mixin buttonstyle($type, $b-color, $t-size, $pad) { 68 | // Grayscale button 69 | @if $type == simple and $b-color == grayscale($b-color) { 70 | @include simple($b-color, true, $t-size, $pad); 71 | } 72 | 73 | @if $type == shiny and $b-color == grayscale($b-color) { 74 | @include shiny($b-color, true, $t-size, $pad); 75 | } 76 | 77 | @if $type == pill and $b-color == grayscale($b-color) { 78 | @include pill($b-color, true, $t-size, $pad); 79 | } 80 | 81 | @if $type == flat and $b-color == grayscale($b-color) { 82 | @include flat($b-color, true, $t-size, $pad); 83 | } 84 | 85 | // Colored button 86 | @if $type == simple { 87 | @include simple($b-color, false, $t-size, $pad); 88 | } 89 | 90 | @else if $type == shiny { 91 | @include shiny($b-color, false, $t-size, $pad); 92 | } 93 | 94 | @else if $type == pill { 95 | @include pill($b-color, false, $t-size, $pad); 96 | } 97 | 98 | @else if $type == flat { 99 | @include flat($b-color, false, $t-size, $pad); 100 | } 101 | } 102 | 103 | // Simple Button 104 | @mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { 105 | $color: hsl(0, 0, 100%); 106 | $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%); 107 | $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%); 108 | $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%); 109 | $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%); 110 | 111 | @if is-light($base-color) { 112 | $color: hsl(0, 0, 20%); 113 | $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); 114 | } 115 | 116 | @if $grayscale == true { 117 | $border: grayscale($border); 118 | $inset-shadow: grayscale($inset-shadow); 119 | $stop-gradient: grayscale($stop-gradient); 120 | $text-shadow: grayscale($text-shadow); 121 | } 122 | 123 | border: 1px solid $border; 124 | border-radius: 3px; 125 | box-shadow: inset 0 1px 0 0 $inset-shadow; 126 | color: $color; 127 | display: inline-block; 128 | font-size: $textsize; 129 | font-weight: bold; 130 | @include linear-gradient ($base-color, $stop-gradient); 131 | padding: $padding; 132 | text-decoration: none; 133 | text-shadow: 0 1px 0 $text-shadow; 134 | background-clip: padding-box; 135 | 136 | &:hover:not(:disabled) { 137 | $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%); 138 | $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%); 139 | $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%); 140 | 141 | @if $grayscale == true { 142 | $base-color-hover: grayscale($base-color-hover); 143 | $inset-shadow-hover: grayscale($inset-shadow-hover); 144 | $stop-gradient-hover: grayscale($stop-gradient-hover); 145 | } 146 | 147 | @include linear-gradient ($base-color-hover, $stop-gradient-hover); 148 | 149 | box-shadow: inset 0 1px 0 0 $inset-shadow-hover; 150 | cursor: pointer; 151 | } 152 | 153 | &:active:not(:disabled), 154 | &:focus:not(:disabled) { 155 | $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%); 156 | $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%); 157 | 158 | @if $grayscale == true { 159 | $border-active: grayscale($border-active); 160 | $inset-shadow-active: grayscale($inset-shadow-active); 161 | } 162 | 163 | border: 1px solid $border-active; 164 | box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active; 165 | } 166 | } 167 | 168 | // Shiny Button 169 | @mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { 170 | $color: hsl(0, 0, 100%); 171 | $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81); 172 | $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122); 173 | $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46); 174 | $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12); 175 | $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33); 176 | $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114); 177 | $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48); 178 | 179 | @if is-light($base-color) { 180 | $color: hsl(0, 0, 20%); 181 | $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); 182 | } 183 | 184 | @if $grayscale == true { 185 | $border: grayscale($border); 186 | $border-bottom: grayscale($border-bottom); 187 | $fourth-stop: grayscale($fourth-stop); 188 | $inset-shadow: grayscale($inset-shadow); 189 | $second-stop: grayscale($second-stop); 190 | $text-shadow: grayscale($text-shadow); 191 | $third-stop: grayscale($third-stop); 192 | } 193 | 194 | @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%); 195 | 196 | border: 1px solid $border; 197 | border-bottom: 1px solid $border-bottom; 198 | border-radius: 5px; 199 | box-shadow: inset 0 1px 0 0 $inset-shadow; 200 | color: $color; 201 | display: inline-block; 202 | font-size: $textsize; 203 | font-weight: bold; 204 | padding: $padding; 205 | text-align: center; 206 | text-decoration: none; 207 | text-shadow: 0 -1px 1px $text-shadow; 208 | 209 | &:hover:not(:disabled) { 210 | $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18); 211 | $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51); 212 | $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66); 213 | $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63); 214 | 215 | @if $grayscale == true { 216 | $first-stop-hover: grayscale($first-stop-hover); 217 | $second-stop-hover: grayscale($second-stop-hover); 218 | $third-stop-hover: grayscale($third-stop-hover); 219 | $fourth-stop-hover: grayscale($fourth-stop-hover); 220 | } 221 | 222 | @include linear-gradient(top, $first-stop-hover 0%, 223 | $second-stop-hover 50%, 224 | $third-stop-hover 50%, 225 | $fourth-stop-hover 100%); 226 | cursor: pointer; 227 | } 228 | 229 | &:active:not(:disabled), 230 | &:focus:not(:disabled) { 231 | $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122); 232 | 233 | @if $grayscale == true { 234 | $inset-shadow-active: grayscale($inset-shadow-active); 235 | } 236 | 237 | box-shadow: inset 0 0 20px 0 $inset-shadow-active; 238 | } 239 | } 240 | 241 | // Pill Button 242 | @mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { 243 | $color: hsl(0, 0, 100%); 244 | $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%); 245 | $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%); 246 | $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%); 247 | $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%); 248 | $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%); 249 | $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%); 250 | 251 | @if is-light($base-color) { 252 | $color: hsl(0, 0, 20%); 253 | $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); 254 | } 255 | 256 | @if $grayscale == true { 257 | $border-bottom: grayscale($border-bottom); 258 | $border-sides: grayscale($border-sides); 259 | $border-top: grayscale($border-top); 260 | $inset-shadow: grayscale($inset-shadow); 261 | $stop-gradient: grayscale($stop-gradient); 262 | $text-shadow: grayscale($text-shadow); 263 | } 264 | 265 | border: 1px solid $border-top; 266 | border-color: $border-top $border-sides $border-bottom; 267 | border-radius: 16px; 268 | box-shadow: inset 0 1px 0 0 $inset-shadow; 269 | color: $color; 270 | display: inline-block; 271 | font-size: $textsize; 272 | font-weight: normal; 273 | line-height: 1; 274 | @include linear-gradient ($base-color, $stop-gradient); 275 | padding: $padding; 276 | text-align: center; 277 | text-decoration: none; 278 | text-shadow: 0 -1px 1px $text-shadow; 279 | background-clip: padding-box; 280 | 281 | &:hover:not(:disabled) { 282 | $base-color-hover: adjust-color($base-color, $lightness: -4.5%); 283 | $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%); 284 | $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%); 285 | $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%); 286 | $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%); 287 | $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%); 288 | $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%); 289 | 290 | @if $grayscale == true { 291 | $base-color-hover: grayscale($base-color-hover); 292 | $border-bottom: grayscale($border-bottom); 293 | $border-sides: grayscale($border-sides); 294 | $border-top: grayscale($border-top); 295 | $inset-shadow-hover: grayscale($inset-shadow-hover); 296 | $stop-gradient-hover: grayscale($stop-gradient-hover); 297 | $text-shadow-hover: grayscale($text-shadow-hover); 298 | } 299 | 300 | @include linear-gradient ($base-color-hover, $stop-gradient-hover); 301 | 302 | background-clip: padding-box; 303 | border: 1px solid $border-top; 304 | border-color: $border-top $border-sides $border-bottom; 305 | box-shadow: inset 0 1px 0 0 $inset-shadow-hover; 306 | cursor: pointer; 307 | text-shadow: 0 -1px 1px $text-shadow-hover; 308 | } 309 | 310 | &:active:not(:disabled), 311 | &:focus:not(:disabled) { 312 | $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%); 313 | $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%); 314 | $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%); 315 | $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%); 316 | $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%); 317 | 318 | @if $grayscale == true { 319 | $active-color: grayscale($active-color); 320 | $border-active: grayscale($border-active); 321 | $border-bottom-active: grayscale($border-bottom-active); 322 | $inset-shadow-active: grayscale($inset-shadow-active); 323 | $text-shadow-active: grayscale($text-shadow-active); 324 | } 325 | 326 | background: $active-color; 327 | border: 1px solid $border-active; 328 | border-bottom: 1px solid $border-bottom-active; 329 | box-shadow: inset 0 0 6px 3px $inset-shadow-active; 330 | text-shadow: 0 -1px 1px $text-shadow-active; 331 | } 332 | } 333 | 334 | // Flat Button 335 | @mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { 336 | $color: hsl(0, 0, 100%); 337 | 338 | @if is-light($base-color) { 339 | $color: hsl(0, 0, 20%); 340 | } 341 | 342 | background-color: $base-color; 343 | border-radius: 3px; 344 | border: 0; 345 | color: $color; 346 | display: inline-block; 347 | font-size: $textsize; 348 | font-weight: bold; 349 | padding: $padding; 350 | text-decoration: none; 351 | background-clip: padding-box; 352 | 353 | &:hover:not(:disabled){ 354 | $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%); 355 | 356 | @if $grayscale == true { 357 | $base-color-hover: grayscale($base-color-hover); 358 | } 359 | 360 | background-color: $base-color-hover; 361 | cursor: pointer; 362 | } 363 | 364 | &:active:not(:disabled), 365 | &:focus:not(:disabled) { 366 | $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%); 367 | 368 | @if $grayscale == true { 369 | $base-color-active: grayscale($base-color-active); 370 | } 371 | 372 | background-color: $base-color-active; 373 | cursor: pointer; 374 | } 375 | } 376 | 377 | // Flexible grid 378 | @function flex-grid($columns, $container-columns: $fg-max-columns) { 379 | @if $output-bourbon-deprecation-warnings == true { 380 | @warn "[Bourbon] [Deprecation] `flex-grid` is deprecated and will be " + 381 | "removed in 5.0.0. For grid functions, check out Bourbon's sister library" + 382 | "Neat."; 383 | } 384 | 385 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; 386 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 387 | @return percentage($width / $container-width); 388 | } 389 | 390 | // Flexible gutter 391 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { 392 | @if $output-bourbon-deprecation-warnings == true { 393 | @warn "[Bourbon] [Deprecation] `flex-gutter` is deprecated and will be " + 394 | "removed in 5.0.0. For grid functions, check out Bourbon's sister library" + 395 | "Neat."; 396 | } 397 | 398 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; 399 | @return percentage($gutter / $container-width); 400 | } 401 | 402 | @function grid-width($n) { 403 | @if $output-bourbon-deprecation-warnings == true { 404 | @warn "[Bourbon] [Deprecation] `grid-width` is deprecated and will be " + 405 | "removed in 5.0.0. For grid functions, check out Bourbon's sister library" + 406 | "Neat."; 407 | } 408 | 409 | @return $n * $gw-column + ($n - 1) * $gw-gutter; 410 | } 411 | 412 | @function golden-ratio($value, $increment) { 413 | @if $output-bourbon-deprecation-warnings == true { 414 | @warn "[Bourbon] [Deprecation] `golden-ratio` is deprecated and will be " + 415 | "removed in 5.0.0. You can use the `modular-scale` function instead."; 416 | } 417 | 418 | @return modular-scale($increment, $value, $ratio: $golden); 419 | } 420 | 421 | @mixin box-sizing($box) { 422 | @include _bourbon-deprecate-for-prefixing("box-sizing"); 423 | 424 | @include prefixer(box-sizing, $box, webkit moz spec); 425 | } 426 | --------------------------------------------------------------------------------