├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── antimatter.php
├── antimatter.yaml
├── assets
└── readme_1.png
├── blueprints.yaml
├── blueprints
├── asset
│ └── file.yaml
├── blog.yaml
├── form.yaml
├── item.yaml
└── modular
│ ├── features.yaml
│ ├── showcase.yaml
│ └── text.yaml
├── css-compiled
├── nucleus.css
├── nucleus.css.map
├── particles.css
├── particles.css.map
├── template.css
└── template.css.map
├── css
├── font-awesome.min.css
├── nucleus-ie10.css
├── nucleus-ie9.css
├── prism.css
├── pure-0.5.0
│ └── grids-min.css
└── slidebars.min.css
├── fonts
├── fontawesome-webfont.eot
├── fontawesome-webfont.svg
├── fontawesome-webfont.ttf
├── fontawesome-webfont.woff
└── fontawesome-webfont.woff2
├── hebe.json
├── images
├── favicon.png
└── logo.png
├── js
├── antimatter.js
├── html5shiv-printshiv.min.js
├── modernizr.custom.71422.js
├── singlePageNav.min.js
└── slidebars.min.js
├── languages.yaml
├── screenshot.jpg
├── scss.sh
├── scss
├── configuration
│ ├── nucleus
│ │ ├── _base.scss
│ │ ├── _breakpoints.scss
│ │ ├── _core.scss
│ │ ├── _layout.scss
│ │ ├── _nav.scss
│ │ └── _typography.scss
│ └── template
│ │ ├── _base.scss
│ │ ├── _bullets.scss
│ │ ├── _colors.scss
│ │ ├── _typography.scss
│ │ └── _variables.scss
├── nucleus.scss
├── nucleus
│ ├── _core.scss
│ ├── _flex.scss
│ ├── _forms.scss
│ ├── _typography.scss
│ ├── functions
│ │ ├── _base.scss
│ │ ├── _direction.scss
│ │ └── _range.scss
│ ├── mixins
│ │ ├── _base.scss
│ │ ├── _breakpoints.scss
│ │ └── _utilities.scss
│ └── particles
│ │ ├── _align-text.scss
│ │ └── _visibility.scss
├── particles.scss
├── template.scss
├── template
│ ├── _blog.scss
│ ├── _bullets.scss
│ ├── _buttons.scss
│ ├── _core.scss
│ ├── _custom.scss
│ ├── _errors.scss
│ ├── _extensions.scss
│ ├── _fonts.scss
│ ├── _footer.scss
│ ├── _forms.scss
│ ├── _header.scss
│ ├── _panel.scss
│ ├── _simplesearch.scss
│ ├── _tables.scss
│ ├── _typography.scss
│ ├── modular
│ │ ├── _all.scss
│ │ ├── _features.scss
│ │ ├── _showcase.scss
│ │ └── _text.scss
│ └── modules
│ │ ├── _base.scss
│ │ └── _buttons.scss
└── vendor
│ ├── bourbon
│ ├── _bourbon-deprecated-upcoming.scss
│ ├── _bourbon.scss
│ ├── addons
│ │ ├── _button.scss
│ │ ├── _clearfix.scss
│ │ ├── _directional-values.scss
│ │ ├── _ellipsis.scss
│ │ ├── _font-family.scss
│ │ ├── _hide-text.scss
│ │ ├── _html5-input-types.scss
│ │ ├── _position.scss
│ │ ├── _prefixer.scss
│ │ ├── _rem.scss
│ │ ├── _retina-image.scss
│ │ ├── _size.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
│ │ ├── _border-radius.scss
│ │ ├── _box-sizing.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
│ │ ├── _transform.scss
│ │ ├── _transition.scss
│ │ └── _user-select.scss
│ ├── functions
│ │ ├── _assign.scss
│ │ ├── _color-lightness.scss
│ │ ├── _flex-grid.scss
│ │ ├── _golden-ratio.scss
│ │ ├── _grid-width.scss
│ │ ├── _modular-scale.scss
│ │ ├── _px-to-em.scss
│ │ ├── _px-to-rem.scss
│ │ ├── _strip-units.scss
│ │ ├── _tint-shade.scss
│ │ ├── _transition-property-name.scss
│ │ └── _unpack.scss
│ ├── helpers
│ │ ├── _convert-units.scss
│ │ ├── _gradient-positions-parser.scss
│ │ ├── _is-num.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
│ │ ├── _prefixer.scss
│ │ └── _px-to-em.scss
│ └── color-schemer
│ ├── _color-schemer.scss
│ └── color-schemer
│ ├── _cmyk.scss
│ ├── _color-adjustments.scss
│ ├── _color-schemer.scss
│ ├── _colorblind.scss
│ ├── _comparison.scss
│ ├── _equalize.scss
│ ├── _harmonize.scss
│ ├── _interpolation.scss
│ ├── _mix.scss
│ ├── _mixins.scss
│ ├── _ryb.scss
│ └── _tint-shade.scss
├── templates
├── blog.html.twig
├── default.html.twig
├── error.html.twig
├── form.html.twig
├── item.html.twig
├── macros
│ └── macros.html.twig
├── modular.html.twig
├── modular
│ ├── features.html.twig
│ ├── showcase.html.twig
│ └── text.html.twig
└── partials
│ ├── base.html.twig
│ ├── blog_item.html.twig
│ ├── navigation.html.twig
│ └── sidebar.html.twig
└── thumbnail.jpg
/.gitignore:
--------------------------------------------------------------------------------
1 | .sass-cache
2 | .DS_Store
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Grav
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Antimatter
2 |
3 | 
4 |
5 | Antimatter is the default [Grav](http://getgrav.org) theme. Simple, fast and modern.
6 |
7 | # Installation
8 |
9 | Installing the Antimatter theme can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the theme with a simple terminal command, while the manual method enables you to do so via a zip file.
10 |
11 | The theme by itself is useful, but you may have an easier time getting up and running by installing a skeleton. The Antimatter theme can be found in both the [One-page](https://github.com/getgrav/grav-skeleton-onepage-site) and [Blog Site](https://github.com/getgrav/grav-skeleton-blog-site) which are self-contained repositories for a complete sites which include: sample content, configuration, theme, and plugins.
12 |
13 | ## GPM Installation (Preferred)
14 |
15 | The simplest way to install this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type:
16 |
17 | bin/gpm install antimatter
18 |
19 | This will install the Antimatter theme into your `/user/themes` directory within Grav. Its files can be found under `/your/site/grav/user/themes/antimatter`.
20 |
21 | ## Manual Installation
22 |
23 | To install this theme, just download the zip version of this repository and unzip it under `/your/site/grav/user/themes`. Then, rename the folder to `antimatter`. You can find these files either on [GitHub](https://github.com/getgrav/grav-theme-antimatter) or via [GetGrav.org](http://getgrav.org/downloads/themes).
24 |
25 | You should now have all the theme files under
26 |
27 | /your/site/grav/user/themes/antimatter
28 |
29 | >> NOTE: This theme is a modular component for Grav which requires the [Grav](http://github.com/getgrav/grav), [Error](https://github.com/getgrav/grav-theme-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins.
30 |
31 | # Updating
32 |
33 | As development for the Antimatter theme continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Antimatter is easy, and can be done through Grav's GPM system, as well as manually.
34 |
35 | ## GPM Update (Preferred)
36 |
37 | The simplest way to update this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following:
38 |
39 | bin/gpm update antimatter
40 |
41 | This command will check your Grav install to see if your Antimatter theme is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The theme will automatically update and clear Grav's cache.
42 |
43 | ## Manual Update
44 |
45 | Manually updating Antimatter is pretty simple. Here is what you will need to do to get this done:
46 |
47 | * Delete the `your/site/user/themes/antimatter` directory.
48 | * Download the new version of the Antimatter theme from either [GitHub](https://github.com/getgrav/grav-plugin-antimatter) or [GetGrav.org](http://getgrav.org/downloads/themes#extras).
49 | * Unzip the zip file in `your/site/user/themes` and rename the resulting folder to `antimatter`.
50 | * Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`.
51 |
52 | > Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/themes`) will remain intact.
53 |
54 | ## Features
55 |
56 | * Lightweight and minimal for optimal performance
57 | * Fully responsive with off-page mobile navigation
58 | * SCSS based CSS source files for easy customization
59 | * Built-in support for on-page navigation
60 | * Multiple page template types
61 | * Fontawesome icon support
62 |
63 | ### Supported Page Templates
64 |
65 | * Default view template
66 | * Blog view template
67 | * Error view template
68 | * Blog item view template
69 | * Modular view templates:
70 | * Features Modular view template
71 | * Showcase Modular view template
72 | * Text Modular view template
73 | * SnipCart view template
74 |
75 | ### Menu Features
76 |
77 | ##### Dropdown Menu
78 |
79 | You can enable **dropdown menu** support by enabling it in the `antimatter.yaml` configuration file. As per usual, copy this file to your `user/config/themes/` folder (create if required) and edit there.
80 |
81 | ```
82 | dropdown:
83 | enabled: true
84 | ```
85 |
86 | This will ensure that sub-pages show up as sub-menus in the navigation.
87 |
88 | ##### Menu Text & Icons
89 |
90 | Each page shows up in the menu using the title by default, however you can set what displays in the menu directly by setting an explicit `menu:` option in the page header:
91 |
92 | ```
93 | menu: My Menu
94 | ```
95 |
96 | You can also provide an icon to show up in front of the menu item by providing an `icon:` option. You need to use name of the FontAwesome icon without the `fa-` prefix. Check out the full [list of current FontAwesome 4.2 icons](http://fortawesome.github.io/Font-Awesome/icons/):
97 |
98 | ```
99 | icon: bar-chart-o
100 | ```
101 |
102 | #### Custom Menu Items
103 |
104 | By default, Grav generates the menu from the page structure. However, there are times when you may want to add custom menu items to the end of the menu. This is now supported in Antimatter by creating a menu list in your `site.yaml` file. An example of this is as follows:
105 |
106 | ```
107 | menu:
108 | - text: Source
109 | url: https://github.com/getgrav/grav
110 | - icon: twitter
111 | url: http://twitter.com/getgrav
112 | ```
113 |
114 | The `url:` option is required, but you can provide **either** or **both** `text:` and/or `icon:`
115 |
116 | ### Blog Features
117 |
118 | ##### Daring Fireball Link Pages
119 |
120 | Antimatter supports the ability for a page to have a `link:` header option. This will then in turn create a **link page** where the title of the page will actually be linked to the link provided and a prefexid double angle `>>` will link to the page itself. Simply provide the link in the page header:
121 |
122 | ```
123 | link: http://getgrav.org/blog
124 | ```
125 |
126 | # Setup
127 |
128 | If you want to set Antimatter as the default theme, you can do so by following these steps:
129 |
130 | * Navigate to `/your/site/grav/user/config`.
131 | * Open the **system.yaml** file.
132 | * Change the `theme:` setting to `theme: antimatter`.
133 | * Save your changes.
134 | * Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in Terminal and typing `bin/grav clear-cache`.
135 |
136 | Once this is done, you should be able to see the new theme on the frontend. Keep in mind any customizations made to the previous theme will not be reflected as all of the theme and templating information is now being pulled from the **antimatter** folder.
137 |
--------------------------------------------------------------------------------
/antimatter.php:
--------------------------------------------------------------------------------
1 | =1.5.10' }
17 |
18 | form:
19 | validation: loose
20 | fields:
21 | dropdown.enabled:
22 | type: toggle
23 | label: Dropdown in navbar
24 | highlight: 1
25 | default: 1
26 | options:
27 | 1: PLUGIN_ADMIN.ENABLED
28 | 0: PLUGIN_ADMIN.DISABLED
29 | validate:
30 | type: bool
31 |
--------------------------------------------------------------------------------
/blueprints/asset/file.yaml:
--------------------------------------------------------------------------------
1 | media:
2 | video:
3 | mp4: video/mp4
4 | mov: video/quicktime
5 | m4v: video/x-m4v
6 | swf: video/x-flv
7 |
8 | image:
9 | jpg: image/jpeg
10 | jpeg: image/jpeg
11 | png: image/png
12 | gif: image/gif
13 |
14 | file:
15 | txt: text/plain
16 | doc: application/msword
17 | html: text/html
18 | pdf: application/pdf
19 | zip: application/zip
20 | gz: application/gzip
21 |
22 | form:
23 | key: filename
24 | fields:
25 | upload:
26 | type: upload
27 | label: Upload
28 | allow:
29 | '@media.*.keys'
30 | accept:
31 | '@media.*.values'
32 |
33 | filename:
34 | type: text
35 | label: Filename
36 |
37 | type:
38 | type: hidden
39 | default: video
40 |
41 | name:
42 | type: unset
43 |
44 | description:
45 | type: textarea
46 | label: Description
47 |
48 | url:
49 | type: unset
50 |
51 | path:
52 | type: unset
53 |
54 | thumb:
55 | type: unset
56 |
57 | width:
58 | type: text
59 | label: Width
60 |
61 | height:
62 | type: text
63 | label: Height
64 |
65 | mime:
66 | type: hidden
67 | default: 'application/octet-stream'
68 |
69 | modified:
70 | type: unset
71 |
--------------------------------------------------------------------------------
/blueprints/blog.yaml:
--------------------------------------------------------------------------------
1 | title: Blog
2 | '@extends':
3 | type: default
4 | context: blueprints://pages
5 |
6 | child_type: item
7 |
8 |
9 | title: Default
10 |
11 | rules:
12 | slug:
13 | pattern: "[a-z][a-z0-9_\-]+"
14 | min: 2
15 | max: 80
16 |
17 | form:
18 | fields:
19 | tabs:
20 | type: tabs
21 | active: 1
22 |
23 | fields:
24 | advanced:
25 | fields:
26 | overrides:
27 | fields:
28 | header.child_type:
29 | default: item
30 | blog:
31 | type: tab
32 | title: Blog List
33 |
34 | fields:
35 | header.content.items:
36 | type: textarea
37 | yaml: true
38 | label: Items
39 | default: '@self.children'
40 |
41 | header.content.limit:
42 | type: text
43 | label: Max Item Count
44 | default: 5
45 | validate:
46 | required: true
47 | type: int
48 | min: 1
49 |
50 | header.content.order.by:
51 | type: select
52 | label: Order By
53 | default: date
54 | options:
55 | folder: Folder
56 | title: Title
57 | date: Date
58 | default: Default
59 |
60 | header.content.order.dir:
61 | type: select
62 | label: Order
63 | default: desc
64 | options:
65 | asc: Ascending
66 | desc: Descending
67 |
68 | header.content.pagination:
69 | type: toggle
70 | label: Pagination
71 | highlight: 1
72 | default: 1
73 | options:
74 | 1: PLUGIN_ADMIN.ENABLED
75 | 0: PLUGIN_ADMIN.DISABLED
76 | validate:
77 | type: bool
78 |
79 |
80 | header.content.url_taxonomy_filters:
81 | type: toggle
82 | label: URL Taxonomy Filters
83 | highlight: 1
84 | default: 1
85 | options:
86 | 1: PLUGIN_ADMIN.ENABLED
87 | 0: PLUGIN_ADMIN.DISABLED
88 | validate:
89 | type: bool
90 |
--------------------------------------------------------------------------------
/blueprints/form.yaml:
--------------------------------------------------------------------------------
1 | title: Nopad
2 | '@extends': default
3 |
--------------------------------------------------------------------------------
/blueprints/item.yaml:
--------------------------------------------------------------------------------
1 | title: Item
2 | '@extends':
3 | type: default
4 | context: blueprints://pages
5 |
6 | form:
7 | fields:
8 | tabs:
9 |
10 | fields:
11 | blog:
12 | type: tab
13 | title: Blog Item
14 |
15 | fields:
16 |
17 | header_image:
18 | type: section
19 | title: Header Image
20 | underline: true
21 |
22 | header.header_image:
23 | type: toggle
24 | toggleable: true
25 | label: Display Header Image
26 | help: Enabled displaying of a header image
27 | highlight: 1
28 | options:
29 | 1: PLUGIN_ADMIN.ENABLED
30 | 0: PLUGIN_ADMIN.DISABLED
31 |
32 | header.header_image_file:
33 | type: text
34 | toggleable: true
35 | label: Image File
36 | help: image filename that exists in the page folder. If not provided, will use the first image found.
37 | placeholder: For example: myimage.jpg
38 |
39 | header.header_image_width:
40 | type: text
41 | toggleable: true
42 | label: Image Width
43 | size: small
44 | help: Header width in px
45 | placeholder: Default is 900
46 | validate:
47 | type: int
48 | min: 0
49 | max: 5000
50 |
51 | header.header_image_height:
52 | type: text
53 | toggleable: true
54 | label: Image Height
55 | size: small
56 | help: Header height in px
57 | placeholder: Default is 300
58 | validate:
59 | type: int
60 | min: 0
61 | max: 5000
62 |
63 |
64 | summary:
65 | type: section
66 | title: Summary
67 | underline: true
68 |
69 |
70 | header.summary.enabled:
71 | type: toggle
72 | toggleable: true
73 | label: Summary
74 | highlight: 1
75 | options:
76 | 1: PLUGIN_ADMIN.ENABLED
77 | 0: PLUGIN_ADMIN.DISABLED
78 |
79 | header.summary.format:
80 | type: select
81 | toggleable: true
82 | label: Format
83 | classes: fancy
84 | options:
85 | 'short': 'Use the first occurence of delimter or size'
86 | 'long': 'Summary delimiter will be ignored'
87 |
88 | header.summary.size:
89 | type: text
90 | toggleable: true
91 | label: Size
92 | classes: large
93 | placeholder: 300
94 | validate:
95 | type: int
96 | min: 1
97 |
98 | header.summary.delimiter:
99 | type: text
100 | toggleable: true
101 | label: Summary delimiter
102 | classes: large
103 | placeholder: ===
104 |
--------------------------------------------------------------------------------
/blueprints/modular/features.yaml:
--------------------------------------------------------------------------------
1 | title: Features
2 | '@extends': default
3 |
4 | form:
5 | fields:
6 | tabs:
7 | fields:
8 | advanced:
9 | fields:
10 | columns:
11 | fields:
12 | column1:
13 | fields:
14 | name:
15 | default: modular/features
16 | '@data-options': '\Grav\Common\Page\Pages::modularTypes'
17 | overrides:
18 | fields:
19 | header.template:
20 | default: modular/features
21 | '@data-options': '\Grav\Common\Page\Pages::modularTypes'
22 | features:
23 | type: tab
24 | title: Features
25 | fields:
26 | header.features:
27 | name: features
28 | type: list
29 | label: Features
30 |
31 | fields:
32 | .icon:
33 | type: text
34 | label: Icon
35 | .header:
36 | type: text
37 | label: Header
38 | .text:
39 | type: text
40 | label: Text
41 |
--------------------------------------------------------------------------------
/blueprints/modular/showcase.yaml:
--------------------------------------------------------------------------------
1 | title: Showcase
2 | '@extends': default
3 |
4 | form:
5 | fields:
6 | tabs:
7 | fields:
8 | advanced:
9 | fields:
10 | columns:
11 | fields:
12 | column1:
13 | fields:
14 | name:
15 | default: modular/showcase
16 | '@data-options': '\Grav\Common\Page\Pages::modularTypes'
17 | overrides:
18 | fields:
19 | header.template:
20 | default: modular/showcase
21 | '@data-options': '\Grav\Common\Page\Pages::modularTypes'
22 | buttons:
23 | type: tab
24 | title: Buttons
25 | fields:
26 | header.buttons:
27 | name: buttons
28 | type: list
29 | label: Buttons
30 | fields:
31 | .text:
32 | type: text
33 | label: Text
34 | .url:
35 | type: text
36 | label: URL
37 | .primary:
38 | type: toggle
39 | label: Primary
40 | highlight: 1
41 | default: 1
42 | options:
43 | 1: 'Yes'
44 | 0: 'No'
45 | validate:
46 | type: bool
47 |
--------------------------------------------------------------------------------
/blueprints/modular/text.yaml:
--------------------------------------------------------------------------------
1 | title: Text
2 | '@extends': default
3 |
4 | form:
5 | fields:
6 | tabs:
7 | fields:
8 | advanced:
9 | fields:
10 | columns:
11 | fields:
12 | column1:
13 | fields:
14 | name:
15 | default: modular/text
16 | '@data-options': '\Grav\Common\Page\Pages::modularTypes'
17 | overrides:
18 | fields:
19 | header.template:
20 | default: modular/text
21 | '@data-options': '\Grav\Common\Page\Pages::modularTypes'
22 | content:
23 | fields:
24 | uploads:
25 | label: Page Media (first one will be displayed next to your content)
26 | header.image_align:
27 | type: select
28 | label: Image position
29 | classes: fancy
30 | default: left
31 | options:
32 | 'left': 'Left'
33 | 'right': 'Right'
34 | type:
35 |
--------------------------------------------------------------------------------
/css-compiled/particles.css:
--------------------------------------------------------------------------------
1 | .text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media all and (min-width: 75em){.large-desktop-text-left{text-align:left !important}.large-desktop-text-right{text-align:right !important}.large-desktop-text-center{text-align:center !important}.large-desktop-text-justify{text-align:justify !important}}@media all and (min-width: 60em) and (max-width: 74.938em){.desktop-text-left{text-align:left !important}.desktop-text-right{text-align:right !important}.desktop-text-center{text-align:center !important}.desktop-text-justify{text-align:justify !important}}@media all and (min-width: 48em) and (max-width: 59.938em){.tablet-text-left{text-align:left !important}.tablet-text-right{text-align:right !important}.tablet-text-center{text-align:center !important}.tablet-text-justify{text-align:justify !important}}@media all and (min-width: 30.063em) and (max-width: 47.938em){.large-mobile-text-left{text-align:left !important}.large-mobile-text-right{text-align:right !important}.large-mobile-text-center{text-align:center !important}.large-mobile-text-justify{text-align:justify !important}}@media all and (max-width: 30em){.small-mobile-text-left{text-align:left !important}.small-mobile-text-right{text-align:right !important}.small-mobile-text-center{text-align:center !important}.small-mobile-text-justify{text-align:justify !important}}@media all and (min-width: 48em){.no-mobile-text-left{text-align:left !important}.no-mobile-text-right{text-align:right !important}.no-mobile-text-center{text-align:center !important}.no-mobile-text-justify{text-align:justify !important}}@media all and (max-width: 47.938em){.mobile-only-text-left{text-align:left !important}.mobile-only-text-right{text-align:right !important}.mobile-only-text-center{text-align:center !important}.mobile-only-text-justify{text-align:justify !important}}
2 |
3 | /*# sourceMappingURL=particles.css.map */
--------------------------------------------------------------------------------
/css-compiled/particles.css.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "file": "particles.css",
4 | "sources": [
5 | "../scss/particles.scss",
6 | "../scss/vendor/bourbon/_bourbon.scss",
7 | "../scss/vendor/bourbon/settings/_prefixer.scss",
8 | "../scss/vendor/bourbon/settings/_px-to-em.scss",
9 | "../scss/vendor/bourbon/helpers/_convert-units.scss",
10 | "../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss",
11 | "../scss/vendor/bourbon/helpers/_is-num.scss",
12 | "../scss/vendor/bourbon/helpers/_linear-angle-parser.scss",
13 | "../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss",
14 | "../scss/vendor/bourbon/helpers/_linear-positions-parser.scss",
15 | "../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss",
16 | "../scss/vendor/bourbon/helpers/_radial-arg-parser.scss",
17 | "../scss/vendor/bourbon/helpers/_radial-positions-parser.scss",
18 | "../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss",
19 | "../scss/vendor/bourbon/helpers/_render-gradients.scss",
20 | "../scss/vendor/bourbon/helpers/_shape-size-stripper.scss",
21 | "../scss/vendor/bourbon/helpers/_str-to-num.scss",
22 | "../scss/vendor/bourbon/functions/_assign.scss",
23 | "../scss/vendor/bourbon/functions/_color-lightness.scss",
24 | "../scss/vendor/bourbon/functions/_flex-grid.scss",
25 | "../scss/vendor/bourbon/functions/_golden-ratio.scss",
26 | "../scss/vendor/bourbon/functions/_grid-width.scss",
27 | "../scss/vendor/bourbon/functions/_modular-scale.scss",
28 | "../scss/vendor/bourbon/functions/_px-to-em.scss",
29 | "../scss/vendor/bourbon/functions/_px-to-rem.scss",
30 | "../scss/vendor/bourbon/functions/_strip-units.scss",
31 | "../scss/vendor/bourbon/functions/_tint-shade.scss",
32 | "../scss/vendor/bourbon/functions/_transition-property-name.scss",
33 | "../scss/vendor/bourbon/functions/_unpack.scss",
34 | "../scss/vendor/bourbon/css3/_animation.scss",
35 | "../scss/vendor/bourbon/css3/_appearance.scss",
36 | "../scss/vendor/bourbon/css3/_backface-visibility.scss",
37 | "../scss/vendor/bourbon/css3/_background.scss",
38 | "../scss/vendor/bourbon/css3/_background-image.scss",
39 | "../scss/vendor/bourbon/css3/_border-image.scss",
40 | "../scss/vendor/bourbon/css3/_border-radius.scss",
41 | "../scss/vendor/bourbon/css3/_box-sizing.scss",
42 | "../scss/vendor/bourbon/css3/_calc.scss",
43 | "../scss/vendor/bourbon/css3/_columns.scss",
44 | "../scss/vendor/bourbon/css3/_filter.scss",
45 | "../scss/vendor/bourbon/css3/_flex-box.scss",
46 | "../scss/vendor/bourbon/css3/_font-face.scss",
47 | "../scss/vendor/bourbon/css3/_hyphens.scss",
48 | "../scss/vendor/bourbon/css3/_hidpi-media-query.scss",
49 | "../scss/vendor/bourbon/css3/_image-rendering.scss",
50 | "../scss/vendor/bourbon/css3/_keyframes.scss",
51 | "../scss/vendor/bourbon/css3/_linear-gradient.scss",
52 | "../scss/vendor/bourbon/css3/_perspective.scss",
53 | "../scss/vendor/bourbon/css3/_radial-gradient.scss",
54 | "../scss/vendor/bourbon/css3/_transform.scss",
55 | "../scss/vendor/bourbon/css3/_transition.scss",
56 | "../scss/vendor/bourbon/css3/_user-select.scss",
57 | "../scss/vendor/bourbon/css3/_placeholder.scss",
58 | "../scss/vendor/bourbon/addons/_button.scss",
59 | "../scss/vendor/bourbon/addons/_clearfix.scss",
60 | "../scss/vendor/bourbon/addons/_directional-values.scss",
61 | "../scss/vendor/bourbon/addons/_ellipsis.scss",
62 | "../scss/vendor/bourbon/addons/_font-family.scss",
63 | "../scss/vendor/bourbon/addons/_hide-text.scss",
64 | "../scss/vendor/bourbon/addons/_html5-input-types.scss",
65 | "../scss/vendor/bourbon/addons/_position.scss",
66 | "../scss/vendor/bourbon/addons/_prefixer.scss",
67 | "../scss/vendor/bourbon/addons/_retina-image.scss",
68 | "../scss/vendor/bourbon/addons/_size.scss",
69 | "../scss/vendor/bourbon/addons/_timing-functions.scss",
70 | "../scss/vendor/bourbon/addons/_triangle.scss",
71 | "../scss/vendor/bourbon/addons/_word-wrap.scss",
72 | "../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss",
73 | "../scss/configuration/nucleus/_base.scss",
74 | "../scss/configuration/nucleus/_core.scss",
75 | "../scss/configuration/nucleus/_breakpoints.scss",
76 | "../scss/configuration/nucleus/_layout.scss",
77 | "../scss/configuration/nucleus/_typography.scss",
78 | "../scss/configuration/nucleus/_nav.scss",
79 | "../scss/configuration/template/_base.scss",
80 | "../scss/configuration/template/_colors.scss",
81 | "../scss/configuration/template/_typography.scss",
82 | "../scss/configuration/template/_bullets.scss",
83 | "../scss/configuration/template/_variables.scss",
84 | "../scss/nucleus/functions/_base.scss",
85 | "../scss/nucleus/functions/_direction.scss",
86 | "../scss/nucleus/functions/_range.scss",
87 | "../scss/nucleus/mixins/_base.scss",
88 | "../scss/nucleus/mixins/_breakpoints.scss",
89 | "../scss/nucleus/mixins/_utilities.scss",
90 | "../scss/nucleus/particles/_align-text.scss",
91 | "../scss/nucleus/particles/_visibility.scss"
92 | ],
93 | "mappings": "AqFsBC,AAAA,UAAU,AAAC,CACV,UAAU,CAAE,eAAgB,CAC5B,AACD,AAAA,WAAW,AAAC,CACX,UAAU,CAAE,gBAAiB,CAC7B,AACD,AAAA,YAAY,AAAC,CACZ,UAAU,CAAE,iBAAkB,CAC9B,AACD,AAAA,aAAa,AAAC,CACb,UAAU,CAAE,kBAAmB,CAC/B,AAGA,MAAM,CAAN,GAAG,MAAM,SAAS,EAAC,IAAI,EACtB,AAAA,wBAAwB,AAAxB,CAAE,UAAU,CAAE,eAAgB,CAAI,AAClC,AAAA,yBAAyB,AAAzB,CAAE,UAAU,CAAE,gBAAiB,CAAI,AACnC,AAAA,0BAA0B,AAA1B,CAAE,UAAU,CAAE,iBAAkB,CAAI,AACpC,AAAA,2BAA2B,AAA3B,CAAE,UAAU,CAAE,kBAAmB,CAAI,CAJtC,MAAM,CAAN,GAAG,MAAM,SAAS,EAAC,IAAI,OAAO,SAAS,EAAC,QAAQ,EAC/C,AAAA,kBAAkB,AAAlB,CAAE,UAAU,CAAE,eAAgB,CAAI,AAClC,AAAA,mBAAmB,AAAnB,CAAE,UAAU,CAAE,gBAAiB,CAAI,AACnC,AAAA,oBAAoB,AAApB,CAAE,UAAU,CAAE,iBAAkB,CAAI,AACpC,AAAA,qBAAqB,AAArB,CAAE,UAAU,CAAE,kBAAmB,CAAI,CAJtC,MAAM,CAAN,GAAG,MAAM,SAAS,EAAC,IAAI,OAAO,SAAS,EAAC,QAAQ,EAC/C,AAAA,iBAAiB,AAAjB,CAAE,UAAU,CAAE,eAAgB,CAAI,AAClC,AAAA,kBAAkB,AAAlB,CAAE,UAAU,CAAE,gBAAiB,CAAI,AACnC,AAAA,mBAAmB,AAAnB,CAAE,UAAU,CAAE,iBAAkB,CAAI,AACpC,AAAA,oBAAoB,AAApB,CAAE,UAAU,CAAE,kBAAmB,CAAI,CAJtC,MAAM,CAAN,GAAG,MAAM,SAAS,EAAC,QAAQ,OAAO,SAAS,EAAC,QAAQ,EACnD,AAAA,uBAAuB,AAAvB,CAAE,UAAU,CAAE,eAAgB,CAAI,AAClC,AAAA,wBAAwB,AAAxB,CAAE,UAAU,CAAE,gBAAiB,CAAI,AACnC,AAAA,yBAAyB,AAAzB,CAAE,UAAU,CAAE,iBAAkB,CAAI,AACpC,AAAA,0BAA0B,AAA1B,CAAE,UAAU,CAAE,kBAAmB,CAAI,CAJtC,MAAM,CAAN,GAAG,MAAM,SAAS,EAAC,IAAI,EACtB,AAAA,uBAAuB,AAAvB,CAAE,UAAU,CAAE,eAAgB,CAAI,AAClC,AAAA,wBAAwB,AAAxB,CAAE,UAAU,CAAE,gBAAiB,CAAI,AACnC,AAAA,yBAAyB,AAAzB,CAAE,UAAU,CAAE,iBAAkB,CAAI,AACpC,AAAA,0BAA0B,AAA1B,CAAE,UAAU,CAAE,kBAAmB,CAAI,CAJtC,MAAM,CAAN,GAAG,MAAM,SAAS,EAAC,IAAI,EACtB,AAAA,oBAAoB,AAApB,CAAE,UAAU,CAAE,eAAgB,CAAI,AAClC,AAAA,qBAAqB,AAArB,CAAE,UAAU,CAAE,gBAAiB,CAAI,AACnC,AAAA,sBAAsB,AAAtB,CAAE,UAAU,CAAE,iBAAkB,CAAI,AACpC,AAAA,uBAAuB,AAAvB,CAAE,UAAU,CAAE,kBAAmB,CAAI,CAJtC,MAAM,CAAN,GAAG,MAAM,SAAS,EAAC,QAAQ,EAC1B,AAAA,sBAAsB,AAAtB,CAAE,UAAU,CAAE,eAAgB,CAAI,AAClC,AAAA,uBAAuB,AAAvB,CAAE,UAAU,CAAE,gBAAiB,CAAI,AACnC,AAAA,wBAAwB,AAAxB,CAAE,UAAU,CAAE,iBAAkB,CAAI,AACpC,AAAA,yBAAyB,AAAzB,CAAE,UAAU,CAAE,kBAAmB,CAAI",
94 | "names": []
95 | }
--------------------------------------------------------------------------------
/css/nucleus-ie10.css:
--------------------------------------------------------------------------------
1 | button {
2 | overflow: visible;
3 | }
4 |
5 | input[type="checkbox"],
6 | input[type="radio"] {
7 | box-sizing: border-box;
8 | padding: 0;
9 | }
10 |
11 | .fixed-blocks {
12 | display: block;
13 | }
14 |
15 | .feature-items {
16 | overflow: hidden;
17 | }
18 |
19 | .modular .features .feature {
20 | margin: 1%;
21 | display: inline-block;
22 | vertical-align: top;
23 | float: none;
24 | }
--------------------------------------------------------------------------------
/css/nucleus-ie9.css:
--------------------------------------------------------------------------------
1 | /* IE9 Resets and Normalization */
2 | article,
3 | aside,
4 | details,
5 | figcaption,
6 | figure,
7 | footer,
8 | header,
9 | hgroup,
10 | main,
11 | nav,
12 | section,
13 | summary {
14 | display: block;
15 | }
16 |
17 | audio,
18 | canvas,
19 | progress,
20 | video {
21 | display: inline-block;
22 | }
23 |
24 | [hidden],
25 | template {
26 | display: none;
27 | }
28 |
29 | abbr[title] {
30 | border-bottom: 1px dotted;
31 | }
32 |
33 | img {
34 | border: 0;
35 | }
36 |
37 | svg:not(:root) {
38 | overflow: hidden;
39 | }
40 |
41 | figure {
42 | margin: 1em 40px;
43 | }
44 |
45 | button {
46 | overflow: visible;
47 | }
48 |
49 | input[type="checkbox"],
50 | input[type="radio"] {
51 | box-sizing: border-box;
52 | padding: 0;
53 | }
54 |
55 | legend {
56 | border: 0;
57 | padding: 0;
58 | }
59 |
60 | textarea {
61 | overflow: auto;
62 | }
--------------------------------------------------------------------------------
/css/prism.css:
--------------------------------------------------------------------------------
1 | /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
2 | /**
3 | * prism.js default theme for JavaScript, CSS and HTML
4 | * Based on dabblet (http://dabblet.com)
5 | * @author Lea Verou
6 | */
7 |
8 | code[class*="language-"],
9 | pre[class*="language-"] {
10 | color: black;
11 | text-shadow: 0 1px white;
12 | direction: ltr;
13 | text-align: left;
14 | white-space: pre;
15 | word-spacing: normal;
16 | word-break: normal;
17 |
18 |
19 | -moz-tab-size: 4;
20 | -o-tab-size: 4;
21 | tab-size: 4;
22 |
23 | -webkit-hyphens: none;
24 | -moz-hyphens: none;
25 | -ms-hyphens: none;
26 | hyphens: none;
27 | }
28 |
29 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
30 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
31 | text-shadow: none;
32 | background: #b3d4fc;
33 | }
34 |
35 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
36 | code[class*="language-"]::selection, code[class*="language-"] ::selection {
37 | text-shadow: none;
38 | background: #b3d4fc;
39 | }
40 |
41 | @media print {
42 | code[class*="language-"],
43 | pre[class*="language-"] {
44 | text-shadow: none;
45 | }
46 | }
47 |
48 | /* Code blocks */
49 | pre[class*="language-"] {
50 | padding: 1em;
51 | margin: .5em 0;
52 | overflow: auto;
53 | }
54 |
55 | /* Inline code */
56 | :not(pre) > code[class*="language-"] {
57 | padding: .1em;
58 | border-radius: .3em;
59 | }
60 |
61 | .token.comment,
62 | .token.prolog,
63 | .token.doctype,
64 | .token.cdata {
65 | color: slategray;
66 | }
67 |
68 | .token.punctuation {
69 | color: #999;
70 | }
71 |
72 | .namespace {
73 | opacity: .7;
74 | }
75 |
76 | .token.property,
77 | .token.tag,
78 | .token.boolean,
79 | .token.number,
80 | .token.constant,
81 | .token.symbol {
82 | color: #905;
83 | }
84 |
85 | .token.selector,
86 | .token.attr-name,
87 | .token.string,
88 | .token.builtin {
89 | color: #690;
90 | }
91 |
92 | .token.operator,
93 | .token.entity,
94 | .token.url,
95 | .language-css .token.string,
96 | .style .token.string,
97 | .token.variable {
98 | color: #a67f59;
99 | background: hsla(0,0%,100%,.5);
100 | }
101 |
102 | .token.atrule,
103 | .token.attr-value,
104 | .token.keyword {
105 | color: #07a;
106 | }
107 |
108 |
109 | .token.regex,
110 | .token.important {
111 | color: #e90;
112 | }
113 |
114 | .token.important {
115 | font-weight: bold;
116 | }
117 |
118 | .token.entity {
119 | cursor: help;
120 | }
121 |
122 |
--------------------------------------------------------------------------------
/css/pure-0.5.0/grids-min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | Pure v0.5.0-rc-1
3 | Copyright 2014 Yahoo! Inc. All rights reserved.
4 | Licensed under the BSD License.
5 | https://github.com/yui/pure/blob/master/LICENSE.md
6 | */
7 | .pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}
8 |
9 | /* Custom */
10 | [class *="pure-u"] {display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto;}
11 | .pure-u-1-7 {width: 14.285%;}.pure-u-2-7 {width: 28.571%;}.pure-u-3-7 {width: 42.857%;}.pure-u-4-7 {width: 57.142%;}.pure-u-5-7 {width: 71.428%;}.pure-u-6-7 {width: 85.714%;}
12 | .pure-u-1-9 {width: 11.111%;}.pure-u-2-9 {width: 22.222%;}.pure-u-3-9 {width: 33.333%;}.pure-u-4-9 {width: 44.444%;}.pure-u-5-9 {width: 55.555%;}.pure-u-6-9 {width: 66.666%;}.pure-u-7-9 {width: 77.777%;}.pure-u-8-9 {width: 88.888%;}
13 | .pure-u-1-10 {width: 10%;}.pure-u-2-10 {width: 20%;}.pure-u-3-10 {width: 30%;}.pure-u-4-10 {width: 40%;}.pure-u-5-10 {width: 50%;}.pure-u-6-10 {width: 60%;}.pure-u-7-10 {width: 70%;}.pure-u-8-10 {width: 80%;}.pure-u-9-10 {width: 90%;}
14 |
15 | .pure-u-1-11 {width: 9.090%;}.pure-u-2-11 {width: 18.181%;}.pure-u-3-11 {width: 27.272%;}.pure-u-4-11 {width: 36.363%;}.pure-u-5-11 {width: 45.454%;}.pure-u-6-11 {width: 54.545%;}.pure-u-7-11 {width: 63.636%;}.pure-u-8-11 {width: 72.727%;}.pure-u-9-11 {width: 81.818%;}.pure-u-10-11 {width: 90.909%;}
--------------------------------------------------------------------------------
/css/slidebars.min.css:
--------------------------------------------------------------------------------
1 | /* Slidebars 0.10.2 (http://plugins.adchsm.me/slidebars/) written by Adam Smith (http://www.adchsm.me/) released under MIT License (http://plugins.adchsm.me/slidebars/license.txt) */
2 | #sb-site,.sb-site-container,.sb-slidebar,body,html{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body,html{width:100%;overflow-x:hidden}html{height:100%}body{min-height:100%;height:auto;position:relative}html.sb-scroll-lock.sb-active:not(.sb-static){overflow:hidden}#sb-site,.sb-site-container{width:100%;position:relative;z-index:1;background-color:#fff}.sb-slidebar{height:100%;overflow-y:auto;position:fixed;top:0;z-index:0;display:none;background-color:#222;-webkit-transform:translate(0px)}.sb-left{left:0}.sb-right{right:0}.sb-slidebar.sb-static,html.sb-static .sb-slidebar{position:absolute}.sb-slidebar.sb-active{display:block}.sb-style-overlay{z-index:9999}.sb-momentum-scrolling{-webkit-overflow-scrolling:touch}.sb-slidebar{width:30%}.sb-width-thin{width:15%}.sb-width-wide{width:45%}@media (max-width:480px){.sb-slidebar{width:70%}.sb-width-thin{width:55%}.sb-width-wide{width:85%}}@media (min-width:481px){.sb-slidebar{width:55%}.sb-width-thin{width:40%}.sb-width-wide{width:70%}}@media (min-width:768px){.sb-slidebar{width:40%}.sb-width-thin{width:25%}.sb-width-wide{width:55%}}@media (min-width:992px){.sb-slidebar{width:30%}.sb-width-thin{width:15%}.sb-width-wide{width:45%}}@media (min-width:1200px){.sb-slidebar{width:20%}.sb-width-thin{width:5%}.sb-width-wide{width:35%}}#sb-site,.sb-site-container,.sb-slide,.sb-slidebar{-webkit-transition:-webkit-transform 400ms ease;-moz-transition:-moz-transform 400ms ease;-o-transition:-o-transform 400ms ease;transition:transform 400ms ease;-webkit-transition-property:-webkit-transform,left,right;}.sb-hide{display:none}
3 |
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/hebe.json:
--------------------------------------------------------------------------------
1 | {
2 | "project":"grav-theme-antimatter",
3 | "platforms":{
4 | "grav":{
5 | "nodes":{
6 | "theme":[
7 | {
8 | "source":"/",
9 | "destination":"/user/themes/antimatter"
10 | }
11 | ]
12 | }
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/images/favicon.png
--------------------------------------------------------------------------------
/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/images/logo.png
--------------------------------------------------------------------------------
/js/antimatter.js:
--------------------------------------------------------------------------------
1 | var isTouch = window.DocumentTouch && document instanceof DocumentTouch;
2 |
3 | function scrollHeader() {
4 | // Has scrolled class on header
5 | var zvalue = $(document).scrollTop();
6 | if ( zvalue > 75 )
7 | $("#header").addClass("scrolled");
8 | else
9 | $("#header").removeClass("scrolled");
10 | }
11 |
12 | jQuery(document).ready(function($){
13 |
14 | // ON SCROLL EVENTS
15 | if (!isTouch){
16 | $(document).scroll(function() {
17 | scrollHeader();
18 | });
19 | };
20 |
21 | // TOUCH SCROLL
22 | $(document).on({
23 | 'touchmove': function(e) {
24 | scrollHeader(); // Replace this with your code.
25 | }
26 | });
27 |
28 | //Smooth scroll to top
29 | $('#toTop').click(function(){
30 | $("html, body").animate({ scrollTop: 0 }, 500);
31 | return false;
32 | });
33 | // Responsive Menu
34 |
35 | });
36 |
37 |
38 |
--------------------------------------------------------------------------------
/js/html5shiv-printshiv.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3 | */
4 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=x.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=w[a[u]];return b||(b={},v++,a[u]=v,w[v]=b),b}function f(a,c,d){if(c||(c=b),p)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():t.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||s.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),p)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return x.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(x,b.frag)}function i(a){a||(a=b);var d=e(a);return!x.shivCSS||o||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),p||h(a,d),a}function j(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(k(b)));return g}function k(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(z+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function l(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+z+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function m(a){for(var b=a.length;b--;)a[b].removeNode()}function n(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,f,g=e(a),h=a.namespaces,i=a.parentWindow;return!A||a.printShived?a:("undefined"==typeof h[z]&&h.add(z),i.attachEvent("onbeforeprint",function(){b();for(var e,g,h,i=a.styleSheets,k=[],m=i.length,n=Array(m);m--;)n[m]=i[m];for(;h=n.pop();)if(!h.disabled&&y.test(h.media)){try{e=h.imports,g=e.length}catch(o){g=0}for(m=0;g>m;m++)n.push(e[m]);try{k.push(h.cssText)}catch(o){}}k=l(k.reverse().join("")),f=j(a),d=c(a,k)}),i.attachEvent("onafterprint",function(){m(f),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var o,p,q="3.7.0",r=a.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,t=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u="_html5shiv",v=0,w={};!function(){try{var a=b.createElement("a");a.innerHTML="",o="hidden"in a,p=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){o=!0,p=!0}}();var x={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:q,shivCSS:r.shivCSS!==!1,supportsUnknownElements:p,shivMethods:r.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=x,i(b);var y=/^$|\b(?:all|print)\b/,z="html5shiv",A=!p&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();x.type+=" print",x.shivPrint=n,n(b)}(this,document);
--------------------------------------------------------------------------------
/js/singlePageNav.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Single Page Nav Plugin
3 | * Copyright (c) 2014 Chris Wojcik
4 | * Dual licensed under MIT and GPL.
5 | * @author Chris Wojcik
6 | * @version 1.2.0
7 | */
8 | if(typeof Object.create!=="function"){Object.create=function(e){function t(){}t.prototype=e;return new t}}(function(e,t,n,r){"use strict";var i={init:function(n,r){this.options=e.extend({},e.fn.singlePageNav.defaults,n);this.container=r;this.$container=e(r);this.$links=this.$container.find("a");if(this.options.filter!==""){this.$links=this.$links.filter(this.options.filter)}this.$window=e(t);this.$htmlbody=e("html, body");this.$links.on("click.singlePageNav",e.proxy(this.handleClick,this));this.didScroll=false;this.checkPosition();this.setTimer()},handleClick:function(t){var n=this,r=t.currentTarget,i=e(r.hash);t.preventDefault();if(i.length){n.clearTimer();if(typeof n.options.beforeStart==="function"){n.options.beforeStart()}n.setActiveLink(r.hash);n.scrollTo(i,function(){if(n.options.updateHash&&history.pushState){history.pushState(null,null,r.hash)}n.setTimer();if(typeof n.options.onComplete==="function"){n.options.onComplete()}})}},scrollTo:function(e,t){var n=this;var r=n.getCoords(e).top;var i=false;n.$htmlbody.stop().animate({scrollTop:r},{duration:n.options.speed,easing:n.options.easing,complete:function(){if(typeof t==="function"&&!i){t()}i=true}})},setTimer:function(){var e=this;e.$window.on("scroll.singlePageNav",function(){e.didScroll=true});e.timer=setInterval(function(){if(e.didScroll){e.didScroll=false;e.checkPosition()}},250)},clearTimer:function(){clearInterval(this.timer);this.$window.off("scroll.singlePageNav");this.didScroll=false},checkPosition:function(){var e=this.$window.scrollTop();var t=this.getCurrentSection(e);this.setActiveLink(t)},getCoords:function(e){return{top:Math.round(e.offset().top)-this.options.offset}},setActiveLink:function(e){var t=this.$container.find("a[href$='"+e+"']");if(!t.hasClass(this.options.currentClass)){this.$links.removeClass(this.options.currentClass);t.addClass(this.options.currentClass)}},getCurrentSection:function(t){var n,r,i,s;for(n=0;n=i.top-this.options.threshold){s=r}}}return s||this.$links[0].hash}};e.fn.singlePageNav=function(e){return this.each(function(){var t=Object.create(i);t.init(e,this)})};e.fn.singlePageNav.defaults={offset:0,threshold:120,speed:400,currentClass:"current",easing:"swing",updateHash:false,filter:"",onComplete:false,beforeStart:false}})(jQuery,window,document);
--------------------------------------------------------------------------------
/js/slidebars.min.js:
--------------------------------------------------------------------------------
1 | // Slidebars 0.10.2 (http://plugins.adchsm.me/slidebars/) written by Adam Smith (http://www.adchsm.me/) released under MIT License (http://plugins.adchsm.me/slidebars/license.txt)
2 | !function(t){t.slidebars=function(s){function e(){!c.disableOver||"number"==typeof c.disableOver&&c.disableOver>=T?(y=!0,t("html").addClass("sb-init"),c.hideControlClasses&&k.removeClass("sb-hide"),i()):"number"==typeof c.disableOver&&c.disableOverb||v&&5>v)&&t("html").addClass("sb-static");var g=t("#sb-site, .sb-site-container");if(t(".sb-left").length)var m=t(".sb-left"),C=!1;if(t(".sb-right").length)var p=t(".sb-right"),w=!1;var y=!1,T=t(window).width(),k=t(".sb-toggle-left, .sb-toggle-right, .sb-open-left, .sb-open-right, .sb-close"),O=t(".sb-slide");e(),t(window).resize(function(){var s=t(window).width();T!==s&&(T=s,e(),C&&o("left"),w&&o("right"))});var x;d&&f?(x="translate",b&&4.4>b&&(x="side")):x="jQuery",this.slidebars={open:o,close:a,toggle:l,init:function(){return y},active:function(t){return"left"===t&&m?C:"right"===t&&p?w:void 0},destroy:function(t){"left"===t&&m&&(C&&a(),setTimeout(function(){m.remove(),m=!1},400)),"right"===t&&p&&(w&&a(),setTimeout(function(){p.remove(),p=!1},400))}},t(".sb-toggle-left").on("touchend click",function(s){r(s,t(this)),l("left")}),t(".sb-toggle-right").on("touchend click",function(s){r(s,t(this)),l("right")}),t(".sb-open-left").on("touchend click",function(s){r(s,t(this)),o("left")}),t(".sb-open-right").on("touchend click",function(s){r(s,t(this)),o("right")}),t(".sb-close").on("touchend click",function(s){if(t(this).is("a")||t(this).children().is("a")){if("click"===s.type){s.preventDefault();var e=t(this).is("a")?t(this).attr("href"):t(this).find("a").attr("href");a(e)}}else r(s,t(this)),a()}),g.on("touchend click",function(s){c.siteClose&&(C||w)&&(r(s,t(this)),a())})}}(jQuery);
--------------------------------------------------------------------------------
/screenshot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/screenshot.jpg
--------------------------------------------------------------------------------
/scss.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | scss --watch scss:css-compiled
3 |
--------------------------------------------------------------------------------
/scss/configuration/nucleus/_base.scss:
--------------------------------------------------------------------------------
1 | // Core
2 | @import "core";
3 |
4 | // Breakpoints
5 | @import "breakpoints";
6 |
7 | // Layout
8 | @import "layout";
9 |
10 | // Typography
11 | @import "typography";
12 |
13 | // Nav
14 | @import "nav";
--------------------------------------------------------------------------------
/scss/configuration/nucleus/_breakpoints.scss:
--------------------------------------------------------------------------------
1 | // Media Device Breakpoints
2 | $large-desktop-container: 75.000em !default;
3 | $desktop-container: 60.000em !default;
4 | $tablet-container: 48.000em !default;
5 | $large-mobile-container: 30.000em !default;
6 | $mobile-container: 100% !default;
7 |
8 | // Breakpoint Variables For Particles
9 | $media: "all" !default;
10 | $mobile-only: "#{$media} and (max-width:#{$tablet-container - 0.062})" !default;
11 | $no-mobile: "#{$media} and (min-width:#{$tablet-container})" !default;
12 | $small-mobile-range: "#{$media} and (max-width:#{$large-mobile-container})" !default;
13 | $large-mobile-range: "#{$media} and (min-width:#{$large-mobile-container + 0.063}) and (max-width:#{$tablet-container - 0.062})" !default;
14 | $tablet-range: "#{$media} and (min-width:#{$tablet-container}) and (max-width:#{$desktop-container - 0.062})" !default;
15 | $desktop-range: "#{$media} and (min-width:#{$desktop-container}) and (max-width:#{$large-desktop-container - 0.062})" !default;
16 | $large-desktop-range: "#{$media} and (min-width:#{$large-desktop-container})" !default;
17 |
--------------------------------------------------------------------------------
/scss/configuration/nucleus/_core.scss:
--------------------------------------------------------------------------------
1 | // Border Radius
2 | $core-border-radius: rem(3) !default;
--------------------------------------------------------------------------------
/scss/configuration/nucleus/_layout.scss:
--------------------------------------------------------------------------------
1 | // Content Block Spacing Variables
2 | $content-margin: 0.625rem !default;
3 | $content-padding: 0.938rem !default;
4 |
5 | // Fixed Block Variables
6 | $fixed-block-full: percentage(1/4) !default;
7 | $fixed-block-desktop: percentage(1/3) !default;
8 | $fixed-block-tablet: percentage(1/2) !default;
--------------------------------------------------------------------------------
/scss/configuration/nucleus/_nav.scss:
--------------------------------------------------------------------------------
1 | // Dropdowns
2 | $dropdown-width: 140px !default;
3 | $flyout-width: 140px !default;
--------------------------------------------------------------------------------
/scss/configuration/nucleus/_typography.scss:
--------------------------------------------------------------------------------
1 | // Base Sizes
2 | $core-font-size: 1rem !default;
3 | $core-line-height: 1.7 !default;
4 |
5 | // Heading Sizes
6 | $h1-font-size: $core-font-size + 2.20 !default;
7 | $h2-font-size: $core-font-size + 1.50 !default;
8 | $h3-font-size: $core-font-size + 1.10 !default;
9 | $h4-font-size: $core-font-size + 0.75 !default;
10 | $h5-font-size: $core-font-size + 0.35 !default;
11 | $h6-font-size: $core-font-size - 0.15 !default;
12 |
13 | // Spacing
14 | $leading-margin: $core-line-height * 1rem !default;
15 |
--------------------------------------------------------------------------------
/scss/configuration/template/_base.scss:
--------------------------------------------------------------------------------
1 | // Colors
2 | @import "colors";
3 |
4 | // Typography
5 | @import "typography";
6 |
7 | // Typography
8 | @import "bullets";
9 |
10 | // Variables
11 | @import "variables";
12 |
--------------------------------------------------------------------------------
/scss/configuration/template/_bullets.scss:
--------------------------------------------------------------------------------
1 | $bullet-icon-size: 3.5rem;
2 |
3 | $bullet-icon-color-1: $core-accent;
4 | $bullet-icon-color-2: adjust-hue($core-accent, -20);
5 | $bullet-icon-color-3: adjust-hue($core-accent, -130);
--------------------------------------------------------------------------------
/scss/configuration/template/_colors.scss:
--------------------------------------------------------------------------------
1 | // Core
2 | $core-text: #444;
3 | $core-accent: #1BB3E9;
4 | $secondary-link: #F6635E;
5 | $white: #fff;
6 | $black: #000;
7 | $light-gray: #ddd;
8 | $border-color: #EEEEEE;
9 |
10 | // Borders
11 | $core-border-color: $light-gray;
12 | $core-border-color-hover: darken($core-border-color, 10);
13 | $core-border-color-focus: $core-accent;
14 |
15 | // Shadows
16 | $core-box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.06);
17 | $core-box-shadow-focus: $core-box-shadow, 0 0 5px rgba(darken($core-border-color-focus, 5), 0.7);
18 |
19 | // Background
20 | $page-bg: #fff;
21 |
22 | // Header
23 | $header-text: #FFFFFF;
24 |
25 | // Nav
26 | $navbar-text: #75879A;
27 | $navbar-bg: #FFFFFF;
28 |
29 | // Showcase
30 | $showcase-bg: lighten($core-accent, 6%);
31 | $showcase-text: #fff;
32 |
33 | // Feature
34 | $feature-bg: #fff;
35 |
36 | // Main Body
37 | $main-bg: #f7f7f7;
38 | $body-border: darken($main-bg, 5%);
39 |
40 | // Sidebar
41 | $sidebar-text: #aaa;
42 |
43 | // Bottom
44 | $bottom-bg: #f7f7f7;
45 | $bottom-text: $core-text;
46 |
47 | // Footer
48 | $footer-bg: #333;
49 | $footer-text: #999;
50 |
51 | $rule-color: #F0F2F4;
52 | $code-text: #c7254e;
53 | $code-bg: #f9f2f4;
54 | $pre-text: #237794;
55 | $pre-bg: #f0f0f0;
56 |
57 | // Dark Contrast variation
58 | $dark-navbar-text: #999;
59 | $dark-sidebar: #222;
60 | $dark-sidebar-text: #999;
61 | $dark-main-bg: #333;
62 | $dark-body-border: #666;
63 |
64 | // Info - Yellow
65 | $notes-info-border: #F0AD4E;
66 | $notes-info-bg: #FCF8F2;
67 | // Warning - Red
68 | $notes-warning-border: #D9534F;
69 | $notes-warning-bg: #FDF7F7;
70 | // Note - Blue
71 | $notes-note-border: #5BC0DE;
72 | $notes-note-bg: #F4F8FA;
73 | // Success - Green
74 | $notes-success-border: #5CB85C;
75 | $notes-success-bg: #F1F9F1;
76 |
--------------------------------------------------------------------------------
/scss/configuration/template/_typography.scss:
--------------------------------------------------------------------------------
1 | // Font Family
2 | $font-family-default: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
3 | $font-family-header: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
4 | $font-family-mono: "Inconsolata", monospace;
5 | $font-family-serif: "Georgia", "Times", "Times New Roman", serif;
6 |
7 | $icons: "FontAwesome";
8 |
--------------------------------------------------------------------------------
/scss/configuration/template/_variables.scss:
--------------------------------------------------------------------------------
1 | // Sizes
2 | $header-height: 5rem;
3 | $footer-height: 6rem;
4 | $border-radius: 3px;
5 |
6 | // Font Weights
7 | $font-weight-bold: 600;
8 | $font-weight-regular: 400;
9 | $font-weight-light:300;
10 |
11 | // Global Paddings
12 | $padding-horiz: 7rem;
13 | $padding-vert: 3rem;
14 |
--------------------------------------------------------------------------------
/scss/nucleus.scss:
--------------------------------------------------------------------------------
1 | // REQUIRED DEPENDENCIES - DO NOT CHANGE
2 |
3 | // Load Third Party Libraries
4 | @import "vendor/bourbon/bourbon";
5 |
6 | // Load Nucleus Configuration
7 | @import "configuration/nucleus/base";
8 |
9 | // Load Nucleus Mixins and Functions
10 | @import "nucleus/functions/base";
11 | @import "nucleus/mixins/base";
12 |
13 | //-------------------------------------------
14 |
15 | // LOAD NUCLEUS COMPONENTS
16 |
17 | // Core
18 | @import "nucleus/core";
19 |
20 | // Flex
21 | @import "nucleus/flex";
22 |
23 | // Typography
24 | @import "nucleus/typography";
25 |
26 | // Forms
27 | @import "nucleus/forms";
28 |
--------------------------------------------------------------------------------
/scss/nucleus/_core.scss:
--------------------------------------------------------------------------------
1 | *, *::before, *::after {
2 | @include box-sizing(border-box);
3 | }
4 |
5 | @-webkit-viewport{width:device-width}
6 | @-moz-viewport{width:device-width}
7 | @-ms-viewport{width:device-width}
8 | @-o-viewport{width:device-width}
9 | @viewport{width:device-width}
10 |
11 | html {
12 | font-size: 100%;
13 | -ms-text-size-adjust: 100%;
14 | -webkit-text-size-adjust: 100%;
15 | }
16 |
17 | body {
18 | margin: 0;
19 | }
20 |
21 | article,
22 | aside,
23 | details,
24 | figcaption,
25 | figure,
26 | footer,
27 | header,
28 | hgroup,
29 | main,
30 | nav,
31 | section,
32 | summary {
33 | display: block;
34 | }
35 |
36 | audio,
37 | canvas,
38 | progress,
39 | video {
40 | display: inline-block;
41 | vertical-align: baseline;
42 | }
43 |
44 | audio:not([controls]) {
45 | display: none;
46 | height: 0;
47 | }
48 |
49 | [hidden],
50 | template {
51 | display: none;
52 | }
53 |
54 | a {
55 | background: transparent;
56 | text-decoration: none;
57 | }
58 |
59 | a:active,
60 | a:hover {
61 | outline: 0;
62 | }
63 |
64 | abbr[title] {
65 | border-bottom: 1px dotted;
66 | }
67 |
68 | b,
69 | strong {
70 | font-weight: bold;
71 | }
72 |
73 | dfn {
74 | font-style: italic;
75 | }
76 |
77 | mark {
78 | background: #ff0;
79 | color: #000;
80 | }
81 |
82 | sub,
83 | sup {
84 | font-size: $core-font-size - 0.250;
85 | line-height: 0;
86 | position: relative;
87 | vertical-align: baseline;
88 | }
89 |
90 | sup {
91 | top: -0.5em;
92 | }
93 |
94 | sub {
95 | bottom: -0.25em;
96 | }
97 |
98 | img {
99 | border: 0;
100 | max-width: 100%;
101 | }
102 |
103 | svg:not(:root) {
104 | overflow: hidden;
105 | }
106 |
107 | figure {
108 | margin: 1em 40px;
109 | }
110 |
111 | hr {
112 | height: 0;
113 | }
114 |
115 | pre {
116 | overflow: auto;
117 | }
118 |
119 | code,
120 | kbd,
121 | pre,
122 | samp {
123 | font-size: $core-font-size;
124 | }
125 |
126 | button,
127 | input,
128 | optgroup,
129 | select,
130 | textarea {
131 | color: inherit;
132 | font: inherit;
133 | margin: 0;
134 | }
135 |
136 | button {
137 | overflow: visible;
138 | }
139 |
140 | button,
141 | select {
142 | text-transform: none;
143 | }
144 |
145 | button,
146 | html input[type="button"],
147 | input[type="reset"],
148 | input[type="submit"] {
149 | -webkit-appearance: button;
150 | cursor: pointer;
151 | }
152 |
153 | button[disabled],
154 | html input[disabled] {
155 | cursor: default;
156 | }
157 |
158 | button::-moz-focus-inner,
159 | input::-moz-focus-inner {
160 | border: 0;
161 | padding: 0;
162 | }
163 |
164 | input {
165 | line-height: normal;
166 | }
167 |
168 | input[type="checkbox"],
169 | input[type="radio"] {
170 | padding: 0;
171 | }
172 |
173 | input[type="number"]::-webkit-inner-spin-button,
174 | input[type="number"]::-webkit-outer-spin-button {
175 | height: auto;
176 | }
177 |
178 | input[type="search"] {
179 | -webkit-appearance: textfield;
180 | }
181 |
182 | input[type="search"]::-webkit-search-cancel-button,
183 | input[type="search"]::-webkit-search-decoration {
184 | -webkit-appearance: none;
185 | }
186 |
187 | legend {
188 | border: 0;
189 | padding: 0;
190 | }
191 |
192 | textarea {
193 | overflow: auto;
194 | }
195 |
196 | optgroup {
197 | font-weight: bold;
198 | }
199 |
200 | table {
201 | border-collapse: collapse;
202 | border-spacing: 0;
203 | table-layout: fixed;
204 | width: 100%;
205 | }
206 |
207 | tr, td, th {
208 | vertical-align: middle;
209 | }
210 |
211 | th, td {
212 | padding: ($leading-margin / 4) 0;
213 | }
214 |
215 | th {
216 | text-align: left;
217 | }
218 |
--------------------------------------------------------------------------------
/scss/nucleus/_flex.scss:
--------------------------------------------------------------------------------
1 | // Page Container
2 | .container {
3 | width: $large-desktop-container;
4 | margin: 0 auto;
5 | padding: 0;
6 | @include breakpoint(desktop-range) {
7 | width: $desktop-container;
8 | }
9 | @include breakpoint(tablet-range) {
10 | width: $tablet-container;
11 | }
12 | @include breakpoint(large-mobile-range) {
13 | width: $large-mobile-container;
14 | }
15 | @include breakpoint(small-mobile-range) {
16 | width: $mobile-container;
17 | }
18 | }
19 |
20 | // Grid Row and Column Setup
21 | .grid {
22 | @include display(flex);
23 | @include flex-flow(row);
24 | list-style: none;
25 | margin: 0;
26 | padding: 0;
27 | @include breakpoint(mobile-only) {
28 | @include flex-flow(row wrap);
29 | }
30 | }
31 |
32 | .block {
33 | @include flex(1);
34 | min-width: 0;
35 | min-height: 0;
36 | @include breakpoint(mobile-only) {
37 | @include flex(0 100%);
38 | }
39 | }
40 |
41 | // Content Block Spacing
42 | .content {
43 | margin: $content-margin;
44 | padding: $content-padding;
45 | }
46 |
47 | body [class*="size-"] {
48 | @include breakpoint(mobile-only) {
49 | @include flex(0 100%);
50 | }
51 | }
52 |
53 | // Custom Size Modifiers
54 | .size-1-2 {
55 | @include flex(0 percentage(1/2));
56 | }
57 |
58 | .size-1-3 {
59 | @include flex(0 percentage(1/3));
60 | }
61 |
62 | .size-1-4 {
63 | @include flex(0 percentage(1/4));
64 | }
65 |
66 | .size-1-5 {
67 | @include flex(0 percentage(1/5));
68 | }
69 |
70 | .size-1-6 {
71 | @include flex(0 percentage(1/6));
72 | }
73 |
74 | .size-1-7 {
75 | @include flex(0 percentage(1/7));
76 | }
77 |
78 | .size-1-8 {
79 | @include flex(0 percentage(1/8));
80 | }
81 |
82 | .size-1-9 {
83 | @include flex(0 percentage(1/9));
84 | }
85 |
86 | .size-1-10 {
87 | @include flex(0 percentage(1/10));
88 | }
89 |
90 | .size-1-11 {
91 | @include flex(0 percentage(1/11));
92 | }
93 |
94 | .size-1-12 {
95 | @include flex(0 percentage(1/12));
96 | }
97 |
98 | @include breakpoint(tablet-range) {
99 | .size-tablet-1-2 {
100 | @include flex(0 percentage(1/2));
101 | }
102 |
103 | .size-tablet-1-3 {
104 | @include flex(0 percentage(1/3));
105 | }
106 |
107 | .size-tablet-1-4 {
108 | @include flex(0 percentage(1/4));
109 | }
110 |
111 | .size-tablet-1-5 {
112 | @include flex(0 percentage(1/5));
113 | }
114 |
115 | .size-tablet-1-6 {
116 | @include flex(0 percentage(1/6));
117 | }
118 |
119 | .size-tablet-1-7 {
120 | @include flex(0 percentage(1/7));
121 | }
122 |
123 | .size-tablet-1-8 {
124 | @include flex(0 percentage(1/8));
125 | }
126 |
127 | .size-tablet-1-9 {
128 | @include flex(0 percentage(1/9));
129 | }
130 |
131 | .size-tablet-1-10 {
132 | @include flex(0 percentage(1/10));
133 | }
134 |
135 | .size-tablet-1-11 {
136 | @include flex(0 percentage(1/11));
137 | }
138 |
139 | .size-tablet-1-12 {
140 | @include flex(0 percentage(1/12));
141 | }
142 | }
143 |
144 | // Fix for Firefox versions 27 and below
145 | @include breakpoint(mobile-only) {
146 | @supports not (flex-wrap: wrap) {
147 | .grid {
148 | display: block;
149 | @include flex-wrap(inherit);
150 | }
151 | .block {
152 | display: block;
153 | @include flex(inherit);
154 | }
155 | }
156 | }
157 |
158 | // Reordering
159 | .first-block {
160 | -webkit-box-ordinal-group: 0;
161 | -webkit-order: -1;
162 | -ms-flex-order: -1;
163 | order: -1;
164 | }
165 |
166 | .last-block {
167 | -webkit-box-ordinal-group: 2;
168 | -webkit-order: 1;
169 | -ms-flex-order: 1;
170 | order: 1;
171 | }
172 |
173 | // Fixed Grid Style
174 | .fixed-blocks {
175 | @include flex-flow(row wrap);
176 | .block {
177 | @include flex(inherit);
178 | width: $fixed-block-full;
179 | @include breakpoint(desktop-range) {
180 | width: $fixed-block-desktop;
181 | }
182 | @include breakpoint(tablet-range) {
183 | width: $fixed-block-tablet;
184 | }
185 | @include breakpoint(mobile-only) {
186 | width: 100%;
187 | }
188 | }
189 | }
190 |
191 | // Fix for browsers that don't support flex-wrap
192 | @supports not (flex-wrap: wrap) {
193 | .fixed-blocks {
194 | display: block;
195 | @include flex-flow(inherit);
196 | }
197 | }
--------------------------------------------------------------------------------
/scss/nucleus/_forms.scss:
--------------------------------------------------------------------------------
1 | fieldset {
2 | border: 0;
3 | padding: $content-padding;
4 | margin: 0 0 $leading-margin 0;
5 | }
6 |
7 | input,
8 | label,
9 | select {
10 | display: block;
11 | }
12 |
13 | label {
14 | margin-bottom: $leading-margin / 4;
15 |
16 | &.required:after {
17 | content: "*";
18 | }
19 |
20 | abbr {
21 | display: none;
22 | }
23 | }
24 |
25 | textarea, #{$all-text-inputs}, select[multiple=multiple] {
26 | @include transition(border-color);
27 | border-radius: $core-border-radius;
28 | margin-bottom: $leading-margin / 2;
29 | padding: ($leading-margin / 4) ($leading-margin / 4);
30 | width: 100%;
31 |
32 | &:focus {
33 | outline: none;
34 | }
35 | }
36 |
37 | textarea {
38 | resize: vertical;
39 | }
40 |
41 | input[type="checkbox"], input[type="radio"] {
42 | display: inline;
43 | margin-right: $leading-margin / 4;
44 | }
45 |
46 | input[type="file"] {
47 | width: 100%;
48 | }
49 |
50 | select {
51 | width: auto;
52 | max-width: 100%;
53 | margin-bottom: $leading-margin;
54 | }
55 |
56 | button,
57 | input[type="submit"] {
58 | cursor: pointer;
59 | user-select: none;
60 | vertical-align: middle;
61 | white-space: nowrap;
62 | border: inherit;
63 | }
--------------------------------------------------------------------------------
/scss/nucleus/_typography.scss:
--------------------------------------------------------------------------------
1 | // Body Base
2 | body {
3 | font-size: $core-font-size;
4 | line-height: $core-line-height;
5 | }
6 |
7 | // Headings
8 | h1, h2, h3, h4, h5, h6 {
9 | margin: $leading-margin / 2 0 $leading-margin 0;
10 | text-rendering: optimizeLegibility;
11 | }
12 |
13 | h1 {
14 | font-size: $h1-font-size;
15 | }
16 |
17 | h2 {
18 | font-size: $h2-font-size;
19 | }
20 |
21 | h3 {
22 | font-size: $h3-font-size;
23 | }
24 |
25 | h4 {
26 | font-size: $h4-font-size;
27 | }
28 |
29 | h5 {
30 | font-size: $h5-font-size;
31 | }
32 |
33 | h6 {
34 | font-size: $h6-font-size;
35 | }
36 |
37 | // Paragraph
38 | p {
39 | margin: $leading-margin 0;
40 | }
41 |
42 | // Lists
43 | ul, ol {
44 | margin-top: $leading-margin;
45 | margin-bottom: $leading-margin;
46 | ul, ol {
47 | margin-top: 0;
48 | margin-bottom: 0;
49 | }
50 | }
51 |
52 | // Blockquote
53 | blockquote {
54 | margin: $leading-margin 0;
55 | padding-left: $leading-margin / 2;
56 | }
57 |
58 | cite {
59 | display: block;
60 | font-size: $core-font-size - 0.125;
61 | &:before {
62 | content: "\2014 \0020";
63 | }
64 | }
65 |
66 | // Inline and Code
67 | pre {
68 | margin: $leading-margin 0;
69 | padding: $content-padding;
70 | }
71 |
72 | code {
73 | vertical-align: bottom;
74 | }
75 |
76 | // Extras
77 | small {
78 | font-size: $core-font-size - 0.125;
79 | }
80 |
81 | hr {
82 | border-left: none;
83 | border-right: none;
84 | border-top: none;
85 | margin: $leading-margin 0;
86 | }
87 |
--------------------------------------------------------------------------------
/scss/nucleus/functions/_base.scss:
--------------------------------------------------------------------------------
1 | @import "direction";
2 | @import "range";
--------------------------------------------------------------------------------
/scss/nucleus/functions/_direction.scss:
--------------------------------------------------------------------------------
1 | @function opposite-direction($dir) {
2 | @if $dir == 'left' {
3 | @return right;
4 | }
5 | @else if $dir == 'right' {
6 | @return left;
7 | }
8 | @else if $dir == 'ltr' {
9 | @return rtl;
10 | }
11 | @else if $dir == 'rtl' {
12 | @return ltr;
13 | }
14 | @else if $dir == 'top' {
15 | @return bottom;
16 | }
17 | @else if $dir == 'bottom' {
18 | @return top;
19 | }
20 | @else {
21 | @warn "#{$dir} is not a direction! Make sure your direction is all lowercase!";
22 | @return false;
23 | }
24 | }
25 |
26 | @function named-direction($dir) {
27 | @if $dir == 'ltr' {
28 | @return left;
29 | }
30 | @else if $dir == 'rtl' {
31 | @return right;
32 | }
33 | @else {
34 | @warn "#{$dir} is not a valid HTML direction! Make sure you are using a valid HTML direction";
35 | @return false;
36 | }
37 | }
--------------------------------------------------------------------------------
/scss/nucleus/functions/_range.scss:
--------------------------------------------------------------------------------
1 | @function lower-bound($range){
2 | @if length($range) <= 0 {
3 | @return 0;
4 | }
5 | @return nth($range,1);
6 | }
7 |
8 | @function upper-bound($range) {
9 | @if length($range) < 2 {
10 | @return 999999999999;
11 | }
12 | @return nth($range, 2);
13 | }
--------------------------------------------------------------------------------
/scss/nucleus/mixins/_base.scss:
--------------------------------------------------------------------------------
1 | @import "breakpoints";
2 | @import "utilities";
--------------------------------------------------------------------------------
/scss/nucleus/mixins/_breakpoints.scss:
--------------------------------------------------------------------------------
1 | // Breakpoints
2 | @mixin breakpoint($breakpoints, $media: all) {
3 | @each $breakpoint in $breakpoints {
4 | @if $breakpoint == large-desktop-range {
5 | @media only #{$media} and (min-width: $large-desktop-container) { @content; }
6 | }
7 | @else if $breakpoint == desktop-range {
8 | @media only #{$media} and (min-width: $desktop-container) and (max-width: $large-desktop-container - 0.062) { @content; }
9 | }
10 | @else if $breakpoint == tablet-range {
11 | @media only #{$media} and (min-width: $tablet-container) and (max-width: $desktop-container - 0.062) { @content; }
12 | }
13 | @else if $breakpoint == large-mobile-range {
14 | @media only #{$media} and (min-width: $large-mobile-container + 0.063) and (max-width: $tablet-container - 0.062) { @content; }
15 | }
16 | @else if $breakpoint == small-mobile-range {
17 | @media only #{$media} and (max-width: $large-mobile-container) { @content; }
18 | }
19 | @else if $breakpoint == no-mobile {
20 | @media only #{$media} and (min-width: $tablet-container) { @content; }
21 | }
22 | @else if $breakpoint == mobile-only {
23 | @media only #{$media} and (max-width: $tablet-container - 0.062) { @content; }
24 | }
25 | @else if $breakpoint == desktop-only {
26 | @media only #{$media} and (max-width: $desktop-container - 0.062) { @content; }
27 | }
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/scss/nucleus/mixins/_utilities.scss:
--------------------------------------------------------------------------------
1 |
2 |
3 | // List Reset
4 | %list-reset {
5 | margin: 0;
6 | padding: 0;
7 | list-style: none;
8 | }
9 |
10 | // Vertical Centering
11 | %vertical-align {
12 | position: relative;
13 | top: 50%;
14 | -webkit-transform: translateY(-50%);
15 | -moz-transform: translateY(-50%);
16 | -o-transform: translateY(-50%);
17 | -ms-transform: translateY(-50%);
18 | transform: translateY(-50%);
19 | }
20 |
21 | // Columns
22 | @mixin columns($columns) {
23 | width: percentage(1/$columns);
24 | }
25 |
26 | // Float with margin variable
27 | @mixin float($direction, $margin: 0) {
28 | float: $direction;
29 | margin-#{opposite-direction($direction)}: $margin;
30 | }
31 |
--------------------------------------------------------------------------------
/scss/nucleus/particles/_align-text.scss:
--------------------------------------------------------------------------------
1 | // Alignment Classes
2 | $align-class-names:
3 | large-desktop,
4 | desktop,
5 | tablet,
6 | large-mobile,
7 | small-mobile,
8 | no-mobile,
9 | mobile-only;
10 |
11 | // Breakpoints
12 | $align-class-breakpoints:
13 | $large-desktop-range,
14 | $desktop-range,
15 | $tablet-range,
16 | $large-mobile-range,
17 | $small-mobile-range,
18 | $no-mobile,
19 | $mobile-only;
20 |
21 | // Create Responsive Alignment Classes
22 | @mixin align-classes{
23 | .text-left {
24 | text-align: left !important;
25 | }
26 | .text-right {
27 | text-align: right !important;
28 | }
29 | .text-center {
30 | text-align: center !important;
31 | }
32 | .text-justify {
33 | text-align: justify !important;
34 | }
35 |
36 | @for $i from 1 through length($align-class-names) {
37 | @media #{(nth($align-class-breakpoints, $i))} {
38 | .#{(nth($align-class-names, $i))}-text-left { text-align: left !important; }
39 | .#{(nth($align-class-names, $i))}-text-right { text-align: right !important; }
40 | .#{(nth($align-class-names, $i))}-text-center { text-align: center !important; }
41 | .#{(nth($align-class-names, $i))}-text-justify { text-align: justify !important; }
42 | }
43 | }
44 | }
45 |
46 | @include align-classes;
--------------------------------------------------------------------------------
/scss/nucleus/particles/_visibility.scss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/getgrav/grav-theme-antimatter/275d646f009be13e83373eb5a7e5005b74aade31/scss/nucleus/particles/_visibility.scss
--------------------------------------------------------------------------------
/scss/particles.scss:
--------------------------------------------------------------------------------
1 | // REQUIRED DEPENDENCIES - DO NOT CHANGE
2 |
3 | // Load Third Party Libraries
4 | @import "vendor/bourbon/bourbon";
5 |
6 | // Load Nucleus Configuration
7 | @import "configuration/nucleus/base";
8 |
9 | // Load Template Configuration
10 | @import "configuration/template/base";
11 |
12 | // Load Nucleus Mixins and Functions
13 | @import "nucleus/functions/base";
14 | @import "nucleus/mixins/base";
15 |
16 | //-------------------------------------------
17 |
18 | // LOAD PARTICLES
19 |
20 | // Text Alignment Classes
21 | @import "nucleus/particles/align-text";
22 |
23 | // Show and Hide Based on Screen Size
24 | @import "nucleus/particles/visibility";
--------------------------------------------------------------------------------
/scss/template.scss:
--------------------------------------------------------------------------------
1 | // REQUIRED DEPENDENCIES - DO NOT CHANGE
2 |
3 | // Load Third Party Libraries
4 | @import "vendor/bourbon/bourbon";
5 |
6 | // Load Nucleus Configuration
7 | @import "configuration/nucleus/base";
8 |
9 | // Load Template Configuration
10 | @import "configuration/template/base";
11 |
12 | // Load Nucleus Mixins and Functions
13 | @import "nucleus/functions/base";
14 | @import "nucleus/mixins/base";
15 |
16 | // Load Template Library
17 | @import "template/modules/base";
18 |
19 | //-------------------------------------------
20 |
21 | // TEMPLATE COMPONENTS
22 |
23 | // Core
24 | @import "template/core";
25 | @import "template/fonts";
26 |
27 | // Extensions
28 | @import "template/extensions";
29 |
30 | // Header
31 | @import "template/header";
32 |
33 | // Footer
34 | @import "template/footer";
35 |
36 | // Typography
37 | @import "template/typography";
38 |
39 | // Forms
40 | @import "template/forms";
41 |
42 | // Tables
43 | @import "template/tables";
44 |
45 | // Buttons
46 | @import "template/buttons";
47 |
48 | // Bullets
49 | @import "template/bullets";
50 |
51 | // Pushy Panel
52 | @import "template/panel";
53 |
54 | // Blog
55 | @import "template/blog";
56 |
57 | // Errors
58 | @import "template/errors";
59 |
60 | // SimpleSearch
61 | @import "template/simplesearch";
62 |
63 | // Custom
64 | @import "template/custom";
65 |
66 | // Modular
67 | @import "template/modular/all";
68 |
--------------------------------------------------------------------------------
/scss/template/_blog.scss:
--------------------------------------------------------------------------------
1 | .blog-header {
2 |
3 | padding-top: 2rem;
4 | padding-bottom: 2rem;
5 |
6 | &.blog-header-image {
7 | background-size: cover;
8 | background-position: center;
9 |
10 | h1, h2 {
11 | color: $header-text;
12 | }
13 |
14 | }
15 |
16 | h1 {
17 | font-size: 4rem;
18 | margin-top: 0;
19 | @include breakpoint(tablet-range) {
20 | font-size: 3rem;
21 | }
22 | @include breakpoint(mobile-only) {
23 | font-size: 2.5rem;
24 | line-height: 1.2;
25 | margin-bottom: 2.5rem;
26 | }
27 | }
28 |
29 | & + .blog-content {
30 | padding-top: $padding-vert;
31 | }
32 | }
33 |
34 | // List Blog Item
35 | .list-item {
36 |
37 | border-bottom: 1px solid $border-color;
38 | margin-bottom: $padding-vert;
39 |
40 | &:last-child {
41 | border-bottom: 0;
42 | }
43 |
44 | .list-blog-header {
45 | position: relative;
46 | h4 {
47 |
48 | margin-bottom: 0.5rem;
49 | a {
50 | color: $core-text;
51 | &:hover {
52 | color: $core-accent;
53 | }
54 | }
55 | }
56 |
57 | img {
58 | display: block;
59 | margin-top: 1rem;
60 | border-radius: $border-radius;
61 | }
62 | }
63 |
64 | .list-blog-date {
65 | float: right;
66 | text-align: center;
67 | span {
68 | display: block;
69 | font-size: 1.75rem;
70 | font-weight: $font-weight-bold;
71 | line-height: 110%;
72 | }
73 | em {
74 | display: block;
75 | border-top: 1px solid $border-color;
76 | font-style: normal;
77 | text-transform: uppercase;
78 | }
79 | }
80 | }
81 |
82 | // Bigger first para
83 | .blog-content-item {
84 | .list-blog-padding > p:nth-child(2) {
85 | font-size: $core-font-size + 0.2rem;
86 | }
87 | }
88 |
89 | // Tags
90 | .tags {
91 | a {
92 | display: inline-block;
93 | font-size: $core-font-size - 0.2rem;
94 | border: 1px solid $core-accent;
95 | border-radius: $border-radius;
96 | padding: 0.1rem 0.4rem;
97 | margin-bottom: 0.2rem;
98 | text-transform: uppercase;
99 | }
100 | }
101 |
102 | // Archives & Related-Pages
103 | .archives, .related-pages {
104 | padding: 0;
105 | list-style: none;
106 | li {
107 | border-bottom: 1px solid $border-color;
108 | line-height: $core-font-size + 1rem;
109 | &:last-child {
110 | border-bottom: 0;
111 | }
112 | }
113 | }
114 |
115 | .related-pages {
116 | li {
117 | a {
118 | display: block;
119 | }
120 | }
121 | .score {
122 | display: block;
123 | float: right;
124 | color: #999;
125 | font-size: 85%
126 | }
127 | }
128 |
129 | // Syndicate
130 | .syndicate {
131 | a {
132 | margin-bottom: 1rem;
133 | }
134 | }
135 |
136 | // Breadcrumbs
137 | div#breadcrumbs {
138 | padding-left: 0;
139 | @include breakpoint(mobile-only) {
140 | display: none;
141 | }
142 | }
143 |
144 | // Sidebar
145 | #sidebar {
146 | padding-left: 3rem;
147 | @include breakpoint(mobile-only) {
148 | padding-left: 0;
149 | }
150 | .sidebar-content {
151 | h4 {
152 | margin-bottom: 1rem;
153 | }
154 | p, ul {
155 | margin-top: 1rem;
156 | }
157 | margin-bottom: $padding-vert;
158 | }
159 | }
160 |
161 | // Pagination
162 | ul.pagination {
163 | margin: 0 0 $padding-vert;
164 | text-align: center;
165 | }
166 |
167 | // Prev / Next
168 | .prev-next {
169 | margin-top: 5rem;
170 | text-align: center;
171 | }
172 |
--------------------------------------------------------------------------------
/scss/template/_bullets.scss:
--------------------------------------------------------------------------------
1 | .bullets {
2 | margin: $leading-margin 0;
3 | margin-left: -$leading-margin / 2;
4 | margin-right: -$leading-margin / 2;
5 | overflow: auto;
6 | }
7 |
8 | .bullet {
9 | float: left;
10 | padding: 0 $leading-margin / 2;
11 | }
12 |
13 | .two-column-bullet {
14 | @include columns(2);
15 | @include breakpoint(mobile-only) {
16 | @include columns(1);
17 | }
18 | }
19 |
20 | .three-column-bullet {
21 | @include columns(3);
22 | @include breakpoint(mobile-only) {
23 | @include columns(1);
24 | }
25 | }
26 |
27 | .four-column-bullet {
28 | @include columns(4);
29 | @include breakpoint(mobile-only) {
30 | @include columns(1);
31 | }
32 | }
33 |
34 | .bullet-icon {
35 | float: left;
36 | background: $bullet-icon-color-1;
37 | padding: $bullet-icon-size / 4;
38 | width: $bullet-icon-size;
39 | height: $bullet-icon-size;
40 | border-radius: 50%;
41 | color: $white;
42 | font-size: $bullet-icon-size / 2;
43 | text-align: center;
44 | }
45 |
46 | .bullet-icon-1 {
47 | background: $bullet-icon-color-1;
48 | }
49 |
50 | .bullet-icon-2 {
51 | background: $bullet-icon-color-2;
52 | }
53 |
54 | .bullet-icon-3 {
55 | background: $bullet-icon-color-3;
56 | }
57 |
58 | .bullet-content {
59 | margin-left: $bullet-icon-size * 1.3;
60 | }
--------------------------------------------------------------------------------
/scss/template/_buttons.scss:
--------------------------------------------------------------------------------
1 | .button {
2 | @extend %button;
3 | @include button-color($core-accent);
4 | }
5 |
6 | .button-secondary {
7 | @extend %button;
8 | @include button-color($secondary-link);
9 | }
--------------------------------------------------------------------------------
/scss/template/_core.scss:
--------------------------------------------------------------------------------
1 | html, body {
2 | height: 100%; // use !important to override slidebars.min.css
3 | }
4 |
5 | body {
6 | background: $page-bg;
7 | color: $core-text;
8 | -webkit-font-smoothing: antialiased;
9 | -moz-osx-font-smoothing: grayscale;
10 | }
11 |
12 | a {
13 | color: $core-accent;
14 | &:hover {
15 | color: darken($core-accent, 20%);
16 | }
17 | }
18 |
19 | b, strong {
20 | font-weight: $font-weight-bold
21 | }
22 |
23 | // Global Container
24 | #container {
25 | min-height: 100%;
26 | position: relative;
27 | }
28 |
29 | // Fullwidth styles
30 | .fullwidth {
31 | #body {
32 | padding-left: 0;
33 | padding-right: 0;
34 | }
35 | #header, #breadcrumbs, .blog-header, .blog-content-item, .content-wrapper, ul.pagination, #body > .modular-row {
36 | @extend .padding-horiz;
37 | }
38 | }
39 |
40 | // Global body styling
41 | #body {
42 | @extend .default-animation;
43 | @extend .padding-horiz;
44 |
45 | background: $page-bg;
46 | padding-top: $header-height + $padding-vert;
47 | padding-bottom: $footer-height + $padding-vert + 2rem;
48 | }
49 |
50 | // Alignment
51 | .left {
52 | float: left;
53 | }
54 |
55 | .right {
56 | float: right;
57 | }
58 |
59 |
--------------------------------------------------------------------------------
/scss/template/_custom.scss:
--------------------------------------------------------------------------------
1 | // Your custom SCSS should be written here...
2 |
3 | .grav-lightslider {
4 | .lSSlideOuter {
5 | .lSPager.lSpg {
6 | > li a {
7 | z-index: 1;
8 | }
9 | }
10 | }
11 | }
12 |
13 | #body > script:first-child + .grav-lightslider {
14 | margin-top: -3rem;
15 | }
--------------------------------------------------------------------------------
/scss/template/_errors.scss:
--------------------------------------------------------------------------------
1 | // Error specific styling
2 | #error {
3 | text-align: center;
4 | display: flex;
5 | align-items: center;
6 | justify-content: center;
7 | height: 100%;
8 | padding-bottom: 6rem;
9 |
10 | h1 {
11 | font-size: $core-font-size + 4.0rem;
12 | }
13 |
14 | p {
15 | margin: 1rem 0;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/scss/template/_extensions.scss:
--------------------------------------------------------------------------------
1 | .default-animation {
2 | @include transition(all 0.5s ease);
3 | }
4 |
5 | .padding-horiz {
6 | padding-left: $padding-horiz;
7 | padding-right: $padding-horiz;
8 | @include breakpoint(desktop-only) {
9 | padding-left: $padding-horiz - 3rem;
10 | padding-right: $padding-horiz - 3rem;
11 | }
12 |
13 | @include breakpoint(mobile-only) {
14 | padding-left: $padding-horiz - 6rem;
15 | padding-right: $padding-horiz - 6rem;
16 | }
17 | }
18 |
19 | .padding-vert {
20 | padding-top: $padding-vert;
21 | padding-bottom: $padding-vert;
22 | }
23 |
--------------------------------------------------------------------------------
/scss/template/_fonts.scss:
--------------------------------------------------------------------------------
1 | // Import Google Web Fonts
2 | @import url(//fonts.googleapis.com/css?family=Montserrat:400|Raleway:300,400,600|Inconsolata);
3 |
4 |
--------------------------------------------------------------------------------
/scss/template/_footer.scss:
--------------------------------------------------------------------------------
1 | // Footer styling
2 | #footer {
3 | position: absolute;
4 | background: $footer-bg;
5 | height: $footer-height;
6 | right: 0;
7 | bottom: 0;
8 | left: 0;
9 | @extend .padding-horiz;
10 | color: $footer-text;
11 | text-align: center;
12 |
13 | a:hover {
14 | color: #fff;
15 | }
16 |
17 | .totop {
18 | position: absolute;
19 | bottom: $footer-height - 1rem;
20 | text-align: center;
21 | left: 0;
22 | right: 0;
23 | span {
24 | font-size: 1.7rem;
25 | line-height: 2.5rem;
26 | background: $footer-bg;
27 | width: 3rem;
28 | height: 2rem;
29 | border-radius: $border-radius;
30 | display: inline-block;
31 | text-align: top;
32 | }
33 | }
34 |
35 | p {
36 | @extend %vertical-align;
37 | margin: 0;
38 | .fa {
39 | color: #fff;
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/scss/template/_forms.scss:
--------------------------------------------------------------------------------
1 | fieldset {
2 | border: 1px solid $core-border-color;
3 | }
4 |
5 | textarea, #{$all-text-inputs}, select[multiple=multiple] {
6 | background-color: white;
7 | border: 1px solid $core-border-color;
8 | box-shadow: $core-box-shadow;
9 |
10 | &:hover {
11 | border-color: $core-border-color-hover;
12 | }
13 |
14 | &:focus {
15 | border-color: $core-border-color-focus;
16 | box-shadow: $core-box-shadow-focus;
17 | }
18 | }
19 |
20 | label {
21 | @extend strong;
22 | }
23 |
24 | // Forms
25 | .form-field {
26 | .required {
27 | color: #F3443F;
28 | font-size: $core-font-size + 2rem;
29 | line-height: $core-font-size + 2rem;
30 | vertical-align: top;
31 | height: 1.5rem;
32 | display: inline-block;
33 | }
34 | }
35 |
36 | form {
37 | .buttons {
38 | text-align: center;
39 | }
40 | input {
41 | font-weight: 400;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/scss/template/_header.scss:
--------------------------------------------------------------------------------
1 | // Header styling
2 | $dropdown-color: #f6f6f6;
3 |
4 | #header {
5 | @extend .default-animation;
6 | @extend .padding-horiz;
7 | position: fixed;
8 | z-index: 10;
9 | width: 100%;
10 | height: $header-height;
11 | background-color: rgba(255,255,255,0.90);
12 | box-shadow: 0 0.05rem 1rem rgba(0,0,0, 0.15);
13 |
14 | // scroll based changes
15 | &.scrolled {
16 | height: $header-height - 2rem;
17 | background-color: rgba(255,255,255,0.90) !important;
18 | box-shadow: 0 0.05rem 1rem rgba(0,0,0, 0.15) !important;
19 |
20 | #logo h3 {
21 | color: $core-text !important;
22 | font-size: 1.6rem !important;
23 | }
24 | #logo a, #navbar span {
25 | color: $core-text !important;
26 | }
27 | #navbar a {
28 | color: $core-accent !important;
29 | &:hover {
30 | color: darken($core-accent, 20%) !important;
31 | }
32 | }
33 | #navbar a:before, #navbar a:after {
34 | background-color: $core-accent !important;
35 | }
36 |
37 | .navigation {
38 | margin-top: 0.5rem !important;
39 | }
40 | }
41 |
42 | // set heights for vertical centering
43 | > .grid, #logo, #navbar {
44 | height: 100%;
45 | }
46 |
47 | #logo {
48 | float: left;
49 | h3 {
50 | @extend .default-animation;
51 | @extend %vertical-align;
52 | font-size: 2rem;
53 | line-height: 2rem;
54 | margin: 0;
55 | text-transform: uppercase;
56 | a {
57 | color: $core-text;
58 | }
59 | }
60 | }
61 |
62 | #navbar {
63 | font-size: $core-font-size - 0.1rem;
64 |
65 | /* Child Indicator */
66 | .has-children {
67 |
68 | & > a {
69 | & > span {
70 | display: inline-block;
71 | padding-right: 8px;
72 |
73 | &:after {
74 | font-family: FontAwesome;
75 | content: '\f107';
76 | position: absolute;
77 | display: inline-block;
78 | right: 8px;
79 | top: 4px;
80 | }
81 | }
82 | &:after, &:before {
83 | display: none;
84 | }
85 | }
86 |
87 | & .has-children > a > span:after {
88 | content: '\f105';
89 | }
90 | }
91 |
92 | .navigation > .has-children:hover > a {
93 | background: $dropdown-color;
94 | border: 1px solid darken($dropdown-color, 4%);
95 | border-bottom-color: $dropdown-color;
96 | margin: -1px -1px 0 -1px;
97 | z-index: 1000;
98 | position: relative;
99 | padding-bottom: 1px;
100 | }
101 |
102 | ul {
103 |
104 | margin: 0;
105 | padding: 0;
106 | list-style: none;
107 |
108 | &.navigation {
109 | display: inline-block;
110 | float: right;
111 | @extend .default-animation;
112 |
113 | margin-top: 1.4rem;
114 |
115 | li {
116 | float: left;
117 | position: relative;
118 |
119 | a {
120 | font-family: $font-family-header;
121 | display: inline-block;
122 | padding: 0.3rem 0.8rem;
123 |
124 | -webkit-backface-visibility: hidden;
125 |
126 |
127 | &:before, &:after {
128 | content: "";
129 | position: absolute;
130 | width: 100%;
131 | height: 1px;
132 | bottom: 0;
133 | left: 0;
134 | background-color: $core-accent;
135 | visibility: hidden;
136 | @include transform(scaleX(0));
137 | @include transition(all 0.2s ease);
138 |
139 | }
140 |
141 | &:hover:before {
142 | visibility: visible;
143 | @include transform(scaleX(0.75));
144 | }
145 |
146 | &.active:after {
147 | top: 0;
148 | visibility: visible;
149 | @include transform(scaleX(0.75));
150 | }
151 | }
152 |
153 | &.active {
154 | a:after {
155 | top: 0;
156 | visibility: visible;
157 | @include transform(scaleX(0.75));
158 | }
159 | }
160 |
161 | /*Active dropdown nav item */
162 | ul {
163 | position: absolute;
164 | background-color: $dropdown-color;
165 | border: 1px solid darken($dropdown-color, 4%);
166 | border-top: 0;
167 | min-width: 12rem;
168 | text-align: left;
169 | z-index: 999;
170 | left: -1px;
171 | display: none;
172 | }
173 |
174 | ul li {
175 | display: block;
176 | float: none;
177 |
178 | /* Active Dropdown nav item */
179 | &.active > a {
180 | background-color: darken($dropdown-color, 4%);
181 | color: $core-accent;
182 | }
183 |
184 | &:hover > a {
185 | background-color: $core-accent;
186 | color: $white;
187 | }
188 |
189 | a {
190 | display: block;
191 | margin: 0 -1px;
192 |
193 | &:after, &:before {
194 | display: none;
195 | }
196 | }
197 | }
198 |
199 | /* Dropdown CSS */
200 | ul ul {
201 | left: 100%;
202 | top: 0px;
203 | }
204 |
205 | /* Active on Hover */
206 | &:hover > ul {
207 | display: block;
208 | }
209 |
210 | }
211 | @include breakpoint(desktop-only) {
212 | display: none;
213 | }
214 | }
215 | }
216 |
217 | .panel-activation {
218 | @extend %vertical-align;
219 | padding: 1rem;
220 | display: none;
221 | font-size: 1.8rem;
222 | cursor: pointer;
223 | float: right;
224 | @include breakpoint(desktop-only) {
225 | display: inline-block;
226 | }
227 | }
228 |
229 | }
230 |
231 | }
232 |
233 | // Header Image
234 | .header-image {
235 | &.fullwidth {
236 | #body {
237 | padding-left: 0;
238 | padding-right: 0;
239 |
240 | >.listing-row {
241 | padding-left: $padding-horiz;
242 | padding-right: $padding-horiz;
243 | }
244 | }
245 | }
246 | .listing-row:last-child {
247 | margin-bottom: 2rem;
248 | }
249 |
250 | #body {
251 | .flush-top {
252 | margin-top: - $header-height - $padding-vert - 1.5rem;
253 | padding-top: $header-height + 4rem;
254 | }
255 | }
256 |
257 | #breadcrumbs {
258 | margin-top: 1rem;
259 | }
260 |
261 | #header {
262 | background-color: rgba($header-text,0);
263 | box-shadow: none;
264 |
265 | .navigation .has-children:hover a {
266 | color: $core-accent;
267 | }
268 |
269 | #logo h3, #logo a {
270 | color: $header-text;
271 | }
272 | a, .menu-btn {
273 | color: $header-text;
274 | }
275 | a:before, a:after {
276 | background-color: rgba($header-text,0.7) !important;
277 | }
278 |
279 | }
280 | }
281 |
--------------------------------------------------------------------------------
/scss/template/_panel.scss:
--------------------------------------------------------------------------------
1 | $sidebar-color: #333;
2 | $panel-padding: 1rem;
3 | $panel-text: #ddd;
4 |
5 | .sb-slidebar {
6 | background-color: $sidebar-color !important;
7 | }
8 |
9 | #panel {
10 | padding-top: $panel-padding;
11 | color: $panel-text;
12 | .navigation {
13 | list-style: none;
14 | padding: 0;
15 |
16 | li {
17 | a {
18 | color: $panel-text;
19 | display: block;
20 | padding: 0.5rem 1rem;
21 | font-weight: 600;
22 |
23 | &:hover {
24 | color: lighten($panel-text,20%);
25 | background-color: darken($sidebar-color,5%);
26 | }
27 |
28 | &:last-child {
29 | border-bottom: 0;
30 | }
31 | }
32 |
33 | &.active {
34 | & > a {
35 | background: #fff;
36 | color: $core-text;
37 | &:hover {
38 | color: $core-text;
39 | }
40 | }
41 | }
42 | border-bottom: 1px solid lighten($sidebar-color,4%);
43 | &:first-child {
44 | border-top: 1px solid lighten($sidebar-color,4%);
45 | }
46 |
47 | ul {
48 | list-style: none;
49 | padding: 0;
50 |
51 | li {
52 | border: 0 !important;
53 | a {
54 | color: darken($panel-text, 10%);
55 | padding: 0.2rem 1rem 0.2rem 2rem;
56 | font-size: 0.9rem;
57 | }
58 | li a {
59 | padding-left: 3rem;
60 | li a {
61 | padding-left: 4rem;
62 | }
63 | }
64 | &.active {
65 | & > a {
66 | background: #ccc;
67 | }
68 | }
69 | }
70 | }
71 | }
72 | }
73 | }
74 |
75 |
--------------------------------------------------------------------------------
/scss/template/_simplesearch.scss:
--------------------------------------------------------------------------------
1 | .simplesearch {
2 |
3 | h1 {
4 | margin-bottom: 0;
5 | }
6 |
7 | .center {
8 | text-align: center;
9 | }
10 |
11 |
12 | input {
13 | display: inline-block;
14 | max-width: 30rem;
15 | font-size: 2rem;
16 | }
17 |
18 | .search-image {
19 | margin-top: 1rem;
20 | img {
21 | border-radius: 4px;
22 |
23 | @include breakpoint(mobile-only) {
24 | display: none;
25 | }
26 | }
27 | }
28 |
29 | .search-item {
30 | @include breakpoint(mobile-only) {
31 | margin-left: 0;
32 | }
33 | }
34 |
35 | .search-wrapper {
36 | .search-submit {
37 | height: 52px;
38 | padding: 0 10px;
39 | img {
40 | width: 30px;
41 | }
42 | }
43 | }
44 |
45 |
46 | .search-details {
47 | float: right;
48 | margin-top: -2.5rem;
49 | font-weight: bold;
50 | font-size: 1rem;
51 | color: lighten($core-text,20%);
52 |
53 | @include breakpoint(mobile-only) {
54 | float: none;
55 | margin-top: -0.2rem;
56 | margin-bottom: 1rem;
57 | }
58 | }
59 |
60 | hr {
61 | border-bottom: 1px solid #eee;
62 | }
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/scss/template/_tables.scss:
--------------------------------------------------------------------------------
1 | table {
2 | border: 1px solid lighten($core-border-color,5%);
3 | table-layout: auto;
4 | }
5 |
6 | th {
7 | @extend strong;
8 | background: lighten($core-border-color,10%);
9 | padding: 0.5rem;
10 | }
11 |
12 | td {
13 | padding: 0.5rem;
14 | border: 1px solid lighten($core-border-color,5%);
15 | }
16 |
--------------------------------------------------------------------------------
/scss/template/_typography.scss:
--------------------------------------------------------------------------------
1 | // Body Base
2 | html, body, button, input, select, textarea, .pure-g, .pure-g [class *= "pure-u"] {
3 | font-family: $font-family-default;
4 | font-weight: 400;
5 | }
6 |
7 | // Headings
8 | h1, h2, h3, h4, h5, h6 {
9 | font-family: $font-family-header;
10 | font-weight: 400;
11 | text-rendering: optimizeLegibility;
12 | letter-spacing: -0px;
13 | }
14 |
15 | h1 {
16 | font-size: $h1-font-size;
17 | @include breakpoint(mobile-only) {
18 | font-size: 2.5rem;
19 | line-height: 1.2;
20 | margin-bottom: 2.5rem;
21 | }
22 | }
23 |
24 | h2 {
25 | @include breakpoint(tablet-range) {
26 | font-size: $h2-font-size - .40;
27 | }
28 | @include breakpoint(mobile-only) {
29 | font-size: $h2-font-size - .50;
30 | }
31 | }
32 |
33 | h3 {
34 | @include breakpoint(tablet-range) {
35 | font-size: $h3-font-size - .40;
36 | }
37 | @include breakpoint(mobile-only) {
38 | font-size: $h3-font-size - .50;
39 | }
40 | }
41 |
42 | h4 {
43 | @include breakpoint(tablet-range) {
44 | font-size: $h4-font-size - .40;
45 | }
46 | @include breakpoint(mobile-only) {
47 | font-size: $h4-font-size - .50;
48 | }
49 | }
50 |
51 | h1 {
52 | text-align: center;
53 | letter-spacing: -3px;
54 | }
55 |
56 | h2 {
57 | letter-spacing: -2px;
58 | }
59 |
60 | h3 {
61 | letter-spacing: -1px;
62 | }
63 |
64 | h1 + h2 {
65 | margin: -2rem 0 2rem 0;
66 | font-size: 2rem;
67 | @include breakpoint(tablet-range) {
68 | font-size: 1.6rem;
69 | }
70 | @include breakpoint(mobile-only) {
71 | font-size: 1.5rem;
72 | }
73 | line-height: 1;
74 | text-align: center;
75 | font-family: $font-family-default;
76 | font-weight: 300;
77 | }
78 |
79 | h2 + h3 {
80 | margin: 0.5rem 0 2rem 0;
81 | font-size: 2rem;
82 | @include breakpoint(tablet-range) {
83 | font-size: 1.6rem;
84 | }
85 | @include breakpoint(mobile-only) {
86 | font-size: 1.5rem;
87 | }
88 | line-height: 1;
89 | text-align: center;
90 | font-family: $font-family-default;
91 | font-weight: 300;
92 | }
93 |
94 |
95 | // Blockquote
96 | blockquote {
97 | border-left: 10px solid $rule-color;
98 | p {
99 | font-size: 1.1rem;
100 | color: #999;
101 | }
102 | cite {
103 | display: block;
104 | text-align: right;
105 | color: #666;
106 | font-size: 1.2rem;
107 | }
108 | }
109 |
110 | // NOTES!!!!
111 | blockquote > blockquote > blockquote {
112 |
113 | margin: 0;
114 |
115 | p {
116 |
117 | padding: 15px;
118 | display: block;
119 | font-size: 1rem;
120 | margin-top: 0rem;
121 | margin-bottom: 0rem;
122 | }
123 |
124 | > p {
125 | // Yellow
126 | margin-left: -71px;
127 | border-left: 10px solid $notes-info-border;
128 | background: $notes-info-bg;
129 | color: darken($notes-info-border,15%);
130 | a {
131 | color: darken($notes-info-border,25%);
132 | &:hover {
133 | color: lighten($notes-info-border,5%);
134 | }
135 | }
136 | }
137 |
138 | > blockquote > p {
139 | // Red
140 | margin-left: -94px;
141 | border-left: 10px solid $notes-warning-border;
142 | background: $notes-warning-bg;
143 | color: darken($notes-warning-border,15%);
144 | a {
145 | color: darken($notes-warning-border,25%);
146 | &:hover {
147 | color: lighten($notes-warning-border,5%);
148 | }
149 | }
150 | }
151 |
152 | > blockquote > blockquote > p {
153 | // Blue
154 | margin-left: -118px;
155 | border-left: 10px solid $notes-note-border;
156 | background: $notes-note-bg;
157 | color: darken($notes-note-border,15%);
158 | a {
159 | color: darken($notes-note-border,25%);
160 | &:hover {
161 | color: lighten($notes-note-border,5%);
162 | }
163 | }
164 | }
165 |
166 | > blockquote > blockquote > blockquote > p {
167 | // Green
168 | margin-left: -142px;
169 | border-left: 10px solid $notes-success-border;
170 | background: $notes-success-bg;
171 | color: darken($notes-success-border,15%);
172 | a {
173 | color: darken($notes-success-border,25%);
174 | &:hover {
175 | color: lighten($notes-success-border,5%);
176 | }
177 | }
178 | }
179 |
180 | }
181 |
182 | // Inline and Code
183 | code,
184 | kbd,
185 | pre,
186 | samp {
187 | font-family: $font-family-mono;
188 | }
189 |
190 | code {
191 | background: $code-bg;
192 | color: darken($code-text,10%);
193 | }
194 |
195 | pre {
196 | padding: 2rem;
197 | background: $pre-bg;
198 | border: 1px solid $core-border-color;
199 | border-radius: 3px;
200 | code {
201 | color: $pre-text;
202 | background: inherit;
203 | }
204 | }
205 |
206 | // Extras
207 | hr {
208 | border-bottom: 4px solid $rule-color;
209 | }
210 |
211 | // Page Title
212 | .page-title {
213 | margin-top: -25px;
214 | padding: 25px;
215 | float: left;
216 | clear: both;
217 | background: $core-accent;
218 | color: $white;
219 | }
220 |
221 | // Label
222 | .label {
223 | vertical-align: middle;
224 | background: $core-accent;
225 | border-radius: 100%;
226 | color: $white;
227 | height: 1rem;
228 | min-width: 1rem;
229 | line-height: 1rem;
230 | display: inline-block;
231 | text-align: center;
232 | font-size: $core-font-size - 0.3rem;
233 | font-family: $font-family-header;
234 | margin-right: 0.75rem;
235 | }
236 |
237 |
--------------------------------------------------------------------------------
/scss/template/modular/_all.scss:
--------------------------------------------------------------------------------
1 | @import "showcase";
2 | @import "features";
3 | @import "text";
4 |
5 | .modular {
6 | .modular-row:last-child {
7 | margin-bottom: 2rem;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/scss/template/modular/_features.scss:
--------------------------------------------------------------------------------
1 | // Modular Showcase styling
2 | .modular {
3 | .features {
4 | padding: 6rem 0;
5 | text-align: center;
6 | @include clearfix;
7 |
8 | h2 {
9 | margin: 0;
10 | line-height: 100%;
11 | }
12 |
13 | p {
14 | margin: 1rem 0;
15 | font-size: $core-font-size + 0.2rem;
16 | @include breakpoint(mobile-only) {
17 | font-size: $core-font-size;
18 | }
19 | }
20 |
21 | .feature-items {
22 | margin-top: 2rem;
23 | @supports not (flex-wrap: wrap) {
24 | overflow: hidden;
25 | }
26 | }
27 |
28 | .feature {
29 | display:block;
30 | float: left;
31 | width: 25%;
32 | vertical-align: top;
33 | margin-top: 2rem;
34 | margin-bottom: 1rem;
35 | @include breakpoint(large-mobile-range) {
36 | margin-top: 1rem;
37 | width: 50%;
38 | }
39 | @include breakpoint(small-mobile-range) {
40 | margin-top: 1rem;
41 | width: 100%;
42 | }
43 |
44 | i.fa {
45 | font-size: 2rem;
46 | color: $core-accent;
47 | }
48 |
49 | h4 {
50 | margin: 0;
51 | font-size: 1.1rem;
52 | }
53 |
54 | p {
55 | display: inline-block;
56 | font-size: $core-font-size;
57 | margin: 0.2rem 0 1rem;
58 | }
59 | }
60 |
61 | &.big {
62 |
63 | text-align: center;
64 |
65 | .feature {
66 | width: 50%;
67 | @include breakpoint(small-mobile-range) {
68 | margin-top: 1rem;
69 | width: 100%;
70 | }
71 | }
72 |
73 | i.fa {
74 | font-size: 3rem;
75 | float: left;
76 | }
77 |
78 | .feature-content {
79 | padding-right: 2rem;
80 |
81 | &.icon-offset {
82 | margin-left: 5rem;
83 | }
84 |
85 | h4 {
86 | font-size: 1.3rem;
87 | text-align: left;
88 | }
89 |
90 | p {
91 | padding: 0;
92 | text-align: left;
93 | }
94 | }
95 | }
96 |
97 | }
98 |
99 | }
100 |
--------------------------------------------------------------------------------
/scss/template/modular/_showcase.scss:
--------------------------------------------------------------------------------
1 | // Modular Showcase styling
2 | .modular {
3 |
4 | // special case for header
5 | &.header-image {
6 |
7 | #header {
8 | background-color: rgba(255,255,255,0);
9 | box-shadow: none;
10 |
11 | #logo h3 {
12 | color: $header-text;
13 | }
14 | #navbar a {
15 | color: $header-text;
16 | }
17 | }
18 | }
19 |
20 | .showcase {
21 |
22 | padding-top: 4rem;
23 | padding-bottom: 4rem;
24 | background-color: #666;
25 | background-size: cover;
26 | background-position: center;
27 |
28 | text-align: center;
29 | color: $header-text;
30 | h1 {
31 | font-size: 4rem;
32 | margin-top: 0;
33 | @include breakpoint(tablet-range) {
34 | font-size: 3rem;
35 | }
36 | @include breakpoint(mobile-only) {
37 | font-size: 2.5rem;
38 | line-height: 1.2;
39 | margin-bottom: 2.5rem;
40 | }
41 | }
42 |
43 | .button {
44 | @extend .default-animation;
45 | color: $header-text;
46 | padding: 0.7rem 2rem;
47 | margin-top: 2rem;
48 | background: rgba(255,255,255,0);
49 | border: 1px solid $header-text;
50 | border-radius: $border-radius;
51 | box-shadow: none;
52 | font-size: $core-font-size + 0.3rem;
53 |
54 | &:hover {
55 | background: rgba(255,255,255,0.2);
56 | }
57 | }
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/scss/template/modular/_text.scss:
--------------------------------------------------------------------------------
1 | // variables
2 | $text-bg: #f6f6f6;
3 | $text-padding: 6rem;
4 | $image-margin: 2rem;
5 |
6 |
7 | // styling
8 | .callout {
9 | background: $text-bg;
10 | padding: $text-padding $content-padding;
11 | @include breakpoint(desktop-only) {
12 | text-align: center;
13 | }
14 |
15 | .align-left {
16 | float: left;
17 | margin-right: $image-margin;
18 | @include breakpoint(desktop-only) {
19 | float: none;
20 | margin-right: 0;
21 | }
22 | }
23 |
24 | .align-right {
25 | float: right;
26 | margin-left: $image-margin;
27 | @include breakpoint(desktop-only) {
28 | float: none;
29 | margin-left: 0;
30 | }
31 | }
32 | img {
33 | border-radius: $border-radius;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/scss/template/modules/_base.scss:
--------------------------------------------------------------------------------
1 | // Buttons
2 | @import "buttons";
--------------------------------------------------------------------------------
/scss/template/modules/_buttons.scss:
--------------------------------------------------------------------------------
1 | %button {
2 | display: inline-block;
3 | padding: 7px 20px;
4 |
5 | &.button-small {
6 | padding: 3px 10px;
7 | font-size: $core-font-size - 0.1rem;
8 | }
9 |
10 | }
11 |
12 | @mixin button-color($color) {
13 | background: $white;
14 | color: $color;
15 | border: 1px solid $color;
16 | border-radius: 3px;
17 | &:hover {
18 | background: $color;
19 | color: $white;
20 | }
21 | &:active {
22 | box-shadow: 0 1px 0 darken($color, 12%);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss:
--------------------------------------------------------------------------------
1 | //************************************************************************//
2 | // These mixins/functions are deprecated
3 | // They will be removed in the next MAJOR version release
4 | //************************************************************************//
5 | @mixin inline-block {
6 | display: inline-block;
7 | @warn "inline-block mixin is deprecated and will be removed in the next major version release";
8 | }
9 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/_bourbon.scss:
--------------------------------------------------------------------------------
1 | // Settings
2 | @import "settings/prefixer";
3 | @import "settings/px-to-em";
4 |
5 | // Custom Helpers
6 | @import "helpers/convert-units";
7 | @import "helpers/gradient-positions-parser";
8 | @import "helpers/is-num";
9 | @import "helpers/linear-angle-parser";
10 | @import "helpers/linear-gradient-parser";
11 | @import "helpers/linear-positions-parser";
12 | @import "helpers/linear-side-corner-parser";
13 | @import "helpers/radial-arg-parser";
14 | @import "helpers/radial-positions-parser";
15 | @import "helpers/radial-gradient-parser";
16 | @import "helpers/render-gradients";
17 | @import "helpers/shape-size-stripper";
18 | @import "helpers/str-to-num";
19 |
20 | // Custom Functions
21 | @import "functions/assign";
22 | @import "functions/color-lightness";
23 | @import "functions/flex-grid";
24 | @import "functions/golden-ratio";
25 | @import "functions/grid-width";
26 | @import "functions/modular-scale";
27 | @import "functions/px-to-em";
28 | @import "functions/px-to-rem";
29 | @import "functions/strip-units";
30 | @import "functions/tint-shade";
31 | @import "functions/transition-property-name";
32 | @import "functions/unpack";
33 |
34 | // CSS3 Mixins
35 | @import "css3/animation";
36 | @import "css3/appearance";
37 | @import "css3/backface-visibility";
38 | @import "css3/background";
39 | @import "css3/background-image";
40 | @import "css3/border-image";
41 | @import "css3/border-radius";
42 | @import "css3/box-sizing";
43 | @import "css3/calc";
44 | @import "css3/columns";
45 | @import "css3/filter";
46 | @import "css3/flex-box";
47 | @import "css3/font-face";
48 | @import "css3/hyphens";
49 | @import "css3/hidpi-media-query";
50 | @import "css3/image-rendering";
51 | @import "css3/keyframes";
52 | @import "css3/linear-gradient";
53 | @import "css3/perspective";
54 | @import "css3/radial-gradient";
55 | @import "css3/transform";
56 | @import "css3/transition";
57 | @import "css3/user-select";
58 | @import "css3/placeholder";
59 |
60 | // Addons & other mixins
61 | @import "addons/button";
62 | @import "addons/clearfix";
63 | @import "addons/directional-values";
64 | @import "addons/ellipsis";
65 | @import "addons/font-family";
66 | @import "addons/hide-text";
67 | @import "addons/html5-input-types";
68 | @import "addons/position";
69 | @import "addons/prefixer";
70 | @import "addons/retina-image";
71 | @import "addons/size";
72 | @import "addons/timing-functions";
73 | @import "addons/triangle";
74 | @import "addons/word-wrap";
75 |
76 | // Soon to be deprecated Mixins
77 | @import "bourbon-deprecated-upcoming";
78 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_clearfix.scss:
--------------------------------------------------------------------------------
1 | // Modern micro clearfix provides an easy way to contain floats without adding additional markup.
2 | //
3 | // Example usage:
4 | //
5 | // // Contain all floats within .wrapper
6 | // .wrapper {
7 | // @include clearfix;
8 | // .content,
9 | // .sidebar {
10 | // float : left;
11 | // }
12 | // }
13 |
14 | @mixin clearfix {
15 | &:after {
16 | content:"";
17 | display:table;
18 | clear:both;
19 | }
20 | }
21 |
22 | // Acknowledgements
23 | // Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)
24 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_directional-values.scss:
--------------------------------------------------------------------------------
1 | // directional-property mixins are shorthands
2 | // for writing properties like the following
3 | //
4 | // @include margin(null 0 10px);
5 | // ------
6 | // margin-right: 0;
7 | // margin-bottom: 10px;
8 | // margin-left: 0;
9 | //
10 | // - or -
11 | //
12 | // @include border-style(dotted null);
13 | // ------
14 | // border-top-style: dotted;
15 | // border-bottom-style: dotted;
16 | //
17 | // ------
18 | //
19 | // Note: You can also use false instead of null
20 |
21 | @function collapse-directionals($vals) {
22 | $output: null;
23 |
24 | $A: nth( $vals, 1 );
25 | $B: if( length($vals) < 2, $A, nth($vals, 2));
26 | $C: if( length($vals) < 3, $A, nth($vals, 3));
27 | $D: if( length($vals) < 2, $A, nth($vals, if( length($vals) < 4, 2, 4) ));
28 |
29 | @if $A == 0 { $A: 0 }
30 | @if $B == 0 { $B: 0 }
31 | @if $C == 0 { $C: 0 }
32 | @if $D == 0 { $D: 0 }
33 |
34 | @if $A == $B and $A == $C and $A == $D { $output: $A }
35 | @else if $A == $C and $B == $D { $output: $A $B }
36 | @else if $B == $D { $output: $A $B $C }
37 | @else { $output: $A $B $C $D }
38 |
39 | @return $output;
40 | }
41 |
42 | @function contains-falsy($list) {
43 | @each $item in $list {
44 | @if not $item {
45 | @return true;
46 | }
47 | }
48 |
49 | @return false;
50 | }
51 |
52 | @mixin directional-property($pre, $suf, $vals) {
53 | // Property Names
54 | $top: $pre + "-top" + if($suf, "-#{$suf}", "");
55 | $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", "");
56 | $left: $pre + "-left" + if($suf, "-#{$suf}", "");
57 | $right: $pre + "-right" + if($suf, "-#{$suf}", "");
58 | $all: $pre + if($suf, "-#{$suf}", "");
59 |
60 | $vals: collapse-directionals($vals);
61 |
62 | @if contains-falsy($vals) {
63 | @if nth($vals, 1) { #{$top}: nth($vals, 1); }
64 |
65 | @if length($vals) == 1 {
66 | @if nth($vals, 1) { #{$right}: nth($vals, 1); }
67 | } @else {
68 | @if nth($vals, 2) { #{$right}: nth($vals, 2); }
69 | }
70 |
71 | // prop: top/bottom right/left
72 | @if length($vals) == 2 {
73 | @if nth($vals, 1) { #{$bottom}: nth($vals, 1); }
74 | @if nth($vals, 2) { #{$left}: nth($vals, 2); }
75 |
76 | // prop: top right/left bottom
77 | } @else if length($vals) == 3 {
78 | @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
79 | @if nth($vals, 2) { #{$left}: nth($vals, 2); }
80 |
81 | // prop: top right bottom left
82 | } @else if length($vals) == 4 {
83 | @if nth($vals, 3) { #{$bottom}: nth($vals, 3); }
84 | @if nth($vals, 4) { #{$left}: nth($vals, 4); }
85 | }
86 |
87 | // prop: top/right/bottom/left
88 | } @else {
89 | #{$all}: $vals;
90 | }
91 | }
92 |
93 | @mixin margin($vals...) {
94 | @include directional-property(margin, false, $vals...);
95 | }
96 |
97 | @mixin padding($vals...) {
98 | @include directional-property(padding, false, $vals...);
99 | }
100 |
101 | @mixin border-style($vals...) {
102 | @include directional-property(border, style, $vals...);
103 | }
104 |
105 | @mixin border-color($vals...) {
106 | @include directional-property(border, color, $vals...);
107 | }
108 |
109 | @mixin border-width($vals...) {
110 | @include directional-property(border, width, $vals...);
111 | }
112 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_ellipsis.scss:
--------------------------------------------------------------------------------
1 | @mixin ellipsis($width: 100%) {
2 | display: inline-block;
3 | max-width: $width;
4 | overflow: hidden;
5 | text-overflow: ellipsis;
6 | white-space: nowrap;
7 | }
8 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_font-family.scss:
--------------------------------------------------------------------------------
1 | $georgia: Georgia, Cambria, "Times New Roman", Times, serif;
2 | $helvetica: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
3 | $lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif;
4 | $monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace;
5 | $verdana: Verdana, Geneva, sans-serif;
6 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_hide-text.scss:
--------------------------------------------------------------------------------
1 | @mixin hide-text {
2 | overflow: hidden;
3 |
4 | &:before {
5 | content: "";
6 | display: block;
7 | width: 0;
8 | height: 100%;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_html5-input-types.scss:
--------------------------------------------------------------------------------
1 | //************************************************************************//
2 | // Generate a variable ($all-text-inputs) with a list of all html5
3 | // input types that have a text-based input, excluding textarea.
4 | // http://diveintohtml5.org/forms.html
5 | //************************************************************************//
6 | $inputs-list: 'input[type="email"]',
7 | 'input[type="number"]',
8 | 'input[type="password"]',
9 | 'input[type="search"]',
10 | 'input[type="tel"]',
11 | 'input[type="text"]',
12 | 'input[type="url"]',
13 |
14 | // Webkit & Gecko may change the display of these in the future
15 | 'input[type="color"]',
16 | 'input[type="date"]',
17 | 'input[type="datetime"]',
18 | 'input[type="datetime-local"]',
19 | 'input[type="month"]',
20 | 'input[type="time"]',
21 | 'input[type="week"]';
22 |
23 | // Bare inputs
24 | //************************************************************************//
25 | $all-text-inputs: assign-inputs($inputs-list);
26 |
27 | // Hover Pseudo-class
28 | //************************************************************************//
29 | $all-text-inputs-hover: assign-inputs($inputs-list, hover);
30 |
31 | // Focus Pseudo-class
32 | //************************************************************************//
33 | $all-text-inputs-focus: assign-inputs($inputs-list, focus);
34 |
35 |
36 |
37 | // You must use interpolation on the variable:
38 | // #{$all-text-inputs}
39 | // #{$all-text-inputs-hover}
40 | // #{$all-text-inputs-focus}
41 |
42 | // Example
43 | //************************************************************************//
44 | // #{$all-text-inputs}, textarea {
45 | // border: 1px solid red;
46 | // }
47 |
48 |
49 |
50 | //************************************************************************//
51 | // Generate a variable ($all-button-inputs) with a list of all html5
52 | // input types that have a button-based input, excluding button.
53 | //************************************************************************//
54 | $inputs-button-list: 'input[type="button"]',
55 | 'input[type="reset"]',
56 | 'input[type="submit"]';
57 |
58 | // Bare inputs
59 | //************************************************************************//
60 | $all-button-inputs: assign-inputs($inputs-button-list);
61 |
62 | // Hover Pseudo-class
63 | //************************************************************************//
64 | $all-button-inputs-hover: assign-inputs($inputs-button-list, hover);
65 |
66 | // Focus Pseudo-class
67 | //************************************************************************//
68 | $all-button-inputs-focus: assign-inputs($inputs-button-list, focus);
69 |
70 | // Active Pseudo-class
71 | //************************************************************************//
72 | $all-button-inputs-active: assign-inputs($inputs-button-list, active);
73 |
74 |
75 |
76 | // You must use interpolation on the variable:
77 | // #{$all-button-inputs}
78 | // #{$all-button-inputs-hover}
79 | // #{$all-button-inputs-focus}
80 | // #{$all-button-inputs-active}
81 |
82 | // Example
83 | //************************************************************************//
84 | // #{$all-button-inputs}, button {
85 | // border: 1px solid red;
86 | // }
87 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_position.scss:
--------------------------------------------------------------------------------
1 | @mixin position ($position: relative, $coordinates: null null null null) {
2 |
3 | @if type-of($position) == list {
4 | $coordinates: $position;
5 | $position: relative;
6 | }
7 |
8 | $coordinates: unpack($coordinates);
9 |
10 | $top: nth($coordinates, 1);
11 | $right: nth($coordinates, 2);
12 | $bottom: nth($coordinates, 3);
13 | $left: nth($coordinates, 4);
14 |
15 | position: $position;
16 |
17 | @if ($top and $top == auto) or (type-of($top) == number) {
18 | top: $top;
19 | }
20 |
21 | @if ($right and $right == auto) or (type-of($right) == number) {
22 | right: $right;
23 | }
24 |
25 | @if ($bottom and $bottom == auto) or (type-of($bottom) == number) {
26 | bottom: $bottom;
27 | }
28 |
29 | @if ($left and $left == auto) or (type-of($left) == number) {
30 | left: $left;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_prefixer.scss:
--------------------------------------------------------------------------------
1 | //************************************************************************//
2 | // Example: @include prefixer(border-radius, $radii, webkit ms spec);
3 | //************************************************************************//
4 | // Variables located in /settings/_prefixer.scss
5 |
6 | @mixin prefixer ($property, $value, $prefixes) {
7 | @each $prefix in $prefixes {
8 | @if $prefix == webkit {
9 | @if $prefix-for-webkit {
10 | -webkit-#{$property}: $value;
11 | }
12 | }
13 | @else if $prefix == moz {
14 | @if $prefix-for-mozilla {
15 | -moz-#{$property}: $value;
16 | }
17 | }
18 | @else if $prefix == ms {
19 | @if $prefix-for-microsoft {
20 | -ms-#{$property}: $value;
21 | }
22 | }
23 | @else if $prefix == o {
24 | @if $prefix-for-opera {
25 | -o-#{$property}: $value;
26 | }
27 | }
28 | @else if $prefix == spec {
29 | @if $prefix-for-spec {
30 | #{$property}: $value;
31 | }
32 | }
33 | @else {
34 | @warn "Unrecognized prefix: #{$prefix}";
35 | }
36 | }
37 | }
38 |
39 | @mixin disable-prefix-for-all() {
40 | $prefix-for-webkit: false !global;
41 | $prefix-for-mozilla: false !global;
42 | $prefix-for-microsoft: false !global;
43 | $prefix-for-opera: false !global;
44 | $prefix-for-spec: false !global;
45 | }
46 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_rem.scss:
--------------------------------------------------------------------------------
1 | @mixin rem($property, $size, $base: $em-base) {
2 | @if not unitless($base) {
3 | $base: strip-units($base);
4 | }
5 |
6 | $unitless_values: ();
7 | @each $num in $size {
8 | @if not unitless($num) {
9 | @if unit($num) == "em" {
10 | $num: $num * $base;
11 | }
12 |
13 | $num: strip-units($num);
14 | }
15 |
16 | $unitless_values: append($unitless_values, $num);
17 | }
18 | $size: $unitless_values;
19 |
20 | $pixel_values: ();
21 | $rem_values: ();
22 | @each $value in $pxval {
23 | $pixel_value: $value * 1px;
24 | $pixel_values: append($pixel_values, $pixel_value);
25 |
26 | $rem_value: ($value / $base) * 1rem;
27 | $rem_values: append($rem_values, $rem_value);
28 | }
29 |
30 | #{$property}: $pixel_values;
31 | #{$property}: $rem_values;
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_retina-image.scss:
--------------------------------------------------------------------------------
1 | @mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: false) {
2 | @if $asset-pipeline {
3 | background-image: image-url("#{$filename}.#{$extension}");
4 | }
5 | @else {
6 | background-image: url("#{$filename}.#{$extension}");
7 | }
8 |
9 | @include hidpi {
10 | @if $asset-pipeline {
11 | @if $retina-filename {
12 | background-image: image-url("#{$retina-filename}.#{$extension}");
13 | }
14 | @else {
15 | background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}");
16 | }
17 | }
18 |
19 | @else {
20 | @if $retina-filename {
21 | background-image: url("#{$retina-filename}.#{$extension}");
22 | }
23 | @else {
24 | background-image: url("#{$filename}#{$retina-suffix}.#{$extension}");
25 | }
26 | }
27 |
28 | background-size: $background-size;
29 |
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_size.scss:
--------------------------------------------------------------------------------
1 | @mixin size($size) {
2 | $height: nth($size, 1);
3 | $width: $height;
4 |
5 | @if length($size) > 1 {
6 | $height: nth($size, 2);
7 | }
8 |
9 | @if $height == auto or (type-of($height) == number and not unitless($height)) {
10 | height: $height;
11 | }
12 |
13 | @if $width == auto or (type-of($height) == number and not unitless($width)) {
14 | width: $width;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_timing-functions.scss:
--------------------------------------------------------------------------------
1 | // CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie)
2 | // Timing functions are the same as demo'ed here: http://jqueryui.com/demos/effect/easing.html
3 |
4 | // EASE IN
5 | $ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
6 | $ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
7 | $ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
8 | $ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
9 | $ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
10 | $ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
11 | $ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335);
12 | $ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045);
13 |
14 | // EASE OUT
15 | $ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
16 | $ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
17 | $ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
18 | $ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
19 | $ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
20 | $ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
21 | $ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000);
22 | $ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275);
23 |
24 | // EASE IN OUT
25 | $ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
26 | $ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
27 | $ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
28 | $ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
29 | $ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
30 | $ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
31 | $ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860);
32 | $ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550);
33 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_triangle.scss:
--------------------------------------------------------------------------------
1 | @mixin triangle ($size, $color, $direction) {
2 | height: 0;
3 | width: 0;
4 |
5 | $width: nth($size, 1);
6 | $height: nth($size, length($size));
7 |
8 | $foreground-color: nth($color, 1);
9 | $background-color: if(length($color) == 2, nth($color, 2), transparent);
10 |
11 | @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) {
12 |
13 | $width: $width / 2;
14 | $height: if(length($size) > 1, $height, $height/2);
15 |
16 | @if $direction == up {
17 | border-left: $width solid $background-color;
18 | border-right: $width solid $background-color;
19 | border-bottom: $height solid $foreground-color;
20 |
21 | } @else if $direction == right {
22 | border-top: $width solid $background-color;
23 | border-bottom: $width solid $background-color;
24 | border-left: $height solid $foreground-color;
25 |
26 | } @else if $direction == down {
27 | border-left: $width solid $background-color;
28 | border-right: $width solid $background-color;
29 | border-top: $height solid $foreground-color;
30 |
31 | } @else if $direction == left {
32 | border-top: $width solid $background-color;
33 | border-bottom: $width solid $background-color;
34 | border-right: $height solid $foreground-color;
35 | }
36 | }
37 |
38 | @else if ($direction == up-right) or ($direction == up-left) {
39 | border-top: $height solid $foreground-color;
40 |
41 | @if $direction == up-right {
42 | border-left: $width solid $background-color;
43 |
44 | } @else if $direction == up-left {
45 | border-right: $width solid $background-color;
46 | }
47 | }
48 |
49 | @else if ($direction == down-right) or ($direction == down-left) {
50 | border-bottom: $height solid $foreground-color;
51 |
52 | @if $direction == down-right {
53 | border-left: $width solid $background-color;
54 |
55 | } @else if $direction == down-left {
56 | border-right: $width solid $background-color;
57 | }
58 | }
59 |
60 | @else if ($direction == inset-up) {
61 | border-width: $height $width;
62 | border-style: solid;
63 | border-color: $background-color $background-color $foreground-color;
64 | }
65 |
66 | @else if ($direction == inset-down) {
67 | border-width: $height $width;
68 | border-style: solid;
69 | border-color: $foreground-color $background-color $background-color;
70 | }
71 |
72 | @else if ($direction == inset-right) {
73 | border-width: $width $height;
74 | border-style: solid;
75 | border-color: $background-color $background-color $background-color $foreground-color;
76 | }
77 |
78 | @else if ($direction == inset-left) {
79 | border-width: $width $height;
80 | border-style: solid;
81 | border-color: $background-color $foreground-color $background-color $background-color;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/addons/_word-wrap.scss:
--------------------------------------------------------------------------------
1 | @mixin word-wrap($wrap: break-word) {
2 | word-wrap: $wrap;
3 |
4 | @if $wrap == break-word {
5 | overflow-wrap: break-word;
6 | word-break: break-all;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/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 | // Official animation shorthand property.
5 | @mixin animation ($animations...) {
6 | @include prefixer(animation, $animations, webkit moz spec);
7 | }
8 |
9 | // Individual Animation Properties
10 | @mixin animation-name ($names...) {
11 | @include prefixer(animation-name, $names, webkit moz spec);
12 | }
13 |
14 |
15 | @mixin animation-duration ($times...) {
16 | @include prefixer(animation-duration, $times, webkit moz spec);
17 | }
18 |
19 |
20 | @mixin animation-timing-function ($motions...) {
21 | // ease | linear | ease-in | ease-out | ease-in-out
22 | @include prefixer(animation-timing-function, $motions, webkit moz spec);
23 | }
24 |
25 |
26 | @mixin animation-iteration-count ($values...) {
27 | // infinite |
28 | @include prefixer(animation-iteration-count, $values, webkit moz spec);
29 | }
30 |
31 |
32 | @mixin animation-direction ($directions...) {
33 | // normal | alternate
34 | @include prefixer(animation-direction, $directions, webkit moz spec);
35 | }
36 |
37 |
38 | @mixin animation-play-state ($states...) {
39 | // running | paused
40 | @include prefixer(animation-play-state, $states, webkit moz spec);
41 | }
42 |
43 |
44 | @mixin animation-delay ($times...) {
45 | @include prefixer(animation-delay, $times, webkit moz spec);
46 | }
47 |
48 |
49 | @mixin animation-fill-mode ($modes...) {
50 | // none | forwards | backwards | both
51 | @include prefixer(animation-fill-mode, $modes, webkit moz spec);
52 | }
53 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/css3/_appearance.scss:
--------------------------------------------------------------------------------
1 | @mixin appearance ($value) {
2 | @include prefixer(appearance, $value, webkit moz ms o spec);
3 | }
4 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/css3/_backface-visibility.scss:
--------------------------------------------------------------------------------
1 | //************************************************************************//
2 | // Backface-visibility mixin
3 | //************************************************************************//
4 | @mixin backface-visibility($visibility) {
5 | @include prefixer(backface-visibility, $visibility, webkit spec);
6 | }
7 |
--------------------------------------------------------------------------------
/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, 0, 3);
16 | $gradient-type: str-slice($image, 0, 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 |
--------------------------------------------------------------------------------
/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 list {
16 | $background-str: if($background-type == list, nth($background, 1), $background);
17 |
18 | $url-str: str-slice($background-str, 0, 3);
19 | $gradient-type: str-slice($background-str, 0, 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 |
--------------------------------------------------------------------------------
/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, 0, 3);
14 | $gradient-type: str-slice($border-str, 0, 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 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/css3/_border-radius.scss:
--------------------------------------------------------------------------------
1 | //************************************************************************//
2 | // Shorthand Border-radius mixins
3 | //************************************************************************//
4 | @mixin border-top-radius($radii) {
5 | @include prefixer(border-top-left-radius, $radii, spec);
6 | @include prefixer(border-top-right-radius, $radii, spec);
7 | }
8 |
9 | @mixin border-bottom-radius($radii) {
10 | @include prefixer(border-bottom-left-radius, $radii, spec);
11 | @include prefixer(border-bottom-right-radius, $radii, spec);
12 | }
13 |
14 | @mixin border-left-radius($radii) {
15 | @include prefixer(border-top-left-radius, $radii, spec);
16 | @include prefixer(border-bottom-left-radius, $radii, spec);
17 | }
18 |
19 | @mixin border-right-radius($radii) {
20 | @include prefixer(border-top-right-radius, $radii, spec);
21 | @include prefixer(border-bottom-right-radius, $radii, spec);
22 | }
23 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/css3/_box-sizing.scss:
--------------------------------------------------------------------------------
1 | @mixin box-sizing ($box) {
2 | // content-box | border-box | inherit
3 | @include prefixer(box-sizing, $box, webkit moz spec);
4 | }
5 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/css3/_calc.scss:
--------------------------------------------------------------------------------
1 | @mixin calc($property, $value) {
2 | #{$property}: -webkit-calc(#{$value});
3 | #{$property}: calc(#{$value});
4 | }
5 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 | }
34 |
35 | // Create lists for non-prefixed transition properties
36 | @else {
37 | $webkit: append($webkit, $list, comma);
38 | $moz: append($moz, $list, comma);
39 | $spec: append($spec, $list, comma);
40 | }
41 | }
42 |
43 | @if $needs-prefixes {
44 | -webkit-transition: $webkit;
45 | -moz-transition: $moz;
46 | transition: $spec;
47 | }
48 | @else {
49 | @if length($properties) >= 1 {
50 | @include prefixer(transition, $properties, webkit moz spec);
51 | }
52 |
53 | @else {
54 | $properties: all 0.15s ease-out 0s;
55 | @include prefixer(transition, $properties, webkit moz spec);
56 | }
57 | }
58 | }
59 |
60 | @mixin transition-property ($properties...) {
61 | -webkit-transition-property: transition-property-names($properties, 'webkit');
62 | -moz-transition-property: transition-property-names($properties, 'moz');
63 | transition-property: transition-property-names($properties, false);
64 | }
65 |
66 | @mixin transition-duration ($times...) {
67 | @include prefixer(transition-duration, $times, webkit moz spec);
68 | }
69 |
70 | @mixin transition-timing-function ($motions...) {
71 | // ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()
72 | @include prefixer(transition-timing-function, $motions, webkit moz spec);
73 | }
74 |
75 | @mixin transition-delay ($times...) {
76 | @include prefixer(transition-delay, $times, webkit moz spec);
77 | }
78 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/css3/_user-select.scss:
--------------------------------------------------------------------------------
1 | @mixin user-select($arg: none) {
2 | @include prefixer(user-select, $arg, webkit moz ms spec);
3 | }
4 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_assign.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 | }
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_color-lightness.scss:
--------------------------------------------------------------------------------
1 | // Programatically determines whether a color is light or dark
2 | // Returns a boolean
3 | // More details here http://robots.thoughtbot.com/closer-look-color-lightness
4 |
5 | @function is-light($hex-color) {
6 | $-local-red: red(rgba($hex-color, 1.0));
7 | $-local-green: green(rgba($hex-color, 1.0));
8 | $-local-blue: blue(rgba($hex-color, 1.0));
9 |
10 | $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255;
11 |
12 | @return $-local-lightness > .6;
13 | }
14 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_flex-grid.scss:
--------------------------------------------------------------------------------
1 | // Flexible grid
2 | @function flex-grid($columns, $container-columns: $fg-max-columns) {
3 | $width: $columns * $fg-column + ($columns - 1) * $fg-gutter;
4 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
5 | @return percentage($width / $container-width);
6 | }
7 |
8 | // Flexible gutter
9 | @function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) {
10 | $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter;
11 | @return percentage($gutter / $container-width);
12 | }
13 |
14 | // The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function.
15 | // This function takes the fluid grid equation (target / context = result) and uses columns to help define each.
16 | //
17 | // The calculation presumes that your column structure will be missing the last gutter:
18 | //
19 | // -- column -- gutter -- column -- gutter -- column
20 | //
21 | // $fg-column: 60px; // Column Width
22 | // $fg-gutter: 25px; // Gutter Width
23 | // $fg-max-columns: 12; // Total Columns For Main Container
24 | //
25 | // div {
26 | // width: flex-grid(4); // returns (315px / 995px) = 31.65829%;
27 | // margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%;
28 | //
29 | // p {
30 | // width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
31 | // float: left;
32 | // margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%;
33 | // }
34 | //
35 | // blockquote {
36 | // float: left;
37 | // width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%;
38 | // }
39 | // }
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_golden-ratio.scss:
--------------------------------------------------------------------------------
1 | @function golden-ratio($value, $increment) {
2 | @return modular-scale($value, $increment, $golden)
3 | }
4 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_grid-width.scss:
--------------------------------------------------------------------------------
1 | @function grid-width($n) {
2 | @return $n * $gw-column + ($n - 1) * $gw-gutter;
3 | }
4 |
5 | // The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function.
6 | //
7 | // $gw-column: 100px; // Column Width
8 | // $gw-gutter: 40px; // Gutter Width
9 | //
10 | // div {
11 | // width: grid-width(4); // returns 520px;
12 | // margin-left: $gw-gutter; // returns 40px;
13 | // }
14 |
--------------------------------------------------------------------------------
/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 | @function modular-scale($value, $increment, $ratio) {
21 | $v1: nth($value, 1);
22 | $v2: nth($value, length($value));
23 | $value: $v1;
24 |
25 | // scale $v2 to just above $v1
26 | @while $v2 > $v1 {
27 | $v2: ($v2 / $ratio); // will be off-by-1
28 | }
29 | @while $v2 < $v1 {
30 | $v2: ($v2 * $ratio); // will fix off-by-1
31 | }
32 |
33 | // check AFTER scaling $v2 to prevent double-counting corner-case
34 | $double-stranded: $v2 > $v1;
35 |
36 | @if $increment > 0 {
37 | @for $i from 1 through $increment {
38 | @if $double-stranded and ($v1 * $ratio) > $v2 {
39 | $value: $v2;
40 | $v2: ($v2 * $ratio);
41 | } @else {
42 | $v1: ($v1 * $ratio);
43 | $value: $v1;
44 | }
45 | }
46 | }
47 |
48 | @if $increment < 0 {
49 | // adjust $v2 to just below $v1
50 | @if $double-stranded {
51 | $v2: ($v2 / $ratio);
52 | }
53 |
54 | @for $i from $increment through -1 {
55 | @if $double-stranded and ($v1 / $ratio) < $v2 {
56 | $value: $v2;
57 | $v2: ($v2 / $ratio);
58 | } @else {
59 | $v1: ($v1 / $ratio);
60 | $value: $v1;
61 | }
62 | }
63 | }
64 |
65 | @return $value;
66 | }
67 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_strip-units.scss:
--------------------------------------------------------------------------------
1 | // Srtips the units from a value. e.g. 12px -> 12
2 |
3 | @function strip-units($val) {
4 | @return ($val / ($val * 0 + 1));
5 | }
6 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_tint-shade.scss:
--------------------------------------------------------------------------------
1 | // Add percentage of white to a color
2 | @function tint($color, $percent){
3 | @return mix(white, $color, $percent);
4 | }
5 |
6 | // Add percentage of black to a color
7 | @function shade($color, $percent){
8 | @return mix(black, $color, $percent);
9 | }
10 |
--------------------------------------------------------------------------------
/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 | }
--------------------------------------------------------------------------------
/scss/vendor/bourbon/functions/_unpack.scss:
--------------------------------------------------------------------------------
1 | // Convert shorthand to the 4-value syntax
2 |
3 | @function unpack($shorthand) {
4 | @if length($shorthand) == 1 {
5 | @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1);
6 | }
7 | @else if length($shorthand) == 2 {
8 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2);
9 | }
10 | @else if length($shorthand) == 3 {
11 | @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2);
12 | }
13 | @else {
14 | @return $shorthand;
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/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 | @return $number * nth($units, $index);
15 | }
16 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/helpers/_is-num.scss:
--------------------------------------------------------------------------------
1 | //************************************************************************//
2 | // Helper for linear-gradient-parser
3 | //************************************************************************//
4 | @function _is-num($char) {
5 | $values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9;
6 | $index: index($values, $char);
7 | @return if($index, true, false);
8 | }
9 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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, 0, $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-num(str-slice($first-val, 0, 0));
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 |
--------------------------------------------------------------------------------
/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 compatability
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 compatability
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 |
--------------------------------------------------------------------------------
/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, 0, $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, 0, $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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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, 0, $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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/settings/_prefixer.scss:
--------------------------------------------------------------------------------
1 | // Variable settings for /addons/prefixer.scss
2 | $prefix-for-webkit: true !default;
3 | $prefix-for-mozilla: true !default;
4 | $prefix-for-microsoft: true !default;
5 | $prefix-for-opera: true !default;
6 | $prefix-for-spec: true !default; // required for keyframe mixin
7 |
--------------------------------------------------------------------------------
/scss/vendor/bourbon/settings/_px-to-em.scss:
--------------------------------------------------------------------------------
1 | $em-base: 16px !default;
2 |
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/_color-schemer.scss:
--------------------------------------------------------------------------------
1 | @import "blend-modes";
2 |
3 | // Defaults
4 | $cs-primary : #f00 !default;
5 | $cs-scheme : mono !default; // mono, complement, triad, tetrad, analogic, accented-analogic
6 | $cs-hue-offset : 30 !default;
7 | $cs-brightness-offset : false !default;
8 | $cs-color-model : rgb !default; // rgb, ryb
9 | $cs-colorblind : normal !default;
10 | $cs-harmonize-mode : null !default;
11 | $cs-harmonize-color : $cs-primary !default;
12 | $cs-harmonize-amount : 10% !default;
13 |
14 | // Partials
15 | @import "color-schemer/interpolation";
16 | @import "color-schemer/cmyk";
17 | @import "color-schemer/ryb";
18 | @import "color-schemer/colorblind";
19 | @import "color-schemer/equalize";
20 | @import "color-schemer/mix";
21 | @import "color-schemer/tint-shade";
22 | @import "color-schemer/color-adjustments";
23 | @import "color-schemer/harmonize";
24 | @import "color-schemer/color-schemer";
25 |
26 | @import "color-schemer/comparison";
27 |
28 | @import "color-schemer/mixins";
29 |
30 | // Tell other files that this is loaded.
31 | $color-schemer-loaded : true;
32 |
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_cmyk.scss:
--------------------------------------------------------------------------------
1 | @function cmyk($cyan, $magenta, $yellow, $black) {
2 |
3 | // Get the color values out of white
4 | $cyan : mix(cyan , white, $cyan );
5 | $magenta : mix(magenta, white, $magenta);
6 | $yellow : mix(yellow , white, $yellow );
7 | $black : mix(black , white, $black );
8 |
9 | // Subtract the colors from white
10 | $color: white - invert($cyan) - invert($magenta) - invert($yellow) - invert($black);
11 |
12 |
13 | @return $color;
14 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss:
--------------------------------------------------------------------------------
1 | // RGB functions
2 | @function set-red($color, $red) {
3 | @return rgba($red, green($color), blue($color), alpha($color));
4 | }
5 |
6 | @function set-green($color, $green) {
7 | @return rgba(red($color), $green, blue($color), alpha($color));
8 | }
9 |
10 | @function set-blue($color, $blue) {
11 | @return rgba(red($color), green($color), $blue, alpha($color));
12 | }
13 |
14 |
15 | // HSL Functions
16 | @function set-hue($color, $hue) {
17 | @return hsla($hue, saturation($color), lightness($color), alpha($color));
18 | }
19 |
20 | @function set-saturation($color, $saturation) {
21 | @return hsla(hue($color), $saturation, lightness($color), alpha($color));
22 | }
23 |
24 | @function set-lightness($color, $lightness) {
25 | @return hsla(hue($color), saturation($color), $lightness, alpha($color));
26 | }
27 |
28 | @function set-alpha($color, $alpha) {
29 | @return hsla(hue($color), saturation($color), lightness($color), $alpha);
30 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_colorblind.scss:
--------------------------------------------------------------------------------
1 | @function cs-colorblind($color, $mode: $cs-colorblind) {
2 |
3 | // Refrence: http://www.w3.org/TR/AERT#color-contrast
4 |
5 | // Deuteranopia
6 | @if $mode == deuteranopia {
7 | @return $color;
8 | }
9 |
10 | // Protanopia
11 | @if $mode == protanopia {
12 | @return $color;
13 | }
14 |
15 | // Tritanopia
16 | @if $mode == tritanopia {
17 | @return $color;
18 | }
19 |
20 |
21 | // Return color if no color blind mode.
22 | @else {
23 | @return $color;
24 | }
25 | }
26 |
27 | @function cs-cb($color, $mode: $cs-colorblind) {
28 | @return cs-colorblind($color, $mode);
29 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_comparison.scss:
--------------------------------------------------------------------------------
1 | //////////////////////////////
2 | // Color Is Dark
3 | //
4 | // Checks to see if the input color is a dark color taking into account both lightness and hue.
5 | // Suitable for determining, for instance, if a background should have a dark or light text color.
6 | // @return true/false (boolean)
7 | //////////////////////////////
8 |
9 | @function cs-is-dark($color) {
10 | @if (lightness($color) < 60% and (hue($color) >= 210 or hue($color) <= 27)) or (lightness($color) <= 32%) {
11 | @return true;
12 | } @else {
13 | @return false;
14 | }
15 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_equalize.scss:
--------------------------------------------------------------------------------
1 | // Color equalize credit to Mason Wendell:
2 | // https://github.com/canarymason/The-Coding-Designers-Survival-Kit/blob/master/sass/partials/lib/variables/_color_schemes.sass
3 | @function equalize($color) {
4 | @return hsl(hue($color), 100%, 50%);
5 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_harmonize.scss:
--------------------------------------------------------------------------------
1 | @function cs-harmonize($background, $foreground: $cs-harmonize-color, $mode: $cs-harmonize-mode, $amount: $cs-harmonize-amount) {
2 | $blend: null;
3 | @if ($mode == normal) {
4 | $blend: blend-normal($foreground, $background); }
5 | @else if ($mode == multiply) {
6 | $blend: blend-multiply($foreground, $background); }
7 | @else if ($mode == lighten) {
8 | $blend: blend-lighten($foreground, $background); }
9 | @else if ($mode == darken) {
10 | $blend: blend-darken($foreground, $background); }
11 | @else if ($mode == darkercolor) {
12 | $blend: blend-darkercolor($foreground, $background); }
13 | @else if ($mode == lightercolor) {
14 | $blend: blend-lightercolor($foreground, $background); }
15 | @else if ($mode == lineardodge) {
16 | $blend: blend-lineardodge($foreground, $background); }
17 | @else if ($mode == linearburn) {
18 | $blend: blend-linearburn($foreground, $background); }
19 | @else if ($mode == difference) {
20 | $blend: blend-difference($foreground, $background); }
21 | @else if ($mode == screen) {
22 | $blend: blend-screen($foreground, $background); }
23 | @else if ($mode == exclusion) {
24 | $blend: blend-exclusion($foreground, $background); }
25 | @else if ($mode == overlay) {
26 | $blend: blend-overlay($foreground, $background); }
27 | @else if ($mode == softlight) {
28 | $blend: blend-softlight($foreground, $background); }
29 | @else if ($mode == hardlight) {
30 | $blend: blend-hardlight($foreground, $background); }
31 | @else if ($mode == colordodge) {
32 | $blend: blend-colordodge($foreground, $background); }
33 | @else if ($mode == colorburn) {
34 | $blend: blend-colorburn($foreground, $background); }
35 | @else if ($mode == linearlight) {
36 | $blend: blend-linearlight($foreground, $background); }
37 | @else if ($mode == vividlight) {
38 | $blend: blend-vividlight($foreground, $background); }
39 | @else if ($mode == pinlight) {
40 | $blend: blend-pinlight($foreground, $background); }
41 | @else if ($mode == hardmix) {
42 | $blend: blend-hardmix($foreground, $background); }
43 | @else if ($mode == colorblend) {
44 | $blend: blend-colorblend($foreground, $background); }
45 | @else if ($mode == dissolve) {
46 | $blend: blend-dissolve($foreground, $background); }
47 | @else if ($mode == divide) {
48 | $blend: blend-divide($foreground, $background); }
49 | @else if ($mode == hue) {
50 | $blend: blend-hue($foreground, $background); }
51 | @else if ($mode == luminosity) {
52 | $blend: blend-luminosity($foreground, $background); }
53 | @else if ($mode == saturation) {
54 | $blend: blend-saturation($foreground, $background); }
55 | @else if ($mode == subtract) {
56 | $blend: blend-subtract($foreground, $background); }
57 | $mixed: mix($blend, $background, $amount);
58 | @return $mixed;
59 | }
60 |
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_interpolation.scss:
--------------------------------------------------------------------------------
1 | @function cs-interpolate($value, $units: 360, $stops: $ryb-interpolation) {
2 |
3 | // Loop numbers out of scale back into the scale.
4 | @while $value >= 360 {
5 | $value: $value - 360;
6 | }
7 | @while $value < 0 {
8 | $value: $value + 360;
9 | }
10 |
11 | // Find out how many units in each stop
12 | $cs-color-deg: $units / length($stops);
13 |
14 | // Count through stops
15 | $cs-deg-count: $cs-color-deg;
16 | $cs-stop-count: 1;
17 |
18 | // Add the first stop to the end so it will be
19 | // interpolated with the last stop.
20 | $stops: append($stops, nth($stops, 1));
21 |
22 | // Start interpolating
23 | @for $i from 0 through length($stops) {
24 | @if $value < $cs-deg-count {
25 | @return cs-mix(nth($stops, $cs-stop-count + 1), nth($stops, $cs-stop-count), abs(percentage(($cs-deg-count - $value) / $cs-color-deg) - 100 ), $model: rgb);
26 | }
27 |
28 | // If the value is not in this stop, loop up to another stop.
29 | @else {
30 | $cs-deg-count: $cs-deg-count + $cs-color-deg;
31 | $cs-stop-count: $cs-stop-count + 1
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_mix.scss:
--------------------------------------------------------------------------------
1 | @function cs-mix($color1, $color2, $percent: 50%, $model: $cs-color-model) {
2 |
3 | $decimal : abs($percent - 100%) / 100%;
4 | $hue-offset : ();
5 |
6 | @if $model == rgb {
7 | $hue-offset : (hue($color1) - hue($color2)) * $decimal;
8 | @if (hue($color1) - hue($color2)) * .5 < -90deg {
9 | $hue-offset : (hue($color1) + 360deg - hue($color2)) * $decimal;
10 | }
11 | @if (hue($color1) - hue($color2)) * .5 > 90deg {
12 | $hue-offset : (hue($color1) - 360deg - hue($color2)) * $decimal;
13 | }
14 | }
15 |
16 | @if $model == ryb {
17 | $hue-offset : (ryb-hue($color1) - ryb-hue($color2)) * $decimal;
18 | @if (ryb-hue($color1) - ryb-hue($color2)) * .5 < -90deg {
19 | $hue-offset : (ryb-hue($color1) + 360deg - ryb-hue($color2)) * $decimal;
20 | }
21 | @if (ryb-hue($color1) - ryb-hue($color2)) * .5 > 90deg {
22 | $hue-offset : (ryb-hue($color1) - 360deg - ryb-hue($color2)) * $decimal;
23 | }
24 | }
25 |
26 | $saturation-offset : (saturation($color1) - saturation($color2)) * $decimal;
27 | $lightness-offset : (lightness($color1) - lightness($color2)) * $decimal;
28 |
29 | @if $model == ryb {
30 | $color1: ryb-adjust-hue($color1, $hue-offset * -1);
31 | }
32 | @else {
33 | $color1: adjust-hue($color1, $hue-offset * -1);
34 | }
35 |
36 | $color1: set-saturation($color1, saturation($color1) - $saturation-offset);
37 | $color1: set-lightness($color1, lightness($color1) - $lightness-offset);
38 |
39 | @return $color1;
40 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_mixins.scss:
--------------------------------------------------------------------------------
1 | ////////////////////////////////////////////
2 | // From Jina Bolton and Eric Meyer -- http://codepen.io/jina/pen/iosjp
3 | @function cs-stripes($position, $colors) {
4 | $colors: if(type-of($colors) != 'list', compact($colors), $colors);
5 | $gradient: ();
6 | $width: 100% / length($colors);
7 |
8 | @for $i from 1 through length($colors) {
9 | $pop: nth($colors,$i);
10 | $new: $pop ($width * ($i - 1)), $pop ($width * $i);
11 | $gradient: join($gradient, $new, comma);
12 | }
13 |
14 | @return linear-gradient($position, $gradient);
15 | }
16 |
17 | ////////////////////////////////////////////
18 | // Color tester
19 |
20 | @mixin cs-test($colors, $height: 2em, $element: "body:before") {
21 | #{$element} {
22 | content: "";
23 | display: block;
24 | height: $height;
25 | @include background(cs-stripes(left, ($colors)));
26 | position: relative;
27 | z-index: 999999999999;
28 | }
29 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_ryb.scss:
--------------------------------------------------------------------------------
1 | $ryb-interpolation: #FF0000 #FF4900 #FF7400 #FF9200 #FFAA00 #FFBF00 #FFD300 #FFE800 #FFFF00 #CCF600 #9FEE00 #67E300 #00CC00 #00AF64 #009999 #0B61A4 #1240AB #1B1BB3 #3914AF #530FAD #7109AA #A600A6 #CD0074 #E40045;
2 |
3 | // RYB color interpolation
4 | @function find-ryb($hue) {
5 |
6 | // remove units on $hue
7 | @if unit($hue) == deg { $hue: $hue / 1deg; }
8 |
9 | // return an interpolated hue
10 | @return hue(cs-interpolate($hue));
11 | }
12 |
13 | // Find the RYB hue instead of RGB hue of a color.
14 |
15 | // map of the RYB offset
16 | $ryb-offset: 0 1 2 3 5 6 7 8 9 10 11 13 14 15 16 17 18 19 19 20 21 21 22 23 23 24 25 25 26 27 27 28 28 29 29 30 30 31 31 32 32 32 33 33 34 34 35 35 35 36 36 37 37 37 38 38 38 39 39 40 40 40 41 41 41 42 42 42 43 43 43 44 44 44 45 45 45 46 46 46 47 47 47 47 48 48 48 49 49 49 50 50 50 51 51 51 52 52 52 53 53 53 54 54 54 55 55 55 56 56 56 57 57 57 58 58 59 59 59 60 60 61 61 62 63 63 64 65 65 66 67 68 68 69 70 70 71 72 72 73 73 74 75 75 76 77 77 78 79 79 80 81 82 82 83 84 85 86 87 88 88 89 90 91 92 93 95 96 98 100 102 104 105 107 109 111 113 115 116 118 120 122 125 127 129 131 134 136 138 141 143 145 147 150 152 154 156 158 159 161 163 165 166 168 170 171 173 175 177 178 180 182 184 185 187 189 191 192 194 196 198 199 201 203 205 206 207 208 209 210 212 213 214 215 216 217 218 219 220 221 222 223 224 226 227 228 229 230 232 233 234 235 236 238 239 240 241 242 243 244 245 246 247 248 249 250 251 251 252 253 254 255 256 257 257 258 259 260 260 261 262 263 264 264 265 266 267 268 268 269 270 271 272 273 274 274 275 276 277 278 279 280 282 283 284 286 287 289 290 292 293 294 296 297 299 300 302 303 305 307 309 310 312 314 316 317 319 321 323 324 326 327 328 329 330 331 332 333 334 336 337 338 339 340 341 342 343 344 345 347 348 349 350 352 353 354 355 356 358 359 360;
17 |
18 | // loop through the map to find the matching hue.
19 | @function ryb-hue($color) {
20 | @for $i from 1 through length($ryb-offset) {
21 | @if nth($ryb-offset, $i) > hue($color) {
22 | @return $i - 2deg;
23 | }
24 | }
25 | }
26 |
27 | // Changes the hue of a color.
28 | @function ryb-adjust-hue($color, $degrees) {
29 |
30 | // Convert precentag to degrees.
31 | @if unit($degrees) == "%" {
32 | $degrees: 360 * ($degrees / 100%);
33 | }
34 |
35 | // Start at the current hue and loop in the adjustment.
36 | $hue-adjust: (ryb-hue($color) + $degrees) / 1deg;
37 |
38 | @return hsl(hue(cs-interpolate($hue-adjust)), saturation($color), lightness($color));
39 | }
40 |
41 | @function ryba($red, $yellow, $blue, $alpha) {
42 | $hue: 0;
43 | $saturation: 0;
44 | $lightness: percentage(($red + $yellow + $blue) / (255 * 3));
45 | @if $red == $yellow and $yellow == $blue {
46 | @return hsla(0, 0, $lightness, $alpha);
47 | }
48 | @if $red >= $yellow and $red >= $blue {
49 | $hue: 0;
50 | }
51 | @elseif $yellow >= $red and $yellow >= $blue {
52 | $hue: 360 / 3;
53 | }
54 | @elseif $blue >= $red and $blue >= $yellow {
55 | $hue: 360 / 3 * 2;
56 | }
57 | @return hsla(hue(cs-interpolate($hue)), 100%, 50%, 1);
58 | }
59 |
60 | @function ryb($red, $yellow, $blue) {
61 | @return ryba($red, $yellow, $blue, 1);
62 | }
63 |
64 | @function set-ryb-hue($color, $hue) {
65 | @return hsla(hue(cs-interpolate($hue)), saturation($color), lightness($color), alpha($color));
66 | }
67 |
68 | // Returns the complement of a color.
69 | @function ryb-complement($color) {
70 | @return ryb-adjust-hue($color, 180deg);
71 | }
72 |
73 | // Returns the inverse of a color.
74 | @function ryb-invert($color) {
75 | @return ryb-adjust-hue(hsl(hue($color), saturation(invert($color)), lightness(invert($color))), 180deg);
76 | }
--------------------------------------------------------------------------------
/scss/vendor/color-schemer/color-schemer/_tint-shade.scss:
--------------------------------------------------------------------------------
1 | // Add percentage of white to a color
2 | @function tint($color, $percent) {
3 | @return mix(white, $color, $percent);
4 | }
5 |
6 | // Add percentage of black to a color
7 | @function shade($color, $percent) {
8 | @return mix(black, $color, $percent);
9 | }
10 |
--------------------------------------------------------------------------------
/templates/blog.html.twig:
--------------------------------------------------------------------------------
1 | {% embed 'partials/base.html.twig' %}
2 |
3 | {% set collection = page.collection() %}
4 |
5 | {% block content %}
6 | {% set blog_image = page.media.images|first.grayscale().contrast(20).brightness(-100).colorize(-35,81,122) %}
7 |
8 | {% if blog_image %}
9 |