├── .gitignore
├── LICENSE
├── _config.yml
├── _site
├── LICENSE
├── assets
│ ├── css
│ │ └── styles.css
│ └── fonts
│ │ └── open-sans
│ │ ├── OpenSans-Italic.ttf
│ │ └── OpenSans-Regular.ttf
└── index.html
├── assets
├── _scss
│ ├── abstracts
│ │ ├── __abstracts-dir.scss
│ │ ├── _fonts.scss
│ │ ├── _mixins.scss
│ │ └── _variables.scss
│ ├── base
│ │ ├── __base-dir.scss
│ │ ├── _global.scss
│ │ ├── _reset.scss
│ │ └── _typography.scss
│ ├── components
│ │ ├── __components-dir.scss
│ │ └── _container.scss
│ ├── layouts
│ │ ├── __layouts-dir.scss
│ │ └── _footer.scss
│ └── vendor
│ │ ├── __vendor-dir.scss
│ │ ├── bourbon
│ │ ├── _bourbon-deprecated-upcoming.scss
│ │ ├── _bourbon.scss
│ │ ├── addons
│ │ │ ├── _border-color.scss
│ │ │ ├── _border-radius.scss
│ │ │ ├── _border-style.scss
│ │ │ ├── _border-width.scss
│ │ │ ├── _buttons.scss
│ │ │ ├── _clearfix.scss
│ │ │ ├── _ellipsis.scss
│ │ │ ├── _font-stacks.scss
│ │ │ ├── _hide-text.scss
│ │ │ ├── _margin.scss
│ │ │ ├── _padding.scss
│ │ │ ├── _position.scss
│ │ │ ├── _prefixer.scss
│ │ │ ├── _retina-image.scss
│ │ │ ├── _size.scss
│ │ │ ├── _text-inputs.scss
│ │ │ ├── _timing-functions.scss
│ │ │ ├── _triangle.scss
│ │ │ └── _word-wrap.scss
│ │ ├── css3
│ │ │ ├── _animation.scss
│ │ │ ├── _appearance.scss
│ │ │ ├── _backface-visibility.scss
│ │ │ ├── _background-image.scss
│ │ │ ├── _background.scss
│ │ │ ├── _border-image.scss
│ │ │ ├── _calc.scss
│ │ │ ├── _columns.scss
│ │ │ ├── _filter.scss
│ │ │ ├── _flex-box.scss
│ │ │ ├── _font-face.scss
│ │ │ ├── _font-feature-settings.scss
│ │ │ ├── _hidpi-media-query.scss
│ │ │ ├── _hyphens.scss
│ │ │ ├── _image-rendering.scss
│ │ │ ├── _keyframes.scss
│ │ │ ├── _linear-gradient.scss
│ │ │ ├── _perspective.scss
│ │ │ ├── _placeholder.scss
│ │ │ ├── _radial-gradient.scss
│ │ │ ├── _selection.scss
│ │ │ ├── _text-decoration.scss
│ │ │ ├── _transform.scss
│ │ │ ├── _transition.scss
│ │ │ └── _user-select.scss
│ │ ├── functions
│ │ │ ├── _assign-inputs.scss
│ │ │ ├── _contains-falsy.scss
│ │ │ ├── _contains.scss
│ │ │ ├── _is-length.scss
│ │ │ ├── _is-light.scss
│ │ │ ├── _is-number.scss
│ │ │ ├── _is-size.scss
│ │ │ ├── _modular-scale.scss
│ │ │ ├── _px-to-em.scss
│ │ │ ├── _px-to-rem.scss
│ │ │ ├── _shade.scss
│ │ │ ├── _strip-units.scss
│ │ │ ├── _tint.scss
│ │ │ ├── _transition-property-name.scss
│ │ │ └── _unpack.scss
│ │ ├── helpers
│ │ │ ├── _convert-units.scss
│ │ │ ├── _directional-values.scss
│ │ │ ├── _font-source-declaration.scss
│ │ │ ├── _gradient-positions-parser.scss
│ │ │ ├── _linear-angle-parser.scss
│ │ │ ├── _linear-gradient-parser.scss
│ │ │ ├── _linear-positions-parser.scss
│ │ │ ├── _linear-side-corner-parser.scss
│ │ │ ├── _radial-arg-parser.scss
│ │ │ ├── _radial-gradient-parser.scss
│ │ │ ├── _radial-positions-parser.scss
│ │ │ ├── _render-gradients.scss
│ │ │ ├── _shape-size-stripper.scss
│ │ │ └── _str-to-num.scss
│ │ └── settings
│ │ │ ├── _asset-pipeline.scss
│ │ │ ├── _prefixer.scss
│ │ │ └── _px-to-em.scss
│ │ ├── fontawesome
│ │ ├── _animated.scss
│ │ ├── _bordered-pulled.scss
│ │ ├── _core.scss
│ │ ├── _fixed-width.scss
│ │ ├── _font-awesome.scss
│ │ ├── _icons.scss
│ │ ├── _larger.scss
│ │ ├── _list.scss
│ │ ├── _mixins.scss
│ │ ├── _path.scss
│ │ ├── _rotated-flipped.scss
│ │ ├── _screen-reader.scss
│ │ ├── _stacked.scss
│ │ └── _variables.scss
│ │ ├── neat
│ │ ├── _neat-helpers.scss
│ │ ├── _neat.scss
│ │ ├── functions
│ │ │ ├── _new-breakpoint.scss
│ │ │ └── _private.scss
│ │ ├── grid
│ │ │ ├── _box-sizing.scss
│ │ │ ├── _direction-context.scss
│ │ │ ├── _display-context.scss
│ │ │ ├── _fill-parent.scss
│ │ │ ├── _media.scss
│ │ │ ├── _omega.scss
│ │ │ ├── _outer-container.scss
│ │ │ ├── _pad.scss
│ │ │ ├── _private.scss
│ │ │ ├── _row.scss
│ │ │ ├── _shift.scss
│ │ │ ├── _span-columns.scss
│ │ │ ├── _to-deprecate.scss
│ │ │ └── _visual-grid.scss
│ │ └── settings
│ │ │ ├── _disable-warnings.scss
│ │ │ ├── _grid.scss
│ │ │ └── _visual-grid.scss
│ │ └── normalize
│ │ ├── _normalize.scss
│ │ ├── _support-for.scss
│ │ └── normalize
│ │ ├── _import-now.scss
│ │ ├── _normalize-mixin.scss
│ │ ├── _variables.scss
│ │ └── _vertical-rhythm.scss
├── css
│ └── styles.scss
└── fonts
│ └── open-sans
│ ├── OpenSans-Italic.ttf
│ └── OpenSans-Regular.ttf
└── index.html
/.gitignore:
--------------------------------------------------------------------------------
1 | .sass-cache/
2 | *.css.map
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | UNLICENSE (CC0)
2 |
3 | This is free and unencumbered software released into the public domain.
4 |
5 | Anyone is free to copy, modify, publish, use, compile, sell, or
6 | distribute this software, either in source code form or as a compiled
7 | binary, for any purpose, commercial or non-commercial, and by any
8 | means.
9 |
10 | In jurisdictions that recognize copyright laws, the author or authors
11 | of this software dedicate any and all copyright interest in the
12 | software to the public domain. We make this dedication for the benefit
13 | of the public at large and to the detriment of our heirs and
14 | successors. We intend this dedication to be an overt act of
15 | relinquishment in perpetuity of all present and future rights to this
16 | software under copyright law.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
22 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
23 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24 | OTHER DEALINGS IN THE SOFTWARE.
25 |
26 | For more information, please refer to
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | # Styleguide settings
2 | title: SCSS Playbook
3 | version: 1.0
4 | keywords: scss, playbook, design, code
5 | author: Matthew Elsom
6 | description: Quickstart scss playbook.
7 | language: en
8 | styles: /assets/css/styles.css
9 |
10 | # Distribution Settings
11 | baseurl:
12 | destination: _site
13 |
14 |
15 | # Jekyll Serve
16 | port: 4000
17 |
18 | # Preprocessor settings
19 | highlighter: rouge
20 | markdown: kramdown
21 | kramdown:
22 | input: GFM
23 |
24 | sass:
25 | sass_dir: assets/_scss # Scss location
26 | style: :compressed
--------------------------------------------------------------------------------
/_site/LICENSE:
--------------------------------------------------------------------------------
1 | UNLICENSE (CC0)
2 |
3 | This is free and unencumbered software released into the public domain.
4 |
5 | Anyone is free to copy, modify, publish, use, compile, sell, or
6 | distribute this software, either in source code form or as a compiled
7 | binary, for any purpose, commercial or non-commercial, and by any
8 | means.
9 |
10 | In jurisdictions that recognize copyright laws, the author or authors
11 | of this software dedicate any and all copyright interest in the
12 | software to the public domain. We make this dedication for the benefit
13 | of the public at large and to the detriment of our heirs and
14 | successors. We intend this dedication to be an overt act of
15 | relinquishment in perpetuity of all present and future rights to this
16 | software under copyright law.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
22 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
23 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24 | OTHER DEALINGS IN THE SOFTWARE.
25 |
26 | For more information, please refer to
--------------------------------------------------------------------------------
/_site/assets/fonts/open-sans/OpenSans-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matthewelsom/Project-ScssPlaybook/8fb2adf07e15462f972e83995f452af2fd673e03/_site/assets/fonts/open-sans/OpenSans-Italic.ttf
--------------------------------------------------------------------------------
/_site/assets/fonts/open-sans/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matthewelsom/Project-ScssPlaybook/8fb2adf07e15462f972e83995f452af2fd673e03/_site/assets/fonts/open-sans/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/_site/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | SCSS Playbook
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
Scss Playbook
15 |
This page is generated using Jekyll, and is compiled using a variation of the Scss Playbook
16 |
Creative Commons Zero, Shrare, Reuse, Distribute Freely.
17 |
18 |
21 |
22 |
--------------------------------------------------------------------------------
/assets/_scss/abstracts/__abstracts-dir.scss:
--------------------------------------------------------------------------------
1 | /*
2 | This file is used to contain all abstracts imports.
3 | Files inside this folder can contain abstract settings,
4 | helpers or functions. They have no direct output.
5 | */
6 | //Import Abstracts files
7 | @import 'fonts';
8 | @import 'mixins';
9 | @import 'variables';
--------------------------------------------------------------------------------
/assets/_scss/abstracts/_fonts.scss:
--------------------------------------------------------------------------------
1 | ///// Font Imports /////
2 | @include font-face("Open Sans", "../fonts/open-sans/OpenSans-Regular", normal, $file-formats: ttf);
3 | @include font-face("Open Sans", "../fonts/open-sans/OpenSans-Regular", normal, italic, $file-formats: ttf);
--------------------------------------------------------------------------------
/assets/_scss/abstracts/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
--------------------------------------------------------------------------------
/assets/_scss/abstracts/_variables.scss:
--------------------------------------------------------------------------------
1 | // Fonts
2 | $sansSerif : 'Open Sans';
3 |
4 | // Font Sizing
5 | $baseFontSize : 16px;
6 | $baseLineHeight : 1.5;
7 | $headingLineHeight : 1.2;
8 |
9 | // Colors
10 | $black : rgba(51,51,51,1);
11 | $red : #d52b1e;
12 | $blue : #00a1de;
13 |
14 | // Spacing
15 | $pad : 1em;
16 |
17 | // Breakpoints
18 | $smallBreakpoint : 600px;
19 | $largeBreakpoint : 1080px;
--------------------------------------------------------------------------------
/assets/_scss/base/__base-dir.scss:
--------------------------------------------------------------------------------
1 | /*
2 | This file is used to contain all base imports.
3 | Files inside this folder can contain global styles used in
4 | the project.
5 | */
6 | //Import Base files
7 | @import 'reset';
8 | @import 'global';
9 | @import 'typography';
--------------------------------------------------------------------------------
/assets/_scss/base/_global.scss:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | margin: 0;
4 | padding: 0;
5 | box-sizing: border-box;
6 |
7 | * {
8 | box-sizing: inherit;
9 | }
10 | }
--------------------------------------------------------------------------------
/assets/_scss/base/_reset.scss:
--------------------------------------------------------------------------------
1 | /*
2 | This file can be used to overwrite any normailze settings.
3 | */
--------------------------------------------------------------------------------
/assets/_scss/base/_typography.scss:
--------------------------------------------------------------------------------
1 | html {
2 | font-family: $sansSerif, sans-serif;
3 | font-weight: normal;
4 | color: $black;
5 | line-height: $baseLineHeight;
6 | font-size: 14px;
7 |
8 | @media only screen and (min-width: $smallBreakpoint) {
9 | font-size: 15px;
10 | }
11 |
12 | @media only screen and (min-width: $largeBreakpoint) {
13 | font-size: $baseFontSize;
14 | }
15 | }
16 |
17 | // Header Styles
18 | h1, h2, h3, h4, h5, h6 {
19 | font-weight: bold;
20 | margin: 0;
21 | margin-bottom: $pad;
22 | line-height: $headingLineHeight;
23 |
24 | a {
25 | font-weight: inherit;
26 | }
27 | }
28 | p {
29 | margin-bottom: $pad;
30 | }
31 |
32 | // Text Styles
33 | em { font-style: italic; }
34 | strong { font-weight: bold; }
35 | .uppercase { text-transform: uppercase; }
--------------------------------------------------------------------------------
/assets/_scss/components/__components-dir.scss:
--------------------------------------------------------------------------------
1 | /*
2 | This file is used to contain all component imports.
3 | Files inside this folder should contain all styles relating
4 | to a reusable component.
5 | */
6 | //Import Component files
7 |
8 | @import 'container';
--------------------------------------------------------------------------------
/assets/_scss/components/_container.scss:
--------------------------------------------------------------------------------
1 | // Container styles
2 | .container {
3 | display: block;
4 | margin: 0 auto;
5 | padding: 0 $pad;
6 | max-width: 1080px;
7 | }
--------------------------------------------------------------------------------
/assets/_scss/layouts/__layouts-dir.scss:
--------------------------------------------------------------------------------
1 | /*
2 | This file is used to contain all layout imports.
3 | Files inside this folder should contain all styles relating
4 | to layouts.
5 | */
6 | //Import layout files
7 |
8 | @import 'footer';
--------------------------------------------------------------------------------
/assets/_scss/layouts/_footer.scss:
--------------------------------------------------------------------------------
1 | // Footer Styles
2 | footer {
3 | background: $blue;
4 | color: white;
5 | padding: $pad * 2;
6 |
7 | div {
8 | @extend .container
9 | }
10 | }
--------------------------------------------------------------------------------
/assets/_scss/vendor/__vendor-dir.scss:
--------------------------------------------------------------------------------
1 | /*
2 | This file is used to contain all vendor imports.
3 | */
4 | //Import Vendor files
5 | @import "bourbon/bourbon"; //4.2.6
6 | @import "neat/neat"; //1.7.2
7 | @import "fontawesome/font-awesome"; //4.4.0
8 | @import "normalize/normalize"; //3.0.3
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | display: inline-block;
5 |
6 | @warn "The inline-block mixin is deprecated and will be removed in the next major version release";
7 | }
8 |
9 | @mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) {
10 |
11 | @if type-of($style) == string and type-of($base-color) == color {
12 | @include buttonstyle($style, $base-color, $text-size, $padding);
13 | }
14 |
15 | @if type-of($style) == string and type-of($base-color) == number {
16 | $padding: $text-size;
17 | $text-size: $base-color;
18 | $base-color: #4294f0;
19 |
20 | @if $padding == inherit {
21 | $padding: 7px 18px;
22 | }
23 |
24 | @include buttonstyle($style, $base-color, $text-size, $padding);
25 | }
26 |
27 | @if type-of($style) == color and type-of($base-color) == color {
28 | $base-color: $style;
29 | $style: simple;
30 | @include buttonstyle($style, $base-color, $text-size, $padding);
31 | }
32 |
33 | @if type-of($style) == color and type-of($base-color) == number {
34 | $padding: $text-size;
35 | $text-size: $base-color;
36 | $base-color: $style;
37 | $style: simple;
38 |
39 | @if $padding == inherit {
40 | $padding: 7px 18px;
41 | }
42 |
43 | @include buttonstyle($style, $base-color, $text-size, $padding);
44 | }
45 |
46 | @if type-of($style) == number {
47 | $padding: $base-color;
48 | $text-size: $style;
49 | $base-color: #4294f0;
50 | $style: simple;
51 |
52 | @if $padding == #4294f0 {
53 | $padding: 7px 18px;
54 | }
55 |
56 | @include buttonstyle($style, $base-color, $text-size, $padding);
57 | }
58 |
59 | &:disabled {
60 | cursor: not-allowed;
61 | opacity: 0.5;
62 | }
63 |
64 | @warn "The button mixin is deprecated and will be removed in the next major version release";
65 | }
66 |
67 | // Selector Style Button
68 | @mixin buttonstyle($type, $b-color, $t-size, $pad) {
69 | // Grayscale button
70 | @if $type == simple and $b-color == grayscale($b-color) {
71 | @include simple($b-color, true, $t-size, $pad);
72 | }
73 |
74 | @if $type == shiny and $b-color == grayscale($b-color) {
75 | @include shiny($b-color, true, $t-size, $pad);
76 | }
77 |
78 | @if $type == pill and $b-color == grayscale($b-color) {
79 | @include pill($b-color, true, $t-size, $pad);
80 | }
81 |
82 | @if $type == flat and $b-color == grayscale($b-color) {
83 | @include flat($b-color, true, $t-size, $pad);
84 | }
85 |
86 | // Colored button
87 | @if $type == simple {
88 | @include simple($b-color, false, $t-size, $pad);
89 | }
90 |
91 | @else if $type == shiny {
92 | @include shiny($b-color, false, $t-size, $pad);
93 | }
94 |
95 | @else if $type == pill {
96 | @include pill($b-color, false, $t-size, $pad);
97 | }
98 |
99 | @else if $type == flat {
100 | @include flat($b-color, false, $t-size, $pad);
101 | }
102 | }
103 |
104 | // Simple Button
105 | @mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
106 | $color: hsl(0, 0, 100%);
107 | $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
108 | $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%);
109 | $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%);
110 | $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%);
111 |
112 | @if is-light($base-color) {
113 | $color: hsl(0, 0, 20%);
114 | $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
115 | }
116 |
117 | @if $grayscale == true {
118 | $border: grayscale($border);
119 | $inset-shadow: grayscale($inset-shadow);
120 | $stop-gradient: grayscale($stop-gradient);
121 | $text-shadow: grayscale($text-shadow);
122 | }
123 |
124 | border: 1px solid $border;
125 | border-radius: 3px;
126 | box-shadow: inset 0 1px 0 0 $inset-shadow;
127 | color: $color;
128 | display: inline-block;
129 | font-size: $textsize;
130 | font-weight: bold;
131 | @include linear-gradient ($base-color, $stop-gradient);
132 | padding: $padding;
133 | text-decoration: none;
134 | text-shadow: 0 1px 0 $text-shadow;
135 | background-clip: padding-box;
136 |
137 | &:hover:not(:disabled) {
138 | $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
139 | $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%);
140 | $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%);
141 |
142 | @if $grayscale == true {
143 | $base-color-hover: grayscale($base-color-hover);
144 | $inset-shadow-hover: grayscale($inset-shadow-hover);
145 | $stop-gradient-hover: grayscale($stop-gradient-hover);
146 | }
147 |
148 | @include linear-gradient ($base-color-hover, $stop-gradient-hover);
149 |
150 | box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
151 | cursor: pointer;
152 | }
153 |
154 | &:active:not(:disabled),
155 | &:focus:not(:disabled) {
156 | $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%);
157 | $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%);
158 |
159 | @if $grayscale == true {
160 | $border-active: grayscale($border-active);
161 | $inset-shadow-active: grayscale($inset-shadow-active);
162 | }
163 |
164 | border: 1px solid $border-active;
165 | box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active;
166 | }
167 | }
168 |
169 | // Shiny Button
170 | @mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
171 | $color: hsl(0, 0, 100%);
172 | $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81);
173 | $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122);
174 | $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46);
175 | $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12);
176 | $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33);
177 | $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114);
178 | $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48);
179 |
180 | @if is-light($base-color) {
181 | $color: hsl(0, 0, 20%);
182 | $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
183 | }
184 |
185 | @if $grayscale == true {
186 | $border: grayscale($border);
187 | $border-bottom: grayscale($border-bottom);
188 | $fourth-stop: grayscale($fourth-stop);
189 | $inset-shadow: grayscale($inset-shadow);
190 | $second-stop: grayscale($second-stop);
191 | $text-shadow: grayscale($text-shadow);
192 | $third-stop: grayscale($third-stop);
193 | }
194 |
195 | @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);
196 |
197 | border: 1px solid $border;
198 | border-bottom: 1px solid $border-bottom;
199 | border-radius: 5px;
200 | box-shadow: inset 0 1px 0 0 $inset-shadow;
201 | color: $color;
202 | display: inline-block;
203 | font-size: $textsize;
204 | font-weight: bold;
205 | padding: $padding;
206 | text-align: center;
207 | text-decoration: none;
208 | text-shadow: 0 -1px 1px $text-shadow;
209 |
210 | &:hover:not(:disabled) {
211 | $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18);
212 | $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51);
213 | $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66);
214 | $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63);
215 |
216 | @if $grayscale == true {
217 | $first-stop-hover: grayscale($first-stop-hover);
218 | $second-stop-hover: grayscale($second-stop-hover);
219 | $third-stop-hover: grayscale($third-stop-hover);
220 | $fourth-stop-hover: grayscale($fourth-stop-hover);
221 | }
222 |
223 | @include linear-gradient(top, $first-stop-hover 0%,
224 | $second-stop-hover 50%,
225 | $third-stop-hover 50%,
226 | $fourth-stop-hover 100%);
227 | cursor: pointer;
228 | }
229 |
230 | &:active:not(:disabled),
231 | &:focus:not(:disabled) {
232 | $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122);
233 |
234 | @if $grayscale == true {
235 | $inset-shadow-active: grayscale($inset-shadow-active);
236 | }
237 |
238 | box-shadow: inset 0 0 20px 0 $inset-shadow-active;
239 | }
240 | }
241 |
242 | // Pill Button
243 | @mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
244 | $color: hsl(0, 0, 100%);
245 | $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%);
246 | $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%);
247 | $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%);
248 | $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%);
249 | $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%);
250 | $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%);
251 |
252 | @if is-light($base-color) {
253 | $color: hsl(0, 0, 20%);
254 | $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
255 | }
256 |
257 | @if $grayscale == true {
258 | $border-bottom: grayscale($border-bottom);
259 | $border-sides: grayscale($border-sides);
260 | $border-top: grayscale($border-top);
261 | $inset-shadow: grayscale($inset-shadow);
262 | $stop-gradient: grayscale($stop-gradient);
263 | $text-shadow: grayscale($text-shadow);
264 | }
265 |
266 | border: 1px solid $border-top;
267 | border-color: $border-top $border-sides $border-bottom;
268 | border-radius: 16px;
269 | box-shadow: inset 0 1px 0 0 $inset-shadow;
270 | color: $color;
271 | display: inline-block;
272 | font-size: $textsize;
273 | font-weight: normal;
274 | line-height: 1;
275 | @include linear-gradient ($base-color, $stop-gradient);
276 | padding: $padding;
277 | text-align: center;
278 | text-decoration: none;
279 | text-shadow: 0 -1px 1px $text-shadow;
280 | background-clip: padding-box;
281 |
282 | &:hover:not(:disabled) {
283 | $base-color-hover: adjust-color($base-color, $lightness: -4.5%);
284 | $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%);
285 | $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%);
286 | $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%);
287 | $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%);
288 | $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%);
289 | $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%);
290 |
291 | @if $grayscale == true {
292 | $base-color-hover: grayscale($base-color-hover);
293 | $border-bottom: grayscale($border-bottom);
294 | $border-sides: grayscale($border-sides);
295 | $border-top: grayscale($border-top);
296 | $inset-shadow-hover: grayscale($inset-shadow-hover);
297 | $stop-gradient-hover: grayscale($stop-gradient-hover);
298 | $text-shadow-hover: grayscale($text-shadow-hover);
299 | }
300 |
301 | @include linear-gradient ($base-color-hover, $stop-gradient-hover);
302 |
303 | background-clip: padding-box;
304 | border: 1px solid $border-top;
305 | border-color: $border-top $border-sides $border-bottom;
306 | box-shadow: inset 0 1px 0 0 $inset-shadow-hover;
307 | cursor: pointer;
308 | text-shadow: 0 -1px 1px $text-shadow-hover;
309 | }
310 |
311 | &:active:not(:disabled),
312 | &:focus:not(:disabled) {
313 | $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%);
314 | $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%);
315 | $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%);
316 | $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%);
317 | $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%);
318 |
319 | @if $grayscale == true {
320 | $active-color: grayscale($active-color);
321 | $border-active: grayscale($border-active);
322 | $border-bottom-active: grayscale($border-bottom-active);
323 | $inset-shadow-active: grayscale($inset-shadow-active);
324 | $text-shadow-active: grayscale($text-shadow-active);
325 | }
326 |
327 | background: $active-color;
328 | border: 1px solid $border-active;
329 | border-bottom: 1px solid $border-bottom-active;
330 | box-shadow: inset 0 0 6px 3px $inset-shadow-active;
331 | text-shadow: 0 -1px 1px $text-shadow-active;
332 | }
333 | }
334 |
335 | // Flat Button
336 | @mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) {
337 | $color: hsl(0, 0, 100%);
338 |
339 | @if is-light($base-color) {
340 | $color: hsl(0, 0, 20%);
341 | }
342 |
343 | background-color: $base-color;
344 | border-radius: 3px;
345 | border: 0;
346 | color: $color;
347 | display: inline-block;
348 | font-size: $textsize;
349 | font-weight: bold;
350 | padding: $padding;
351 | text-decoration: none;
352 | background-clip: padding-box;
353 |
354 | &:hover:not(:disabled){
355 | $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%);
356 |
357 | @if $grayscale == true {
358 | $base-color-hover: grayscale($base-color-hover);
359 | }
360 |
361 | background-color: $base-color-hover;
362 | cursor: pointer;
363 | }
364 |
365 | &:active:not(:disabled),
366 | &:focus:not(:disabled) {
367 | $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%);
368 |
369 | @if $grayscale == true {
370 | $base-color-active: grayscale($base-color-active);
371 | }
372 |
373 | background-color: $base-color-active;
374 | cursor: pointer;
375 | }
376 | }
377 |
378 | // Flexible grid
379 | @function flex-grid($columns, $container-columns: $fg-max-columns) {
380 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
381 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
382 | @return percentage($width / $container-width);
383 |
384 | @warn "The flex-grid function is deprecated and will be removed in the next major version release";
385 | }
386 |
387 | // Flexible gutter
388 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
389 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
390 | @return percentage($gutter / $container-width);
391 |
392 | @warn "The flex-gutter function is deprecated and will be removed in the next major version release";
393 | }
394 |
395 | @function grid-width($n) {
396 | @return $n * $gw-column + ($n - 1) * $gw-gutter;
397 |
398 | @warn "The grid-width function is deprecated and will be removed in the next major version release";
399 | }
400 |
401 | @function golden-ratio($value, $increment) {
402 | @return modular-scale($increment, $value, $ratio: $golden);
403 |
404 | @warn "The golden-ratio function is deprecated and will be removed in the next major version release. Please use the modular-scale function, instead.";
405 | }
406 |
407 | @mixin box-sizing($box) {
408 | @include prefixer(box-sizing, $box, webkit moz spec);
409 |
410 | @warn "The box-sizing mixin is deprecated and will be removed in the next major version release. This property can now be used un-prefixed.";
411 | }
412 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/_bourbon.scss:
--------------------------------------------------------------------------------
1 | // Bourbon 4.2.6
2 | // http://bourbon.io
3 | // Copyright 2011-2015 thoughtbot, inc.
4 | // MIT License
5 |
6 | @import "settings/prefixer";
7 | @import "settings/px-to-em";
8 | @import "settings/asset-pipeline";
9 |
10 | @import "functions/assign-inputs";
11 | @import "functions/contains";
12 | @import "functions/contains-falsy";
13 | @import "functions/is-length";
14 | @import "functions/is-light";
15 | @import "functions/is-number";
16 | @import "functions/is-size";
17 | @import "functions/px-to-em";
18 | @import "functions/px-to-rem";
19 | @import "functions/shade";
20 | @import "functions/strip-units";
21 | @import "functions/tint";
22 | @import "functions/transition-property-name";
23 | @import "functions/unpack";
24 | @import "functions/modular-scale";
25 |
26 | @import "helpers/convert-units";
27 | @import "helpers/directional-values";
28 | @import "helpers/font-source-declaration";
29 | @import "helpers/gradient-positions-parser";
30 | @import "helpers/linear-angle-parser";
31 | @import "helpers/linear-gradient-parser";
32 | @import "helpers/linear-positions-parser";
33 | @import "helpers/linear-side-corner-parser";
34 | @import "helpers/radial-arg-parser";
35 | @import "helpers/radial-positions-parser";
36 | @import "helpers/radial-gradient-parser";
37 | @import "helpers/render-gradients";
38 | @import "helpers/shape-size-stripper";
39 | @import "helpers/str-to-num";
40 |
41 | @import "css3/animation";
42 | @import "css3/appearance";
43 | @import "css3/backface-visibility";
44 | @import "css3/background";
45 | @import "css3/background-image";
46 | @import "css3/border-image";
47 | @import "css3/calc";
48 | @import "css3/columns";
49 | @import "css3/filter";
50 | @import "css3/flex-box";
51 | @import "css3/font-face";
52 | @import "css3/font-feature-settings";
53 | @import "css3/hidpi-media-query";
54 | @import "css3/hyphens";
55 | @import "css3/image-rendering";
56 | @import "css3/keyframes";
57 | @import "css3/linear-gradient";
58 | @import "css3/perspective";
59 | @import "css3/placeholder";
60 | @import "css3/radial-gradient";
61 | @import "css3/selection";
62 | @import "css3/text-decoration";
63 | @import "css3/transform";
64 | @import "css3/transition";
65 | @import "css3/user-select";
66 |
67 | @import "addons/border-color";
68 | @import "addons/border-radius";
69 | @import "addons/border-style";
70 | @import "addons/border-width";
71 | @import "addons/buttons";
72 | @import "addons/clearfix";
73 | @import "addons/ellipsis";
74 | @import "addons/font-stacks";
75 | @import "addons/hide-text";
76 | @import "addons/margin";
77 | @import "addons/padding";
78 | @import "addons/position";
79 | @import "addons/prefixer";
80 | @import "addons/retina-image";
81 | @import "addons/size";
82 | @import "addons/text-inputs";
83 | @import "addons/timing-functions";
84 | @import "addons/triangle";
85 | @import "addons/word-wrap";
86 |
87 | @import "bourbon-deprecated-upcoming";
88 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @include directional-property(border, color, $vals...);
26 | }
27 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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/_scss/vendor/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 | @include directional-property(border, style, $vals...);
25 | }
26 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @include directional-property(border, width, $vals...);
25 | }
26 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $all-buttons: assign-inputs($buttons-list);
57 | $all-buttons-active: assign-inputs($buttons-list, active);
58 | $all-buttons-focus: assign-inputs($buttons-list, focus);
59 | $all-buttons-hover: assign-inputs($buttons-list, hover);
60 |
61 | $all-button-inputs: $all-buttons;
62 | $all-button-inputs-active: $all-buttons-active;
63 | $all-button-inputs-focus: $all-buttons-focus;
64 | $all-button-inputs-hover: $all-buttons-hover;
65 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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/_scss/vendor/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/_scss/vendor/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/_scss/vendor/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/_scss/vendor/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 | @include directional-property(margin, false, $vals...);
26 | }
27 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @include directional-property(padding, false, $vals...);
26 | }
27 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $coordinates: unpack($coordinates);
33 |
34 | $offsets: (
35 | top: nth($coordinates, 1),
36 | right: nth($coordinates, 2),
37 | bottom: nth($coordinates, 3),
38 | left: nth($coordinates, 4)
39 | );
40 |
41 | position: $position;
42 |
43 | @each $offset, $value in $offsets {
44 | @if is-length($value) {
45 | #{$offset}: $value;
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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/_scss/vendor/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 | @if $asset-pipeline {
3 | background-image: image-url("#{$filename}.#{$extension}");
4 | } @else {
5 | background-image: url("#{$filename}.#{$extension}");
6 | }
7 |
8 | @include hidpi {
9 | @if $asset-pipeline {
10 | @if $retina-filename {
11 | background-image: image-url("#{$retina-filename}.#{$extension}");
12 | } @else {
13 | background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}");
14 | }
15 | } @else {
16 | @if $retina-filename {
17 | background-image: url("#{$retina-filename}.#{$extension}");
18 | } @else {
19 | background-image: url("#{$filename}#{$retina-suffix}.#{$extension}");
20 | }
21 | }
22 |
23 | background-size: $background-size;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @if is-size($height) {
41 | height: $height;
42 | } @else {
43 | @warn "`#{$height}` is not a valid length for the `$height` parameter in the `size` mixin.";
44 | }
45 |
46 | @if is-size($width) {
47 | width: $width;
48 | } @else {
49 | @warn "`#{$width}` is not a valid length for the `$width` parameter in the `size` mixin.";
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $all-text-inputs: assign-inputs($text-inputs-list);
111 | $all-text-inputs-active: assign-inputs($text-inputs-list, active);
112 | $all-text-inputs-focus: assign-inputs($text-inputs-list, focus);
113 | $all-text-inputs-hover: assign-inputs($text-inputs-list, hover);
114 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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/_scss/vendor/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/_scss/vendor/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/_scss/vendor/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 prefixer(animation, $animations, webkit moz spec);
6 | }
7 |
8 | @mixin animation-name($names...) {
9 | @include prefixer(animation-name, $names, webkit moz spec);
10 | }
11 |
12 | @mixin animation-duration($times...) {
13 | @include prefixer(animation-duration, $times, webkit moz spec);
14 | }
15 |
16 | @mixin animation-timing-function($motions...) {
17 | // ease | linear | ease-in | ease-out | ease-in-out
18 | @include prefixer(animation-timing-function, $motions, webkit moz spec);
19 | }
20 |
21 | @mixin animation-iteration-count($values...) {
22 | // infinite |
23 | @include prefixer(animation-iteration-count, $values, webkit moz spec);
24 | }
25 |
26 | @mixin animation-direction($directions...) {
27 | // normal | alternate
28 | @include prefixer(animation-direction, $directions, webkit moz spec);
29 | }
30 |
31 | @mixin animation-play-state($states...) {
32 | // running | paused
33 | @include prefixer(animation-play-state, $states, webkit moz spec);
34 | }
35 |
36 | @mixin animation-delay($times...) {
37 | @include prefixer(animation-delay, $times, webkit moz spec);
38 | }
39 |
40 | @mixin animation-fill-mode($modes...) {
41 | // none | forwards | backwards | both
42 | @include prefixer(animation-fill-mode, $modes, webkit moz spec);
43 | }
44 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_appearance.scss:
--------------------------------------------------------------------------------
1 | @mixin appearance($value) {
2 | @include prefixer(appearance, $value, webkit moz ms o spec);
3 | }
4 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_backface-visibility.scss:
--------------------------------------------------------------------------------
1 | @mixin backface-visibility($visibility) {
2 | @include prefixer(backface-visibility, $visibility, webkit spec);
3 | }
4 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $webkit-images: ();
8 | $spec-images: ();
9 |
10 | @each $image in $images {
11 | $webkit-image: ();
12 | $spec-image: ();
13 |
14 | @if (type-of($image) == string) {
15 | $url-str: str-slice($image, 1, 3);
16 | $gradient-type: str-slice($image, 1, 6);
17 |
18 | @if $url-str == "url" {
19 | $webkit-image: $image;
20 | $spec-image: $image;
21 | }
22 |
23 | @else if $gradient-type == "linear" {
24 | $gradients: _linear-gradient-parser($image);
25 | $webkit-image: map-get($gradients, webkit-image);
26 | $spec-image: map-get($gradients, spec-image);
27 | }
28 |
29 | @else if $gradient-type == "radial" {
30 | $gradients: _radial-gradient-parser($image);
31 | $webkit-image: map-get($gradients, webkit-image);
32 | $spec-image: map-get($gradients, spec-image);
33 | }
34 | }
35 |
36 | $webkit-images: append($webkit-images, $webkit-image, comma);
37 | $spec-images: append($spec-images, $spec-image, comma);
38 | }
39 |
40 | background-image: $webkit-images;
41 | background-image: $spec-images;
42 | }
43 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_background.scss:
--------------------------------------------------------------------------------
1 | //************************************************************************//
2 | // Background property for adding multiple backgrounds using shorthand
3 | // notation.
4 | //************************************************************************//
5 |
6 | @mixin background($backgrounds...) {
7 | $webkit-backgrounds: ();
8 | $spec-backgrounds: ();
9 |
10 | @each $background in $backgrounds {
11 | $webkit-background: ();
12 | $spec-background: ();
13 | $background-type: type-of($background);
14 |
15 | @if $background-type == string or $background-type == list {
16 | $background-str: if($background-type == list, nth($background, 1), $background);
17 |
18 | $url-str: str-slice($background-str, 1, 3);
19 | $gradient-type: str-slice($background-str, 1, 6);
20 |
21 | @if $url-str == "url" {
22 | $webkit-background: $background;
23 | $spec-background: $background;
24 | }
25 |
26 | @else if $gradient-type == "linear" {
27 | $gradients: _linear-gradient-parser("#{$background}");
28 | $webkit-background: map-get($gradients, webkit-image);
29 | $spec-background: map-get($gradients, spec-image);
30 | }
31 |
32 | @else if $gradient-type == "radial" {
33 | $gradients: _radial-gradient-parser("#{$background}");
34 | $webkit-background: map-get($gradients, webkit-image);
35 | $spec-background: map-get($gradients, spec-image);
36 | }
37 |
38 | @else {
39 | $webkit-background: $background;
40 | $spec-background: $background;
41 | }
42 | }
43 |
44 | @else {
45 | $webkit-background: $background;
46 | $spec-background: $background;
47 | }
48 |
49 | $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma);
50 | $spec-backgrounds: append($spec-backgrounds, $spec-background, comma);
51 | }
52 |
53 | background: $webkit-backgrounds;
54 | background: $spec-backgrounds;
55 | }
56 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_border-image.scss:
--------------------------------------------------------------------------------
1 | @mixin border-image($borders...) {
2 | $webkit-borders: ();
3 | $spec-borders: ();
4 |
5 | @each $border in $borders {
6 | $webkit-border: ();
7 | $spec-border: ();
8 | $border-type: type-of($border);
9 |
10 | @if $border-type == string or list {
11 | $border-str: if($border-type == list, nth($border, 1), $border);
12 |
13 | $url-str: str-slice($border-str, 1, 3);
14 | $gradient-type: str-slice($border-str, 1, 6);
15 |
16 | @if $url-str == "url" {
17 | $webkit-border: $border;
18 | $spec-border: $border;
19 | }
20 |
21 | @else if $gradient-type == "linear" {
22 | $gradients: _linear-gradient-parser("#{$border}");
23 | $webkit-border: map-get($gradients, webkit-image);
24 | $spec-border: map-get($gradients, spec-image);
25 | }
26 |
27 | @else if $gradient-type == "radial" {
28 | $gradients: _radial-gradient-parser("#{$border}");
29 | $webkit-border: map-get($gradients, webkit-image);
30 | $spec-border: map-get($gradients, spec-image);
31 | }
32 |
33 | @else {
34 | $webkit-border: $border;
35 | $spec-border: $border;
36 | }
37 | }
38 |
39 | @else {
40 | $webkit-border: $border;
41 | $spec-border: $border;
42 | }
43 |
44 | $webkit-borders: append($webkit-borders, $webkit-border, comma);
45 | $spec-borders: append($spec-borders, $spec-border, comma);
46 | }
47 |
48 | -webkit-border-image: $webkit-borders;
49 | border-image: $spec-borders;
50 | border-style: solid;
51 | }
52 |
53 | //Examples:
54 | // @include border-image(url("image.png"));
55 | // @include border-image(url("image.png") 20 stretch);
56 | // @include border-image(linear-gradient(45deg, orange, yellow));
57 | // @include border-image(linear-gradient(45deg, orange, yellow) stretch);
58 | // @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round);
59 | // @include border-image(radial-gradient(top, cover, orange, yellow, orange));
60 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_calc.scss:
--------------------------------------------------------------------------------
1 | @mixin calc($property, $value) {
2 | #{$property}: -webkit-calc(#{$value});
3 | #{$property}: calc(#{$value});
4 | }
5 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_columns.scss:
--------------------------------------------------------------------------------
1 | @mixin columns($arg: auto) {
2 | // ||
3 | @include prefixer(columns, $arg, webkit moz spec);
4 | }
5 |
6 | @mixin column-count($int: auto) {
7 | // auto || integer
8 | @include prefixer(column-count, $int, webkit moz spec);
9 | }
10 |
11 | @mixin column-gap($length: normal) {
12 | // normal || length
13 | @include prefixer(column-gap, $length, webkit moz spec);
14 | }
15 |
16 | @mixin column-fill($arg: auto) {
17 | // auto || length
18 | @include prefixer(column-fill, $arg, webkit moz spec);
19 | }
20 |
21 | @mixin column-rule($arg) {
22 | // || ||
23 | @include prefixer(column-rule, $arg, webkit moz spec);
24 | }
25 |
26 | @mixin column-rule-color($color) {
27 | @include prefixer(column-rule-color, $color, webkit moz spec);
28 | }
29 |
30 | @mixin column-rule-style($style: none) {
31 | // none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid
32 | @include prefixer(column-rule-style, $style, webkit moz spec);
33 | }
34 |
35 | @mixin column-rule-width ($width: none) {
36 | @include prefixer(column-rule-width, $width, webkit moz spec);
37 | }
38 |
39 | @mixin column-span($arg: none) {
40 | // none || all
41 | @include prefixer(column-span, $arg, webkit moz spec);
42 | }
43 |
44 | @mixin column-width($length: auto) {
45 | // auto || length
46 | @include prefixer(column-width, $length, webkit moz spec);
47 | }
48 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_filter.scss:
--------------------------------------------------------------------------------
1 | @mixin filter($function: none) {
2 | // [
3 | @include prefixer(perspective, $depth, webkit moz spec);
4 | }
5 |
6 | @mixin perspective-origin($value: 50% 50%) {
7 | @include prefixer(perspective-origin, $value, webkit moz spec);
8 | }
9 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_placeholder.scss:
--------------------------------------------------------------------------------
1 | @mixin placeholder {
2 | $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input";
3 | @each $placeholder in $placeholders {
4 | &:#{$placeholder}-placeholder {
5 | @content;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 |
11 | $data: _radial-arg-parser($g1, $g2, $pos, $shape-size);
12 | $g1: nth($data, 1);
13 | $g2: nth($data, 2);
14 | $pos: nth($data, 3);
15 | $shape-size: nth($data, 4);
16 |
17 | $full: $g1, $g2, $g3, $g4, $g5, $g6, $g7, $g8, $g9, $g10;
18 |
19 | // Strip deprecated cover/contain for spec
20 | $shape-size-spec: _shape-size-stripper($shape-size);
21 |
22 | // Set $g1 as the default fallback color
23 | $first-color: nth($full, 1);
24 | $fallback-color: nth($first-color, 1);
25 |
26 | @if (type-of($fallback) == color) or ($fallback == "transparent") {
27 | $fallback-color: $fallback;
28 | }
29 |
30 | // Add Commas and spaces
31 | $shape-size: if($shape-size, "#{$shape-size}, ", null);
32 | $pos: if($pos, "#{$pos}, ", null);
33 | $pos-spec: if($pos, "at #{$pos}", null);
34 | $shape-size-spec: if(($shape-size-spec != " ") and ($pos == null), "#{$shape-size-spec}, ", "#{$shape-size-spec} ");
35 |
36 | background-color: $fallback-color;
37 | background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full}));
38 | background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})");
39 | }
40 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @if $current-selector {
26 | &::-moz-selection {
27 | @content;
28 | }
29 |
30 | &::selection {
31 | @content;
32 | }
33 | } @else {
34 | ::-moz-selection {
35 | @content;
36 | }
37 |
38 | ::selection {
39 | @content;
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_text-decoration.scss:
--------------------------------------------------------------------------------
1 | @mixin text-decoration($value) {
2 | // || ||
3 | @include prefixer(text-decoration, $value, moz);
4 | }
5 |
6 | @mixin text-decoration-line($line: none) {
7 | // none || underline || overline || line-through
8 | @include prefixer(text-decoration-line, $line, moz);
9 | }
10 |
11 | @mixin text-decoration-style($style: solid) {
12 | // solid || double || dotted || dashed || wavy
13 | @include prefixer(text-decoration-style, $style, moz webkit);
14 | }
15 |
16 | @mixin text-decoration-color($color: currentColor) {
17 | // currentColor ||
18 | @include prefixer(text-decoration-color, $color, moz);
19 | }
20 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_transform.scss:
--------------------------------------------------------------------------------
1 | @mixin transform($property: none) {
2 | // none |
3 | @include prefixer(transform, $property, webkit moz ms o spec);
4 | }
5 |
6 | @mixin transform-origin($axes: 50%) {
7 | // x-axis - left | center | right | length | %
8 | // y-axis - top | center | bottom | length | %
9 | // z-axis - length
10 | @include prefixer(transform-origin, $axes, webkit moz ms o spec);
11 | }
12 |
13 | @mixin transform-style($style: flat) {
14 | @include prefixer(transform-style, $style, webkit moz ms o spec);
15 | }
16 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | // Fix for vendor-prefix transform property
8 | $needs-prefixes: false;
9 | $webkit: ();
10 | $moz: ();
11 | $spec: ();
12 |
13 | // Create lists for vendor-prefixed transform
14 | @each $list in $properties {
15 | @if nth($list, 1) == "transform" {
16 | $needs-prefixes: true;
17 | $list1: -webkit-transform;
18 | $list2: -moz-transform;
19 | $list3: ();
20 |
21 | @each $var in $list {
22 | $list3: join($list3, $var);
23 |
24 | @if $var != "transform" {
25 | $list1: join($list1, $var);
26 | $list2: join($list2, $var);
27 | }
28 | }
29 |
30 | $webkit: append($webkit, $list1);
31 | $moz: append($moz, $list2);
32 | $spec: append($spec, $list3);
33 | } @else {
34 | $webkit: append($webkit, $list, comma);
35 | $moz: append($moz, $list, comma);
36 | $spec: append($spec, $list, comma);
37 | }
38 | }
39 |
40 | @if $needs-prefixes {
41 | -webkit-transition: $webkit;
42 | -moz-transition: $moz;
43 | transition: $spec;
44 | } @else {
45 | @if length($properties) >= 1 {
46 | @include prefixer(transition, $properties, webkit moz spec);
47 | } @else {
48 | $properties: all 0.15s ease-out 0s;
49 | @include prefixer(transition, $properties, webkit moz spec);
50 | }
51 | }
52 | }
53 |
54 | @mixin transition-property($properties...) {
55 | -webkit-transition-property: transition-property-names($properties, "webkit");
56 | -moz-transition-property: transition-property-names($properties, "moz");
57 | transition-property: transition-property-names($properties, false);
58 | }
59 |
60 | @mixin transition-duration($times...) {
61 | @include prefixer(transition-duration, $times, webkit moz spec);
62 | }
63 |
64 | @mixin transition-timing-function($motions...) {
65 | // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
66 | @include prefixer(transition-timing-function, $motions, webkit moz spec);
67 | }
68 |
69 | @mixin transition-delay($times...) {
70 | @include prefixer(transition-delay, $times, webkit moz spec);
71 | }
72 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/css3/_user-select.scss:
--------------------------------------------------------------------------------
1 | @mixin user-select($value: none) {
2 | @include prefixer(user-select, $value, webkit moz ms spec);
3 | }
4 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/functions/_assign-inputs.scss:
--------------------------------------------------------------------------------
1 | @function assign-inputs($inputs, $pseudo: null) {
2 | $list: ();
3 |
4 | @each $input in $inputs {
5 | $input: unquote($input);
6 | $input: if($pseudo, $input + ":" + $pseudo, $input);
7 | $list: append($list, $input, comma);
8 | }
9 |
10 | @return $list;
11 | }
12 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @each $item in $list {
14 | @if not $item {
15 | @return true;
16 | }
17 | }
18 |
19 | @return false;
20 | }
21 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @each $value in $values {
20 | @if type-of(index($list, $value)) != "number" {
21 | @return false;
22 | }
23 | }
24 |
25 | @return true;
26 | }
27 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @return type-of($value) != "null" and (str-slice($value + "", 1, 4) == "calc"
9 | or index(auto inherit initial 0, $value)
10 | or (type-of($value) == "number" and not(unitless($value))));
11 | }
12 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $-local-red: red(rgba($hex-color, 1));
16 | $-local-green: green(rgba($hex-color, 1));
17 | $-local-blue: blue(rgba($hex-color, 1));
18 | $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;
19 |
20 | @return $-local-lightness > 0.6;
21 | }
22 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @return contains("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 0 1 2 3 4 5 6 7 8 9, $value);
11 | }
12 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | @return is-length($value)
12 | or contains("fill" "fit-content" "min-content" "max-content", $value);
13 | }
14 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $modular-scale-ratio: $perfect-fourth !default;
21 | $modular-scale-base: em($em-base) !default;
22 |
23 | @function modular-scale($increment, $value: $modular-scale-base, $ratio: $modular-scale-ratio) {
24 | $v1: nth($value, 1);
25 | $v2: nth($value, length($value));
26 | $value: $v1;
27 |
28 | // scale $v2 to just above $v1
29 | @while $v2 > $v1 {
30 | $v2: ($v2 / $ratio); // will be off-by-1
31 | }
32 | @while $v2 < $v1 {
33 | $v2: ($v2 * $ratio); // will fix off-by-1
34 | }
35 |
36 | // check AFTER scaling $v2 to prevent double-counting corner-case
37 | $double-stranded: $v2 > $v1;
38 |
39 | @if $increment > 0 {
40 | @for $i from 1 through $increment {
41 | @if $double-stranded and ($v1 * $ratio) > $v2 {
42 | $value: $v2;
43 | $v2: ($v2 * $ratio);
44 | } @else {
45 | $v1: ($v1 * $ratio);
46 | $value: $v1;
47 | }
48 | }
49 | }
50 |
51 | @if $increment < 0 {
52 | // adjust $v2 to just below $v1
53 | @if $double-stranded {
54 | $v2: ($v2 / $ratio);
55 | }
56 |
57 | @for $i from $increment through -1 {
58 | @if $double-stranded and ($v1 / $ratio) < $v2 {
59 | $value: $v2;
60 | $v2: ($v2 / $ratio);
61 | } @else {
62 | $v1: ($v1 / $ratio);
63 | $value: $v1;
64 | }
65 | }
66 | }
67 |
68 | @return $value;
69 | }
70 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 not unitless($pxval) {
7 | $pxval: strip-units($pxval);
8 | }
9 | @if not unitless($base) {
10 | $base: strip-units($base);
11 | }
12 | @return ($pxval / $base) * 1em;
13 | }
14 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 not unitless($pxval) {
7 | $pxval: strip-units($pxval);
8 | }
9 |
10 | $base: $em-base;
11 | @if not unitless($base) {
12 | $base: strip-units($base);
13 | }
14 | @return ($pxval / $base) * 1rem;
15 | }
16 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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/_scss/vendor/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 | @return ($value / ($value * 0 + 1));
17 | }
18 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $new-props: ();
6 |
7 | @each $prop in $props {
8 | $new-props: append($new-props, transition-property-name($prop, $vendor), comma);
9 | }
10 |
11 | @return $new-props;
12 | }
13 |
14 | @function transition-property-name($prop, $vendor: false) {
15 | // put other properties that need to be prefixed here aswell
16 | @if $vendor and $prop == transform {
17 | @return unquote('-'+$vendor+'-'+$prop);
18 | }
19 | @else {
20 | @return $prop;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 length($shorthand) == 1 {
19 | @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1);
20 | } @else if length($shorthand) == 2 {
21 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2);
22 | } @else if length($shorthand) == 3 {
23 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2);
24 | } @else {
25 | @return $shorthand;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $strings: "px", "cm", "mm", "%", "ch", "pica", "in", "em", "rem", "pt", "pc", "ex", "vw", "vh", "vmin", "vmax", "deg", "rad", "grad", "turn";
7 | $units: 1px, 1cm, 1mm, 1%, 1ch, 1pica, 1in, 1em, 1rem, 1pt, 1pc, 1ex, 1vw, 1vh, 1vmin, 1vmax, 1deg, 1rad, 1grad, 1turn;
8 | $index: index($strings, $unit);
9 |
10 | @if not $index {
11 | @warn "Unknown unit `#{$unit}`.";
12 | @return false;
13 | }
14 |
15 | @if type-of($number) != "number" {
16 | @warn "`#{$number} is not a number`";
17 | @return false;
18 | }
19 |
20 | @return $number * nth($units, $index);
21 | }
22 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $output: null;
31 |
32 | $a: nth($vals, 1);
33 | $b: if(length($vals) < 2, $a, nth($vals, 2));
34 | $c: if(length($vals) < 3, $a, nth($vals, 3));
35 | $d: if(length($vals) < 2, $a, nth($vals, if(length($vals) < 4, 2, 4)));
36 |
37 | @if $a == 0 { $a: 0; }
38 | @if $b == 0 { $b: 0; }
39 | @if $c == 0 { $c: 0; }
40 | @if $d == 0 { $d: 0; }
41 |
42 | @if $a == $b and $a == $c and $a == $d { $output: $a; }
43 | @else if $a == $c and $b == $d { $output: $a $b; }
44 | @else if $b == $d { $output: $a $b $c; }
45 | @else { $output: $a $b $c $d; }
46 |
47 | @return $output;
48 | }
49 |
50 | /// Output directional properties, for instance `margin`.
51 | ///
52 | /// @access private
53 | ///
54 | /// @param {String} $pre
55 | /// Prefix to use
56 | /// @param {String} $suf
57 | /// Suffix to use
58 | /// @param {List} $vals
59 | /// List of values
60 | ///
61 | /// @require {function} collapse-directionals
62 | /// @require {function} contains-falsy
63 |
64 | @mixin directional-property($pre, $suf, $vals) {
65 | // Property Names
66 | $top: $pre + "-top" + if($suf, "-#{$suf}", "");
67 | $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", "");
68 | $left: $pre + "-left" + if($suf, "-#{$suf}", "");
69 | $right: $pre + "-right" + if($suf, "-#{$suf}", "");
70 | $all: $pre + if($suf, "-#{$suf}", "");
71 |
72 | $vals: collapse-directionals($vals);
73 |
74 | @if contains-falsy($vals) {
75 | @if nth($vals, 1) { #{$top}: nth($vals, 1); }
76 |
77 | @if length($vals) == 1 {
78 | @if nth($vals, 1) { #{$right}: nth($vals, 1); }
79 | } @else {
80 | @if nth($vals, 2) { #{$right}: nth($vals, 2); }
81 | }
82 |
83 | @if length($vals) == 2 {
84 | @if nth($vals, 1) { #{$bottom}: nth($vals, 1); }
85 | @if nth($vals, 2) { #{$left}: nth($vals, 2); }
86 | } @else if length($vals) == 3 {
87 | @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
88 | @if nth($vals, 2) { #{$left}: nth($vals, 2); }
89 | } @else if length($vals) == 4 {
90 | @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
91 | @if nth($vals, 4) { #{$left}: nth($vals, 4); }
92 | }
93 | } @else {
94 | #{$all}: $vals;
95 | }
96 | }
97 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 $asset-pipeline == true {
6 | @return font-url;
7 | } @else {
8 | @return url;
9 | }
10 | }
11 |
12 | @function font-source-declaration(
13 | $font-family,
14 | $file-path,
15 | $asset-pipeline,
16 | $file-formats,
17 | $font-url) {
18 |
19 | $src: ();
20 |
21 | $formats-map: (
22 | eot: "#{$file-path}.eot?#iefix" format("embedded-opentype"),
23 | woff2: "#{$file-path}.woff2" format("woff2"),
24 | woff: "#{$file-path}.woff" format("woff"),
25 | ttf: "#{$file-path}.ttf" format("truetype"),
26 | svg: "#{$file-path}.svg##{$font-family}" format("svg")
27 | );
28 |
29 | @each $key, $values in $formats-map {
30 | @if contains($file-formats, $key) {
31 | $file-path: nth($values, 1);
32 | $font-format: nth($values, 2);
33 |
34 | @if $asset-pipeline == true {
35 | $src: append($src, font-url($file-path) $font-format, comma);
36 | } @else {
37 | $src: append($src, url($file-path) $font-format, comma);
38 | }
39 | }
40 | }
41 |
42 | @return $src;
43 | }
44 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_gradient-positions-parser.scss:
--------------------------------------------------------------------------------
1 | @function _gradient-positions-parser($gradient-type, $gradient-positions) {
2 | @if $gradient-positions
3 | and ($gradient-type == linear)
4 | and (type-of($gradient-positions) != color) {
5 | $gradient-positions: _linear-positions-parser($gradient-positions);
6 | }
7 | @else if $gradient-positions
8 | and ($gradient-type == radial)
9 | and (type-of($gradient-positions) != color) {
10 | $gradient-positions: _radial-positions-parser($gradient-positions);
11 | }
12 | @return $gradient-positions;
13 | }
14 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_linear-angle-parser.scss:
--------------------------------------------------------------------------------
1 | // Private function for linear-gradient-parser
2 | @function _linear-angle-parser($image, $first-val, $prefix, $suffix) {
3 | $offset: null;
4 | $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val));
5 | $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val));
6 |
7 | @if ($unit-long == "grad") or
8 | ($unit-long == "turn") {
9 | $offset: if($unit-long == "grad", -100grad * 3, -0.75turn);
10 | }
11 |
12 | @else if ($unit-short == "deg") or
13 | ($unit-short == "rad") {
14 | $offset: if($unit-short == "deg", -90 * 3, 1.6rad);
15 | }
16 |
17 | @if $offset {
18 | $num: _str-to-num($first-val);
19 |
20 | @return (
21 | webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix,
22 | spec-image: $image
23 | );
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_linear-gradient-parser.scss:
--------------------------------------------------------------------------------
1 | @function _linear-gradient-parser($image) {
2 | $image: unquote($image);
3 | $gradients: ();
4 | $start: str-index($image, "(");
5 | $end: str-index($image, ",");
6 | $first-val: str-slice($image, $start + 1, $end - 1);
7 |
8 | $prefix: str-slice($image, 1, $start);
9 | $suffix: str-slice($image, $end, str-length($image));
10 |
11 | $has-multiple-vals: str-index($first-val, " ");
12 | $has-single-position: unquote(_position-flipper($first-val) + "");
13 | $has-angle: is-number(str-slice($first-val, 1, 1));
14 |
15 | @if $has-multiple-vals {
16 | $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals);
17 | }
18 |
19 | @else if $has-single-position != "" {
20 | $pos: unquote($has-single-position + "");
21 |
22 | $gradients: (
23 | webkit-image: -webkit- + $image,
24 | spec-image: $prefix + "to " + $pos + $suffix
25 | );
26 | }
27 |
28 | @else if $has-angle {
29 | // Rotate degree for webkit
30 | $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix);
31 | }
32 |
33 | @else {
34 | $gradients: (
35 | webkit-image: -webkit- + $image,
36 | spec-image: $image
37 | );
38 | }
39 |
40 | @return $gradients;
41 | }
42 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_linear-positions-parser.scss:
--------------------------------------------------------------------------------
1 | @function _linear-positions-parser($pos) {
2 | $type: type-of(nth($pos, 1));
3 | $spec: null;
4 | $degree: null;
5 | $side: null;
6 | $corner: null;
7 | $length: length($pos);
8 | // Parse Side and corner positions
9 | @if ($length > 1) {
10 | @if nth($pos, 1) == "to" { // Newer syntax
11 | $side: nth($pos, 2);
12 |
13 | @if $length == 2 { // eg. to top
14 | // Swap for backwards compatibility
15 | $degree: _position-flipper(nth($pos, 2));
16 | }
17 | @else if $length == 3 { // eg. to top left
18 | $corner: nth($pos, 3);
19 | }
20 | }
21 | @else if $length == 2 { // Older syntax ("top left")
22 | $side: _position-flipper(nth($pos, 1));
23 | $corner: _position-flipper(nth($pos, 2));
24 | }
25 |
26 | @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") {
27 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
28 | }
29 | @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") {
30 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
31 | }
32 | @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") {
33 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
34 | }
35 | @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") {
36 | $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});
37 | }
38 | $spec: to $side $corner;
39 | }
40 | @else if $length == 1 {
41 | // Swap for backwards compatibility
42 | @if $type == string {
43 | $degree: $pos;
44 | $spec: to _position-flipper($pos);
45 | }
46 | @else {
47 | $degree: -270 - $pos; //rotate the gradient opposite from spec
48 | $spec: $pos;
49 | }
50 | }
51 | $degree: unquote($degree + ",");
52 | $spec: unquote($spec + ",");
53 | @return $degree $spec;
54 | }
55 |
56 | @function _position-flipper($pos) {
57 | @return if($pos == left, right, null)
58 | if($pos == right, left, null)
59 | if($pos == top, bottom, null)
60 | if($pos == bottom, top, null);
61 | }
62 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $val-1: str-slice($first-val, 1, $has-multiple-vals - 1);
4 | $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val));
5 | $val-3: null;
6 | $has-val-3: str-index($val-2, " ");
7 |
8 | @if $has-val-3 {
9 | $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2));
10 | $val-2: str-slice($val-2, 1, $has-val-3 - 1);
11 | }
12 |
13 | $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3);
14 | $pos: unquote($pos + "");
15 |
16 | // Use old spec for webkit
17 | @if $val-1 == "to" {
18 | @return (
19 | webkit-image: -webkit- + $prefix + $pos + $suffix,
20 | spec-image: $image
21 | );
22 | }
23 |
24 | // Bring the code up to spec
25 | @else {
26 | @return (
27 | webkit-image: -webkit- + $image,
28 | spec-image: $prefix + "to " + $pos + $suffix
29 | );
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_radial-arg-parser.scss:
--------------------------------------------------------------------------------
1 | @function _radial-arg-parser($g1, $g2, $pos, $shape-size) {
2 | @each $value in $g1, $g2 {
3 | $first-val: nth($value, 1);
4 | $pos-type: type-of($first-val);
5 | $spec-at-index: null;
6 |
7 | // Determine if spec was passed to mixin
8 | @if type-of($value) == list {
9 | $spec-at-index: if(index($value, at), index($value, at), false);
10 | }
11 | @if $spec-at-index {
12 | @if $spec-at-index > 1 {
13 | @for $i from 1 through ($spec-at-index - 1) {
14 | $shape-size: $shape-size nth($value, $i);
15 | }
16 | @for $i from ($spec-at-index + 1) through length($value) {
17 | $pos: $pos nth($value, $i);
18 | }
19 | }
20 | @else if $spec-at-index == 1 {
21 | @for $i from ($spec-at-index + 1) through length($value) {
22 | $pos: $pos nth($value, $i);
23 | }
24 | }
25 | $g1: null;
26 | }
27 |
28 | // If not spec calculate correct values
29 | @else {
30 | @if ($pos-type != color) or ($first-val != "transparent") {
31 | @if ($pos-type == number)
32 | or ($first-val == "center")
33 | or ($first-val == "top")
34 | or ($first-val == "right")
35 | or ($first-val == "bottom")
36 | or ($first-val == "left") {
37 |
38 | $pos: $value;
39 |
40 | @if $pos == $g1 {
41 | $g1: null;
42 | }
43 | }
44 |
45 | @else if
46 | ($first-val == "ellipse")
47 | or ($first-val == "circle")
48 | or ($first-val == "closest-side")
49 | or ($first-val == "closest-corner")
50 | or ($first-val == "farthest-side")
51 | or ($first-val == "farthest-corner")
52 | or ($first-val == "contain")
53 | or ($first-val == "cover") {
54 |
55 | $shape-size: $value;
56 |
57 | @if $value == $g1 {
58 | $g1: null;
59 | }
60 |
61 | @else if $value == $g2 {
62 | $g2: null;
63 | }
64 | }
65 | }
66 | }
67 | }
68 | @return $g1, $g2, $pos, $shape-size;
69 | }
70 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_radial-gradient-parser.scss:
--------------------------------------------------------------------------------
1 | @function _radial-gradient-parser($image) {
2 | $image: unquote($image);
3 | $gradients: ();
4 | $start: str-index($image, "(");
5 | $end: str-index($image, ",");
6 | $first-val: str-slice($image, $start + 1, $end - 1);
7 |
8 | $prefix: str-slice($image, 1, $start);
9 | $suffix: str-slice($image, $end, str-length($image));
10 |
11 | $is-spec-syntax: str-index($first-val, "at");
12 |
13 | @if $is-spec-syntax and $is-spec-syntax > 1 {
14 | $keyword: str-slice($first-val, 1, $is-spec-syntax - 2);
15 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));
16 | $pos: append($pos, $keyword, comma);
17 |
18 | $gradients: (
19 | webkit-image: -webkit- + $prefix + $pos + $suffix,
20 | spec-image: $image
21 | );
22 | }
23 |
24 | @else if $is-spec-syntax == 1 {
25 | $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val));
26 |
27 | $gradients: (
28 | webkit-image: -webkit- + $prefix + $pos + $suffix,
29 | spec-image: $image
30 | );
31 | }
32 |
33 | @else if str-index($image, "cover") or str-index($image, "contain") {
34 | @warn "Radial-gradient needs to be updated to conform to latest spec.";
35 |
36 | $gradients: (
37 | webkit-image: null,
38 | spec-image: $image
39 | );
40 | }
41 |
42 | @else {
43 | $gradients: (
44 | webkit-image: -webkit- + $image,
45 | spec-image: $image
46 | );
47 | }
48 |
49 | @return $gradients;
50 | }
51 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_radial-positions-parser.scss:
--------------------------------------------------------------------------------
1 | @function _radial-positions-parser($gradient-pos) {
2 | $shape-size: nth($gradient-pos, 1);
3 | $pos: nth($gradient-pos, 2);
4 | $shape-size-spec: _shape-size-stripper($shape-size);
5 |
6 | $pre-spec: unquote(if($pos, "#{$pos}, ", null))
7 | unquote(if($shape-size, "#{$shape-size},", null));
8 | $pos-spec: if($pos, "at #{$pos}", null);
9 |
10 | $spec: "#{$shape-size-spec} #{$pos-spec}";
11 |
12 | // Add comma
13 | @if ($spec != " ") {
14 | $spec: "#{$spec},";
15 | }
16 |
17 | @return $pre-spec $spec;
18 | }
19 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | $pre-spec: null;
5 | $spec: null;
6 | $vendor-gradients: null;
7 | @if $gradient-type == linear {
8 | @if $gradient-positions {
9 | $pre-spec: nth($gradient-positions, 1);
10 | $spec: nth($gradient-positions, 2);
11 | }
12 | }
13 | @else if $gradient-type == radial {
14 | $pre-spec: nth($gradient-positions, 1);
15 | $spec: nth($gradient-positions, 2);
16 | }
17 |
18 | @if $vendor {
19 | $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients);
20 | }
21 | @else if $vendor == false {
22 | $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})";
23 | $vendor-gradients: unquote($vendor-gradients);
24 | }
25 | @return $vendor-gradients;
26 | }
27 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/helpers/_shape-size-stripper.scss:
--------------------------------------------------------------------------------
1 | @function _shape-size-stripper($shape-size) {
2 | $shape-size-spec: null;
3 | @each $value in $shape-size {
4 | @if ($value == "cover") or ($value == "contain") {
5 | $value: null;
6 | }
7 | $shape-size-spec: "#{$shape-size-spec} #{$value}";
8 | }
9 | @return $shape-size-spec;
10 | }
11 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 | // Matrices
7 | $strings: "0" "1" "2" "3" "4" "5" "6" "7" "8" "9";
8 | $numbers: 0 1 2 3 4 5 6 7 8 9;
9 |
10 | // Result
11 | $result: 0;
12 | $divider: 0;
13 | $minus: false;
14 |
15 | // Looping through all characters
16 | @for $i from 1 through str-length($string) {
17 | $character: str-slice($string, $i, $i);
18 | $index: index($strings, $character);
19 |
20 | @if $character == "-" {
21 | $minus: true;
22 | }
23 |
24 | @else if $character == "." {
25 | $divider: 1;
26 | }
27 |
28 | @else {
29 | @if not $index {
30 | $result: if($minus, $result * -1, $result);
31 | @return _convert-units($result, str-slice($string, $i));
32 | }
33 |
34 | $number: nth($numbers, $index);
35 |
36 | @if $divider == 0 {
37 | $result: $result * 10;
38 | }
39 |
40 | @else {
41 | // Move the decimal dot to the left
42 | $divider: $divider * 10;
43 | $number: $number / $divider;
44 | }
45 |
46 | $result: $result + $number;
47 | }
48 | }
49 | @return if($minus, $result * -1, $result);
50 | }
51 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/settings/_asset-pipeline.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// A global setting to enable or disable the `$asset-pipeline` variable for all functions that accept it.
4 | ///
5 | /// @type Bool
6 |
7 | $asset-pipeline: false !default;
8 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/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 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/bourbon/settings/_px-to-em.scss:
--------------------------------------------------------------------------------
1 | $em-base: 16px !default;
2 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 | @import "screen-reader";
19 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
28 |
29 | // Only display content to screen readers. A la Bootstrap 4.
30 | //
31 | // See: http://a11yproject.com/posts/how-to-hide-content/
32 |
33 | @mixin sr-only {
34 | position: absolute;
35 | width: 1px;
36 | height: 1px;
37 | padding: 0;
38 | margin: -1px;
39 | overflow: hidden;
40 | clip: rect(0,0,0,0);
41 | border: 0;
42 | }
43 |
44 | // Use in conjunction with .sr-only to only display content when it's focused.
45 | //
46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47 | //
48 | // Credit: HTML5 Boilerplate
49 |
50 | @mixin sr-only-focusable {
51 | &:active,
52 | &:focus {
53 | position: static;
54 | width: auto;
55 | height: auto;
56 | margin: 0;
57 | overflow: visible;
58 | clip: auto;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { @include sr-only(); }
5 | .sr-only-focusable { @include sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/fontawesome/_variables.scss:
--------------------------------------------------------------------------------
1 | // Variables
2 | // --------------------------
3 |
4 | $fa-font-path: "../fonts/font-awesome" !default;
5 | $fa-font-size-base: 14px !default;
6 | $fa-line-height-base: 1 !default;
7 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts" !default; // for referencing Bootstrap CDN font files directly
8 | $fa-css-prefix: fa !default;
9 | $fa-version: "4.6.3" !default;
10 | $fa-border-color: #eee !default;
11 | $fa-inverse: #fff !default;
12 | $fa-li-width: (30em / 14) !default;
13 |
14 | $fa-var-500px: "\f26e";
15 | $fa-var-adjust: "\f042";
16 | $fa-var-adn: "\f170";
17 | $fa-var-align-center: "\f037";
18 | $fa-var-align-justify: "\f039";
19 | $fa-var-align-left: "\f036";
20 | $fa-var-align-right: "\f038";
21 | $fa-var-amazon: "\f270";
22 | $fa-var-ambulance: "\f0f9";
23 | $fa-var-american-sign-language-interpreting: "\f2a3";
24 | $fa-var-anchor: "\f13d";
25 | $fa-var-android: "\f17b";
26 | $fa-var-angellist: "\f209";
27 | $fa-var-angle-double-down: "\f103";
28 | $fa-var-angle-double-left: "\f100";
29 | $fa-var-angle-double-right: "\f101";
30 | $fa-var-angle-double-up: "\f102";
31 | $fa-var-angle-down: "\f107";
32 | $fa-var-angle-left: "\f104";
33 | $fa-var-angle-right: "\f105";
34 | $fa-var-angle-up: "\f106";
35 | $fa-var-apple: "\f179";
36 | $fa-var-archive: "\f187";
37 | $fa-var-area-chart: "\f1fe";
38 | $fa-var-arrow-circle-down: "\f0ab";
39 | $fa-var-arrow-circle-left: "\f0a8";
40 | $fa-var-arrow-circle-o-down: "\f01a";
41 | $fa-var-arrow-circle-o-left: "\f190";
42 | $fa-var-arrow-circle-o-right: "\f18e";
43 | $fa-var-arrow-circle-o-up: "\f01b";
44 | $fa-var-arrow-circle-right: "\f0a9";
45 | $fa-var-arrow-circle-up: "\f0aa";
46 | $fa-var-arrow-down: "\f063";
47 | $fa-var-arrow-left: "\f060";
48 | $fa-var-arrow-right: "\f061";
49 | $fa-var-arrow-up: "\f062";
50 | $fa-var-arrows: "\f047";
51 | $fa-var-arrows-alt: "\f0b2";
52 | $fa-var-arrows-h: "\f07e";
53 | $fa-var-arrows-v: "\f07d";
54 | $fa-var-asl-interpreting: "\f2a3";
55 | $fa-var-assistive-listening-systems: "\f2a2";
56 | $fa-var-asterisk: "\f069";
57 | $fa-var-at: "\f1fa";
58 | $fa-var-audio-description: "\f29e";
59 | $fa-var-automobile: "\f1b9";
60 | $fa-var-backward: "\f04a";
61 | $fa-var-balance-scale: "\f24e";
62 | $fa-var-ban: "\f05e";
63 | $fa-var-bank: "\f19c";
64 | $fa-var-bar-chart: "\f080";
65 | $fa-var-bar-chart-o: "\f080";
66 | $fa-var-barcode: "\f02a";
67 | $fa-var-bars: "\f0c9";
68 | $fa-var-battery-0: "\f244";
69 | $fa-var-battery-1: "\f243";
70 | $fa-var-battery-2: "\f242";
71 | $fa-var-battery-3: "\f241";
72 | $fa-var-battery-4: "\f240";
73 | $fa-var-battery-empty: "\f244";
74 | $fa-var-battery-full: "\f240";
75 | $fa-var-battery-half: "\f242";
76 | $fa-var-battery-quarter: "\f243";
77 | $fa-var-battery-three-quarters: "\f241";
78 | $fa-var-bed: "\f236";
79 | $fa-var-beer: "\f0fc";
80 | $fa-var-behance: "\f1b4";
81 | $fa-var-behance-square: "\f1b5";
82 | $fa-var-bell: "\f0f3";
83 | $fa-var-bell-o: "\f0a2";
84 | $fa-var-bell-slash: "\f1f6";
85 | $fa-var-bell-slash-o: "\f1f7";
86 | $fa-var-bicycle: "\f206";
87 | $fa-var-binoculars: "\f1e5";
88 | $fa-var-birthday-cake: "\f1fd";
89 | $fa-var-bitbucket: "\f171";
90 | $fa-var-bitbucket-square: "\f172";
91 | $fa-var-bitcoin: "\f15a";
92 | $fa-var-black-tie: "\f27e";
93 | $fa-var-blind: "\f29d";
94 | $fa-var-bluetooth: "\f293";
95 | $fa-var-bluetooth-b: "\f294";
96 | $fa-var-bold: "\f032";
97 | $fa-var-bolt: "\f0e7";
98 | $fa-var-bomb: "\f1e2";
99 | $fa-var-book: "\f02d";
100 | $fa-var-bookmark: "\f02e";
101 | $fa-var-bookmark-o: "\f097";
102 | $fa-var-braille: "\f2a1";
103 | $fa-var-briefcase: "\f0b1";
104 | $fa-var-btc: "\f15a";
105 | $fa-var-bug: "\f188";
106 | $fa-var-building: "\f1ad";
107 | $fa-var-building-o: "\f0f7";
108 | $fa-var-bullhorn: "\f0a1";
109 | $fa-var-bullseye: "\f140";
110 | $fa-var-bus: "\f207";
111 | $fa-var-buysellads: "\f20d";
112 | $fa-var-cab: "\f1ba";
113 | $fa-var-calculator: "\f1ec";
114 | $fa-var-calendar: "\f073";
115 | $fa-var-calendar-check-o: "\f274";
116 | $fa-var-calendar-minus-o: "\f272";
117 | $fa-var-calendar-o: "\f133";
118 | $fa-var-calendar-plus-o: "\f271";
119 | $fa-var-calendar-times-o: "\f273";
120 | $fa-var-camera: "\f030";
121 | $fa-var-camera-retro: "\f083";
122 | $fa-var-car: "\f1b9";
123 | $fa-var-caret-down: "\f0d7";
124 | $fa-var-caret-left: "\f0d9";
125 | $fa-var-caret-right: "\f0da";
126 | $fa-var-caret-square-o-down: "\f150";
127 | $fa-var-caret-square-o-left: "\f191";
128 | $fa-var-caret-square-o-right: "\f152";
129 | $fa-var-caret-square-o-up: "\f151";
130 | $fa-var-caret-up: "\f0d8";
131 | $fa-var-cart-arrow-down: "\f218";
132 | $fa-var-cart-plus: "\f217";
133 | $fa-var-cc: "\f20a";
134 | $fa-var-cc-amex: "\f1f3";
135 | $fa-var-cc-diners-club: "\f24c";
136 | $fa-var-cc-discover: "\f1f2";
137 | $fa-var-cc-jcb: "\f24b";
138 | $fa-var-cc-mastercard: "\f1f1";
139 | $fa-var-cc-paypal: "\f1f4";
140 | $fa-var-cc-stripe: "\f1f5";
141 | $fa-var-cc-visa: "\f1f0";
142 | $fa-var-certificate: "\f0a3";
143 | $fa-var-chain: "\f0c1";
144 | $fa-var-chain-broken: "\f127";
145 | $fa-var-check: "\f00c";
146 | $fa-var-check-circle: "\f058";
147 | $fa-var-check-circle-o: "\f05d";
148 | $fa-var-check-square: "\f14a";
149 | $fa-var-check-square-o: "\f046";
150 | $fa-var-chevron-circle-down: "\f13a";
151 | $fa-var-chevron-circle-left: "\f137";
152 | $fa-var-chevron-circle-right: "\f138";
153 | $fa-var-chevron-circle-up: "\f139";
154 | $fa-var-chevron-down: "\f078";
155 | $fa-var-chevron-left: "\f053";
156 | $fa-var-chevron-right: "\f054";
157 | $fa-var-chevron-up: "\f077";
158 | $fa-var-child: "\f1ae";
159 | $fa-var-chrome: "\f268";
160 | $fa-var-circle: "\f111";
161 | $fa-var-circle-o: "\f10c";
162 | $fa-var-circle-o-notch: "\f1ce";
163 | $fa-var-circle-thin: "\f1db";
164 | $fa-var-clipboard: "\f0ea";
165 | $fa-var-clock-o: "\f017";
166 | $fa-var-clone: "\f24d";
167 | $fa-var-close: "\f00d";
168 | $fa-var-cloud: "\f0c2";
169 | $fa-var-cloud-download: "\f0ed";
170 | $fa-var-cloud-upload: "\f0ee";
171 | $fa-var-cny: "\f157";
172 | $fa-var-code: "\f121";
173 | $fa-var-code-fork: "\f126";
174 | $fa-var-codepen: "\f1cb";
175 | $fa-var-codiepie: "\f284";
176 | $fa-var-coffee: "\f0f4";
177 | $fa-var-cog: "\f013";
178 | $fa-var-cogs: "\f085";
179 | $fa-var-columns: "\f0db";
180 | $fa-var-comment: "\f075";
181 | $fa-var-comment-o: "\f0e5";
182 | $fa-var-commenting: "\f27a";
183 | $fa-var-commenting-o: "\f27b";
184 | $fa-var-comments: "\f086";
185 | $fa-var-comments-o: "\f0e6";
186 | $fa-var-compass: "\f14e";
187 | $fa-var-compress: "\f066";
188 | $fa-var-connectdevelop: "\f20e";
189 | $fa-var-contao: "\f26d";
190 | $fa-var-copy: "\f0c5";
191 | $fa-var-copyright: "\f1f9";
192 | $fa-var-creative-commons: "\f25e";
193 | $fa-var-credit-card: "\f09d";
194 | $fa-var-credit-card-alt: "\f283";
195 | $fa-var-crop: "\f125";
196 | $fa-var-crosshairs: "\f05b";
197 | $fa-var-css3: "\f13c";
198 | $fa-var-cube: "\f1b2";
199 | $fa-var-cubes: "\f1b3";
200 | $fa-var-cut: "\f0c4";
201 | $fa-var-cutlery: "\f0f5";
202 | $fa-var-dashboard: "\f0e4";
203 | $fa-var-dashcube: "\f210";
204 | $fa-var-database: "\f1c0";
205 | $fa-var-deaf: "\f2a4";
206 | $fa-var-deafness: "\f2a4";
207 | $fa-var-dedent: "\f03b";
208 | $fa-var-delicious: "\f1a5";
209 | $fa-var-desktop: "\f108";
210 | $fa-var-deviantart: "\f1bd";
211 | $fa-var-diamond: "\f219";
212 | $fa-var-digg: "\f1a6";
213 | $fa-var-dollar: "\f155";
214 | $fa-var-dot-circle-o: "\f192";
215 | $fa-var-download: "\f019";
216 | $fa-var-dribbble: "\f17d";
217 | $fa-var-dropbox: "\f16b";
218 | $fa-var-drupal: "\f1a9";
219 | $fa-var-edge: "\f282";
220 | $fa-var-edit: "\f044";
221 | $fa-var-eject: "\f052";
222 | $fa-var-ellipsis-h: "\f141";
223 | $fa-var-ellipsis-v: "\f142";
224 | $fa-var-empire: "\f1d1";
225 | $fa-var-envelope: "\f0e0";
226 | $fa-var-envelope-o: "\f003";
227 | $fa-var-envelope-square: "\f199";
228 | $fa-var-envira: "\f299";
229 | $fa-var-eraser: "\f12d";
230 | $fa-var-eur: "\f153";
231 | $fa-var-euro: "\f153";
232 | $fa-var-exchange: "\f0ec";
233 | $fa-var-exclamation: "\f12a";
234 | $fa-var-exclamation-circle: "\f06a";
235 | $fa-var-exclamation-triangle: "\f071";
236 | $fa-var-expand: "\f065";
237 | $fa-var-expeditedssl: "\f23e";
238 | $fa-var-external-link: "\f08e";
239 | $fa-var-external-link-square: "\f14c";
240 | $fa-var-eye: "\f06e";
241 | $fa-var-eye-slash: "\f070";
242 | $fa-var-eyedropper: "\f1fb";
243 | $fa-var-fa: "\f2b4";
244 | $fa-var-facebook: "\f09a";
245 | $fa-var-facebook-f: "\f09a";
246 | $fa-var-facebook-official: "\f230";
247 | $fa-var-facebook-square: "\f082";
248 | $fa-var-fast-backward: "\f049";
249 | $fa-var-fast-forward: "\f050";
250 | $fa-var-fax: "\f1ac";
251 | $fa-var-feed: "\f09e";
252 | $fa-var-female: "\f182";
253 | $fa-var-fighter-jet: "\f0fb";
254 | $fa-var-file: "\f15b";
255 | $fa-var-file-archive-o: "\f1c6";
256 | $fa-var-file-audio-o: "\f1c7";
257 | $fa-var-file-code-o: "\f1c9";
258 | $fa-var-file-excel-o: "\f1c3";
259 | $fa-var-file-image-o: "\f1c5";
260 | $fa-var-file-movie-o: "\f1c8";
261 | $fa-var-file-o: "\f016";
262 | $fa-var-file-pdf-o: "\f1c1";
263 | $fa-var-file-photo-o: "\f1c5";
264 | $fa-var-file-picture-o: "\f1c5";
265 | $fa-var-file-powerpoint-o: "\f1c4";
266 | $fa-var-file-sound-o: "\f1c7";
267 | $fa-var-file-text: "\f15c";
268 | $fa-var-file-text-o: "\f0f6";
269 | $fa-var-file-video-o: "\f1c8";
270 | $fa-var-file-word-o: "\f1c2";
271 | $fa-var-file-zip-o: "\f1c6";
272 | $fa-var-files-o: "\f0c5";
273 | $fa-var-film: "\f008";
274 | $fa-var-filter: "\f0b0";
275 | $fa-var-fire: "\f06d";
276 | $fa-var-fire-extinguisher: "\f134";
277 | $fa-var-firefox: "\f269";
278 | $fa-var-first-order: "\f2b0";
279 | $fa-var-flag: "\f024";
280 | $fa-var-flag-checkered: "\f11e";
281 | $fa-var-flag-o: "\f11d";
282 | $fa-var-flash: "\f0e7";
283 | $fa-var-flask: "\f0c3";
284 | $fa-var-flickr: "\f16e";
285 | $fa-var-floppy-o: "\f0c7";
286 | $fa-var-folder: "\f07b";
287 | $fa-var-folder-o: "\f114";
288 | $fa-var-folder-open: "\f07c";
289 | $fa-var-folder-open-o: "\f115";
290 | $fa-var-font: "\f031";
291 | $fa-var-font-awesome: "\f2b4";
292 | $fa-var-fonticons: "\f280";
293 | $fa-var-fort-awesome: "\f286";
294 | $fa-var-forumbee: "\f211";
295 | $fa-var-forward: "\f04e";
296 | $fa-var-foursquare: "\f180";
297 | $fa-var-frown-o: "\f119";
298 | $fa-var-futbol-o: "\f1e3";
299 | $fa-var-gamepad: "\f11b";
300 | $fa-var-gavel: "\f0e3";
301 | $fa-var-gbp: "\f154";
302 | $fa-var-ge: "\f1d1";
303 | $fa-var-gear: "\f013";
304 | $fa-var-gears: "\f085";
305 | $fa-var-genderless: "\f22d";
306 | $fa-var-get-pocket: "\f265";
307 | $fa-var-gg: "\f260";
308 | $fa-var-gg-circle: "\f261";
309 | $fa-var-gift: "\f06b";
310 | $fa-var-git: "\f1d3";
311 | $fa-var-git-square: "\f1d2";
312 | $fa-var-github: "\f09b";
313 | $fa-var-github-alt: "\f113";
314 | $fa-var-github-square: "\f092";
315 | $fa-var-gitlab: "\f296";
316 | $fa-var-gittip: "\f184";
317 | $fa-var-glass: "\f000";
318 | $fa-var-glide: "\f2a5";
319 | $fa-var-glide-g: "\f2a6";
320 | $fa-var-globe: "\f0ac";
321 | $fa-var-google: "\f1a0";
322 | $fa-var-google-plus: "\f0d5";
323 | $fa-var-google-plus-circle: "\f2b3";
324 | $fa-var-google-plus-official: "\f2b3";
325 | $fa-var-google-plus-square: "\f0d4";
326 | $fa-var-google-wallet: "\f1ee";
327 | $fa-var-graduation-cap: "\f19d";
328 | $fa-var-gratipay: "\f184";
329 | $fa-var-group: "\f0c0";
330 | $fa-var-h-square: "\f0fd";
331 | $fa-var-hacker-news: "\f1d4";
332 | $fa-var-hand-grab-o: "\f255";
333 | $fa-var-hand-lizard-o: "\f258";
334 | $fa-var-hand-o-down: "\f0a7";
335 | $fa-var-hand-o-left: "\f0a5";
336 | $fa-var-hand-o-right: "\f0a4";
337 | $fa-var-hand-o-up: "\f0a6";
338 | $fa-var-hand-paper-o: "\f256";
339 | $fa-var-hand-peace-o: "\f25b";
340 | $fa-var-hand-pointer-o: "\f25a";
341 | $fa-var-hand-rock-o: "\f255";
342 | $fa-var-hand-scissors-o: "\f257";
343 | $fa-var-hand-spock-o: "\f259";
344 | $fa-var-hand-stop-o: "\f256";
345 | $fa-var-hard-of-hearing: "\f2a4";
346 | $fa-var-hashtag: "\f292";
347 | $fa-var-hdd-o: "\f0a0";
348 | $fa-var-header: "\f1dc";
349 | $fa-var-headphones: "\f025";
350 | $fa-var-heart: "\f004";
351 | $fa-var-heart-o: "\f08a";
352 | $fa-var-heartbeat: "\f21e";
353 | $fa-var-history: "\f1da";
354 | $fa-var-home: "\f015";
355 | $fa-var-hospital-o: "\f0f8";
356 | $fa-var-hotel: "\f236";
357 | $fa-var-hourglass: "\f254";
358 | $fa-var-hourglass-1: "\f251";
359 | $fa-var-hourglass-2: "\f252";
360 | $fa-var-hourglass-3: "\f253";
361 | $fa-var-hourglass-end: "\f253";
362 | $fa-var-hourglass-half: "\f252";
363 | $fa-var-hourglass-o: "\f250";
364 | $fa-var-hourglass-start: "\f251";
365 | $fa-var-houzz: "\f27c";
366 | $fa-var-html5: "\f13b";
367 | $fa-var-i-cursor: "\f246";
368 | $fa-var-ils: "\f20b";
369 | $fa-var-image: "\f03e";
370 | $fa-var-inbox: "\f01c";
371 | $fa-var-indent: "\f03c";
372 | $fa-var-industry: "\f275";
373 | $fa-var-info: "\f129";
374 | $fa-var-info-circle: "\f05a";
375 | $fa-var-inr: "\f156";
376 | $fa-var-instagram: "\f16d";
377 | $fa-var-institution: "\f19c";
378 | $fa-var-internet-explorer: "\f26b";
379 | $fa-var-intersex: "\f224";
380 | $fa-var-ioxhost: "\f208";
381 | $fa-var-italic: "\f033";
382 | $fa-var-joomla: "\f1aa";
383 | $fa-var-jpy: "\f157";
384 | $fa-var-jsfiddle: "\f1cc";
385 | $fa-var-key: "\f084";
386 | $fa-var-keyboard-o: "\f11c";
387 | $fa-var-krw: "\f159";
388 | $fa-var-language: "\f1ab";
389 | $fa-var-laptop: "\f109";
390 | $fa-var-lastfm: "\f202";
391 | $fa-var-lastfm-square: "\f203";
392 | $fa-var-leaf: "\f06c";
393 | $fa-var-leanpub: "\f212";
394 | $fa-var-legal: "\f0e3";
395 | $fa-var-lemon-o: "\f094";
396 | $fa-var-level-down: "\f149";
397 | $fa-var-level-up: "\f148";
398 | $fa-var-life-bouy: "\f1cd";
399 | $fa-var-life-buoy: "\f1cd";
400 | $fa-var-life-ring: "\f1cd";
401 | $fa-var-life-saver: "\f1cd";
402 | $fa-var-lightbulb-o: "\f0eb";
403 | $fa-var-line-chart: "\f201";
404 | $fa-var-link: "\f0c1";
405 | $fa-var-linkedin: "\f0e1";
406 | $fa-var-linkedin-square: "\f08c";
407 | $fa-var-linux: "\f17c";
408 | $fa-var-list: "\f03a";
409 | $fa-var-list-alt: "\f022";
410 | $fa-var-list-ol: "\f0cb";
411 | $fa-var-list-ul: "\f0ca";
412 | $fa-var-location-arrow: "\f124";
413 | $fa-var-lock: "\f023";
414 | $fa-var-long-arrow-down: "\f175";
415 | $fa-var-long-arrow-left: "\f177";
416 | $fa-var-long-arrow-right: "\f178";
417 | $fa-var-long-arrow-up: "\f176";
418 | $fa-var-low-vision: "\f2a8";
419 | $fa-var-magic: "\f0d0";
420 | $fa-var-magnet: "\f076";
421 | $fa-var-mail-forward: "\f064";
422 | $fa-var-mail-reply: "\f112";
423 | $fa-var-mail-reply-all: "\f122";
424 | $fa-var-male: "\f183";
425 | $fa-var-map: "\f279";
426 | $fa-var-map-marker: "\f041";
427 | $fa-var-map-o: "\f278";
428 | $fa-var-map-pin: "\f276";
429 | $fa-var-map-signs: "\f277";
430 | $fa-var-mars: "\f222";
431 | $fa-var-mars-double: "\f227";
432 | $fa-var-mars-stroke: "\f229";
433 | $fa-var-mars-stroke-h: "\f22b";
434 | $fa-var-mars-stroke-v: "\f22a";
435 | $fa-var-maxcdn: "\f136";
436 | $fa-var-meanpath: "\f20c";
437 | $fa-var-medium: "\f23a";
438 | $fa-var-medkit: "\f0fa";
439 | $fa-var-meh-o: "\f11a";
440 | $fa-var-mercury: "\f223";
441 | $fa-var-microphone: "\f130";
442 | $fa-var-microphone-slash: "\f131";
443 | $fa-var-minus: "\f068";
444 | $fa-var-minus-circle: "\f056";
445 | $fa-var-minus-square: "\f146";
446 | $fa-var-minus-square-o: "\f147";
447 | $fa-var-mixcloud: "\f289";
448 | $fa-var-mobile: "\f10b";
449 | $fa-var-mobile-phone: "\f10b";
450 | $fa-var-modx: "\f285";
451 | $fa-var-money: "\f0d6";
452 | $fa-var-moon-o: "\f186";
453 | $fa-var-mortar-board: "\f19d";
454 | $fa-var-motorcycle: "\f21c";
455 | $fa-var-mouse-pointer: "\f245";
456 | $fa-var-music: "\f001";
457 | $fa-var-navicon: "\f0c9";
458 | $fa-var-neuter: "\f22c";
459 | $fa-var-newspaper-o: "\f1ea";
460 | $fa-var-object-group: "\f247";
461 | $fa-var-object-ungroup: "\f248";
462 | $fa-var-odnoklassniki: "\f263";
463 | $fa-var-odnoklassniki-square: "\f264";
464 | $fa-var-opencart: "\f23d";
465 | $fa-var-openid: "\f19b";
466 | $fa-var-opera: "\f26a";
467 | $fa-var-optin-monster: "\f23c";
468 | $fa-var-outdent: "\f03b";
469 | $fa-var-pagelines: "\f18c";
470 | $fa-var-paint-brush: "\f1fc";
471 | $fa-var-paper-plane: "\f1d8";
472 | $fa-var-paper-plane-o: "\f1d9";
473 | $fa-var-paperclip: "\f0c6";
474 | $fa-var-paragraph: "\f1dd";
475 | $fa-var-paste: "\f0ea";
476 | $fa-var-pause: "\f04c";
477 | $fa-var-pause-circle: "\f28b";
478 | $fa-var-pause-circle-o: "\f28c";
479 | $fa-var-paw: "\f1b0";
480 | $fa-var-paypal: "\f1ed";
481 | $fa-var-pencil: "\f040";
482 | $fa-var-pencil-square: "\f14b";
483 | $fa-var-pencil-square-o: "\f044";
484 | $fa-var-percent: "\f295";
485 | $fa-var-phone: "\f095";
486 | $fa-var-phone-square: "\f098";
487 | $fa-var-photo: "\f03e";
488 | $fa-var-picture-o: "\f03e";
489 | $fa-var-pie-chart: "\f200";
490 | $fa-var-pied-piper: "\f2ae";
491 | $fa-var-pied-piper-alt: "\f1a8";
492 | $fa-var-pied-piper-pp: "\f1a7";
493 | $fa-var-pinterest: "\f0d2";
494 | $fa-var-pinterest-p: "\f231";
495 | $fa-var-pinterest-square: "\f0d3";
496 | $fa-var-plane: "\f072";
497 | $fa-var-play: "\f04b";
498 | $fa-var-play-circle: "\f144";
499 | $fa-var-play-circle-o: "\f01d";
500 | $fa-var-plug: "\f1e6";
501 | $fa-var-plus: "\f067";
502 | $fa-var-plus-circle: "\f055";
503 | $fa-var-plus-square: "\f0fe";
504 | $fa-var-plus-square-o: "\f196";
505 | $fa-var-power-off: "\f011";
506 | $fa-var-print: "\f02f";
507 | $fa-var-product-hunt: "\f288";
508 | $fa-var-puzzle-piece: "\f12e";
509 | $fa-var-qq: "\f1d6";
510 | $fa-var-qrcode: "\f029";
511 | $fa-var-question: "\f128";
512 | $fa-var-question-circle: "\f059";
513 | $fa-var-question-circle-o: "\f29c";
514 | $fa-var-quote-left: "\f10d";
515 | $fa-var-quote-right: "\f10e";
516 | $fa-var-ra: "\f1d0";
517 | $fa-var-random: "\f074";
518 | $fa-var-rebel: "\f1d0";
519 | $fa-var-recycle: "\f1b8";
520 | $fa-var-reddit: "\f1a1";
521 | $fa-var-reddit-alien: "\f281";
522 | $fa-var-reddit-square: "\f1a2";
523 | $fa-var-refresh: "\f021";
524 | $fa-var-registered: "\f25d";
525 | $fa-var-remove: "\f00d";
526 | $fa-var-renren: "\f18b";
527 | $fa-var-reorder: "\f0c9";
528 | $fa-var-repeat: "\f01e";
529 | $fa-var-reply: "\f112";
530 | $fa-var-reply-all: "\f122";
531 | $fa-var-resistance: "\f1d0";
532 | $fa-var-retweet: "\f079";
533 | $fa-var-rmb: "\f157";
534 | $fa-var-road: "\f018";
535 | $fa-var-rocket: "\f135";
536 | $fa-var-rotate-left: "\f0e2";
537 | $fa-var-rotate-right: "\f01e";
538 | $fa-var-rouble: "\f158";
539 | $fa-var-rss: "\f09e";
540 | $fa-var-rss-square: "\f143";
541 | $fa-var-rub: "\f158";
542 | $fa-var-ruble: "\f158";
543 | $fa-var-rupee: "\f156";
544 | $fa-var-safari: "\f267";
545 | $fa-var-save: "\f0c7";
546 | $fa-var-scissors: "\f0c4";
547 | $fa-var-scribd: "\f28a";
548 | $fa-var-search: "\f002";
549 | $fa-var-search-minus: "\f010";
550 | $fa-var-search-plus: "\f00e";
551 | $fa-var-sellsy: "\f213";
552 | $fa-var-send: "\f1d8";
553 | $fa-var-send-o: "\f1d9";
554 | $fa-var-server: "\f233";
555 | $fa-var-share: "\f064";
556 | $fa-var-share-alt: "\f1e0";
557 | $fa-var-share-alt-square: "\f1e1";
558 | $fa-var-share-square: "\f14d";
559 | $fa-var-share-square-o: "\f045";
560 | $fa-var-shekel: "\f20b";
561 | $fa-var-sheqel: "\f20b";
562 | $fa-var-shield: "\f132";
563 | $fa-var-ship: "\f21a";
564 | $fa-var-shirtsinbulk: "\f214";
565 | $fa-var-shopping-bag: "\f290";
566 | $fa-var-shopping-basket: "\f291";
567 | $fa-var-shopping-cart: "\f07a";
568 | $fa-var-sign-in: "\f090";
569 | $fa-var-sign-language: "\f2a7";
570 | $fa-var-sign-out: "\f08b";
571 | $fa-var-signal: "\f012";
572 | $fa-var-signing: "\f2a7";
573 | $fa-var-simplybuilt: "\f215";
574 | $fa-var-sitemap: "\f0e8";
575 | $fa-var-skyatlas: "\f216";
576 | $fa-var-skype: "\f17e";
577 | $fa-var-slack: "\f198";
578 | $fa-var-sliders: "\f1de";
579 | $fa-var-slideshare: "\f1e7";
580 | $fa-var-smile-o: "\f118";
581 | $fa-var-snapchat: "\f2ab";
582 | $fa-var-snapchat-ghost: "\f2ac";
583 | $fa-var-snapchat-square: "\f2ad";
584 | $fa-var-soccer-ball-o: "\f1e3";
585 | $fa-var-sort: "\f0dc";
586 | $fa-var-sort-alpha-asc: "\f15d";
587 | $fa-var-sort-alpha-desc: "\f15e";
588 | $fa-var-sort-amount-asc: "\f160";
589 | $fa-var-sort-amount-desc: "\f161";
590 | $fa-var-sort-asc: "\f0de";
591 | $fa-var-sort-desc: "\f0dd";
592 | $fa-var-sort-down: "\f0dd";
593 | $fa-var-sort-numeric-asc: "\f162";
594 | $fa-var-sort-numeric-desc: "\f163";
595 | $fa-var-sort-up: "\f0de";
596 | $fa-var-soundcloud: "\f1be";
597 | $fa-var-space-shuttle: "\f197";
598 | $fa-var-spinner: "\f110";
599 | $fa-var-spoon: "\f1b1";
600 | $fa-var-spotify: "\f1bc";
601 | $fa-var-square: "\f0c8";
602 | $fa-var-square-o: "\f096";
603 | $fa-var-stack-exchange: "\f18d";
604 | $fa-var-stack-overflow: "\f16c";
605 | $fa-var-star: "\f005";
606 | $fa-var-star-half: "\f089";
607 | $fa-var-star-half-empty: "\f123";
608 | $fa-var-star-half-full: "\f123";
609 | $fa-var-star-half-o: "\f123";
610 | $fa-var-star-o: "\f006";
611 | $fa-var-steam: "\f1b6";
612 | $fa-var-steam-square: "\f1b7";
613 | $fa-var-step-backward: "\f048";
614 | $fa-var-step-forward: "\f051";
615 | $fa-var-stethoscope: "\f0f1";
616 | $fa-var-sticky-note: "\f249";
617 | $fa-var-sticky-note-o: "\f24a";
618 | $fa-var-stop: "\f04d";
619 | $fa-var-stop-circle: "\f28d";
620 | $fa-var-stop-circle-o: "\f28e";
621 | $fa-var-street-view: "\f21d";
622 | $fa-var-strikethrough: "\f0cc";
623 | $fa-var-stumbleupon: "\f1a4";
624 | $fa-var-stumbleupon-circle: "\f1a3";
625 | $fa-var-subscript: "\f12c";
626 | $fa-var-subway: "\f239";
627 | $fa-var-suitcase: "\f0f2";
628 | $fa-var-sun-o: "\f185";
629 | $fa-var-superscript: "\f12b";
630 | $fa-var-support: "\f1cd";
631 | $fa-var-table: "\f0ce";
632 | $fa-var-tablet: "\f10a";
633 | $fa-var-tachometer: "\f0e4";
634 | $fa-var-tag: "\f02b";
635 | $fa-var-tags: "\f02c";
636 | $fa-var-tasks: "\f0ae";
637 | $fa-var-taxi: "\f1ba";
638 | $fa-var-television: "\f26c";
639 | $fa-var-tencent-weibo: "\f1d5";
640 | $fa-var-terminal: "\f120";
641 | $fa-var-text-height: "\f034";
642 | $fa-var-text-width: "\f035";
643 | $fa-var-th: "\f00a";
644 | $fa-var-th-large: "\f009";
645 | $fa-var-th-list: "\f00b";
646 | $fa-var-themeisle: "\f2b2";
647 | $fa-var-thumb-tack: "\f08d";
648 | $fa-var-thumbs-down: "\f165";
649 | $fa-var-thumbs-o-down: "\f088";
650 | $fa-var-thumbs-o-up: "\f087";
651 | $fa-var-thumbs-up: "\f164";
652 | $fa-var-ticket: "\f145";
653 | $fa-var-times: "\f00d";
654 | $fa-var-times-circle: "\f057";
655 | $fa-var-times-circle-o: "\f05c";
656 | $fa-var-tint: "\f043";
657 | $fa-var-toggle-down: "\f150";
658 | $fa-var-toggle-left: "\f191";
659 | $fa-var-toggle-off: "\f204";
660 | $fa-var-toggle-on: "\f205";
661 | $fa-var-toggle-right: "\f152";
662 | $fa-var-toggle-up: "\f151";
663 | $fa-var-trademark: "\f25c";
664 | $fa-var-train: "\f238";
665 | $fa-var-transgender: "\f224";
666 | $fa-var-transgender-alt: "\f225";
667 | $fa-var-trash: "\f1f8";
668 | $fa-var-trash-o: "\f014";
669 | $fa-var-tree: "\f1bb";
670 | $fa-var-trello: "\f181";
671 | $fa-var-tripadvisor: "\f262";
672 | $fa-var-trophy: "\f091";
673 | $fa-var-truck: "\f0d1";
674 | $fa-var-try: "\f195";
675 | $fa-var-tty: "\f1e4";
676 | $fa-var-tumblr: "\f173";
677 | $fa-var-tumblr-square: "\f174";
678 | $fa-var-turkish-lira: "\f195";
679 | $fa-var-tv: "\f26c";
680 | $fa-var-twitch: "\f1e8";
681 | $fa-var-twitter: "\f099";
682 | $fa-var-twitter-square: "\f081";
683 | $fa-var-umbrella: "\f0e9";
684 | $fa-var-underline: "\f0cd";
685 | $fa-var-undo: "\f0e2";
686 | $fa-var-universal-access: "\f29a";
687 | $fa-var-university: "\f19c";
688 | $fa-var-unlink: "\f127";
689 | $fa-var-unlock: "\f09c";
690 | $fa-var-unlock-alt: "\f13e";
691 | $fa-var-unsorted: "\f0dc";
692 | $fa-var-upload: "\f093";
693 | $fa-var-usb: "\f287";
694 | $fa-var-usd: "\f155";
695 | $fa-var-user: "\f007";
696 | $fa-var-user-md: "\f0f0";
697 | $fa-var-user-plus: "\f234";
698 | $fa-var-user-secret: "\f21b";
699 | $fa-var-user-times: "\f235";
700 | $fa-var-users: "\f0c0";
701 | $fa-var-venus: "\f221";
702 | $fa-var-venus-double: "\f226";
703 | $fa-var-venus-mars: "\f228";
704 | $fa-var-viacoin: "\f237";
705 | $fa-var-viadeo: "\f2a9";
706 | $fa-var-viadeo-square: "\f2aa";
707 | $fa-var-video-camera: "\f03d";
708 | $fa-var-vimeo: "\f27d";
709 | $fa-var-vimeo-square: "\f194";
710 | $fa-var-vine: "\f1ca";
711 | $fa-var-vk: "\f189";
712 | $fa-var-volume-control-phone: "\f2a0";
713 | $fa-var-volume-down: "\f027";
714 | $fa-var-volume-off: "\f026";
715 | $fa-var-volume-up: "\f028";
716 | $fa-var-warning: "\f071";
717 | $fa-var-wechat: "\f1d7";
718 | $fa-var-weibo: "\f18a";
719 | $fa-var-weixin: "\f1d7";
720 | $fa-var-whatsapp: "\f232";
721 | $fa-var-wheelchair: "\f193";
722 | $fa-var-wheelchair-alt: "\f29b";
723 | $fa-var-wifi: "\f1eb";
724 | $fa-var-wikipedia-w: "\f266";
725 | $fa-var-windows: "\f17a";
726 | $fa-var-won: "\f159";
727 | $fa-var-wordpress: "\f19a";
728 | $fa-var-wpbeginner: "\f297";
729 | $fa-var-wpforms: "\f298";
730 | $fa-var-wrench: "\f0ad";
731 | $fa-var-xing: "\f168";
732 | $fa-var-xing-square: "\f169";
733 | $fa-var-y-combinator: "\f23b";
734 | $fa-var-y-combinator-square: "\f1d4";
735 | $fa-var-yahoo: "\f19e";
736 | $fa-var-yc: "\f23b";
737 | $fa-var-yc-square: "\f1d4";
738 | $fa-var-yelp: "\f1e9";
739 | $fa-var-yen: "\f157";
740 | $fa-var-yoast: "\f2b1";
741 | $fa-var-youtube: "\f167";
742 | $fa-var-youtube-play: "\f16a";
743 | $fa-var-youtube-square: "\f166";
744 |
745 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/_neat-helpers.scss:
--------------------------------------------------------------------------------
1 | // Functions
2 | @import "functions/private";
3 | @import "functions/new-breakpoint";
4 |
5 | // Settings
6 | @import "settings/grid";
7 | @import "settings/visual-grid";
8 | @import "settings/disable-warnings";
9 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/_neat.scss:
--------------------------------------------------------------------------------
1 | // Neat 1.7.4
2 | // http://neat.bourbon.io
3 | // Copyright 2012-2015 thoughtbot, inc.
4 | // MIT License
5 |
6 | // Helpers
7 | @import "neat-helpers";
8 |
9 | // Grid
10 | @import "grid/private";
11 | @import "grid/box-sizing";
12 | @import "grid/omega";
13 | @import "grid/outer-container";
14 | @import "grid/span-columns";
15 | @import "grid/row";
16 | @import "grid/shift";
17 | @import "grid/pad";
18 | @import "grid/fill-parent";
19 | @import "grid/media";
20 | @import "grid/to-deprecate";
21 | @import "grid/visual-grid";
22 | @import "grid/display-context";
23 | @import "grid/direction-context";
24 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/functions/_new-breakpoint.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Returns a media context (media query / grid context) that can be stored in a variable and passed to `media()` as a single-keyword argument. Media contexts defined using `new-breakpoint` are used by the visual grid, as long as they are defined before importing Neat.
4 | ///
5 | /// @param {List} $query
6 | /// A list of media query features and values. Each `$feature` should have a corresponding `$value`.
7 | ///
8 | /// If there is only a single `$value` in `$query`, `$default-feature` is going to be used.
9 | ///
10 | /// The number of total columns in the grid can be set by passing `$columns` at the end of the list (overrides `$total-columns`). For a list of valid values for `$feature`, click [here](http://www.w3.org/TR/css3-mediaqueries/#media1).
11 | ///
12 | /// @param {Number (unitless)} $total-columns [$grid-columns]
13 | /// - Number of columns to use in the new grid context. Can be set as a shorthand in the first parameter.
14 | ///
15 | /// @example scss - Usage
16 | /// $mobile: new-breakpoint(max-width 480px 4);
17 | ///
18 | /// .element {
19 | /// @include media($mobile) {
20 | /// @include span-columns(4);
21 | /// }
22 | /// }
23 | ///
24 | /// @example css - CSS Output
25 | /// @media screen and (max-width: 480px) {
26 | /// .element {
27 | /// display: block;
28 | /// float: left;
29 | /// margin-right: 7.42297%;
30 | /// width: 100%;
31 | /// }
32 | /// .element:last-child {
33 | /// margin-right: 0;
34 | /// }
35 | /// }
36 |
37 | @function new-breakpoint($query: $feature $value $columns, $total-columns: $grid-columns) {
38 | @if length($query) == 1 {
39 | $query: $default-feature nth($query, 1) $total-columns;
40 | } @else if is-even(length($query)) {
41 | $query: append($query, $total-columns);
42 | }
43 |
44 | @if is-not(belongs-to($query, $visual-grid-breakpoints)) {
45 | $visual-grid-breakpoints: append($visual-grid-breakpoints, $query, comma) !global;
46 | }
47 |
48 | @return $query;
49 | }
50 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/functions/_private.scss:
--------------------------------------------------------------------------------
1 | // Not function for Libsass compatibility
2 | // https://github.com/sass/libsass/issues/368
3 | @function is-not($value) {
4 | @return if($value, false, true);
5 | }
6 |
7 | // Checks if a number is even
8 | @function is-even($int) {
9 | @return $int % 2 == 0;
10 | }
11 |
12 | // Checks if an element belongs to a list or not
13 | @function belongs-to($tested-item, $list) {
14 | @return is-not(not-belongs-to($tested-item, $list));
15 | }
16 |
17 | @function not-belongs-to($tested-item, $list) {
18 | @return is-not(index($list, $tested-item));
19 | }
20 |
21 | // Contains display value
22 | @function contains-display-value($query) {
23 | @return belongs-to(table, $query)
24 | or belongs-to(block, $query)
25 | or belongs-to(inline-block, $query)
26 | or belongs-to(inline, $query);
27 | }
28 |
29 | // Parses the first argument of span-columns()
30 | @function container-span($span: $span) {
31 | @if length($span) == 3 {
32 | $container-columns: nth($span, 3);
33 | @return $container-columns;
34 | } @else if length($span) == 2 {
35 | $container-columns: nth($span, 2);
36 | @return $container-columns;
37 | }
38 |
39 | @return $grid-columns;
40 | }
41 |
42 | @function container-shift($shift: $shift) {
43 | $parent-columns: $grid-columns !default !global;
44 |
45 | @if length($shift) == 3 {
46 | $container-columns: nth($shift, 3);
47 | @return $container-columns;
48 | } @else if length($shift) == 2 {
49 | $container-columns: nth($shift, 2);
50 | @return $container-columns;
51 | }
52 |
53 | @return $parent-columns;
54 | }
55 |
56 | // Generates a striped background
57 | @function gradient-stops($grid-columns, $color: $visual-grid-color) {
58 | $transparent: transparent;
59 |
60 | $column-width: flex-grid(1, $grid-columns);
61 | $gutter-width: flex-gutter($grid-columns);
62 | $column-offset: $column-width;
63 |
64 | $values: ($transparent 0, $color 0);
65 |
66 | @for $i from 1 to $grid-columns*2 {
67 | @if is-even($i) {
68 | $values: append($values, $transparent $column-offset, comma);
69 | $values: append($values, $color $column-offset, comma);
70 | $column-offset: $column-offset + $column-width;
71 | } @else {
72 | $values: append($values, $color $column-offset, comma);
73 | $values: append($values, $transparent $column-offset, comma);
74 | $column-offset: $column-offset + $gutter-width;
75 | }
76 | }
77 |
78 | @return $values;
79 | }
80 |
81 | // Layout direction
82 | @function get-direction($layout, $default) {
83 | $direction: null;
84 |
85 | @if to-upper-case($layout) == "LTR" or to-upper-case($layout) == "RTL" {
86 | $direction: direction-from-layout($layout);
87 | } @else {
88 | $direction: direction-from-layout($default);
89 | }
90 |
91 | @return $direction;
92 | }
93 |
94 | @function direction-from-layout($layout) {
95 | $direction: null;
96 |
97 | @if to-upper-case($layout) == "LTR" {
98 | $direction: right;
99 | } @else {
100 | $direction: left;
101 | }
102 |
103 | @return $direction;
104 | }
105 |
106 | @function get-opposite-direction($direction) {
107 | $opposite-direction: left;
108 |
109 | @if $direction == "left" {
110 | $opposite-direction: right;
111 | }
112 |
113 | @return $opposite-direction;
114 | }
115 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_box-sizing.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @if $border-box-sizing == true {
4 | html { // http://bit.ly/1qk2tVR
5 | box-sizing: border-box;
6 | }
7 |
8 | * {
9 | &,
10 | &::after,
11 | &::before {
12 | box-sizing: inherit;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_direction-context.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Changes the direction property used by other mixins called in the code block argument.
4 | ///
5 | /// @param {String} $direction [left-to-right]
6 | /// Layout direction to be used within the block. Can be `left-to-right` or `right-to-left`.
7 | ///
8 | /// @example scss - Usage
9 | /// @include direction-context(right-to-left) {
10 | /// .right-to-left-block {
11 | /// @include span-columns(6);
12 | /// }
13 | /// }
14 | ///
15 | /// @example css - CSS Output
16 | /// .right-to-left-block {
17 | /// float: right;
18 | /// ...
19 | /// }
20 |
21 | @mixin direction-context($direction: left-to-right) {
22 | $scope-direction: $layout-direction;
23 |
24 | @if to-lower-case($direction) == "left-to-right" {
25 | $layout-direction: LTR !global;
26 | } @else if to-lower-case($direction) == "right-to-left" {
27 | $layout-direction: RTL !global;
28 | }
29 |
30 | @content;
31 |
32 | $layout-direction: $scope-direction !global;
33 | }
34 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_display-context.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Changes the display property used by other mixins called in the code block argument.
4 | ///
5 | /// @param {String} $display [block]
6 | /// Display value to be used within the block. Can be `table` or `block`.
7 | ///
8 | /// @example scss
9 | /// @include display-context(table) {
10 | /// .display-table {
11 | /// @include span-columns(6);
12 | /// }
13 | /// }
14 | ///
15 | /// @example css
16 | /// .display-table {
17 | /// display: table-cell;
18 | /// ...
19 | /// }
20 |
21 | @mixin display-context($display: block) {
22 | $scope-display: $container-display-table;
23 | $container-display-table: $display == table !global;
24 |
25 | @content;
26 |
27 | $container-display-table: $scope-display !global;
28 | }
29 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_fill-parent.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Forces the element to fill its parent container.
4 | ///
5 | /// @example scss - Usage
6 | /// .element {
7 | /// @include fill-parent;
8 | /// }
9 | ///
10 | /// @example css - CSS Output
11 | /// .element {
12 | /// width: 100%;
13 | /// box-sizing: border-box;
14 | /// }
15 |
16 | @mixin fill-parent() {
17 | width: 100%;
18 |
19 | @if $border-box-sizing == false {
20 | box-sizing: border-box;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_media.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Outputs a media-query block with an optional grid context (the total number of columns used in the grid).
4 | ///
5 | /// @param {List} $query
6 | /// A list of media query features and values, where each `$feature` should have a corresponding `$value`.
7 | /// For a list of valid values for `$feature`, click [here](http://www.w3.org/TR/css3-mediaqueries/#media1).
8 | ///
9 | /// If there is only a single `$value` in `$query`, `$default-feature` is going to be used.
10 | ///
11 | /// The number of total columns in the grid can be set by passing `$columns` at the end of the list (overrides `$total-columns`).
12 | ///
13 | ///
14 | /// @param {Number (unitless)} $total-columns [$grid-columns]
15 | /// - Number of columns to use in the new grid context. Can be set as a shorthand in the first parameter.
16 | ///
17 | /// @example scss - Usage
18 | /// .responsive-element {
19 | /// @include media(769px) {
20 | /// @include span-columns(6);
21 | /// }
22 | /// }
23 | ///
24 | /// .new-context-element {
25 | /// @include media(min-width 320px max-width 480px, 6) {
26 | /// @include span-columns(6);
27 | /// }
28 | /// }
29 | ///
30 | /// @example css - CSS Output
31 | /// @media screen and (min-width: 769px) {
32 | /// .responsive-element {
33 | /// display: block;
34 | /// float: left;
35 | /// margin-right: 2.35765%;
36 | /// width: 48.82117%;
37 | /// }
38 | ///
39 | /// .responsive-element:last-child {
40 | /// margin-right: 0;
41 | /// }
42 | /// }
43 | ///
44 | /// @media screen and (min-width: 320px) and (max-width: 480px) {
45 | /// .new-context-element {
46 | /// display: block;
47 | /// float: left;
48 | /// margin-right: 4.82916%;
49 | /// width: 100%;
50 | /// }
51 | ///
52 | /// .new-context-element:last-child {
53 | /// margin-right: 0;
54 | /// }
55 | /// }
56 |
57 | @mixin media($query: $feature $value $columns, $total-columns: $grid-columns) {
58 | @if length($query) == 1 {
59 | @media screen and ($default-feature: nth($query, 1)) {
60 | $default-grid-columns: $grid-columns;
61 | $grid-columns: $total-columns !global;
62 | @content;
63 | $grid-columns: $default-grid-columns !global;
64 | }
65 | } @else {
66 | $loop-to: length($query);
67 | $media-query: "screen and ";
68 | $default-grid-columns: $grid-columns;
69 | $grid-columns: $total-columns !global;
70 |
71 | @if is-not(is-even(length($query))) {
72 | $grid-columns: nth($query, $loop-to) !global;
73 | $loop-to: $loop-to - 1;
74 | }
75 |
76 | $i: 1;
77 | @while $i <= $loop-to {
78 | $media-query: $media-query + "(" + nth($query, $i) + ": " + nth($query, $i + 1) + ") ";
79 |
80 | @if ($i + 1) != $loop-to {
81 | $media-query: $media-query + "and ";
82 | }
83 |
84 | $i: $i + 2;
85 | }
86 |
87 | @media #{$media-query} {
88 | @content;
89 | $grid-columns: $default-grid-columns !global;
90 | }
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_omega.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Removes the element's gutter margin, regardless of its position in the grid hierarchy or display property. It can target a specific element, or every `nth-child` occurrence. Works only with `block` layouts.
4 | ///
5 | /// @param {List} $query [block]
6 | /// List of arguments. Supported arguments are `nth-child` selectors (targets a specific pseudo element) and `auto` (targets `last-child`).
7 | ///
8 | /// When passed an `nth-child` argument of type `*n` with `block` display, the omega mixin automatically adds a clear to the `*n+1` th element. Note that composite arguments such as `2n+1` do not support this feature.
9 | ///
10 | /// **Deprecation warning**: The omega mixin will no longer take a `$direction` argument. To change the layout direction, use `row($direction)` or set `$default-layout-direction` instead.
11 | ///
12 | /// @example scss - Usage
13 | /// .element {
14 | /// @include omega;
15 | /// }
16 | ///
17 | /// .nth-element {
18 | /// @include omega(4n);
19 | /// }
20 | ///
21 | /// @example css - CSS Output
22 | /// .element {
23 | /// margin-right: 0;
24 | /// }
25 | ///
26 | /// .nth-element:nth-child(4n) {
27 | /// margin-right: 0;
28 | /// }
29 | ///
30 | /// .nth-element:nth-child(4n+1) {
31 | /// clear: left;
32 | /// }
33 |
34 | @mixin omega($query: block, $direction: default) {
35 | $table: belongs-to(table, $query);
36 | $auto: belongs-to(auto, $query);
37 |
38 | @if $direction != default {
39 | @include -neat-warn("The omega mixin will no longer take a $direction argument. To change the layout direction, use the direction(){...} mixin.");
40 | } @else {
41 | $direction: get-direction($layout-direction, $default-layout-direction);
42 | }
43 |
44 | @if $table {
45 | @include -neat-warn("The omega mixin no longer removes padding in table layouts.");
46 | }
47 |
48 | @if length($query) == 1 {
49 | @if $auto {
50 | &:last-child {
51 | margin-#{$direction}: 0;
52 | }
53 | }
54 |
55 | @else if contains-display-value($query) and $table == false {
56 | margin-#{$direction}: 0;
57 | }
58 |
59 | @else {
60 | @include nth-child($query, $direction);
61 | }
62 | } @else if length($query) == 2 {
63 | @if $auto {
64 | &:last-child {
65 | margin-#{$direction}: 0;
66 | }
67 | } @else {
68 | @include nth-child(nth($query, 1), $direction);
69 | }
70 | } @else {
71 | @include -neat-warn("Too many arguments passed to the omega() mixin.");
72 | }
73 | }
74 |
75 | @mixin nth-child($query, $direction) {
76 | $opposite-direction: get-opposite-direction($direction);
77 |
78 | &:nth-child(#{$query}) {
79 | margin-#{$direction}: 0;
80 | }
81 |
82 | @if type-of($query) == number and unit($query) == "n" {
83 | &:nth-child(#{$query}+1) {
84 | clear: $opposite-direction;
85 | }
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_outer-container.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Makes an element a outer container by centering it in the viewport, clearing its floats, and setting its `max-width`.
4 | /// Although optional, using `outer-container` is recommended. The mixin can be called on more than one element per page, as long as they are not nested.
5 | ///
6 | /// @param {Number [unit]} $local-max-width [$max-width]
7 | /// Max width to be applied to the element. Can be a percentage or a measure.
8 | ///
9 | /// @example scss - Usage
10 | /// .element {
11 | /// @include outer-container(100%);
12 | /// }
13 | ///
14 | /// @example css - CSS Output
15 | /// .element {
16 | /// *zoom: 1;
17 | /// max-width: 100%;
18 | /// margin-left: auto;
19 | /// margin-right: auto;
20 | /// }
21 | ///
22 | /// .element:before, .element:after {
23 | /// content: " ";
24 | /// display: table;
25 | /// }
26 | ///
27 | /// .element:after {
28 | /// clear: both;
29 | /// }
30 |
31 | @mixin outer-container($local-max-width: $max-width) {
32 | @include clearfix;
33 | max-width: $local-max-width;
34 | margin: {
35 | left: auto;
36 | right: auto;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_pad.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Adds padding to the element.
4 | ///
5 | /// @param {List} $padding [flex-gutter()]
6 | /// A list of padding value(s) to use. Passing `default` in the list will result in using the gutter width as a padding value.
7 | ///
8 | /// @example scss - Usage
9 | /// .element {
10 | /// @include pad(30px -20px 10px default);
11 | /// }
12 | ///
13 | /// @example css - CSS Output
14 | /// .element {
15 | /// padding: 30px -20px 10px 2.35765%;
16 | /// }
17 |
18 | @mixin pad($padding: flex-gutter()) {
19 | $padding-list: null;
20 | @each $value in $padding {
21 | $value: if($value == 'default', flex-gutter(), $value);
22 | $padding-list: join($padding-list, $value);
23 | }
24 | padding: $padding-list;
25 | }
26 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_private.scss:
--------------------------------------------------------------------------------
1 | $parent-columns: $grid-columns !default;
2 | $fg-column: $column;
3 | $fg-gutter: $gutter;
4 | $fg-max-columns: $grid-columns;
5 | $container-display-table: false !default;
6 | $layout-direction: LTR !default;
7 |
8 | @function flex-grid($columns, $container-columns: $fg-max-columns) {
9 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
10 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
11 | @return percentage($width / $container-width);
12 | }
13 |
14 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
15 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
16 | @return percentage($gutter / $container-width);
17 | }
18 |
19 | @function grid-width($n) {
20 | @return $n * $gw-column + ($n - 1) * $gw-gutter;
21 | }
22 |
23 | @function get-parent-columns($columns) {
24 | @if $columns != $grid-columns {
25 | $parent-columns: $columns !global;
26 | } @else {
27 | $parent-columns: $grid-columns !global;
28 | }
29 |
30 | @return $parent-columns;
31 | }
32 |
33 | @function is-display-table($container-is-display-table, $display) {
34 | @return $container-is-display-table == true or $display == table;
35 | }
36 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_row.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Designates the element as a row of columns in the grid layout. It clears the floats on the element and sets its display property. Rows can't be nested, but there can be more than one row element—with different display properties—per layout.
4 | ///
5 | /// @param {String} $display [default]
6 | /// Sets the display property of the element and the display context that will be used by its children. Can be `block` or `table`.
7 | ///
8 | /// @param {String} $direction [$default-layout-direction]
9 | /// Sets the layout direction. Can be `LTR` (left-to-right) or `RTL` (right-to-left).
10 | ///
11 | /// @example scss - Usage
12 | /// .element {
13 | /// @include row();
14 | /// }
15 | ///
16 | /// @example css - CSS Output
17 | /// .element {
18 | /// *zoom: 1;
19 | /// display: block;
20 | /// }
21 | ///
22 | /// .element:before, .element:after {
23 | /// content: " ";
24 | /// display: table;
25 | /// }
26 | ///
27 | /// .element:after {
28 | /// clear: both;
29 | /// }
30 |
31 | @mixin row($display: default, $direction: $default-layout-direction) {
32 | @if $direction != $default-layout-direction {
33 | @include -neat-warn("The $direction argument will be deprecated in future versions in favor of the direction(){...} mixin.");
34 | }
35 |
36 | $layout-direction: $direction !global;
37 |
38 | @if $display != default {
39 | @include -neat-warn("The $display argument will be deprecated in future versions in favor of the display(){...} mixin.");
40 | }
41 |
42 | @if $display == table {
43 | display: table;
44 | @include fill-parent;
45 | table-layout: fixed;
46 | $container-display-table: true !global;
47 | } @else {
48 | @include clearfix;
49 | display: block;
50 | $container-display-table: false !global;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_shift.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Translates an element horizontally by a number of columns. Positive arguments shift the element to the active layout direction, while negative ones shift it to the opposite direction.
4 | ///
5 | /// @param {Number (unitless)} $n-columns [1]
6 | /// Number of columns by which the element shifts.
7 | ///
8 | /// @example scss - Usage
9 | /// .element {
10 | /// @include shift(-3);
11 | /// }
12 | ///
13 | /// @example css - CSS output
14 | /// .element {
15 | /// margin-left: -25.58941%;
16 | /// }
17 |
18 | @mixin shift($n-columns: 1) {
19 | @include shift-in-context($n-columns);
20 | }
21 |
22 | /// Translates an element horizontally by a number of columns, in a specific nesting context.
23 | ///
24 | /// @param {List} $shift
25 | /// A list containing the number of columns to shift (`$columns`) and the number of columns of the parent element (`$container-columns`).
26 | ///
27 | /// The two values can be separated with any string such as `of`, `/`, etc.
28 | ///
29 | /// @example scss - Usage
30 | /// .element {
31 | /// @include shift(-3 of 6);
32 | /// }
33 | ///
34 | /// @example css - CSS output
35 | /// .element {
36 | /// margin-left: -52.41458%;
37 | /// }
38 |
39 | @mixin shift-in-context($shift: $columns of $container-columns) {
40 | $n-columns: nth($shift, 1);
41 | $parent-columns: container-shift($shift) !global;
42 |
43 | $direction: get-direction($layout-direction, $default-layout-direction);
44 | $opposite-direction: get-opposite-direction($direction);
45 |
46 | margin-#{$opposite-direction}: $n-columns * flex-grid(1, $parent-columns) + $n-columns * flex-gutter($parent-columns);
47 |
48 | // Reset nesting context
49 | $parent-columns: $grid-columns !global;
50 | }
51 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_span-columns.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Specifies the number of columns an element should span. If the selector is nested the number of columns of its parent element should be passed as an argument as well.
4 | ///
5 | /// @param {List} $span
6 | /// A list containing `$columns`, the unitless number of columns the element spans (required), and `$container-columns`, the number of columns the parent element spans (optional).
7 | ///
8 | /// If only one value is passed, it is assumed that it's `$columns` and that that `$container-columns` is equal to `$grid-columns`, the total number of columns in the grid.
9 | ///
10 | /// The values can be separated with any string such as `of`, `/`, etc.
11 | ///
12 | /// `$columns` also accepts decimals for when it's necessary to break out of the standard grid. E.g. Passing `2.4` in a standard 12 column grid will divide the row into 5 columns.
13 | ///
14 | /// @param {String} $display [block]
15 | /// Sets the display property of the element. By default it sets the display property of the element to `block`.
16 | ///
17 | /// If passed `block-collapse`, it also removes the margin gutter by adding it to the element width.
18 | ///
19 | /// If passed `table`, it sets the display property to `table-cell` and calculates the width of the element without taking gutters into consideration. The result does not align with the block-based grid.
20 | ///
21 | /// @example scss - Usage
22 | /// .element {
23 | /// @include span-columns(6);
24 | ///
25 | /// .nested-element {
26 | /// @include span-columns(2 of 6);
27 | /// }
28 | /// }
29 | ///
30 | /// @example css - CSS Output
31 | /// .element {
32 | /// display: block;
33 | /// float: left;
34 | /// margin-right: 2.35765%;
35 | /// width: 48.82117%;
36 | /// }
37 | ///
38 | /// .element:last-child {
39 | /// margin-right: 0;
40 | /// }
41 | ///
42 | /// .element .nested-element {
43 | /// display: block;
44 | /// float: left;
45 | /// margin-right: 4.82916%;
46 | /// width: 30.11389%;
47 | /// }
48 | ///
49 | /// .element .nested-element:last-child {
50 | /// margin-right: 0;
51 | /// }
52 |
53 | @mixin span-columns($span: $columns of $container-columns, $display: block) {
54 | $columns: nth($span, 1);
55 | $container-columns: container-span($span);
56 |
57 | $parent-columns: get-parent-columns($container-columns) !global;
58 |
59 | $direction: get-direction($layout-direction, $default-layout-direction);
60 | $opposite-direction: get-opposite-direction($direction);
61 |
62 | $display-table: is-display-table($container-display-table, $display);
63 |
64 | @if $display-table {
65 | display: table-cell;
66 | width: percentage($columns / $container-columns);
67 | } @else {
68 | float: #{$opposite-direction};
69 |
70 | @if $display != no-display {
71 | display: block;
72 | }
73 |
74 | @if $display == collapse {
75 | @include -neat-warn("The 'collapse' argument will be deprecated. Use 'block-collapse' instead.");
76 | }
77 |
78 | @if $display == collapse or $display == block-collapse {
79 | width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);
80 |
81 | &:last-child {
82 | width: flex-grid($columns, $container-columns);
83 | }
84 |
85 | } @else {
86 | margin-#{$direction}: flex-gutter($container-columns);
87 | width: flex-grid($columns, $container-columns);
88 |
89 | &:last-child {
90 | margin-#{$direction}: 0;
91 | }
92 | }
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_to-deprecate.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @mixin breakpoint($query:$feature $value $columns, $total-columns: $grid-columns) {
4 | @include -neat-warn("The breakpoint() mixin was renamed to media() in Neat 1.0. Please update your project with the new syntax before the next version bump.");
5 |
6 | @if length($query) == 1 {
7 | @media screen and ($default-feature: nth($query, 1)) {
8 | $default-grid-columns: $grid-columns;
9 | $grid-columns: $total-columns;
10 | @content;
11 | $grid-columns: $default-grid-columns;
12 | }
13 | } @else if length($query) == 2 {
14 | @media screen and (nth($query, 1): nth($query, 2)) {
15 | $default-grid-columns: $grid-columns;
16 | $grid-columns: $total-columns;
17 | @content;
18 | $grid-columns: $default-grid-columns;
19 | }
20 | } @else if length($query) == 3 {
21 | @media screen and (nth($query, 1): nth($query, 2)) {
22 | $default-grid-columns: $grid-columns;
23 | $grid-columns: nth($query, 3);
24 | @content;
25 | $grid-columns: $default-grid-columns;
26 | }
27 | } @else if length($query) == 4 {
28 | @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) {
29 | $default-grid-columns: $grid-columns;
30 | $grid-columns: $total-columns;
31 | @content;
32 | $grid-columns: $default-grid-columns;
33 | }
34 | } @else if length($query) == 5 {
35 | @media screen and (nth($query, 1): nth($query, 2)) and (nth($query, 3): nth($query, 4)) {
36 | $default-grid-columns: $grid-columns;
37 | $grid-columns: nth($query, 5);
38 | @content;
39 | $grid-columns: $default-grid-columns;
40 | }
41 | } @else {
42 | @include -neat-warn("Wrong number of arguments for breakpoint(). Read the documentation for more details.");
43 | }
44 | }
45 |
46 | @mixin nth-omega($nth, $display: block, $direction: default) {
47 | @include -neat-warn("The nth-omega() mixin is deprecated. Please use omega() instead.");
48 | @include omega($nth $display, $direction);
49 | }
50 |
51 | /// Resets the active display property to `block`. Particularly useful when changing the display property in a single row.
52 | ///
53 | /// @example scss - Usage
54 | /// .element {
55 | /// @include row(table);
56 | /// // Context changed to table display
57 | /// }
58 | ///
59 | /// @include reset-display;
60 | /// // Context is reset to block display
61 |
62 | @mixin reset-display {
63 | $container-display-table: false !global;
64 | @include -neat-warn("Resetting $display will be deprecated in future versions in favor of the display(){...} mixin.");
65 | }
66 |
67 | /// Resets the active layout direction to the default value set in `$default-layout-direction`. Particularly useful when changing the layout direction in a single row.
68 | ///
69 | /// @example scss - Usage
70 | /// .element {
71 | /// @include row($direction: RTL);
72 | /// // Context changed to right-to-left
73 | /// }
74 | ///
75 | /// @include reset-layout-direction;
76 | /// // Context is reset to left-to-right
77 |
78 | @mixin reset-layout-direction {
79 | $layout-direction: $default-layout-direction !global;
80 | @include -neat-warn("Resetting $direction will be deprecated in future versions in favor of the direction(){...} mixin.");
81 | }
82 |
83 | /// Resets both the active layout direction and the active display property.
84 | ///
85 | /// @example scss - Usage
86 | /// .element {
87 | /// @include row(table, RTL);
88 | /// // Context changed to table table and right-to-left
89 | /// }
90 | ///
91 | /// @include reset-all;
92 | /// // Context is reset to block display and left-to-right
93 |
94 | @mixin reset-all {
95 | @include reset-display;
96 | @include reset-layout-direction;
97 | }
98 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/grid/_visual-grid.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @mixin grid-column-gradient($values...) {
4 | background-image: -webkit-linear-gradient(left, $values);
5 | background-image: -moz-linear-gradient(left, $values);
6 | background-image: -ms-linear-gradient(left, $values);
7 | background-image: -o-linear-gradient(left, $values);
8 | background-image: unquote("linear-gradient(to left, #{$values})");
9 | }
10 |
11 | @if $visual-grid == true or $visual-grid == yes {
12 | body:before {
13 | @include grid-column-gradient(gradient-stops($grid-columns));
14 | content: "";
15 | display: inline-block;
16 | height: 100%;
17 | left: 0;
18 | margin: 0 auto;
19 | max-width: $max-width;
20 | opacity: $visual-grid-opacity;
21 | pointer-events: none;
22 | position: fixed;
23 | right: 0;
24 | width: 100%;
25 |
26 | @if $visual-grid-index == back {
27 | z-index: -1;
28 | }
29 |
30 | @else if $visual-grid-index == front {
31 | z-index: 9999;
32 | }
33 |
34 | @each $breakpoint in $visual-grid-breakpoints {
35 | @if $breakpoint {
36 | @include media($breakpoint) {
37 | @include grid-column-gradient(gradient-stops($grid-columns));
38 | }
39 | }
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/settings/_disable-warnings.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Disable all deprecation warnings. Defaults to `false`. Set with a `!global` flag.
4 | ///
5 | /// @type Bool
6 |
7 | $disable-warnings: false !default;
8 |
9 | @mixin -neat-warn($message) {
10 | @if $disable-warnings == false {
11 | @warn "#{$message}";
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/settings/_grid.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Sets the relative width of a single grid column. The unit used should be the same one used to define `$gutter`. To learn more about `modular-scale()` see [Bourbon docs](http://bourbon.io/docs/#modular-scale). Set with a `!global` flag.
4 | ///
5 | /// @type Number (Unit)
6 |
7 | $column: modular-scale(3, 1em, $golden) !default;
8 |
9 | /// Sets the relative width of a single grid gutter. The unit used should be the same one used to define `$column`. To learn more about `modular-scale()` see [Bourbon docs](http://bourbon.io/docs/#modular-scale). Set with the `!global` flag.
10 | ///
11 | /// @type Number (Unit)
12 |
13 | $gutter: modular-scale(1, 1em, $golden) !default;
14 |
15 | /// Sets the total number of columns in the grid. Its value can be overridden inside a media query using the `media()` mixin. Set with the `!global` flag.
16 | ///
17 | /// @type Number (Unitless)
18 |
19 | $grid-columns: 12 !default;
20 |
21 | /// Sets the max-width property of the element that includes `outer-container()`. Set with the `!global` flag.
22 | ///
23 | /// @type Number (Unit)
24 | ///
25 | $max-width: 1200px !default;
26 |
27 | /// When set to true, it sets the box-sizing property of all elements to `border-box`. Set with a `!global` flag.
28 | ///
29 | /// @type Bool
30 | ///
31 | /// @example css - CSS Output
32 | /// html {
33 | /// box-sizing: border-box; }
34 | ///
35 | /// *, *::after, *::before {
36 | /// box-sizing: inherit;
37 | /// }
38 |
39 | $border-box-sizing: true !default;
40 |
41 | /// Sets the default [media feature](http://www.w3.org/TR/css3-mediaqueries/#media) that `media()` and `new-breakpoint()` revert to when only a breakpoint value is passed. Set with a `!global` flag.
42 | ///
43 | /// @type String
44 |
45 | $default-feature: min-width; // Default @media feature for the breakpoint() mixin
46 |
47 | ///Sets the default layout direction of the grid. Can be `LTR` or `RTL`. Set with a `!global` flag.
48 | ///
49 | ///@type String
50 |
51 | $default-layout-direction: LTR !default;
52 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/neat/settings/_visual-grid.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | /// Displays the visual grid when set to true. The overlaid grid may be few pixels off depending on the browser's rendering engine and pixel rounding algorithm. Set with the `!global` flag.
4 | ///
5 | /// @type Bool
6 |
7 | $visual-grid: false !default;
8 |
9 | /// Sets the visual grid color. Set with `!global` flag.
10 | ///
11 | /// @type Color
12 |
13 | $visual-grid-color: #eee !default;
14 |
15 | /// Sets the `z-index` property of the visual grid. Can be `back` (behind content) or `front` (in front of content). Set with `!global` flag.
16 | ///
17 | /// @type String
18 |
19 | $visual-grid-index: back !default;
20 |
21 | /// Sets the opacity property of the visual grid. Set with `!global` flag.
22 | ///
23 | /// @type Number (unitless)
24 |
25 | $visual-grid-opacity: 0.4 !default;
26 |
27 | $visual-grid-breakpoints: () !default;
28 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/normalize/_normalize.scss:
--------------------------------------------------------------------------------
1 | @import 'support-for';
2 | @import 'normalize/variables';
3 | @import 'normalize/vertical-rhythm';
4 | @import 'normalize/normalize-mixin';
5 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/normalize/_support-for.scss:
--------------------------------------------------------------------------------
1 | // Support the last 4 versions of all browsers except IE.
2 | $support-for: (
3 | chrome: -4,
4 | edge: -4,
5 | firefox: -4,
6 | ie: 9,
7 | opera: -4,
8 | safari: -4,
9 | '*': -4,
10 | ) !default;
11 |
12 | // Set the current version number for all browsers. As of: 2016-04-30
13 | $support-for-current-browser-version: (
14 | chrome: 50, // https://en.wikipedia.org/wiki/Google_Chrome_release_history
15 | edge: 25, // https://en.wikipedia.org/wiki/Microsoft_Edge
16 | firefox: 46, // https://en.wikipedia.org/wiki/Firefox_release_history
17 | ie: 11, // https://en.wikipedia.org/wiki/Internet_Explorer_versions
18 | opera: 36, // https://en.wikipedia.org/wiki/Opera_(web_browser)
19 | safari: 9, // https://en.wikipedia.org/wiki/Safari_version_history
20 | ) !default;
21 |
22 |
23 | // support-for()
24 | //
25 | // Determines if the project has declared a minimum supported version number for
26 | // the specified browser.
27 | //
28 | // If configured, this is a wrapper function that uses Compass'
29 | // support-legacy-browser().
30 | // @see http://compass-style.org/reference/compass/support/#function-support-legacy-browser
31 | //
32 | @function support-for($browser, $version) {
33 | // Ensure $version is an integer (or null).
34 | @if not (type-of($version) == "null" or type-of($version) == "number" and round($version) == $version) {
35 | @error "The $version parameter of support-for() must be an integer; #{type-of($version)} given.";
36 | }
37 |
38 | // Check against declared minimums.
39 | $min-version: null;
40 | @if map-has-key($support-for, $browser) {
41 | $min-version: map-get($support-for, $browser);
42 | }
43 | @else if map-has-key($support-for, '*') {
44 | $min-version: map-get($support-for, '*');
45 | }
46 |
47 | // Ensure $min-version is an integer (or null).
48 | @if type-of($min-version) != "null" and type-of($min-version) != "number" {
49 | @error "$support-for: (#{$browser}: #{$min-version}) must be set to an integer (or null); #{$min-version} is a #{type-of($min-version)}.";
50 | }
51 | @elseif type-of($min-version) == "number" and round($min-version) != $min-version {
52 | @error "$support-for: (#{$browser}: #{$min-version}) must be set to an integer (or null); #{$min-version} is not an integer.";
53 | }
54 |
55 | // Negative $min-version means "X most recent versions".
56 | @if type-of($min-version) == "number" and $min-version < 0 {
57 | @if not map-has-key($support-for-current-browser-version, $browser) {
58 | @error "#{$browser} not found in $support-for-current-browser-version map; it must be set to an integer.";
59 | }
60 | $min-version: map-get($support-for-current-browser-version, $browser) + $min-version + 1;
61 | }
62 |
63 | @return if(($min-version and ($version >= $min-version)), true, false);
64 | }
65 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/normalize/normalize/_import-now.scss:
--------------------------------------------------------------------------------
1 | // Import Now
2 | //
3 | // If you import this module directly, it will immediately output all the CSS
4 | // needed to normalize default HTML elements across all browsers.
5 | //
6 | // ```
7 | // @import "normalize/import-now";
8 | // ```
9 |
10 | @import '../normalize';
11 | @include normalize();
12 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/normalize/normalize/_normalize-mixin.scss:
--------------------------------------------------------------------------------
1 | // Helper function for the normalize() mixin.
2 | $_normalize-include: ();
3 | $_normalize-exclude: ();
4 | @function _normalize-include($section) {
5 | // Check if $section is in the $include list.
6 | @if index($_normalize-include, $section) {
7 | @return true;
8 | }
9 | // If $include is set to (all), make sure $section is not in $exclude.
10 | @else if not index($_normalize-exclude, $section) and index($_normalize-include, all) {
11 | @return true;
12 | }
13 | @return false;
14 | }
15 |
16 | @mixin _normalize-monospace() {
17 | font-family: monospace, monospace;
18 | @if support-for(ie, 6) {
19 | _font-family: 'courier new', monospace;
20 | }
21 | font-size: 1em;
22 | }
23 |
24 | @mixin normalize($include: (all), $exclude: ()) {
25 | // If we had local functions, we could access our parameters inside the
26 | // function without passing them in as parameters. The hacky work-around is to
27 | // stuff them into global variables so can access them from a global function.
28 | $_normalize-include: if(type-of($include) == 'list', $include, ($include)) !global;
29 | $_normalize-exclude: if(type-of($exclude) == 'list', $exclude, ($exclude)) !global;
30 |
31 | // If we've customized any font variables, we'll need extra properties.
32 | @if $base-font-size != 16px
33 | or $base-line-height != 24px
34 | or $base-unit != 'em'
35 | or $h1-font-size != 2 * $base-font-size
36 | or $h2-font-size != 1.5 * $base-font-size
37 | or $h3-font-size != 1.17 * $base-font-size
38 | or $h4-font-size != 1 * $base-font-size
39 | or $h5-font-size != 0.83 * $base-font-size
40 | or $h6-font-size != 0.67 * $base-font-size
41 | or $indent-amount != 40px {
42 | $normalize-vertical-rhythm: true !global;
43 | }
44 |
45 | /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
46 |
47 | @if _normalize-include(root) {
48 | /**
49 | * 1. Change the default font family in all browsers (opinionated).
50 | * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
51 | */
52 |
53 | html {
54 | @if $normalize-vertical-rhythm or support-for(ie, 7) {
55 | // Correct text resizing oddly in IE 6/7 when body `font-size` is set using
56 | // `em` units.
57 | font-size: ($base-font-size / 16px) * 100%;
58 | }
59 | @if $normalize-vertical-rhythm {
60 | line-height: ($base-line-height / $base-font-size) * 1em;
61 | }
62 | font-family: $base-font-family; /* 1 */
63 | -ms-text-size-adjust: 100%; /* 2 */
64 | -webkit-text-size-adjust: 100%; /* 2 */
65 | }
66 |
67 | /**
68 | * Remove the margin in all browsers (opinionated).
69 | */
70 |
71 | body {
72 | margin: 0;
73 | }
74 | }
75 |
76 | @if _normalize-include(html5) {
77 | /* HTML5 display definitions
78 | ========================================================================== */
79 |
80 | /**
81 | * Add the correct display in IE <10.
82 | * Add the correct display in Edge, IE, and Firefox for `details` or `summary`.
83 | * Add the correct display in IE for `main`.
84 | */
85 |
86 | article,
87 | aside,
88 | details,
89 | figcaption,
90 | figure,
91 | footer,
92 | header,
93 | main,
94 | menu,
95 | nav,
96 | section,
97 | summary {
98 | display: block;
99 | }
100 |
101 | /**
102 | * Add the correct display in IE <10.
103 | */
104 |
105 | audio,
106 | canvas,
107 | progress,
108 | video {
109 | display: inline-block;
110 | @if support-for(ie, 7) {
111 | *display: inline;
112 | *zoom: 1;
113 | }
114 | }
115 |
116 | /**
117 | * Add the correct display and remove excess height in iOS 4-7.
118 | */
119 |
120 | audio:not([controls]) {
121 | display: none;
122 | height: 0;
123 | }
124 |
125 | /**
126 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
127 | */
128 |
129 | progress {
130 | vertical-align: baseline;
131 | }
132 |
133 | /**
134 | * Add the correct display in IE <11, Safari <8, and Firefox <22.
135 | * 1. Add the correct display in IE.
136 | */
137 |
138 | template, /* 1 */
139 | [hidden] {
140 | display: none;
141 | }
142 | }
143 |
144 | @if _normalize-include(links) {
145 | /* Links
146 | ========================================================================== */
147 |
148 | /**
149 | * 1. Remove the gray background on active links in IE 10.
150 | * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
151 | */
152 |
153 | a {
154 | background-color: transparent; /* 1 */
155 | -webkit-text-decoration-skip: objects; /* 2 */
156 | }
157 |
158 | /**
159 | * Remove the outline on focused links when they are also active or hovered
160 | * in all browsers (opinionated).
161 | */
162 |
163 | a:active,
164 | a:hover {
165 | outline-width: 0;
166 | }
167 | }
168 |
169 | @if _normalize-include(text) {
170 | /* Text-level semantics
171 | ========================================================================== */
172 |
173 | /**
174 | * 1. Remove the bottom border in Firefox <40.
175 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
176 | */
177 |
178 | abbr[title] {
179 | border-bottom: none; /* 1 */
180 | text-decoration: underline; /* 2 */
181 | text-decoration: underline dotted; /* 2 */
182 | }
183 |
184 | /**
185 | * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
186 | */
187 |
188 | b,
189 | strong {
190 | font-weight: inherit;
191 | }
192 |
193 | /**
194 | * Add the correct font weight in Chrome, Edge, and Safari.
195 | */
196 |
197 | b,
198 | strong {
199 | font-weight: bolder;
200 | }
201 |
202 | /**
203 | * 1. Correct the inheritance and scaling of font size in all browsers.
204 | * 2. Correct the odd `em` font sizing in all browsers.
205 | */
206 |
207 | code,
208 | kbd,
209 | samp {
210 | @include _normalize-monospace();
211 | }
212 |
213 | /**
214 | * Add the correct font style in Android <4.4.
215 | */
216 |
217 | dfn {
218 | font-style: italic;
219 | }
220 |
221 | /**
222 | * Correct the font size and margin on `h1` elements within `section` and
223 | * `article` contexts in Chrome, Firefox, and Safari.
224 | */
225 |
226 | h1 {
227 | @include normalize-font-size($h1-font-size);
228 | @if $normalize-vertical-rhythm {
229 | @include normalize-line-height($h1-font-size);
230 | }
231 |
232 | /* Set 1 unit of vertical rhythm on the top and bottom margins. */
233 | @include normalize-margin(1 0, $h1-font-size);
234 | }
235 |
236 | @if $normalize-vertical-rhythm or support-for(ie, 7) {
237 | h2 {
238 | @include normalize-font-size($h2-font-size);
239 | @if $normalize-vertical-rhythm {
240 | @include normalize-line-height($h2-font-size);
241 | }
242 | @include normalize-margin(1 0, $h2-font-size);
243 | }
244 |
245 | h3 {
246 | @include normalize-font-size($h3-font-size);
247 | @if $normalize-vertical-rhythm {
248 | @include normalize-line-height($h3-font-size);
249 | }
250 | @include normalize-margin(1 0, $h3-font-size);
251 | }
252 |
253 | h4 {
254 | @include normalize-font-size($h4-font-size);
255 | @if $normalize-vertical-rhythm {
256 | @include normalize-line-height($h4-font-size);
257 | }
258 | @include normalize-margin(1 0, $h4-font-size);
259 | }
260 |
261 | h5 {
262 | @include normalize-font-size($h5-font-size);
263 | @if $normalize-vertical-rhythm {
264 | @include normalize-line-height($h5-font-size);
265 | }
266 | @include normalize-margin(1 0, $h5-font-size);
267 | }
268 |
269 | h6 {
270 | @include normalize-font-size($h6-font-size);
271 | @if $normalize-vertical-rhythm {
272 | @include normalize-line-height($h6-font-size);
273 | }
274 | @include normalize-margin(1 0, $h6-font-size);
275 | }
276 | }
277 |
278 | /**
279 | * Add the correct background and color in IE <10.
280 | */
281 |
282 | mark {
283 | background-color: #ff0;
284 | color: #000;
285 | }
286 |
287 | /**
288 | * Add the correct font size in all browsers.
289 | */
290 |
291 | small {
292 | font-size: 80%;
293 | }
294 |
295 | /**
296 | * Prevent `sub` and `sup` elements from affecting the line height in
297 | * all browsers.
298 | */
299 |
300 | sub,
301 | sup {
302 | font-size: 75%;
303 | line-height: 0;
304 | position: relative;
305 | vertical-align: baseline;
306 | }
307 |
308 | sub {
309 | bottom: -0.25em;
310 | }
311 |
312 | sup {
313 | top: -0.5em;
314 | }
315 | }
316 |
317 | @if _normalize-include(embedded) {
318 | /* Embedded content
319 | ========================================================================== */
320 |
321 | /**
322 | * Remove the border on images inside links in IE <11.
323 | */
324 |
325 | img {
326 | border-style: none;
327 | @if support-for(ie, 7) {
328 | /* Improve image quality when scaled in IE 7. */
329 | -ms-interpolation-mode: bicubic;
330 | }
331 | }
332 |
333 | /**
334 | * Hide the overflow in IE.
335 | */
336 |
337 | svg:not(:root) {
338 | overflow: hidden;
339 | }
340 | }
341 |
342 | @if _normalize-include(grouping) {
343 | /* Grouping content
344 | ========================================================================== */
345 |
346 | @if $normalize-vertical-rhythm or support-for(ie, 7) {
347 | /**
348 | * Set 1 unit of vertical rhythm on the top and bottom margin.
349 | */
350 |
351 | blockquote {
352 | @include normalize-margin(1 $indent-amount);
353 | }
354 |
355 | /**
356 | * Address margins set differently in IE 6/7.
357 | */
358 |
359 | dl,
360 | menu,
361 | ol,
362 | ul {
363 | @include normalize-margin(1 0);
364 | }
365 |
366 | @if $normalize-vertical-rhythm {
367 | /**
368 | * Turn off margins on nested lists.
369 | */
370 |
371 | ol,
372 | ul {
373 | ol,
374 | ul {
375 | margin: 0;
376 | }
377 | }
378 | }
379 |
380 | dd {
381 | margin: 0 0 0 $indent-amount;
382 | }
383 |
384 | /**
385 | * Address paddings set differently in IE 6/7.
386 | */
387 |
388 | menu,
389 | ol,
390 | ul {
391 | padding: 0 0 0 $indent-amount;
392 | }
393 | }
394 |
395 | @if support-for(ie, 7) {
396 | /**
397 | * Correct list images handled incorrectly in IE 7.
398 | */
399 |
400 | nav ul,
401 | nav ol {
402 | list-style: none;
403 | list-style-image: none;
404 | }
405 | }
406 |
407 | /**
408 | * Add the correct margin in IE 8.
409 | */
410 |
411 | figure {
412 | @include normalize-margin(1 $indent-amount);
413 | }
414 |
415 | /**
416 | * 1. Add the correct box sizing in Firefox.
417 | * 2. Show the overflow in Edge and IE.
418 | */
419 |
420 | hr {
421 | box-sizing: content-box; /* 1 */
422 | height: 0; /* 1 */
423 | overflow: visible; /* 2 */
424 | }
425 |
426 | @if $normalize-vertical-rhythm or support-for(ie, 7) {
427 | /**
428 | * Set 1 unit of vertical rhythm on the top and bottom margin.
429 | */
430 |
431 | p,
432 | pre {
433 | @include normalize-margin(1 0);
434 | }
435 | }
436 |
437 | pre {
438 | @include _normalize-monospace();
439 | }
440 | }
441 |
442 | @if _normalize-include(forms) {
443 | /* Forms
444 | ========================================================================== */
445 |
446 | /**
447 | * Known issues:
448 | * - By default, Chrome on OS X and Safari on OS X allow very limited styling of
449 | * select, unless a border property is set. The default font weight on
450 | * optgroup elements cannot safely be changed in Chrome on OSX and Safari on
451 | * OS X.
452 | * - It is recommended that you do not style checkbox and radio inputs as
453 | * Firefox's implementation does not respect box-sizing, padding, or width.
454 | * - Certain font size values applied to number inputs cause the cursor style of
455 | * the decrement button to change from default to text.
456 | * - The search input is not fully stylable by default. In Chrome and Safari on
457 | * OSX/iOS you can't control font, padding, border, or background. In Chrome
458 | * and Safari on Windows you can't control border properly. It will apply
459 | * border-width but will only show a border color (which cannot be controlled)
460 | * for the outer 1px of that border. Applying -webkit-appearance: textfield
461 | * addresses these issues without removing the benefits of search inputs (e.g.
462 | * showing past searches). Safari (but not Chrome) will clip the cancel button
463 | * on when it has padding (and textfield appearance).
464 | */
465 |
466 | @if support-for(ie, 7) {
467 | /**
468 | * Correct margin displayed oddly in IE 6/7.
469 | */
470 |
471 | form {
472 | margin: 0;
473 | }
474 | }
475 |
476 | /**
477 | * 1. Change font properties to `inherit` in all browsers (opinionated).
478 | * 2. Remove the margin in Firefox and Safari.
479 | * 3. Address `font-family` inconsistency between `textarea` and other form in IE 7
480 | * 4. Improve appearance and consistency with IE 6/7.
481 | */
482 |
483 | button,
484 | input,
485 | optgroup,
486 | select,
487 | textarea {
488 | font: inherit; /* 1 */
489 | margin: 0; /* 2 */
490 | @if support-for(ie, 7) {
491 | *font-family: $base-font-family; /* 3 */
492 | *vertical-align: middle; /* 4 */
493 | }
494 | }
495 |
496 | /**
497 | * Show the overflow in IE.
498 | */
499 |
500 | button {
501 | overflow: visible;
502 | }
503 |
504 | /**
505 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
506 | * 1. Remove the inheritance of text transform in Firefox.
507 | */
508 |
509 | button,
510 | select { /* 1 */
511 | text-transform: none;
512 | }
513 |
514 | /**
515 | * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
516 | * controls in Android 4.
517 | * 2. Correct the inability to style clickable types in iOS and Safari.
518 | */
519 |
520 | button,
521 | html [type="button"], /* 1 */
522 | [type="reset"],
523 | [type="submit"] {
524 | -webkit-appearance: button; /* 2 */
525 | }
526 |
527 | button,
528 | [type="button"],
529 | [type="reset"],
530 | [type="submit"] {
531 |
532 | /**
533 | * Remove the inner border and padding in Firefox.
534 | */
535 |
536 | &::-moz-focus-inner {
537 | border-style: none;
538 | padding: 0;
539 | }
540 |
541 | /**
542 | * Restore the focus styles unset by the previous rule.
543 | */
544 |
545 | &:-moz-focusring {
546 | outline: 1px dotted ButtonText;
547 | }
548 | }
549 |
550 | /**
551 | * Show the overflow in Edge.
552 | */
553 |
554 | input {
555 | overflow: visible;
556 | @if support-for(firefox, 29) {
557 | // Firefox sets `line-height` using `!important` in the UA stylesheet.
558 | line-height: normal;
559 | }
560 | }
561 |
562 | /**
563 | * 1. Add the correct box sizing in IE <11.
564 | * 2. Remove the padding in IE <11.
565 | * 3. Remove excess padding in IE 7.
566 | * Known issue: excess padding remains in IE 6.
567 | */
568 |
569 | [type="checkbox"],
570 | [type="radio"] {
571 | box-sizing: border-box; /* 1 */
572 | padding: 0; /* 2 */
573 | @if support-for(ie, 7) {
574 | *height: 13px; /* 3 */
575 | *width: 13px; /* 3 */
576 | }
577 | }
578 |
579 | /**
580 | * Correct the cursor style of increment and decrement buttons in Chrome.
581 | */
582 |
583 | [type="number"]::-webkit-inner-spin-button,
584 | [type="number"]::-webkit-outer-spin-button {
585 | height: auto;
586 | }
587 |
588 | /**
589 | * 1. Correct the odd appearance in Chrome and Safari.
590 | * 2. Correct the outline style in Safari.
591 | */
592 |
593 | [type="search"] {
594 | -webkit-appearance: textfield; /* 1 */
595 | outline-offset: -2px; /* 2 */
596 |
597 | /**
598 | * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
599 | */
600 |
601 | &::-webkit-search-cancel-button,
602 | &::-webkit-search-decoration {
603 | -webkit-appearance: none;
604 | }
605 | }
606 |
607 | /**
608 | * Correct the text style of placeholders in Chrome, Edge, and Safari.
609 | */
610 |
611 | ::-webkit-input-placeholder {
612 | color: inherit;
613 | opacity: 0.54;
614 | }
615 |
616 | /**
617 | * 1. Correct the inability to style clickable types in iOS and Safari.
618 | * 2. Change font properties to `inherit` in Safari.
619 | */
620 |
621 | ::-webkit-file-upload-button {
622 | -webkit-appearance: button; /* 1 */
623 | font: inherit; /* 2 */
624 | }
625 |
626 | /**
627 | * Change the border, margin, and padding in all browsers (opinionated).
628 | */
629 |
630 | fieldset {
631 | border: 1px solid #c0c0c0;
632 | margin: 0 2px;
633 | padding: 0.35em 0.625em 0.75em;
634 | }
635 |
636 | /**
637 | * 1. Correct the text wrapping in Edge and IE.
638 | * 2. Correct the color inheritance from `fieldset` elements in IE.
639 | * 3. Remove the padding so developers are not caught out when they zero out
640 | * `fieldset` elements in all browsers.
641 | * 4. Correct alignment displayed oddly in IE 6/7.
642 | */
643 |
644 | legend {
645 | box-sizing: border-box; /* 1 */
646 | display: table; /* 1 */
647 | max-width: 100%; /* 1 */
648 | white-space: normal; /* 1 */
649 | color: inherit; /* 2 */
650 | padding: 0; /* 3 */
651 | @if support-for(ie, 7) {
652 | *margin-left: -7px; /* 4 */
653 | }
654 | }
655 |
656 | /**
657 | * Restore the font weight unset by a previous rule.
658 | */
659 |
660 | optgroup {
661 | font-weight: bold;
662 | }
663 |
664 | /**
665 | * Remove the default vertical scrollbar in IE.
666 | */
667 |
668 | textarea {
669 | overflow: auto;
670 | }
671 | }
672 | }
673 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/normalize/normalize/_variables.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Variables
3 | //
4 | // You can override the default values by setting the variables in your Sass
5 | // before importing the normalize-scss library.
6 |
7 | // The font size set on the root html element.
8 | $base-font-size: 16px !default;
9 |
10 | // The base line height determines the basic unit of vertical rhythm.
11 | $base-line-height: 24px !default;
12 |
13 | // The length unit in which to output vertical rhythm values.
14 | // Supported values: px, em, rem.
15 | $base-unit: 'em' !default;
16 |
17 | // The default font family.
18 | $base-font-family: sans-serif !default;
19 |
20 | // The font sizes for h1-h6.
21 | $h1-font-size: 2 * $base-font-size !default;
22 | $h2-font-size: 1.5 * $base-font-size !default;
23 | $h3-font-size: 1.17 * $base-font-size !default;
24 | $h4-font-size: 1 * $base-font-size !default;
25 | $h5-font-size: 0.83 * $base-font-size !default;
26 | $h6-font-size: 0.67 * $base-font-size !default;
27 |
28 | // The amount lists and blockquotes are indented.
29 | $indent-amount: 40px !default;
30 |
31 | // The following variable controls whether normalize-scss will output
32 | // font-sizes, line-heights and block-level top/bottom margins that form a basic
33 | // vertical rhythm on the page, which differs from the original Normalize.css.
34 | // However, changing any of the variables above will cause
35 | // $normalize-vertical-rhythm to be automatically set to true.
36 | $normalize-vertical-rhythm: false !default;
37 |
--------------------------------------------------------------------------------
/assets/_scss/vendor/normalize/normalize/_vertical-rhythm.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Vertical Rhythm
3 | //
4 | // This is the minimal amount of code needed to create vertical rhythm in our
5 | // CSS. If you are looking for a robust solution, look at the excellent Typey
6 | // library. @see https://github.com/jptaranto/typey
7 |
8 | @function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {
9 | @if unit($value) != px {
10 | @error "The normalize vertical-rhythm module only supports px inputs. The typey library is better.";
11 | }
12 | @if $unit == rem {
13 | @return ($value / $base-font-size) * 1rem;
14 | }
15 | @else if $unit == em {
16 | @return ($value / $relative-to) * 1em;
17 | }
18 | @else { // $unit == px
19 | @return $value;
20 | }
21 | }
22 |
23 | @mixin normalize-font-size($value, $relative-to: $base-font-size) {
24 | @if unit($value) != 'px' {
25 | @error "normalize-font-size() only supports px inputs. The typey library is better.";
26 | }
27 | // px fallback for IE 8 and earlier. Note: IE 9/10 don't understand rem
28 | // in font shorthand, but font-size longhand is fine.
29 | @if $base-unit == rem and support-for(ie, 8) {
30 | font-size: $value;
31 | }
32 | font-size: normalize-rhythm($value, $relative-to);
33 | }
34 |
35 | @mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {
36 | $value-list: $values;
37 | $sep: space;
38 | @if type-of($values) == 'list' {
39 | $sep: list-separator($values);
40 | }
41 | @else {
42 | $value-list: append((), $values);
43 | }
44 |
45 | $normalized-values: ();
46 | $px-fallback: ();
47 |
48 | @each $value in $value-list {
49 | $px-value: $value;
50 | @if unitless($value) and $value != 0 {
51 | $value: $value * normalize-rhythm($base-line-height, $relative-to);
52 | $px-value: $px-value * normalize-rhythm($base-line-height, $relative-to, px);
53 | }
54 | $normalized-values: append($normalized-values, $value, $sep);
55 | $px-fallback: append($px-fallback, $px-value, $sep);
56 | }
57 | @if $base-unit == rem and support-for(ie, 8) {
58 | #{$property}: $px-fallback;
59 | }
60 | #{$property}: $normalized-values;
61 | }
62 |
63 | @mixin normalize-margin($values, $relative-to: $base-font-size) {
64 | @include normalize-rhythm(margin, $values, $relative-to);
65 | }
66 |
67 | @mixin normalize-line-height($font-size, $min-line-padding: 2px) {
68 | $lines: ceil($font-size / $base-line-height);
69 | // If lines are cramped include some extra leading.
70 | @if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {
71 | $lines: $lines + 1;
72 | }
73 | @include normalize-rhythm(line-height, $lines, $font-size);
74 | }
75 |
--------------------------------------------------------------------------------
/assets/css/styles.scss:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 | /*!
4 | * ___ ___ ___ ___ ___ _ ___ _____ ___ ___ _ __
5 | * / __|/ __/ __/ __| | _ \ | /_\ \ / / _ )/ _ \ / _ \| |/ /
6 | * \__ \ (__\__ \__ \ | _/ |__ / _ \ V /| _ \ (_) | (_) | ' <
7 | * |___/\___|___/___/ |_| |____/_/ \_\_| |___/\___/ \___/|_|\_\ *
8 | *
9 | * # Scss Playbook 1.0.0
10 | * http://matthewelsom.com/blog/simple-scss-playbook.html
11 | *
12 | * Released under the CC0 1.0 Universal license
13 | * https://creativecommons.org/publicdomain/zero/1.0/
14 | *
15 | *
16 | * Files in assets/vendor/bourbon
17 | * Bourbon 4.2.6
18 | * http://bourbon.io
19 | * Copyright 2011-2015 thoughtbot, inc.
20 | * MIT License
21 | *
22 | * Files in assets/vendor/neat
23 | * Neat 1.7.4
24 | * http://neat.bourbon.io
25 | * Copyright 2012-2015 thoughtbot, inc.
26 | * MIT License
27 | *
28 | * Files in assets/vendor/fontawesome
29 | * Font Awesome 4.6.3 by @davegandy
30 | * http://fontawesome.io
31 | * MIT License
32 | *
33 | * Files in assets/vendor/normalize
34 | * normalize.css v3.0.3
35 | * http://github.com/necolas/normalize.css
36 | * MIT License
37 | */
38 |
39 | @charset "UTF-8";
40 |
41 | //Vendor
42 | @import "vendor/__vendor-dir";
43 | //Abstracts
44 | @import "abstracts/__abstracts-dir";
45 | //Base Styles
46 | @import "base/__base-dir";
47 | //Components
48 | @import "components/__components-dir";
49 | //Layout
50 | @import "layouts/__layouts-dir";
--------------------------------------------------------------------------------
/assets/fonts/open-sans/OpenSans-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matthewelsom/Project-ScssPlaybook/8fb2adf07e15462f972e83995f452af2fd673e03/assets/fonts/open-sans/OpenSans-Italic.ttf
--------------------------------------------------------------------------------
/assets/fonts/open-sans/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matthewelsom/Project-ScssPlaybook/8fb2adf07e15462f972e83995f452af2fd673e03/assets/fonts/open-sans/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 |
4 |
5 |
6 |
7 |
8 | {{ site.title }}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Scss Playbook
17 |
This page is generated using Jekyll, and is compiled using a variation of the Scss Playbook
18 |
Creative Commons Zero, Shrare, Reuse, Distribute Freely.
19 |
20 |
23 |
24 |
--------------------------------------------------------------------------------