├── 02-calendar_app ├── public │ ├── bulma │ │ └── bulma.css.map │ └── font-awesome │ │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ │ ├── less │ │ ├── screen-reader.less │ │ ├── fixed-width.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── core.less │ │ ├── stacked.less │ │ ├── font-awesome.less │ │ ├── bordered-pulled.less │ │ ├── rotated-flipped.less │ │ ├── path.less │ │ ├── animated.less │ │ ├── mixins.less │ │ └── variables.less │ │ ├── scss │ │ ├── _fixed-width.scss │ │ ├── _screen-reader.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _core.scss │ │ ├── font-awesome.scss │ │ ├── _stacked.scss │ │ ├── _bordered-pulled.scss │ │ ├── _rotated-flipped.scss │ │ ├── _path.scss │ │ ├── _animated.scss │ │ ├── _mixins.scss │ │ └── _variables.scss │ │ └── HELP-US-OUT.txt ├── .babelrc ├── .gitignore ├── src │ ├── main.js │ └── app │ │ ├── components │ │ ├── CalendarWeek.vue │ │ ├── CalendarDay.vue │ │ ├── CalendarEntry.vue │ │ └── CalendarEvent.vue │ │ ├── App.vue │ │ ├── seed.js │ │ └── store.js ├── index.html ├── README.md ├── package.json └── webpack.config.js ├── 05-shopping_cart ├── public │ ├── bulma │ │ └── bulma.css.map │ └── font-awesome │ │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ │ ├── less │ │ ├── screen-reader.less │ │ ├── fixed-width.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── core.less │ │ ├── stacked.less │ │ ├── font-awesome.less │ │ ├── bordered-pulled.less │ │ ├── rotated-flipped.less │ │ ├── path.less │ │ ├── animated.less │ │ ├── mixins.less │ │ └── variables.less │ │ ├── scss │ │ ├── _fixed-width.scss │ │ ├── _screen-reader.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _core.scss │ │ ├── font-awesome.scss │ │ ├── _stacked.scss │ │ ├── _bordered-pulled.scss │ │ ├── _rotated-flipped.scss │ │ ├── _path.scss │ │ ├── _animated.scss │ │ ├── _mixins.scss │ │ └── _variables.scss │ │ └── HELP-US-OUT.txt ├── src │ ├── app │ │ ├── store │ │ │ ├── modules │ │ │ │ ├── cart │ │ │ │ │ ├── mutation-types.js │ │ │ │ │ └── index.js │ │ │ │ └── product │ │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── components │ │ │ ├── product │ │ │ │ ├── ProductListItem.vue │ │ │ │ └── ProductList.vue │ │ │ └── cart │ │ │ │ ├── CartListItem.vue │ │ │ │ └── CartList.vue │ │ └── App.vue │ └── main.js ├── config │ ├── dev.env.js │ └── index.js ├── .gitignore ├── .babelrc ├── README.md ├── index.html ├── server-cart-data.json ├── build │ ├── vue-loader.conf.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ └── utils.js ├── server-product-data.json ├── package.json └── server.js ├── 01-upvote ├── public │ ├── images │ │ ├── avatars │ │ │ ├── molly.png │ │ │ ├── daniel.jpg │ │ │ ├── kristy.png │ │ │ └── veronika.jpg │ │ └── submissions │ │ │ ├── image-aqua.png │ │ │ ├── image-rose.png │ │ │ ├── image-steel.png │ │ │ └── image-yellow.png │ └── styles.css └── app │ ├── index.html │ ├── seed.js │ └── main.js ├── package.json ├── 04-note_taking ├── public │ └── styles.css └── app │ ├── index.html │ └── main.js ├── 03-custom_events ├── public │ └── styles.css └── app │ ├── index.html │ └── main.js ├── 06-form_handling ├── 02-input │ ├── index.html │ └── main.js └── 01-button │ ├── index.html │ └── main.js └── README.md /02-calendar_app/public/bulma/bulma.css.map: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /05-shopping_cart/public/bulma/bulma.css.map: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /02-calendar_app/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { "modules": false }] 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /02-calendar_app/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | dist/ 4 | npm-debug.log 5 | yarn-error.log 6 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/store/modules/cart/mutation-types.js: -------------------------------------------------------------------------------- 1 | export const UPDATE_CART_ITEMS = 'UPDATE_CART_ITEMS'; 2 | -------------------------------------------------------------------------------- /01-upvote/public/images/avatars/molly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/avatars/molly.png -------------------------------------------------------------------------------- /01-upvote/public/images/avatars/daniel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/avatars/daniel.jpg -------------------------------------------------------------------------------- /01-upvote/public/images/avatars/kristy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/avatars/kristy.png -------------------------------------------------------------------------------- /01-upvote/public/images/avatars/veronika.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/avatars/veronika.jpg -------------------------------------------------------------------------------- /01-upvote/public/images/submissions/image-aqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/submissions/image-aqua.png -------------------------------------------------------------------------------- /01-upvote/public/images/submissions/image-rose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/submissions/image-rose.png -------------------------------------------------------------------------------- /01-upvote/public/images/submissions/image-steel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/submissions/image-steel.png -------------------------------------------------------------------------------- /01-upvote/public/images/submissions/image-yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/01-upvote/public/images/submissions/image-yellow.png -------------------------------------------------------------------------------- /02-calendar_app/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './app/App.vue' 3 | 4 | new Vue({ 5 | el: '#app', 6 | render: h => h(App) 7 | }) 8 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/02-calendar_app/public/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/05-shopping_cart/public/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /05-shopping_cart/config/dev.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | 4 | module.exports = merge({ NODE_ENV: '"production"' }, { NODE_ENV: '"development"' }) 5 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/02-calendar_app/public/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zfhui/fullstack-vue/HEAD/05-shopping_cart/public/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /05-shopping_cart/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import App from './app/App.vue'; 3 | import store from './app/store'; 4 | 5 | new Vue({ 6 | el: '#app', 7 | store, 8 | render: h => h(App) 9 | }); 10 | -------------------------------------------------------------------------------- /05-shopping_cart/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Editor directories and files 9 | .idea 10 | .vscode 11 | *.suo 12 | *.ntvs* 13 | *.njsproj 14 | *.sln 15 | -------------------------------------------------------------------------------- /05-shopping_cart/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false 5 | }], 6 | "stage-2" 7 | ], 8 | "plugins": ["transform-runtime"], 9 | "env": { 10 | "test": { 11 | "presets": ["env", "stage-2"] } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import Vuex from 'vuex'; 3 | import product from './modules/product'; 4 | import cart from './modules/cart'; 5 | 6 | Vue.use(Vuex); 7 | 8 | export default new Vuex.Store({ 9 | modules: { 10 | product, 11 | cart 12 | } 13 | }); 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fullstack-vue-code", 3 | "version": "17.0.0", 4 | "description": "All the code used in the book", 5 | "private": true, 6 | "scripts": { 7 | "install-all": "npm-recursive-install" 8 | }, 9 | "author": "Fullstack Vue", 10 | "devDependencies": { 11 | "recursive-install": "1.3.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /02-calendar_app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Project Two: Calendar App 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /05-shopping_cart/README.md: -------------------------------------------------------------------------------- 1 | # Fullstack Vue 2 | 3 | ## Vuex - Shopping Cart 4 | 5 | 1. Ensure you have `npm` installed. 6 | 7 | 2. Install the dependencies 8 | 9 | ```` 10 | npm install 11 | ```` 12 | 13 | 3. Boot the app 14 | 15 | ```` 16 | npm run start 17 | ```` 18 | 19 | The Node and Webpack servers are now running - watch the console output for instructions. Your entire application is now available at [http://localhost:8080/](http://localhost:8080/) 20 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /02-calendar_app/README.md: -------------------------------------------------------------------------------- 1 | # Fullstack Vue 2 | 3 | ## Single-file components - Calendar App 4 | 5 | 1. Ensure you have `npm` installed. 6 | 7 | 2. Install the dependencies 8 | 9 | ```` 10 | npm install 11 | ```` 12 | 13 | 3. Boot the app 14 | 15 | ```` 16 | npm run dev 17 | ```` 18 | 19 | The server is now running - watch the console output for instructions, but by default, your server is now running (with hot reload) at [http://localhost:8080/](http://localhost:8080/) 20 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /05-shopping_cart/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Project Four: Shopping Cart 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /04-note_taking/public/styles.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | } 4 | 5 | #app { 6 | height: inherit; 7 | margin: 0 auto; 8 | display: flex; 9 | flex-direction: column; 10 | align-items: center; 11 | -webkit-align-items: center; 12 | justify-content: center; 13 | -webkit-justify-content: center; 14 | } 15 | 16 | .notes-section { 17 | width: 500px; 18 | } 19 | 20 | .columns { 21 | width: 100%; 22 | } 23 | 24 | .notes, .timestamps { 25 | padding: 5px 0px; 26 | } 27 | 28 | .note-count { 29 | margin-top: 48px; 30 | } 31 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /03-custom_events/public/styles.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | } 4 | 5 | #app { 6 | height: inherit; 7 | margin: 0 auto; 8 | display: flex; 9 | flex-direction: column; 10 | align-items: center; 11 | -webkit-align-items: center; 12 | justify-content: center; 13 | -webkit-justify-content: center; 14 | } 15 | 16 | .notes-section { 17 | width: 500px; 18 | } 19 | 20 | .columns { 21 | width: 100%; 22 | } 23 | 24 | .notes, .timestamps { 25 | padding: 5px 0px; 26 | } 27 | 28 | .note-count { 29 | margin-top: 48px; 30 | } 31 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /05-shopping_cart/server-cart-data.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "title": "The Fullstack Hoodie", 5 | "description": "Lightweight, breathable hoodie with the Fullstack Crest. Guaranteed to keep you looking fresh while warm.", 6 | "price": 19.99, 7 | "quantity": 2 8 | }, 9 | { 10 | "id": 4, 11 | "title": "The Fullstack Jacket", 12 | "description": "Keep warm and protected with the rugged, durable Fullstack lightweight jacket.", 13 | "price": 49.99, 14 | "quantity": 8 15 | } 16 | ] -------------------------------------------------------------------------------- /06-form_handling/02-input/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Form App 7 | 12 | 13 | 14 | 15 |
16 |

Fullstack Clothing Inquiry Sheet

17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /06-form_handling/01-button/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Form App 7 | 12 | 13 | 14 | 15 |
16 |

What is your favourite Fullstack clothing item?

17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /05-shopping_cart/build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const config = require('../config') 4 | const isProduction = process.env.NODE_ENV === 'production' 5 | const sourceMapEnabled = isProduction 6 | ? config.build.productionSourceMap 7 | : config.dev.cssSourceMap 8 | 9 | 10 | module.exports = { 11 | loaders: utils.cssLoaders({ 12 | sourceMap: sourceMapEnabled, 13 | extract: isProduction 14 | }), 15 | cssSourceMap: sourceMapEnabled, 16 | transformToRequire: { 17 | video: 'src', 18 | source: 'src', 19 | img: 'src', 20 | image: 'xlink:href' 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /06-form_handling/02-input/main.js: -------------------------------------------------------------------------------- 1 | const InputForm = { 2 | template: ` 3 |
4 |
5 |
6 | 7 |
8 | 9 |
10 |
11 | `, 12 | methods: { 13 | submitForm(evt) { 14 | evt.preventDefault(); 15 | console.log(this.$refs.newItem.value) 16 | } 17 | } 18 | } 19 | 20 | new Vue({ 21 | el: '#app', 22 | components: { 23 | 'input-form': InputForm 24 | } 25 | }) 26 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/store/modules/product/index.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | 3 | const state = { 4 | productItems: [] 5 | }; 6 | 7 | const mutations = { 8 | UPDATE_PRODUCT_ITEMS(state, payload) { 9 | state.productItems = payload; 10 | } 11 | }; 12 | 13 | const actions = { 14 | getProductItems({ commit }) { 15 | axios.get('/api/products').then((response) => { 16 | commit('UPDATE_PRODUCT_ITEMS', response.data) 17 | }); 18 | } 19 | }; 20 | 21 | const getters = { 22 | productItems: state => state.productItems 23 | }; 24 | 25 | const productModule = { 26 | state, 27 | mutations, 28 | actions, 29 | getters 30 | } 31 | 32 | export default productModule; 33 | -------------------------------------------------------------------------------- /01-upvote/public/styles.css: -------------------------------------------------------------------------------- 1 | /* Miscellaneous Styles */ 2 | 3 | .dividing-header { 4 | margin-top: 1em; 5 | margin-bottom: 2em; 6 | } 7 | 8 | .section { 9 | padding: 2rem 1.5rem; 10 | } 11 | 12 | .media { 13 | max-width: 600px; 14 | margin: 0 auto; 15 | border: 1px solid #e6e7e9; 16 | padding: 1em 1.5em 0.5em 1.5em; 17 | border-radius: 0.3em; 18 | } 19 | 20 | .media + .media { 21 | margin-top: 1.5rem; 22 | } 23 | 24 | .blue-border { 25 | border: 1px solid #3373dc !important; 26 | } 27 | 28 | .tag { 29 | font-size: 0.6rem !important; 30 | } 31 | 32 | .icon { 33 | cursor: pointer; 34 | } 35 | 36 | .image.is-24x24 { 37 | display: inline; 38 | position: relative; 39 | top: 5px; 40 | border-radius: 20px; 41 | } 42 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /02-calendar_app/src/app/components/CalendarWeek.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 27 | 28 | 36 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /02-calendar_app/src/app/App.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 20 | 21 | 26 | 27 | 39 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/components/product/ProductListItem.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 28 | 29 | 34 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /02-calendar_app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "calendar-app", 3 | "description": "Project Two: Calendar App", 4 | "version": "1.0.0", 5 | "author": "Fullstack.io", 6 | "private": true, 7 | "scripts": { 8 | "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot", 9 | "build": "cross-env NODE_ENV=production webpack --progress --hide-modules" 10 | }, 11 | "dependencies": { 12 | "npm": "^6.4.1", 13 | "vue": "^2.4.4" 14 | }, 15 | "devDependencies": { 16 | "babel-core": "^6.26.0", 17 | "babel-loader": "^7.1.2", 18 | "babel-preset-env": "^1.6.0", 19 | "babel-preset-stage-3": "^6.24.1", 20 | "cross-env": "^5.0.5", 21 | "css-loader": "^0.28.7", 22 | "file-loader": "^1.1.4", 23 | "sass-loader": "^6.0.6", 24 | "vue-loader": "^13.0.5", 25 | "node-sass": "^4.5.3", 26 | "vue-template-compiler": "^2.4.4", 27 | "webpack": "^3.6.0", 28 | "webpack-dev-server": "^2.9.1" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/App.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 28 | 29 | 49 | -------------------------------------------------------------------------------- /06-form_handling/01-button/main.js: -------------------------------------------------------------------------------- 1 | const ButtonRow = { 2 | template: ` 3 |
4 | 5 | 6 | 7 | 8 |
`, 9 | methods: { 10 | onHoodieClick(evt) { 11 | console.log('The user clicked button-hoodie', evt); 12 | }, 13 | onTeeClick(evt) { 14 | console.log('The user clicked button-tee', evt); 15 | }, 16 | onFittedCapClick(evt) { 17 | console.log('The user clicked button-fitted-cap', evt); 18 | }, 19 | onJacketClick(evt) { 20 | console.log('The user clicked button-hacket', evt); 21 | } 22 | } 23 | } 24 | 25 | new Vue({ 26 | el: '#app', 27 | components: { 28 | 'button-row': ButtonRow 29 | } 30 | }) 31 | -------------------------------------------------------------------------------- /05-shopping_cart/server-product-data.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "title": "The Fullstack Hoodie", 5 | "description": "Lightweight, breathable hoodie with the Fullstack Crest. Guaranteed to keep you looking fresh while warm.", 6 | "price": 19.99 7 | }, 8 | { 9 | "id": 2, 10 | "title": "The Fullstack Tee", 11 | "description": "The original Fullstack clothing item. Always prepared to keep your style in check.", 12 | "price": 15.99 13 | }, 14 | { 15 | "id": 3, 16 | "title": "The Fullstack Fitted Cap", 17 | "description": "Stay comfortable and cool with the first Fullstack Fitted Cap, featuring a normal bill and medium crown.", 18 | "price": 15.99 19 | }, 20 | { 21 | "id": 4, 22 | "title": "The Fullstack Jacket", 23 | "description": "Keep warm and protected with the rugged, durable Fullstack lightweight jacket.", 24 | "price": 49.99 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Programming Tutorials from the "Fullstack Vue" Book 2 | 3 | ## Setup 4 | 5 | Please refer to the first chapter in the book for instructions on setting up your environment with Node & npm. 6 | 7 | ## Installing packages for all projects 8 | 9 | You can install all the packages for all the projects up front, saving you time in the future. To do so, from this directory: 10 | 11 | ``` 12 | npm i 13 | npm run install-all 14 | ``` 15 | 16 | Unless you have a quantum computer connected directly to an Amazon data center, this task will take a long time to complete. 17 | 18 | ## Running the code 19 | 20 | ### 01: Upvote 21 | 22 | Open `01-upvote/app/index.html` in your favourite browser. 23 | 24 | ### 02: Calendar App 25 | 26 | Read `02-calendar_app/README.md`. 27 | 28 | ### 03: Custom Events 29 | 30 | Open `03-custom_events/app/index.html` in your favourite browser. 31 | 32 | ### 04: Vuex 33 | 34 | Open `04-note_taking/app/index.html` in your favourite browser. 35 | 36 | ### 05: Vuex and Servers 37 | 38 | Read `05-shopping_cart/README.md`. 39 | -------------------------------------------------------------------------------- /01-upvote/app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 9 | 11 | 12 | 13 | 14 |
15 |

UpVote!

16 |
17 |
22 | 26 |
27 |
28 |
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /03-custom_events/app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | Custom Events 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | Notes 18 |
19 | {{ note }} 20 |
21 |
22 |
23 | Timestamp 24 |
25 | {{ timestamp }} 26 |
27 |
28 |
29 | 30 |
31 | 32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /04-note_taking/app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vuex: Note-taking 8 | 9 | 10 | 11 |
12 |
13 |
14 |
15 | Notes 16 |
17 | {{ note }} 18 |
19 |
20 |
21 | Timestamp 22 |
23 | {{ timestamp }} 24 |
25 |
26 |
27 | 28 |
29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/components/cart/CartListItem.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 36 | 37 | 42 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/components/product/ProductList.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 37 | 38 | 52 | -------------------------------------------------------------------------------- /02-calendar_app/src/app/seed.js: -------------------------------------------------------------------------------- 1 | export const seedData = [ 2 | { 3 | id: 1, 4 | abbvTitle: 'Mon', 5 | fullTitle: 'Monday', 6 | events: [ 7 | { details: 'Get Groceries', edit: false }, 8 | { details: 'Carpool', edit: false } 9 | ], 10 | active: true 11 | }, 12 | { 13 | id: 2, 14 | abbvTitle: 'Tue', 15 | fullTitle: 'Tuesday', 16 | events: [ 17 | { details: 'Yoga/Gym', edit: false } 18 | ], 19 | active: false 20 | }, 21 | { 22 | id: 3, 23 | abbvTitle: 'Wed', 24 | fullTitle: 'Wednesday', 25 | events: [ 26 | { details: 'Work social', edit: false } 27 | ], 28 | active: false 29 | }, 30 | { 31 | id: 4, 32 | abbvTitle: 'Thu', 33 | fullTitle: 'Thursday', 34 | events: [], 35 | active: false 36 | }, 37 | { 38 | id: 5, 39 | abbvTitle: 'Fri', 40 | fullTitle: 'Friday', 41 | events: [ 42 | { details: 'Friday dinner/drinks', edit: false } 43 | ], 44 | active: false 45 | }, 46 | { 47 | id: 6, 48 | abbvTitle: 'Sat', 49 | fullTitle: 'Saturday', 50 | events: [ 51 | { details: 'Chill with the parents', edit: false } 52 | ], 53 | active: false 54 | }, 55 | { 56 | id: 7, 57 | abbvTitle: 'Sun', 58 | fullTitle: 'Sunday', 59 | events: [ 60 | { details: 'Netflix/Chill', edit: false } 61 | ], 62 | active: false 63 | } 64 | ] 65 | -------------------------------------------------------------------------------- /01-upvote/app/seed.js: -------------------------------------------------------------------------------- 1 | window.Seed = (function () { 2 | const submissions = [ 3 | { 4 | id: 1, 5 | title: 'Yellow Pail', 6 | description: 'On-demand sand castle construction expertise.', 7 | url: '#', 8 | votes: 16, 9 | avatar: '../public/images/avatars/daniel.jpg', 10 | submissionImage: '../public/images/submissions/image-yellow.png', 11 | }, 12 | { 13 | id: 2, 14 | title: 'Supermajority: The Fantasy Congress League', 15 | description: 'Earn points when your favorite politicians pass legislation.', 16 | url: '#', 17 | votes: 11, 18 | avatar: '../public/images/avatars/kristy.png', 19 | submissionImage: '../public/images/submissions/image-rose.png', 20 | }, 21 | { 22 | id: 3, 23 | title: 'Tinfoild: Tailored tinfoil hats', 24 | description: 'We have your measurements and shipping address.', 25 | url: '#', 26 | votes: 17, 27 | avatar: '../public/images/avatars/veronika.jpg', 28 | submissionImage: '../public/images/submissions/image-steel.png', 29 | }, 30 | { 31 | id: 4, 32 | title: 'Haught or Naught', 33 | description: 'High-minded or absent-minded? You decide.', 34 | url: '#', 35 | votes: 9, 36 | avatar: '../public/images/avatars/molly.png', 37 | submissionImage: '../public/images/submissions/image-aqua.png', 38 | } 39 | ]; 40 | 41 | return { submissions: submissions }; 42 | }()); 43 | -------------------------------------------------------------------------------- /03-custom_events/app/main.js: -------------------------------------------------------------------------------- 1 | const EventBus = new Vue(); 2 | 3 | const inputComponent = { 4 | template: 5 | ` 6 | 13 | `, 14 | props: ['placeholder'], 15 | data() { 16 | return { 17 | input: '' 18 | } 19 | }, 20 | methods: { 21 | monitorEnterKey() { 22 | EventBus.$emit('add-note', { 23 | note: this.input, 24 | timestamp: new Date().toLocaleString() 25 | }); 26 | this.input = ''; 27 | } 28 | } 29 | } 30 | 31 | const noteCountComponent = { 32 | template: 33 | ` 34 |
35 | Note count: {{ noteCount }} 36 |
37 | `, 38 | data() { 39 | return { 40 | noteCount: 0 41 | } 42 | }, 43 | created() { 44 | EventBus.$on('add-note', event => this.noteCount++); 45 | } 46 | } 47 | 48 | new Vue({ 49 | el: '#app', 50 | components: { 51 | 'input-component': inputComponent, 52 | 'note-count-component': noteCountComponent 53 | }, 54 | data: { 55 | notes: [], 56 | timestamps: [], 57 | placeholder: 'Enter a note' 58 | }, 59 | created() { 60 | EventBus.$on('add-note', event => this.addNote(event)); 61 | }, 62 | methods: { 63 | addNote(event) { 64 | this.notes.push(event.note); 65 | this.timestamps.push(event.timestamp); 66 | } 67 | } 68 | }) 69 | -------------------------------------------------------------------------------- /02-calendar_app/src/app/components/CalendarDay.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 31 | 32 | 64 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/store/modules/cart/index.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import * as types from './mutation-types'; 3 | 4 | const state = { 5 | cartItems: [] 6 | }; 7 | 8 | const mutations = { 9 | UPDATE_CART_ITEMS (state, payload) { 10 | state.cartItems = payload; 11 | } 12 | }; 13 | 14 | const actions = { 15 | getCartItems ({ commit }) { 16 | axios.get('/api/cart').then((response) => { 17 | commit(types.UPDATE_CART_ITEMS, response.data) 18 | }); 19 | }, 20 | addCartItem ({ commit }, cartItem) { 21 | axios.post('/api/cart', cartItem).then((response) => { 22 | commit(types.UPDATE_CART_ITEMS, response.data) 23 | }); 24 | }, 25 | removeCartItem({ commit }, cartItem) { 26 | axios.post('/api/cart/delete', cartItem).then((response) => { 27 | commit(types.UPDATE_CART_ITEMS, response.data) 28 | }); 29 | }, 30 | removeAllCartItems({ commit }) { 31 | axios.post('/api/cart/delete/all').then((response) => { 32 | commit(types.UPDATE_CART_ITEMS, response.data) 33 | }); 34 | } 35 | }; 36 | 37 | const getters = { 38 | cartItems: state => state.cartItems, 39 | cartTotal: state => { 40 | return state.cartItems.reduce((acc, cartItem) => { 41 | return (cartItem.quantity * cartItem.price) + acc; 42 | }, 0).toFixed(2); 43 | }, 44 | cartQuantity: state => { 45 | return state.cartItems.reduce((acc, cartItem) => { 46 | return cartItem.quantity + acc; 47 | }, 0); 48 | } 49 | }; 50 | 51 | const cartModule = { 52 | state, 53 | mutations, 54 | actions, 55 | getters 56 | } 57 | 58 | export default cartModule; 59 | -------------------------------------------------------------------------------- /02-calendar_app/src/app/store.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import { seedData } from './seed.js'; 3 | 4 | export const store = { 5 | state: { 6 | seedData 7 | }, 8 | getActiveDay () { 9 | return this.state.seedData.find((day) => day.active); 10 | }, 11 | setActiveDay (dayId) { 12 | this.state.seedData.map((dayObj) => { 13 | dayObj.id === dayId ? dayObj.active = true : dayObj.active = false; 14 | }); 15 | }, 16 | getEventObj (dayId, eventDetails) { 17 | const dayObj = this.state.seedData.find(day => day.id === dayId); 18 | return dayObj.events.find(event => event.details === eventDetails); 19 | }, 20 | submitEvent (eventDetails) { 21 | const activeDay = this.getActiveDay(); 22 | activeDay.events.push({ "details": eventDetails, "edit": false }); 23 | }, 24 | editEvent (dayId, eventDetails) { 25 | this.resetEditOfAllEvents(); 26 | 27 | const eventObj = this.getEventObj(dayId, eventDetails); 28 | 29 | eventObj.edit = true; 30 | }, 31 | resetEditOfAllEvents () { 32 | this.state.seedData.map((dayObj) => { 33 | dayObj.events.map((event) => { 34 | event.edit = false; 35 | }); 36 | }); 37 | }, 38 | updateEvent (dayId, originalEventDetails, updatedEventDetails) { 39 | const eventObj = this.getEventObj(dayId, originalEventDetails); 40 | 41 | eventObj.details = updatedEventDetails; 42 | eventObj.edit = false; 43 | }, 44 | deleteEvent (dayId, eventDetails) { 45 | const dayObj = this.state.seedData.find(day => day.id === dayId); 46 | const eventIndexToRemove = dayObj.events.findIndex(event => event.details === eventDetails); 47 | 48 | dayObj.events.splice(eventIndexToRemove, 1) 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /01-upvote/app/main.js: -------------------------------------------------------------------------------- 1 | const submissionComponent = { 2 | template: 3 | `
4 |
5 | 6 |
7 |
8 |
9 |

10 | 11 | 12 | {{ submission.title }} 13 | 14 | #{{ submission.id }} 15 | 16 |
17 | {{ submission.description }} 18 |
19 | 20 | Submitted by: 21 | 22 | 23 |

24 |
25 |
26 |
27 | 28 | 29 | {{ submission.votes }} 30 | 31 |
32 |
`, 33 | props: ['submission', 'submissions'], 34 | methods: { 35 | upvote(submissionId) { 36 | const submission = this.submissions.find( 37 | submission => submission.id === submissionId 38 | ); 39 | submission.votes++; 40 | } 41 | } 42 | }; 43 | 44 | new Vue({ 45 | el: "#app", 46 | data: { 47 | submissions: Seed.submissions 48 | }, 49 | computed: { 50 | sortedSubmissions() { 51 | return this.submissions.sort((a, b) => { 52 | return b.votes - a.votes 53 | }); 54 | } 55 | }, 56 | components: { 57 | 'submission-component': submissionComponent 58 | } 59 | }); 60 | -------------------------------------------------------------------------------- /05-shopping_cart/build/webpack.base.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const utils = require('./utils') 4 | const config = require('../config') 5 | const vueLoaderConfig = require('./vue-loader.conf') 6 | 7 | function resolve (dir) { 8 | return path.join(__dirname, '..', dir) 9 | } 10 | 11 | module.exports = { 12 | context: path.resolve(__dirname, '../'), 13 | entry: { 14 | app: './src/main.js' 15 | }, 16 | output: { 17 | path: config.build.assetsRoot, 18 | filename: '[name].js', 19 | publicPath: process.env.NODE_ENV === 'production' 20 | ? config.build.assetsPublicPath 21 | : config.dev.assetsPublicPath 22 | }, 23 | resolve: { 24 | extensions: ['.js', '.vue', '.json'], 25 | alias: { 26 | '@': resolve('src'), 27 | } 28 | }, 29 | module: { 30 | rules: [ 31 | { 32 | test: /\.vue$/, 33 | loader: 'vue-loader', 34 | options: vueLoaderConfig 35 | }, 36 | { 37 | test: /\.js$/, 38 | loader: 'babel-loader', 39 | include: [resolve('src'), resolve('test')] 40 | }, 41 | { 42 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, 43 | loader: 'url-loader', 44 | options: { 45 | limit: 10000, 46 | name: utils.assetsPath('img/[name].[hash:7].[ext]') 47 | } 48 | }, 49 | { 50 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, 51 | loader: 'url-loader', 52 | options: { 53 | limit: 10000, 54 | name: utils.assetsPath('media/[name].[hash:7].[ext]') 55 | } 56 | }, 57 | { 58 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, 59 | loader: 'url-loader', 60 | options: { 61 | limit: 10000, 62 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]') 63 | } 64 | } 65 | ] 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /05-shopping_cart/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "shopping_cart", 3 | "version": "1.0.0", 4 | "description": "Project Four: Shopping Cart", 5 | "author": "Fullstack.io", 6 | "private": true, 7 | "scripts": { 8 | "start": "concurrently \"npm run server\" \"npm run client\"", 9 | "server": "node server", 10 | "client": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js" 11 | }, 12 | "dependencies": { 13 | "axios": "^0.17.1", 14 | "vue": "^2.5.2", 15 | "vuex": "^3.0.1" 16 | }, 17 | "devDependencies": { 18 | "autoprefixer": "^7.1.2", 19 | "babel-core": "^6.22.1", 20 | "babel-loader": "^7.1.1", 21 | "babel-plugin-transform-runtime": "^6.22.0", 22 | "babel-preset-env": "^1.3.2", 23 | "babel-preset-stage-2": "^6.22.0", 24 | "babel-register": "^6.22.0", 25 | "chalk": "^2.0.1", 26 | "concurrently": "^3.5.0", 27 | "copy-webpack-plugin": "^4.0.1", 28 | "css-loader": "^0.28.0", 29 | "eventsource-polyfill": "^0.9.6", 30 | "express": "^4.14.1", 31 | "extract-text-webpack-plugin": "^3.0.0", 32 | "file-loader": "^1.1.4", 33 | "friendly-errors-webpack-plugin": "^1.6.1", 34 | "html-webpack-plugin": "^2.30.1", 35 | "node-notifier": "^5.1.2", 36 | "optimize-css-assets-webpack-plugin": "^3.2.0", 37 | "ora": "^1.2.0", 38 | "portfinder": "^1.0.13", 39 | "postcss-loader": "^2.0.8", 40 | "rimraf": "^2.6.0", 41 | "semver": "^5.3.0", 42 | "shelljs": "^0.7.6", 43 | "url-loader": "^0.5.8", 44 | "vue-loader": "^13.3.0", 45 | "vue-style-loader": "^3.0.1", 46 | "vue-template-compiler": "^2.5.2", 47 | "webpack": "^3.6.0", 48 | "webpack-bundle-analyzer": "^2.9.0", 49 | "webpack-dev-server": "^2.9.1", 50 | "webpack-merge": "^4.1.0" 51 | }, 52 | "engines": { 53 | "node": ">= 4.0.0", 54 | "npm": ">= 3.0.0" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /02-calendar_app/webpack.config.js: -------------------------------------------------------------------------------- 1 | var path = require('path') 2 | var webpack = require('webpack') 3 | 4 | module.exports = { 5 | entry: './src/main.js', 6 | output: { 7 | path: path.resolve(__dirname, './dist'), 8 | publicPath: '/dist/', 9 | filename: 'build.js' 10 | }, 11 | module: { 12 | rules: [ 13 | { 14 | test: /\.vue$/, 15 | loader: 'vue-loader', 16 | options: { 17 | loaders: { 18 | 'scss': 'vue-style-loader!css-loader!sass-loader', 19 | 'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax' 20 | } 21 | // other vue-loader options go here 22 | } 23 | }, 24 | { 25 | test: /\.js$/, 26 | loader: 'babel-loader', 27 | exclude: /node_modules/ 28 | }, 29 | { 30 | test: /\.(png|jpg|gif|svg)$/, 31 | loader: 'file-loader', 32 | options: { 33 | name: '[name].[ext]?[hash]' 34 | } 35 | } 36 | ] 37 | }, 38 | resolve: { 39 | alias: { 40 | 'vue$': 'vue/dist/vue.esm.js' 41 | } 42 | }, 43 | devServer: { 44 | historyApiFallback: true, 45 | noInfo: true 46 | }, 47 | performance: { 48 | hints: false 49 | }, 50 | devtool: '#eval-source-map' 51 | } 52 | 53 | if (process.env.NODE_ENV === 'production') { 54 | module.exports.devtool = '#source-map' 55 | // http://vue-loader.vuejs.org/en/workflow/production.html 56 | module.exports.plugins = (module.exports.plugins || []).concat([ 57 | new webpack.DefinePlugin({ 58 | 'process.env': { 59 | NODE_ENV: '"production"' 60 | } 61 | }), 62 | new webpack.optimize.UglifyJsPlugin({ 63 | sourceMap: true, 64 | compress: { 65 | warnings: false 66 | } 67 | }), 68 | new webpack.LoaderOptionsPlugin({ 69 | minimize: true 70 | }) 71 | ]) 72 | } 73 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /04-note_taking/app/main.js: -------------------------------------------------------------------------------- 1 | const noteCountComponent = { 2 | template: ` 3 |
4 | Note count: {{ noteCount }} 5 |
6 | `, 7 | computed: { 8 | noteCount() { 9 | return this.$store.getters.getNoteCount; 10 | } 11 | } 12 | } 13 | 14 | const inputComponent = { 15 | template: ` 16 | 22 | `, 23 | data () { 24 | return { 25 | input: '', 26 | } 27 | }, 28 | methods: { 29 | monitorEnterKey () { 30 | this.$store.dispatch('addNote', this.input); 31 | this.$store.dispatch('addTimeStamp', new Date().toLocaleString()); 32 | this.input = ''; // set input field back to blank 33 | } 34 | } 35 | } 36 | 37 | const state = { 38 | notes: [], 39 | timestamps: [] 40 | } 41 | 42 | const mutations = { 43 | ADD_NOTE (state, payload) { 44 | let newNote = payload; 45 | state.notes.push(newNote); 46 | }, 47 | ADD_TIMESAMP (state, payload) { 48 | let newTimeStamp = payload; 49 | state.timestamps.push(newTimeStamp); 50 | } 51 | } 52 | 53 | const actions = { 54 | addNote (context, payload) { 55 | context.commit('ADD_NOTE', payload); 56 | }, 57 | addTimeStamp (context, payload) { 58 | context.commit('ADD_TIMESAMP', payload); 59 | } 60 | } 61 | 62 | const getters = { 63 | getNotes: state => state.notes, 64 | getTimestamps: state => state.timestamps, 65 | getNoteCount: state => state.notes.length 66 | } 67 | 68 | 69 | const store = new Vuex.Store({ 70 | state, 71 | mutations, 72 | actions, 73 | getters 74 | }) 75 | 76 | new Vue({ 77 | el: '#app', 78 | store, 79 | computed: { 80 | notes() { 81 | return this.$store.getters.getNotes; 82 | }, 83 | timestamps() { 84 | return this.$store.getters.getTimestamps; 85 | } 86 | }, 87 | components: { 88 | 'input-component': inputComponent, 89 | 'note-count-component': noteCountComponent 90 | }, 91 | }) 92 | -------------------------------------------------------------------------------- /02-calendar_app/src/app/components/CalendarEntry.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 46 | 47 | 89 | -------------------------------------------------------------------------------- /05-shopping_cart/src/app/components/cart/CartList.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 48 | 49 | 86 | -------------------------------------------------------------------------------- /02-calendar_app/src/app/components/CalendarEvent.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 53 | 54 | 78 | -------------------------------------------------------------------------------- /05-shopping_cart/build/webpack.dev.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const utils = require('./utils') 3 | const webpack = require('webpack') 4 | const config = require('../config') 5 | const merge = require('webpack-merge') 6 | const baseWebpackConfig = require('./webpack.base.conf') 7 | const HtmlWebpackPlugin = require('html-webpack-plugin') 8 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') 9 | const portfinder = require('portfinder') 10 | 11 | const devWebpackConfig = merge(baseWebpackConfig, { 12 | module: { 13 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) 14 | }, 15 | // cheap-module-eval-source-map is faster for development 16 | devtool: config.dev.devtool, 17 | 18 | // these devServer options should be customized in /config/index.js 19 | devServer: { 20 | historyApiFallback: true, 21 | hot: true, 22 | host: process.env.HOST || config.dev.host, 23 | port: process.env.PORT || config.dev.port, 24 | open: config.dev.autoOpenBrowser, 25 | overlay: config.dev.errorOverlay ? { 26 | warnings: false, 27 | errors: true, 28 | } : false, 29 | publicPath: config.dev.assetsPublicPath, 30 | proxy: config.dev.proxyTable, 31 | quiet: true, // necessary for FriendlyErrorsPlugin 32 | watchOptions: { 33 | poll: config.dev.poll, 34 | } 35 | }, 36 | plugins: [ 37 | new webpack.DefinePlugin({ 38 | 'process.env': require('../config/dev.env') 39 | }), 40 | new webpack.HotModuleReplacementPlugin(), 41 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. 42 | new webpack.NoEmitOnErrorsPlugin(), 43 | // https://github.com/ampedandwired/html-webpack-plugin 44 | new HtmlWebpackPlugin({ 45 | filename: 'index.html', 46 | template: 'index.html', 47 | inject: true 48 | }), 49 | new FriendlyErrorsPlugin() 50 | ] 51 | }) 52 | 53 | module.exports = new Promise((resolve, reject) => { 54 | portfinder.basePort = process.env.PORT || config.dev.port 55 | portfinder.getPort((err, port) => { 56 | if (err) { 57 | reject(err) 58 | } else { 59 | // publish the new Port, necessary for e2e tests 60 | process.env.PORT = port 61 | // add port to devServer config 62 | devWebpackConfig.devServer.port = port 63 | 64 | // Add FriendlyErrorsPlugin 65 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ 66 | compilationSuccessInfo: { 67 | messages: [`Your application is running here: http://${config.dev.host}:${port}`], 68 | }, 69 | onErrors: config.dev.notifyOnErrors 70 | ? utils.createNotifierCallback() 71 | : undefined 72 | })) 73 | 74 | resolve(devWebpackConfig) 75 | } 76 | }) 77 | }) 78 | -------------------------------------------------------------------------------- /05-shopping_cart/config/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | // Template version: 1.2.1 3 | // see http://vuejs-templates.github.io/webpack for documentation. 4 | 5 | const path = require('path') 6 | 7 | module.exports = { 8 | dev: { 9 | // Paths 10 | assetsSubDirectory: 'static', 11 | assetsPublicPath: '/', 12 | proxyTable: { 13 | '/api': { 14 | target: 'http://localhost:3000/', 15 | changeOrigin: true, 16 | pathRewrite: { 17 | '^/api': '' 18 | } 19 | } 20 | }, 21 | // Various Dev Server settings 22 | host: 'localhost', // can be overwritten by process.env.HOST 23 | port: 8080, // can be overwritten by process.env.HOST, if port is in use, a free one will be determined 24 | autoOpenBrowser: false, 25 | errorOverlay: true, 26 | notifyOnErrors: true, 27 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- 28 | 29 | // Use Eslint Loader? 30 | // If true, your code will be linted during bundling and 31 | // linting errors and warnings will be shown in the console. 32 | useEslint: true, 33 | // If true, eslint errors and warnings will also be shown in the error overlay 34 | // in the browser. 35 | showEslintErrorsInOverlay: false, 36 | 37 | /** 38 | * Source Maps 39 | */ 40 | 41 | // https://webpack.js.org/configuration/devtool/#development 42 | devtool: 'eval-source-map', 43 | 44 | // If you have problems debugging vue-files in devtools, 45 | // set this to false - it *may* help 46 | // https://vue-loader.vuejs.org/en/options.html#cachebusting 47 | cacheBusting: true, 48 | 49 | // CSS Sourcemaps off by default because relative paths are "buggy" 50 | // with this option, according to the CSS-Loader README 51 | // (https://github.com/webpack/css-loader#sourcemaps) 52 | // In our experience, they generally work as expected, 53 | // just be aware of this issue when enabling this option. 54 | cssSourceMap: false, 55 | }, 56 | 57 | build: { 58 | // Template for index.html 59 | index: path.resolve(__dirname, '../dist/index.html'), 60 | 61 | // Paths 62 | assetsRoot: path.resolve(__dirname, '../dist'), 63 | assetsSubDirectory: 'static', 64 | assetsPublicPath: '/', 65 | 66 | /** 67 | * Source Maps 68 | */ 69 | 70 | productionSourceMap: true, 71 | // https://webpack.js.org/configuration/devtool/#production 72 | devtool: '#source-map', 73 | 74 | // Gzip off by default as many popular static hosts such as 75 | // Surge or Netlify already gzip all static assets for you. 76 | // Before setting to `true`, make sure to: 77 | // npm install --save-dev compression-webpack-plugin 78 | productionGzip: false, 79 | productionGzipExtensions: ['js', 'css'], 80 | 81 | // Run the build command with an extra argument to 82 | // View the bundle analyzer report after build finishes: 83 | // `npm run build --report` 84 | // Set to `true` or `false` to always turn it on or off 85 | bundleAnalyzerReport: process.env.npm_config_report 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /05-shopping_cart/build/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const path = require('path') 3 | const config = require('../config') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin') 5 | const pkg = require('../package.json') 6 | 7 | exports.assetsPath = function (_path) { 8 | const assetsSubDirectory = process.env.NODE_ENV === 'production' 9 | ? config.build.assetsSubDirectory 10 | : config.dev.assetsSubDirectory 11 | return path.posix.join(assetsSubDirectory, _path) 12 | } 13 | 14 | exports.cssLoaders = function (options) { 15 | options = options || {} 16 | 17 | const cssLoader = { 18 | loader: 'css-loader', 19 | options: { 20 | minimize: process.env.NODE_ENV === 'production', 21 | sourceMap: options.sourceMap 22 | } 23 | } 24 | 25 | var postcssLoader = { 26 | loader: 'postcss-loader', 27 | options: { 28 | sourceMap: options.sourceMap 29 | } 30 | } 31 | 32 | // generate loader string to be used with extract text plugin 33 | function generateLoaders (loader, loaderOptions) { 34 | const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader] 35 | if (loader) { 36 | loaders.push({ 37 | loader: loader + '-loader', 38 | options: Object.assign({}, loaderOptions, { 39 | sourceMap: options.sourceMap 40 | }) 41 | }) 42 | } 43 | 44 | // Extract CSS when that option is specified 45 | // (which is the case during production build) 46 | if (options.extract) { 47 | return ExtractTextPlugin.extract({ 48 | use: loaders, 49 | fallback: 'vue-style-loader' 50 | }) 51 | } else { 52 | return ['vue-style-loader'].concat(loaders) 53 | } 54 | } 55 | 56 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html 57 | return { 58 | css: generateLoaders(), 59 | postcss: generateLoaders(), 60 | less: generateLoaders('less'), 61 | sass: generateLoaders('sass', { indentedSyntax: true }), 62 | scss: generateLoaders('sass'), 63 | stylus: generateLoaders('stylus'), 64 | styl: generateLoaders('stylus') 65 | } 66 | } 67 | 68 | // Generate loaders for standalone style files (outside of .vue) 69 | exports.styleLoaders = function (options) { 70 | const output = [] 71 | const loaders = exports.cssLoaders(options) 72 | for (const extension in loaders) { 73 | const loader = loaders[extension] 74 | output.push({ 75 | test: new RegExp('\\.' + extension + '$'), 76 | use: loader 77 | }) 78 | } 79 | return output 80 | } 81 | 82 | exports.createNotifierCallback = function () { 83 | const notifier = require('node-notifier') 84 | 85 | return (severity, errors) => { 86 | if (severity !== 'error') { 87 | return 88 | } 89 | const error = errors[0] 90 | 91 | const filename = error.file.split('!').pop() 92 | notifier.notify({ 93 | title: pkg.name, 94 | message: severity + ': ' + error.name, 95 | subtitle: filename || '', 96 | icon: path.join(__dirname, 'logo.png') 97 | }) 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /05-shopping_cart/server.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-param-reassign */ 2 | const express = require('express'); 3 | const bodyParser = require('body-parser'); 4 | const fs = require('fs'); 5 | const path = require('path'); 6 | 7 | const app = express(); 8 | 9 | const PRODUCT_DATA_FILE = path.join(__dirname, 'server-product-data.json'); 10 | const CART_DATA_FILE = path.join(__dirname, 'server-cart-data.json'); 11 | 12 | app.set('port', (process.env.PORT || 3000)); 13 | 14 | app.use(bodyParser.json()); 15 | app.use(bodyParser.urlencoded({ extended: true })); 16 | 17 | app.use((req, res, next) => { 18 | res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate'); 19 | res.setHeader('Pragma', 'no-cache'); 20 | res.setHeader('Expires', '0'); 21 | next(); 22 | }); 23 | 24 | app.get('/products', (req, res) => { 25 | fs.readFile(PRODUCT_DATA_FILE, (err, data) => { 26 | res.setHeader('Cache-Control', 'no-cache'); 27 | res.json(JSON.parse(data)); 28 | }); 29 | }); 30 | 31 | app.get('/cart', (req, res) => { 32 | fs.readFile(CART_DATA_FILE, (err, data) => { 33 | res.setHeader('Cache-Control', 'no-cache'); 34 | res.json(JSON.parse(data)); 35 | }); 36 | }); 37 | 38 | app.post('/cart', (req, res) => { 39 | fs.readFile(CART_DATA_FILE, (err, data) => { 40 | const cartProducts = JSON.parse(data); 41 | const newCartProduct = { id: req.body.id, title: req.body.title, description: req.body.description, price: req.body.price, quantity: 1 }; 42 | let cartProductExists = false; 43 | cartProducts.map((cartProduct) => { 44 | if (cartProduct.id === newCartProduct.id) { 45 | cartProduct.quantity++; 46 | cartProductExists = true; 47 | } 48 | }); 49 | if (!cartProductExists) cartProducts.push(newCartProduct); 50 | fs.writeFile(CART_DATA_FILE, JSON.stringify(cartProducts, null, 4), () => { 51 | res.setHeader('Cache-Control', 'no-cache'); 52 | res.json(cartProducts); 53 | }); 54 | }); 55 | }); 56 | 57 | app.post('/cart/delete', (req, res) => { 58 | fs.readFile(CART_DATA_FILE, (err, data) => { 59 | let cartProducts = JSON.parse(data); 60 | cartProducts.map((cartProduct) => { 61 | if (cartProduct.id === req.body.id && cartProduct.quantity > 1) { 62 | cartProduct.quantity--; 63 | } else if (cartProduct.id === req.body.id && cartProduct.quantity === 1) { 64 | const cartIndexToRemove = cartProducts.findIndex(cartProduct => cartProduct.id === req.body.id); 65 | cartProducts.splice(cartIndexToRemove, 1); 66 | } 67 | }); 68 | fs.writeFile(CART_DATA_FILE, JSON.stringify(cartProducts, null, 4), () => { 69 | res.setHeader('Cache-Control', 'no-cache'); 70 | res.json(cartProducts); 71 | }); 72 | }); 73 | }); 74 | 75 | app.post('/cart/delete/all', (req, res) => { 76 | fs.readFile(CART_DATA_FILE, (err, data) => { 77 | let emptyCart = []; 78 | fs.writeFile(CART_DATA_FILE, JSON.stringify(emptyCart, null, 4), () => { 79 | res.json(emptyCart); 80 | }); 81 | }); 82 | }); 83 | 84 | app.listen(app.get('port'), () => { 85 | console.log(`Find the server at: http://localhost:${app.get('port')}/`); // eslint-disable-line no-console 86 | }); 87 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | @fa-font-path: "../fonts"; 5 | @fa-font-size-base: 14px; 6 | @fa-line-height-base: 1; 7 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly 8 | @fa-css-prefix: fa; 9 | @fa-version: "4.7.0"; 10 | @fa-border-color: #eee; 11 | @fa-inverse: #fff; 12 | @fa-li-width: (30em / 14); 13 | 14 | @fa-var-500px: "\f26e"; 15 | @fa-var-address-book: "\f2b9"; 16 | @fa-var-address-book-o: "\f2ba"; 17 | @fa-var-address-card: "\f2bb"; 18 | @fa-var-address-card-o: "\f2bc"; 19 | @fa-var-adjust: "\f042"; 20 | @fa-var-adn: "\f170"; 21 | @fa-var-align-center: "\f037"; 22 | @fa-var-align-justify: "\f039"; 23 | @fa-var-align-left: "\f036"; 24 | @fa-var-align-right: "\f038"; 25 | @fa-var-amazon: "\f270"; 26 | @fa-var-ambulance: "\f0f9"; 27 | @fa-var-american-sign-language-interpreting: "\f2a3"; 28 | @fa-var-anchor: "\f13d"; 29 | @fa-var-android: "\f17b"; 30 | @fa-var-angellist: "\f209"; 31 | @fa-var-angle-double-down: "\f103"; 32 | @fa-var-angle-double-left: "\f100"; 33 | @fa-var-angle-double-right: "\f101"; 34 | @fa-var-angle-double-up: "\f102"; 35 | @fa-var-angle-down: "\f107"; 36 | @fa-var-angle-left: "\f104"; 37 | @fa-var-angle-right: "\f105"; 38 | @fa-var-angle-up: "\f106"; 39 | @fa-var-apple: "\f179"; 40 | @fa-var-archive: "\f187"; 41 | @fa-var-area-chart: "\f1fe"; 42 | @fa-var-arrow-circle-down: "\f0ab"; 43 | @fa-var-arrow-circle-left: "\f0a8"; 44 | @fa-var-arrow-circle-o-down: "\f01a"; 45 | @fa-var-arrow-circle-o-left: "\f190"; 46 | @fa-var-arrow-circle-o-right: "\f18e"; 47 | @fa-var-arrow-circle-o-up: "\f01b"; 48 | @fa-var-arrow-circle-right: "\f0a9"; 49 | @fa-var-arrow-circle-up: "\f0aa"; 50 | @fa-var-arrow-down: "\f063"; 51 | @fa-var-arrow-left: "\f060"; 52 | @fa-var-arrow-right: "\f061"; 53 | @fa-var-arrow-up: "\f062"; 54 | @fa-var-arrows: "\f047"; 55 | @fa-var-arrows-alt: "\f0b2"; 56 | @fa-var-arrows-h: "\f07e"; 57 | @fa-var-arrows-v: "\f07d"; 58 | @fa-var-asl-interpreting: "\f2a3"; 59 | @fa-var-assistive-listening-systems: "\f2a2"; 60 | @fa-var-asterisk: "\f069"; 61 | @fa-var-at: "\f1fa"; 62 | @fa-var-audio-description: "\f29e"; 63 | @fa-var-automobile: "\f1b9"; 64 | @fa-var-backward: "\f04a"; 65 | @fa-var-balance-scale: "\f24e"; 66 | @fa-var-ban: "\f05e"; 67 | @fa-var-bandcamp: "\f2d5"; 68 | @fa-var-bank: "\f19c"; 69 | @fa-var-bar-chart: "\f080"; 70 | @fa-var-bar-chart-o: "\f080"; 71 | @fa-var-barcode: "\f02a"; 72 | @fa-var-bars: "\f0c9"; 73 | @fa-var-bath: "\f2cd"; 74 | @fa-var-bathtub: "\f2cd"; 75 | @fa-var-battery: "\f240"; 76 | @fa-var-battery-0: "\f244"; 77 | @fa-var-battery-1: "\f243"; 78 | @fa-var-battery-2: "\f242"; 79 | @fa-var-battery-3: "\f241"; 80 | @fa-var-battery-4: "\f240"; 81 | @fa-var-battery-empty: "\f244"; 82 | @fa-var-battery-full: "\f240"; 83 | @fa-var-battery-half: "\f242"; 84 | @fa-var-battery-quarter: "\f243"; 85 | @fa-var-battery-three-quarters: "\f241"; 86 | @fa-var-bed: "\f236"; 87 | @fa-var-beer: "\f0fc"; 88 | @fa-var-behance: "\f1b4"; 89 | @fa-var-behance-square: "\f1b5"; 90 | @fa-var-bell: "\f0f3"; 91 | @fa-var-bell-o: "\f0a2"; 92 | @fa-var-bell-slash: "\f1f6"; 93 | @fa-var-bell-slash-o: "\f1f7"; 94 | @fa-var-bicycle: "\f206"; 95 | @fa-var-binoculars: "\f1e5"; 96 | @fa-var-birthday-cake: "\f1fd"; 97 | @fa-var-bitbucket: "\f171"; 98 | @fa-var-bitbucket-square: "\f172"; 99 | @fa-var-bitcoin: "\f15a"; 100 | @fa-var-black-tie: "\f27e"; 101 | @fa-var-blind: "\f29d"; 102 | @fa-var-bluetooth: "\f293"; 103 | @fa-var-bluetooth-b: "\f294"; 104 | @fa-var-bold: "\f032"; 105 | @fa-var-bolt: "\f0e7"; 106 | @fa-var-bomb: "\f1e2"; 107 | @fa-var-book: "\f02d"; 108 | @fa-var-bookmark: "\f02e"; 109 | @fa-var-bookmark-o: "\f097"; 110 | @fa-var-braille: "\f2a1"; 111 | @fa-var-briefcase: "\f0b1"; 112 | @fa-var-btc: "\f15a"; 113 | @fa-var-bug: "\f188"; 114 | @fa-var-building: "\f1ad"; 115 | @fa-var-building-o: "\f0f7"; 116 | @fa-var-bullhorn: "\f0a1"; 117 | @fa-var-bullseye: "\f140"; 118 | @fa-var-bus: "\f207"; 119 | @fa-var-buysellads: "\f20d"; 120 | @fa-var-cab: "\f1ba"; 121 | @fa-var-calculator: "\f1ec"; 122 | @fa-var-calendar: "\f073"; 123 | @fa-var-calendar-check-o: "\f274"; 124 | @fa-var-calendar-minus-o: "\f272"; 125 | @fa-var-calendar-o: "\f133"; 126 | @fa-var-calendar-plus-o: "\f271"; 127 | @fa-var-calendar-times-o: "\f273"; 128 | @fa-var-camera: "\f030"; 129 | @fa-var-camera-retro: "\f083"; 130 | @fa-var-car: "\f1b9"; 131 | @fa-var-caret-down: "\f0d7"; 132 | @fa-var-caret-left: "\f0d9"; 133 | @fa-var-caret-right: "\f0da"; 134 | @fa-var-caret-square-o-down: "\f150"; 135 | @fa-var-caret-square-o-left: "\f191"; 136 | @fa-var-caret-square-o-right: "\f152"; 137 | @fa-var-caret-square-o-up: "\f151"; 138 | @fa-var-caret-up: "\f0d8"; 139 | @fa-var-cart-arrow-down: "\f218"; 140 | @fa-var-cart-plus: "\f217"; 141 | @fa-var-cc: "\f20a"; 142 | @fa-var-cc-amex: "\f1f3"; 143 | @fa-var-cc-diners-club: "\f24c"; 144 | @fa-var-cc-discover: "\f1f2"; 145 | @fa-var-cc-jcb: "\f24b"; 146 | @fa-var-cc-mastercard: "\f1f1"; 147 | @fa-var-cc-paypal: "\f1f4"; 148 | @fa-var-cc-stripe: "\f1f5"; 149 | @fa-var-cc-visa: "\f1f0"; 150 | @fa-var-certificate: "\f0a3"; 151 | @fa-var-chain: "\f0c1"; 152 | @fa-var-chain-broken: "\f127"; 153 | @fa-var-check: "\f00c"; 154 | @fa-var-check-circle: "\f058"; 155 | @fa-var-check-circle-o: "\f05d"; 156 | @fa-var-check-square: "\f14a"; 157 | @fa-var-check-square-o: "\f046"; 158 | @fa-var-chevron-circle-down: "\f13a"; 159 | @fa-var-chevron-circle-left: "\f137"; 160 | @fa-var-chevron-circle-right: "\f138"; 161 | @fa-var-chevron-circle-up: "\f139"; 162 | @fa-var-chevron-down: "\f078"; 163 | @fa-var-chevron-left: "\f053"; 164 | @fa-var-chevron-right: "\f054"; 165 | @fa-var-chevron-up: "\f077"; 166 | @fa-var-child: "\f1ae"; 167 | @fa-var-chrome: "\f268"; 168 | @fa-var-circle: "\f111"; 169 | @fa-var-circle-o: "\f10c"; 170 | @fa-var-circle-o-notch: "\f1ce"; 171 | @fa-var-circle-thin: "\f1db"; 172 | @fa-var-clipboard: "\f0ea"; 173 | @fa-var-clock-o: "\f017"; 174 | @fa-var-clone: "\f24d"; 175 | @fa-var-close: "\f00d"; 176 | @fa-var-cloud: "\f0c2"; 177 | @fa-var-cloud-download: "\f0ed"; 178 | @fa-var-cloud-upload: "\f0ee"; 179 | @fa-var-cny: "\f157"; 180 | @fa-var-code: "\f121"; 181 | @fa-var-code-fork: "\f126"; 182 | @fa-var-codepen: "\f1cb"; 183 | @fa-var-codiepie: "\f284"; 184 | @fa-var-coffee: "\f0f4"; 185 | @fa-var-cog: "\f013"; 186 | @fa-var-cogs: "\f085"; 187 | @fa-var-columns: "\f0db"; 188 | @fa-var-comment: "\f075"; 189 | @fa-var-comment-o: "\f0e5"; 190 | @fa-var-commenting: "\f27a"; 191 | @fa-var-commenting-o: "\f27b"; 192 | @fa-var-comments: "\f086"; 193 | @fa-var-comments-o: "\f0e6"; 194 | @fa-var-compass: "\f14e"; 195 | @fa-var-compress: "\f066"; 196 | @fa-var-connectdevelop: "\f20e"; 197 | @fa-var-contao: "\f26d"; 198 | @fa-var-copy: "\f0c5"; 199 | @fa-var-copyright: "\f1f9"; 200 | @fa-var-creative-commons: "\f25e"; 201 | @fa-var-credit-card: "\f09d"; 202 | @fa-var-credit-card-alt: "\f283"; 203 | @fa-var-crop: "\f125"; 204 | @fa-var-crosshairs: "\f05b"; 205 | @fa-var-css3: "\f13c"; 206 | @fa-var-cube: "\f1b2"; 207 | @fa-var-cubes: "\f1b3"; 208 | @fa-var-cut: "\f0c4"; 209 | @fa-var-cutlery: "\f0f5"; 210 | @fa-var-dashboard: "\f0e4"; 211 | @fa-var-dashcube: "\f210"; 212 | @fa-var-database: "\f1c0"; 213 | @fa-var-deaf: "\f2a4"; 214 | @fa-var-deafness: "\f2a4"; 215 | @fa-var-dedent: "\f03b"; 216 | @fa-var-delicious: "\f1a5"; 217 | @fa-var-desktop: "\f108"; 218 | @fa-var-deviantart: "\f1bd"; 219 | @fa-var-diamond: "\f219"; 220 | @fa-var-digg: "\f1a6"; 221 | @fa-var-dollar: "\f155"; 222 | @fa-var-dot-circle-o: "\f192"; 223 | @fa-var-download: "\f019"; 224 | @fa-var-dribbble: "\f17d"; 225 | @fa-var-drivers-license: "\f2c2"; 226 | @fa-var-drivers-license-o: "\f2c3"; 227 | @fa-var-dropbox: "\f16b"; 228 | @fa-var-drupal: "\f1a9"; 229 | @fa-var-edge: "\f282"; 230 | @fa-var-edit: "\f044"; 231 | @fa-var-eercast: "\f2da"; 232 | @fa-var-eject: "\f052"; 233 | @fa-var-ellipsis-h: "\f141"; 234 | @fa-var-ellipsis-v: "\f142"; 235 | @fa-var-empire: "\f1d1"; 236 | @fa-var-envelope: "\f0e0"; 237 | @fa-var-envelope-o: "\f003"; 238 | @fa-var-envelope-open: "\f2b6"; 239 | @fa-var-envelope-open-o: "\f2b7"; 240 | @fa-var-envelope-square: "\f199"; 241 | @fa-var-envira: "\f299"; 242 | @fa-var-eraser: "\f12d"; 243 | @fa-var-etsy: "\f2d7"; 244 | @fa-var-eur: "\f153"; 245 | @fa-var-euro: "\f153"; 246 | @fa-var-exchange: "\f0ec"; 247 | @fa-var-exclamation: "\f12a"; 248 | @fa-var-exclamation-circle: "\f06a"; 249 | @fa-var-exclamation-triangle: "\f071"; 250 | @fa-var-expand: "\f065"; 251 | @fa-var-expeditedssl: "\f23e"; 252 | @fa-var-external-link: "\f08e"; 253 | @fa-var-external-link-square: "\f14c"; 254 | @fa-var-eye: "\f06e"; 255 | @fa-var-eye-slash: "\f070"; 256 | @fa-var-eyedropper: "\f1fb"; 257 | @fa-var-fa: "\f2b4"; 258 | @fa-var-facebook: "\f09a"; 259 | @fa-var-facebook-f: "\f09a"; 260 | @fa-var-facebook-official: "\f230"; 261 | @fa-var-facebook-square: "\f082"; 262 | @fa-var-fast-backward: "\f049"; 263 | @fa-var-fast-forward: "\f050"; 264 | @fa-var-fax: "\f1ac"; 265 | @fa-var-feed: "\f09e"; 266 | @fa-var-female: "\f182"; 267 | @fa-var-fighter-jet: "\f0fb"; 268 | @fa-var-file: "\f15b"; 269 | @fa-var-file-archive-o: "\f1c6"; 270 | @fa-var-file-audio-o: "\f1c7"; 271 | @fa-var-file-code-o: "\f1c9"; 272 | @fa-var-file-excel-o: "\f1c3"; 273 | @fa-var-file-image-o: "\f1c5"; 274 | @fa-var-file-movie-o: "\f1c8"; 275 | @fa-var-file-o: "\f016"; 276 | @fa-var-file-pdf-o: "\f1c1"; 277 | @fa-var-file-photo-o: "\f1c5"; 278 | @fa-var-file-picture-o: "\f1c5"; 279 | @fa-var-file-powerpoint-o: "\f1c4"; 280 | @fa-var-file-sound-o: "\f1c7"; 281 | @fa-var-file-text: "\f15c"; 282 | @fa-var-file-text-o: "\f0f6"; 283 | @fa-var-file-video-o: "\f1c8"; 284 | @fa-var-file-word-o: "\f1c2"; 285 | @fa-var-file-zip-o: "\f1c6"; 286 | @fa-var-files-o: "\f0c5"; 287 | @fa-var-film: "\f008"; 288 | @fa-var-filter: "\f0b0"; 289 | @fa-var-fire: "\f06d"; 290 | @fa-var-fire-extinguisher: "\f134"; 291 | @fa-var-firefox: "\f269"; 292 | @fa-var-first-order: "\f2b0"; 293 | @fa-var-flag: "\f024"; 294 | @fa-var-flag-checkered: "\f11e"; 295 | @fa-var-flag-o: "\f11d"; 296 | @fa-var-flash: "\f0e7"; 297 | @fa-var-flask: "\f0c3"; 298 | @fa-var-flickr: "\f16e"; 299 | @fa-var-floppy-o: "\f0c7"; 300 | @fa-var-folder: "\f07b"; 301 | @fa-var-folder-o: "\f114"; 302 | @fa-var-folder-open: "\f07c"; 303 | @fa-var-folder-open-o: "\f115"; 304 | @fa-var-font: "\f031"; 305 | @fa-var-font-awesome: "\f2b4"; 306 | @fa-var-fonticons: "\f280"; 307 | @fa-var-fort-awesome: "\f286"; 308 | @fa-var-forumbee: "\f211"; 309 | @fa-var-forward: "\f04e"; 310 | @fa-var-foursquare: "\f180"; 311 | @fa-var-free-code-camp: "\f2c5"; 312 | @fa-var-frown-o: "\f119"; 313 | @fa-var-futbol-o: "\f1e3"; 314 | @fa-var-gamepad: "\f11b"; 315 | @fa-var-gavel: "\f0e3"; 316 | @fa-var-gbp: "\f154"; 317 | @fa-var-ge: "\f1d1"; 318 | @fa-var-gear: "\f013"; 319 | @fa-var-gears: "\f085"; 320 | @fa-var-genderless: "\f22d"; 321 | @fa-var-get-pocket: "\f265"; 322 | @fa-var-gg: "\f260"; 323 | @fa-var-gg-circle: "\f261"; 324 | @fa-var-gift: "\f06b"; 325 | @fa-var-git: "\f1d3"; 326 | @fa-var-git-square: "\f1d2"; 327 | @fa-var-github: "\f09b"; 328 | @fa-var-github-alt: "\f113"; 329 | @fa-var-github-square: "\f092"; 330 | @fa-var-gitlab: "\f296"; 331 | @fa-var-gittip: "\f184"; 332 | @fa-var-glass: "\f000"; 333 | @fa-var-glide: "\f2a5"; 334 | @fa-var-glide-g: "\f2a6"; 335 | @fa-var-globe: "\f0ac"; 336 | @fa-var-google: "\f1a0"; 337 | @fa-var-google-plus: "\f0d5"; 338 | @fa-var-google-plus-circle: "\f2b3"; 339 | @fa-var-google-plus-official: "\f2b3"; 340 | @fa-var-google-plus-square: "\f0d4"; 341 | @fa-var-google-wallet: "\f1ee"; 342 | @fa-var-graduation-cap: "\f19d"; 343 | @fa-var-gratipay: "\f184"; 344 | @fa-var-grav: "\f2d6"; 345 | @fa-var-group: "\f0c0"; 346 | @fa-var-h-square: "\f0fd"; 347 | @fa-var-hacker-news: "\f1d4"; 348 | @fa-var-hand-grab-o: "\f255"; 349 | @fa-var-hand-lizard-o: "\f258"; 350 | @fa-var-hand-o-down: "\f0a7"; 351 | @fa-var-hand-o-left: "\f0a5"; 352 | @fa-var-hand-o-right: "\f0a4"; 353 | @fa-var-hand-o-up: "\f0a6"; 354 | @fa-var-hand-paper-o: "\f256"; 355 | @fa-var-hand-peace-o: "\f25b"; 356 | @fa-var-hand-pointer-o: "\f25a"; 357 | @fa-var-hand-rock-o: "\f255"; 358 | @fa-var-hand-scissors-o: "\f257"; 359 | @fa-var-hand-spock-o: "\f259"; 360 | @fa-var-hand-stop-o: "\f256"; 361 | @fa-var-handshake-o: "\f2b5"; 362 | @fa-var-hard-of-hearing: "\f2a4"; 363 | @fa-var-hashtag: "\f292"; 364 | @fa-var-hdd-o: "\f0a0"; 365 | @fa-var-header: "\f1dc"; 366 | @fa-var-headphones: "\f025"; 367 | @fa-var-heart: "\f004"; 368 | @fa-var-heart-o: "\f08a"; 369 | @fa-var-heartbeat: "\f21e"; 370 | @fa-var-history: "\f1da"; 371 | @fa-var-home: "\f015"; 372 | @fa-var-hospital-o: "\f0f8"; 373 | @fa-var-hotel: "\f236"; 374 | @fa-var-hourglass: "\f254"; 375 | @fa-var-hourglass-1: "\f251"; 376 | @fa-var-hourglass-2: "\f252"; 377 | @fa-var-hourglass-3: "\f253"; 378 | @fa-var-hourglass-end: "\f253"; 379 | @fa-var-hourglass-half: "\f252"; 380 | @fa-var-hourglass-o: "\f250"; 381 | @fa-var-hourglass-start: "\f251"; 382 | @fa-var-houzz: "\f27c"; 383 | @fa-var-html5: "\f13b"; 384 | @fa-var-i-cursor: "\f246"; 385 | @fa-var-id-badge: "\f2c1"; 386 | @fa-var-id-card: "\f2c2"; 387 | @fa-var-id-card-o: "\f2c3"; 388 | @fa-var-ils: "\f20b"; 389 | @fa-var-image: "\f03e"; 390 | @fa-var-imdb: "\f2d8"; 391 | @fa-var-inbox: "\f01c"; 392 | @fa-var-indent: "\f03c"; 393 | @fa-var-industry: "\f275"; 394 | @fa-var-info: "\f129"; 395 | @fa-var-info-circle: "\f05a"; 396 | @fa-var-inr: "\f156"; 397 | @fa-var-instagram: "\f16d"; 398 | @fa-var-institution: "\f19c"; 399 | @fa-var-internet-explorer: "\f26b"; 400 | @fa-var-intersex: "\f224"; 401 | @fa-var-ioxhost: "\f208"; 402 | @fa-var-italic: "\f033"; 403 | @fa-var-joomla: "\f1aa"; 404 | @fa-var-jpy: "\f157"; 405 | @fa-var-jsfiddle: "\f1cc"; 406 | @fa-var-key: "\f084"; 407 | @fa-var-keyboard-o: "\f11c"; 408 | @fa-var-krw: "\f159"; 409 | @fa-var-language: "\f1ab"; 410 | @fa-var-laptop: "\f109"; 411 | @fa-var-lastfm: "\f202"; 412 | @fa-var-lastfm-square: "\f203"; 413 | @fa-var-leaf: "\f06c"; 414 | @fa-var-leanpub: "\f212"; 415 | @fa-var-legal: "\f0e3"; 416 | @fa-var-lemon-o: "\f094"; 417 | @fa-var-level-down: "\f149"; 418 | @fa-var-level-up: "\f148"; 419 | @fa-var-life-bouy: "\f1cd"; 420 | @fa-var-life-buoy: "\f1cd"; 421 | @fa-var-life-ring: "\f1cd"; 422 | @fa-var-life-saver: "\f1cd"; 423 | @fa-var-lightbulb-o: "\f0eb"; 424 | @fa-var-line-chart: "\f201"; 425 | @fa-var-link: "\f0c1"; 426 | @fa-var-linkedin: "\f0e1"; 427 | @fa-var-linkedin-square: "\f08c"; 428 | @fa-var-linode: "\f2b8"; 429 | @fa-var-linux: "\f17c"; 430 | @fa-var-list: "\f03a"; 431 | @fa-var-list-alt: "\f022"; 432 | @fa-var-list-ol: "\f0cb"; 433 | @fa-var-list-ul: "\f0ca"; 434 | @fa-var-location-arrow: "\f124"; 435 | @fa-var-lock: "\f023"; 436 | @fa-var-long-arrow-down: "\f175"; 437 | @fa-var-long-arrow-left: "\f177"; 438 | @fa-var-long-arrow-right: "\f178"; 439 | @fa-var-long-arrow-up: "\f176"; 440 | @fa-var-low-vision: "\f2a8"; 441 | @fa-var-magic: "\f0d0"; 442 | @fa-var-magnet: "\f076"; 443 | @fa-var-mail-forward: "\f064"; 444 | @fa-var-mail-reply: "\f112"; 445 | @fa-var-mail-reply-all: "\f122"; 446 | @fa-var-male: "\f183"; 447 | @fa-var-map: "\f279"; 448 | @fa-var-map-marker: "\f041"; 449 | @fa-var-map-o: "\f278"; 450 | @fa-var-map-pin: "\f276"; 451 | @fa-var-map-signs: "\f277"; 452 | @fa-var-mars: "\f222"; 453 | @fa-var-mars-double: "\f227"; 454 | @fa-var-mars-stroke: "\f229"; 455 | @fa-var-mars-stroke-h: "\f22b"; 456 | @fa-var-mars-stroke-v: "\f22a"; 457 | @fa-var-maxcdn: "\f136"; 458 | @fa-var-meanpath: "\f20c"; 459 | @fa-var-medium: "\f23a"; 460 | @fa-var-medkit: "\f0fa"; 461 | @fa-var-meetup: "\f2e0"; 462 | @fa-var-meh-o: "\f11a"; 463 | @fa-var-mercury: "\f223"; 464 | @fa-var-microchip: "\f2db"; 465 | @fa-var-microphone: "\f130"; 466 | @fa-var-microphone-slash: "\f131"; 467 | @fa-var-minus: "\f068"; 468 | @fa-var-minus-circle: "\f056"; 469 | @fa-var-minus-square: "\f146"; 470 | @fa-var-minus-square-o: "\f147"; 471 | @fa-var-mixcloud: "\f289"; 472 | @fa-var-mobile: "\f10b"; 473 | @fa-var-mobile-phone: "\f10b"; 474 | @fa-var-modx: "\f285"; 475 | @fa-var-money: "\f0d6"; 476 | @fa-var-moon-o: "\f186"; 477 | @fa-var-mortar-board: "\f19d"; 478 | @fa-var-motorcycle: "\f21c"; 479 | @fa-var-mouse-pointer: "\f245"; 480 | @fa-var-music: "\f001"; 481 | @fa-var-navicon: "\f0c9"; 482 | @fa-var-neuter: "\f22c"; 483 | @fa-var-newspaper-o: "\f1ea"; 484 | @fa-var-object-group: "\f247"; 485 | @fa-var-object-ungroup: "\f248"; 486 | @fa-var-odnoklassniki: "\f263"; 487 | @fa-var-odnoklassniki-square: "\f264"; 488 | @fa-var-opencart: "\f23d"; 489 | @fa-var-openid: "\f19b"; 490 | @fa-var-opera: "\f26a"; 491 | @fa-var-optin-monster: "\f23c"; 492 | @fa-var-outdent: "\f03b"; 493 | @fa-var-pagelines: "\f18c"; 494 | @fa-var-paint-brush: "\f1fc"; 495 | @fa-var-paper-plane: "\f1d8"; 496 | @fa-var-paper-plane-o: "\f1d9"; 497 | @fa-var-paperclip: "\f0c6"; 498 | @fa-var-paragraph: "\f1dd"; 499 | @fa-var-paste: "\f0ea"; 500 | @fa-var-pause: "\f04c"; 501 | @fa-var-pause-circle: "\f28b"; 502 | @fa-var-pause-circle-o: "\f28c"; 503 | @fa-var-paw: "\f1b0"; 504 | @fa-var-paypal: "\f1ed"; 505 | @fa-var-pencil: "\f040"; 506 | @fa-var-pencil-square: "\f14b"; 507 | @fa-var-pencil-square-o: "\f044"; 508 | @fa-var-percent: "\f295"; 509 | @fa-var-phone: "\f095"; 510 | @fa-var-phone-square: "\f098"; 511 | @fa-var-photo: "\f03e"; 512 | @fa-var-picture-o: "\f03e"; 513 | @fa-var-pie-chart: "\f200"; 514 | @fa-var-pied-piper: "\f2ae"; 515 | @fa-var-pied-piper-alt: "\f1a8"; 516 | @fa-var-pied-piper-pp: "\f1a7"; 517 | @fa-var-pinterest: "\f0d2"; 518 | @fa-var-pinterest-p: "\f231"; 519 | @fa-var-pinterest-square: "\f0d3"; 520 | @fa-var-plane: "\f072"; 521 | @fa-var-play: "\f04b"; 522 | @fa-var-play-circle: "\f144"; 523 | @fa-var-play-circle-o: "\f01d"; 524 | @fa-var-plug: "\f1e6"; 525 | @fa-var-plus: "\f067"; 526 | @fa-var-plus-circle: "\f055"; 527 | @fa-var-plus-square: "\f0fe"; 528 | @fa-var-plus-square-o: "\f196"; 529 | @fa-var-podcast: "\f2ce"; 530 | @fa-var-power-off: "\f011"; 531 | @fa-var-print: "\f02f"; 532 | @fa-var-product-hunt: "\f288"; 533 | @fa-var-puzzle-piece: "\f12e"; 534 | @fa-var-qq: "\f1d6"; 535 | @fa-var-qrcode: "\f029"; 536 | @fa-var-question: "\f128"; 537 | @fa-var-question-circle: "\f059"; 538 | @fa-var-question-circle-o: "\f29c"; 539 | @fa-var-quora: "\f2c4"; 540 | @fa-var-quote-left: "\f10d"; 541 | @fa-var-quote-right: "\f10e"; 542 | @fa-var-ra: "\f1d0"; 543 | @fa-var-random: "\f074"; 544 | @fa-var-ravelry: "\f2d9"; 545 | @fa-var-rebel: "\f1d0"; 546 | @fa-var-recycle: "\f1b8"; 547 | @fa-var-reddit: "\f1a1"; 548 | @fa-var-reddit-alien: "\f281"; 549 | @fa-var-reddit-square: "\f1a2"; 550 | @fa-var-refresh: "\f021"; 551 | @fa-var-registered: "\f25d"; 552 | @fa-var-remove: "\f00d"; 553 | @fa-var-renren: "\f18b"; 554 | @fa-var-reorder: "\f0c9"; 555 | @fa-var-repeat: "\f01e"; 556 | @fa-var-reply: "\f112"; 557 | @fa-var-reply-all: "\f122"; 558 | @fa-var-resistance: "\f1d0"; 559 | @fa-var-retweet: "\f079"; 560 | @fa-var-rmb: "\f157"; 561 | @fa-var-road: "\f018"; 562 | @fa-var-rocket: "\f135"; 563 | @fa-var-rotate-left: "\f0e2"; 564 | @fa-var-rotate-right: "\f01e"; 565 | @fa-var-rouble: "\f158"; 566 | @fa-var-rss: "\f09e"; 567 | @fa-var-rss-square: "\f143"; 568 | @fa-var-rub: "\f158"; 569 | @fa-var-ruble: "\f158"; 570 | @fa-var-rupee: "\f156"; 571 | @fa-var-s15: "\f2cd"; 572 | @fa-var-safari: "\f267"; 573 | @fa-var-save: "\f0c7"; 574 | @fa-var-scissors: "\f0c4"; 575 | @fa-var-scribd: "\f28a"; 576 | @fa-var-search: "\f002"; 577 | @fa-var-search-minus: "\f010"; 578 | @fa-var-search-plus: "\f00e"; 579 | @fa-var-sellsy: "\f213"; 580 | @fa-var-send: "\f1d8"; 581 | @fa-var-send-o: "\f1d9"; 582 | @fa-var-server: "\f233"; 583 | @fa-var-share: "\f064"; 584 | @fa-var-share-alt: "\f1e0"; 585 | @fa-var-share-alt-square: "\f1e1"; 586 | @fa-var-share-square: "\f14d"; 587 | @fa-var-share-square-o: "\f045"; 588 | @fa-var-shekel: "\f20b"; 589 | @fa-var-sheqel: "\f20b"; 590 | @fa-var-shield: "\f132"; 591 | @fa-var-ship: "\f21a"; 592 | @fa-var-shirtsinbulk: "\f214"; 593 | @fa-var-shopping-bag: "\f290"; 594 | @fa-var-shopping-basket: "\f291"; 595 | @fa-var-shopping-cart: "\f07a"; 596 | @fa-var-shower: "\f2cc"; 597 | @fa-var-sign-in: "\f090"; 598 | @fa-var-sign-language: "\f2a7"; 599 | @fa-var-sign-out: "\f08b"; 600 | @fa-var-signal: "\f012"; 601 | @fa-var-signing: "\f2a7"; 602 | @fa-var-simplybuilt: "\f215"; 603 | @fa-var-sitemap: "\f0e8"; 604 | @fa-var-skyatlas: "\f216"; 605 | @fa-var-skype: "\f17e"; 606 | @fa-var-slack: "\f198"; 607 | @fa-var-sliders: "\f1de"; 608 | @fa-var-slideshare: "\f1e7"; 609 | @fa-var-smile-o: "\f118"; 610 | @fa-var-snapchat: "\f2ab"; 611 | @fa-var-snapchat-ghost: "\f2ac"; 612 | @fa-var-snapchat-square: "\f2ad"; 613 | @fa-var-snowflake-o: "\f2dc"; 614 | @fa-var-soccer-ball-o: "\f1e3"; 615 | @fa-var-sort: "\f0dc"; 616 | @fa-var-sort-alpha-asc: "\f15d"; 617 | @fa-var-sort-alpha-desc: "\f15e"; 618 | @fa-var-sort-amount-asc: "\f160"; 619 | @fa-var-sort-amount-desc: "\f161"; 620 | @fa-var-sort-asc: "\f0de"; 621 | @fa-var-sort-desc: "\f0dd"; 622 | @fa-var-sort-down: "\f0dd"; 623 | @fa-var-sort-numeric-asc: "\f162"; 624 | @fa-var-sort-numeric-desc: "\f163"; 625 | @fa-var-sort-up: "\f0de"; 626 | @fa-var-soundcloud: "\f1be"; 627 | @fa-var-space-shuttle: "\f197"; 628 | @fa-var-spinner: "\f110"; 629 | @fa-var-spoon: "\f1b1"; 630 | @fa-var-spotify: "\f1bc"; 631 | @fa-var-square: "\f0c8"; 632 | @fa-var-square-o: "\f096"; 633 | @fa-var-stack-exchange: "\f18d"; 634 | @fa-var-stack-overflow: "\f16c"; 635 | @fa-var-star: "\f005"; 636 | @fa-var-star-half: "\f089"; 637 | @fa-var-star-half-empty: "\f123"; 638 | @fa-var-star-half-full: "\f123"; 639 | @fa-var-star-half-o: "\f123"; 640 | @fa-var-star-o: "\f006"; 641 | @fa-var-steam: "\f1b6"; 642 | @fa-var-steam-square: "\f1b7"; 643 | @fa-var-step-backward: "\f048"; 644 | @fa-var-step-forward: "\f051"; 645 | @fa-var-stethoscope: "\f0f1"; 646 | @fa-var-sticky-note: "\f249"; 647 | @fa-var-sticky-note-o: "\f24a"; 648 | @fa-var-stop: "\f04d"; 649 | @fa-var-stop-circle: "\f28d"; 650 | @fa-var-stop-circle-o: "\f28e"; 651 | @fa-var-street-view: "\f21d"; 652 | @fa-var-strikethrough: "\f0cc"; 653 | @fa-var-stumbleupon: "\f1a4"; 654 | @fa-var-stumbleupon-circle: "\f1a3"; 655 | @fa-var-subscript: "\f12c"; 656 | @fa-var-subway: "\f239"; 657 | @fa-var-suitcase: "\f0f2"; 658 | @fa-var-sun-o: "\f185"; 659 | @fa-var-superpowers: "\f2dd"; 660 | @fa-var-superscript: "\f12b"; 661 | @fa-var-support: "\f1cd"; 662 | @fa-var-table: "\f0ce"; 663 | @fa-var-tablet: "\f10a"; 664 | @fa-var-tachometer: "\f0e4"; 665 | @fa-var-tag: "\f02b"; 666 | @fa-var-tags: "\f02c"; 667 | @fa-var-tasks: "\f0ae"; 668 | @fa-var-taxi: "\f1ba"; 669 | @fa-var-telegram: "\f2c6"; 670 | @fa-var-television: "\f26c"; 671 | @fa-var-tencent-weibo: "\f1d5"; 672 | @fa-var-terminal: "\f120"; 673 | @fa-var-text-height: "\f034"; 674 | @fa-var-text-width: "\f035"; 675 | @fa-var-th: "\f00a"; 676 | @fa-var-th-large: "\f009"; 677 | @fa-var-th-list: "\f00b"; 678 | @fa-var-themeisle: "\f2b2"; 679 | @fa-var-thermometer: "\f2c7"; 680 | @fa-var-thermometer-0: "\f2cb"; 681 | @fa-var-thermometer-1: "\f2ca"; 682 | @fa-var-thermometer-2: "\f2c9"; 683 | @fa-var-thermometer-3: "\f2c8"; 684 | @fa-var-thermometer-4: "\f2c7"; 685 | @fa-var-thermometer-empty: "\f2cb"; 686 | @fa-var-thermometer-full: "\f2c7"; 687 | @fa-var-thermometer-half: "\f2c9"; 688 | @fa-var-thermometer-quarter: "\f2ca"; 689 | @fa-var-thermometer-three-quarters: "\f2c8"; 690 | @fa-var-thumb-tack: "\f08d"; 691 | @fa-var-thumbs-down: "\f165"; 692 | @fa-var-thumbs-o-down: "\f088"; 693 | @fa-var-thumbs-o-up: "\f087"; 694 | @fa-var-thumbs-up: "\f164"; 695 | @fa-var-ticket: "\f145"; 696 | @fa-var-times: "\f00d"; 697 | @fa-var-times-circle: "\f057"; 698 | @fa-var-times-circle-o: "\f05c"; 699 | @fa-var-times-rectangle: "\f2d3"; 700 | @fa-var-times-rectangle-o: "\f2d4"; 701 | @fa-var-tint: "\f043"; 702 | @fa-var-toggle-down: "\f150"; 703 | @fa-var-toggle-left: "\f191"; 704 | @fa-var-toggle-off: "\f204"; 705 | @fa-var-toggle-on: "\f205"; 706 | @fa-var-toggle-right: "\f152"; 707 | @fa-var-toggle-up: "\f151"; 708 | @fa-var-trademark: "\f25c"; 709 | @fa-var-train: "\f238"; 710 | @fa-var-transgender: "\f224"; 711 | @fa-var-transgender-alt: "\f225"; 712 | @fa-var-trash: "\f1f8"; 713 | @fa-var-trash-o: "\f014"; 714 | @fa-var-tree: "\f1bb"; 715 | @fa-var-trello: "\f181"; 716 | @fa-var-tripadvisor: "\f262"; 717 | @fa-var-trophy: "\f091"; 718 | @fa-var-truck: "\f0d1"; 719 | @fa-var-try: "\f195"; 720 | @fa-var-tty: "\f1e4"; 721 | @fa-var-tumblr: "\f173"; 722 | @fa-var-tumblr-square: "\f174"; 723 | @fa-var-turkish-lira: "\f195"; 724 | @fa-var-tv: "\f26c"; 725 | @fa-var-twitch: "\f1e8"; 726 | @fa-var-twitter: "\f099"; 727 | @fa-var-twitter-square: "\f081"; 728 | @fa-var-umbrella: "\f0e9"; 729 | @fa-var-underline: "\f0cd"; 730 | @fa-var-undo: "\f0e2"; 731 | @fa-var-universal-access: "\f29a"; 732 | @fa-var-university: "\f19c"; 733 | @fa-var-unlink: "\f127"; 734 | @fa-var-unlock: "\f09c"; 735 | @fa-var-unlock-alt: "\f13e"; 736 | @fa-var-unsorted: "\f0dc"; 737 | @fa-var-upload: "\f093"; 738 | @fa-var-usb: "\f287"; 739 | @fa-var-usd: "\f155"; 740 | @fa-var-user: "\f007"; 741 | @fa-var-user-circle: "\f2bd"; 742 | @fa-var-user-circle-o: "\f2be"; 743 | @fa-var-user-md: "\f0f0"; 744 | @fa-var-user-o: "\f2c0"; 745 | @fa-var-user-plus: "\f234"; 746 | @fa-var-user-secret: "\f21b"; 747 | @fa-var-user-times: "\f235"; 748 | @fa-var-users: "\f0c0"; 749 | @fa-var-vcard: "\f2bb"; 750 | @fa-var-vcard-o: "\f2bc"; 751 | @fa-var-venus: "\f221"; 752 | @fa-var-venus-double: "\f226"; 753 | @fa-var-venus-mars: "\f228"; 754 | @fa-var-viacoin: "\f237"; 755 | @fa-var-viadeo: "\f2a9"; 756 | @fa-var-viadeo-square: "\f2aa"; 757 | @fa-var-video-camera: "\f03d"; 758 | @fa-var-vimeo: "\f27d"; 759 | @fa-var-vimeo-square: "\f194"; 760 | @fa-var-vine: "\f1ca"; 761 | @fa-var-vk: "\f189"; 762 | @fa-var-volume-control-phone: "\f2a0"; 763 | @fa-var-volume-down: "\f027"; 764 | @fa-var-volume-off: "\f026"; 765 | @fa-var-volume-up: "\f028"; 766 | @fa-var-warning: "\f071"; 767 | @fa-var-wechat: "\f1d7"; 768 | @fa-var-weibo: "\f18a"; 769 | @fa-var-weixin: "\f1d7"; 770 | @fa-var-whatsapp: "\f232"; 771 | @fa-var-wheelchair: "\f193"; 772 | @fa-var-wheelchair-alt: "\f29b"; 773 | @fa-var-wifi: "\f1eb"; 774 | @fa-var-wikipedia-w: "\f266"; 775 | @fa-var-window-close: "\f2d3"; 776 | @fa-var-window-close-o: "\f2d4"; 777 | @fa-var-window-maximize: "\f2d0"; 778 | @fa-var-window-minimize: "\f2d1"; 779 | @fa-var-window-restore: "\f2d2"; 780 | @fa-var-windows: "\f17a"; 781 | @fa-var-won: "\f159"; 782 | @fa-var-wordpress: "\f19a"; 783 | @fa-var-wpbeginner: "\f297"; 784 | @fa-var-wpexplorer: "\f2de"; 785 | @fa-var-wpforms: "\f298"; 786 | @fa-var-wrench: "\f0ad"; 787 | @fa-var-xing: "\f168"; 788 | @fa-var-xing-square: "\f169"; 789 | @fa-var-y-combinator: "\f23b"; 790 | @fa-var-y-combinator-square: "\f1d4"; 791 | @fa-var-yahoo: "\f19e"; 792 | @fa-var-yc: "\f23b"; 793 | @fa-var-yc-square: "\f1d4"; 794 | @fa-var-yelp: "\f1e9"; 795 | @fa-var-yen: "\f157"; 796 | @fa-var-yoast: "\f2b1"; 797 | @fa-var-youtube: "\f167"; 798 | @fa-var-youtube-play: "\f16a"; 799 | @fa-var-youtube-square: "\f166"; 800 | 801 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | @fa-font-path: "../fonts"; 5 | @fa-font-size-base: 14px; 6 | @fa-line-height-base: 1; 7 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly 8 | @fa-css-prefix: fa; 9 | @fa-version: "4.7.0"; 10 | @fa-border-color: #eee; 11 | @fa-inverse: #fff; 12 | @fa-li-width: (30em / 14); 13 | 14 | @fa-var-500px: "\f26e"; 15 | @fa-var-address-book: "\f2b9"; 16 | @fa-var-address-book-o: "\f2ba"; 17 | @fa-var-address-card: "\f2bb"; 18 | @fa-var-address-card-o: "\f2bc"; 19 | @fa-var-adjust: "\f042"; 20 | @fa-var-adn: "\f170"; 21 | @fa-var-align-center: "\f037"; 22 | @fa-var-align-justify: "\f039"; 23 | @fa-var-align-left: "\f036"; 24 | @fa-var-align-right: "\f038"; 25 | @fa-var-amazon: "\f270"; 26 | @fa-var-ambulance: "\f0f9"; 27 | @fa-var-american-sign-language-interpreting: "\f2a3"; 28 | @fa-var-anchor: "\f13d"; 29 | @fa-var-android: "\f17b"; 30 | @fa-var-angellist: "\f209"; 31 | @fa-var-angle-double-down: "\f103"; 32 | @fa-var-angle-double-left: "\f100"; 33 | @fa-var-angle-double-right: "\f101"; 34 | @fa-var-angle-double-up: "\f102"; 35 | @fa-var-angle-down: "\f107"; 36 | @fa-var-angle-left: "\f104"; 37 | @fa-var-angle-right: "\f105"; 38 | @fa-var-angle-up: "\f106"; 39 | @fa-var-apple: "\f179"; 40 | @fa-var-archive: "\f187"; 41 | @fa-var-area-chart: "\f1fe"; 42 | @fa-var-arrow-circle-down: "\f0ab"; 43 | @fa-var-arrow-circle-left: "\f0a8"; 44 | @fa-var-arrow-circle-o-down: "\f01a"; 45 | @fa-var-arrow-circle-o-left: "\f190"; 46 | @fa-var-arrow-circle-o-right: "\f18e"; 47 | @fa-var-arrow-circle-o-up: "\f01b"; 48 | @fa-var-arrow-circle-right: "\f0a9"; 49 | @fa-var-arrow-circle-up: "\f0aa"; 50 | @fa-var-arrow-down: "\f063"; 51 | @fa-var-arrow-left: "\f060"; 52 | @fa-var-arrow-right: "\f061"; 53 | @fa-var-arrow-up: "\f062"; 54 | @fa-var-arrows: "\f047"; 55 | @fa-var-arrows-alt: "\f0b2"; 56 | @fa-var-arrows-h: "\f07e"; 57 | @fa-var-arrows-v: "\f07d"; 58 | @fa-var-asl-interpreting: "\f2a3"; 59 | @fa-var-assistive-listening-systems: "\f2a2"; 60 | @fa-var-asterisk: "\f069"; 61 | @fa-var-at: "\f1fa"; 62 | @fa-var-audio-description: "\f29e"; 63 | @fa-var-automobile: "\f1b9"; 64 | @fa-var-backward: "\f04a"; 65 | @fa-var-balance-scale: "\f24e"; 66 | @fa-var-ban: "\f05e"; 67 | @fa-var-bandcamp: "\f2d5"; 68 | @fa-var-bank: "\f19c"; 69 | @fa-var-bar-chart: "\f080"; 70 | @fa-var-bar-chart-o: "\f080"; 71 | @fa-var-barcode: "\f02a"; 72 | @fa-var-bars: "\f0c9"; 73 | @fa-var-bath: "\f2cd"; 74 | @fa-var-bathtub: "\f2cd"; 75 | @fa-var-battery: "\f240"; 76 | @fa-var-battery-0: "\f244"; 77 | @fa-var-battery-1: "\f243"; 78 | @fa-var-battery-2: "\f242"; 79 | @fa-var-battery-3: "\f241"; 80 | @fa-var-battery-4: "\f240"; 81 | @fa-var-battery-empty: "\f244"; 82 | @fa-var-battery-full: "\f240"; 83 | @fa-var-battery-half: "\f242"; 84 | @fa-var-battery-quarter: "\f243"; 85 | @fa-var-battery-three-quarters: "\f241"; 86 | @fa-var-bed: "\f236"; 87 | @fa-var-beer: "\f0fc"; 88 | @fa-var-behance: "\f1b4"; 89 | @fa-var-behance-square: "\f1b5"; 90 | @fa-var-bell: "\f0f3"; 91 | @fa-var-bell-o: "\f0a2"; 92 | @fa-var-bell-slash: "\f1f6"; 93 | @fa-var-bell-slash-o: "\f1f7"; 94 | @fa-var-bicycle: "\f206"; 95 | @fa-var-binoculars: "\f1e5"; 96 | @fa-var-birthday-cake: "\f1fd"; 97 | @fa-var-bitbucket: "\f171"; 98 | @fa-var-bitbucket-square: "\f172"; 99 | @fa-var-bitcoin: "\f15a"; 100 | @fa-var-black-tie: "\f27e"; 101 | @fa-var-blind: "\f29d"; 102 | @fa-var-bluetooth: "\f293"; 103 | @fa-var-bluetooth-b: "\f294"; 104 | @fa-var-bold: "\f032"; 105 | @fa-var-bolt: "\f0e7"; 106 | @fa-var-bomb: "\f1e2"; 107 | @fa-var-book: "\f02d"; 108 | @fa-var-bookmark: "\f02e"; 109 | @fa-var-bookmark-o: "\f097"; 110 | @fa-var-braille: "\f2a1"; 111 | @fa-var-briefcase: "\f0b1"; 112 | @fa-var-btc: "\f15a"; 113 | @fa-var-bug: "\f188"; 114 | @fa-var-building: "\f1ad"; 115 | @fa-var-building-o: "\f0f7"; 116 | @fa-var-bullhorn: "\f0a1"; 117 | @fa-var-bullseye: "\f140"; 118 | @fa-var-bus: "\f207"; 119 | @fa-var-buysellads: "\f20d"; 120 | @fa-var-cab: "\f1ba"; 121 | @fa-var-calculator: "\f1ec"; 122 | @fa-var-calendar: "\f073"; 123 | @fa-var-calendar-check-o: "\f274"; 124 | @fa-var-calendar-minus-o: "\f272"; 125 | @fa-var-calendar-o: "\f133"; 126 | @fa-var-calendar-plus-o: "\f271"; 127 | @fa-var-calendar-times-o: "\f273"; 128 | @fa-var-camera: "\f030"; 129 | @fa-var-camera-retro: "\f083"; 130 | @fa-var-car: "\f1b9"; 131 | @fa-var-caret-down: "\f0d7"; 132 | @fa-var-caret-left: "\f0d9"; 133 | @fa-var-caret-right: "\f0da"; 134 | @fa-var-caret-square-o-down: "\f150"; 135 | @fa-var-caret-square-o-left: "\f191"; 136 | @fa-var-caret-square-o-right: "\f152"; 137 | @fa-var-caret-square-o-up: "\f151"; 138 | @fa-var-caret-up: "\f0d8"; 139 | @fa-var-cart-arrow-down: "\f218"; 140 | @fa-var-cart-plus: "\f217"; 141 | @fa-var-cc: "\f20a"; 142 | @fa-var-cc-amex: "\f1f3"; 143 | @fa-var-cc-diners-club: "\f24c"; 144 | @fa-var-cc-discover: "\f1f2"; 145 | @fa-var-cc-jcb: "\f24b"; 146 | @fa-var-cc-mastercard: "\f1f1"; 147 | @fa-var-cc-paypal: "\f1f4"; 148 | @fa-var-cc-stripe: "\f1f5"; 149 | @fa-var-cc-visa: "\f1f0"; 150 | @fa-var-certificate: "\f0a3"; 151 | @fa-var-chain: "\f0c1"; 152 | @fa-var-chain-broken: "\f127"; 153 | @fa-var-check: "\f00c"; 154 | @fa-var-check-circle: "\f058"; 155 | @fa-var-check-circle-o: "\f05d"; 156 | @fa-var-check-square: "\f14a"; 157 | @fa-var-check-square-o: "\f046"; 158 | @fa-var-chevron-circle-down: "\f13a"; 159 | @fa-var-chevron-circle-left: "\f137"; 160 | @fa-var-chevron-circle-right: "\f138"; 161 | @fa-var-chevron-circle-up: "\f139"; 162 | @fa-var-chevron-down: "\f078"; 163 | @fa-var-chevron-left: "\f053"; 164 | @fa-var-chevron-right: "\f054"; 165 | @fa-var-chevron-up: "\f077"; 166 | @fa-var-child: "\f1ae"; 167 | @fa-var-chrome: "\f268"; 168 | @fa-var-circle: "\f111"; 169 | @fa-var-circle-o: "\f10c"; 170 | @fa-var-circle-o-notch: "\f1ce"; 171 | @fa-var-circle-thin: "\f1db"; 172 | @fa-var-clipboard: "\f0ea"; 173 | @fa-var-clock-o: "\f017"; 174 | @fa-var-clone: "\f24d"; 175 | @fa-var-close: "\f00d"; 176 | @fa-var-cloud: "\f0c2"; 177 | @fa-var-cloud-download: "\f0ed"; 178 | @fa-var-cloud-upload: "\f0ee"; 179 | @fa-var-cny: "\f157"; 180 | @fa-var-code: "\f121"; 181 | @fa-var-code-fork: "\f126"; 182 | @fa-var-codepen: "\f1cb"; 183 | @fa-var-codiepie: "\f284"; 184 | @fa-var-coffee: "\f0f4"; 185 | @fa-var-cog: "\f013"; 186 | @fa-var-cogs: "\f085"; 187 | @fa-var-columns: "\f0db"; 188 | @fa-var-comment: "\f075"; 189 | @fa-var-comment-o: "\f0e5"; 190 | @fa-var-commenting: "\f27a"; 191 | @fa-var-commenting-o: "\f27b"; 192 | @fa-var-comments: "\f086"; 193 | @fa-var-comments-o: "\f0e6"; 194 | @fa-var-compass: "\f14e"; 195 | @fa-var-compress: "\f066"; 196 | @fa-var-connectdevelop: "\f20e"; 197 | @fa-var-contao: "\f26d"; 198 | @fa-var-copy: "\f0c5"; 199 | @fa-var-copyright: "\f1f9"; 200 | @fa-var-creative-commons: "\f25e"; 201 | @fa-var-credit-card: "\f09d"; 202 | @fa-var-credit-card-alt: "\f283"; 203 | @fa-var-crop: "\f125"; 204 | @fa-var-crosshairs: "\f05b"; 205 | @fa-var-css3: "\f13c"; 206 | @fa-var-cube: "\f1b2"; 207 | @fa-var-cubes: "\f1b3"; 208 | @fa-var-cut: "\f0c4"; 209 | @fa-var-cutlery: "\f0f5"; 210 | @fa-var-dashboard: "\f0e4"; 211 | @fa-var-dashcube: "\f210"; 212 | @fa-var-database: "\f1c0"; 213 | @fa-var-deaf: "\f2a4"; 214 | @fa-var-deafness: "\f2a4"; 215 | @fa-var-dedent: "\f03b"; 216 | @fa-var-delicious: "\f1a5"; 217 | @fa-var-desktop: "\f108"; 218 | @fa-var-deviantart: "\f1bd"; 219 | @fa-var-diamond: "\f219"; 220 | @fa-var-digg: "\f1a6"; 221 | @fa-var-dollar: "\f155"; 222 | @fa-var-dot-circle-o: "\f192"; 223 | @fa-var-download: "\f019"; 224 | @fa-var-dribbble: "\f17d"; 225 | @fa-var-drivers-license: "\f2c2"; 226 | @fa-var-drivers-license-o: "\f2c3"; 227 | @fa-var-dropbox: "\f16b"; 228 | @fa-var-drupal: "\f1a9"; 229 | @fa-var-edge: "\f282"; 230 | @fa-var-edit: "\f044"; 231 | @fa-var-eercast: "\f2da"; 232 | @fa-var-eject: "\f052"; 233 | @fa-var-ellipsis-h: "\f141"; 234 | @fa-var-ellipsis-v: "\f142"; 235 | @fa-var-empire: "\f1d1"; 236 | @fa-var-envelope: "\f0e0"; 237 | @fa-var-envelope-o: "\f003"; 238 | @fa-var-envelope-open: "\f2b6"; 239 | @fa-var-envelope-open-o: "\f2b7"; 240 | @fa-var-envelope-square: "\f199"; 241 | @fa-var-envira: "\f299"; 242 | @fa-var-eraser: "\f12d"; 243 | @fa-var-etsy: "\f2d7"; 244 | @fa-var-eur: "\f153"; 245 | @fa-var-euro: "\f153"; 246 | @fa-var-exchange: "\f0ec"; 247 | @fa-var-exclamation: "\f12a"; 248 | @fa-var-exclamation-circle: "\f06a"; 249 | @fa-var-exclamation-triangle: "\f071"; 250 | @fa-var-expand: "\f065"; 251 | @fa-var-expeditedssl: "\f23e"; 252 | @fa-var-external-link: "\f08e"; 253 | @fa-var-external-link-square: "\f14c"; 254 | @fa-var-eye: "\f06e"; 255 | @fa-var-eye-slash: "\f070"; 256 | @fa-var-eyedropper: "\f1fb"; 257 | @fa-var-fa: "\f2b4"; 258 | @fa-var-facebook: "\f09a"; 259 | @fa-var-facebook-f: "\f09a"; 260 | @fa-var-facebook-official: "\f230"; 261 | @fa-var-facebook-square: "\f082"; 262 | @fa-var-fast-backward: "\f049"; 263 | @fa-var-fast-forward: "\f050"; 264 | @fa-var-fax: "\f1ac"; 265 | @fa-var-feed: "\f09e"; 266 | @fa-var-female: "\f182"; 267 | @fa-var-fighter-jet: "\f0fb"; 268 | @fa-var-file: "\f15b"; 269 | @fa-var-file-archive-o: "\f1c6"; 270 | @fa-var-file-audio-o: "\f1c7"; 271 | @fa-var-file-code-o: "\f1c9"; 272 | @fa-var-file-excel-o: "\f1c3"; 273 | @fa-var-file-image-o: "\f1c5"; 274 | @fa-var-file-movie-o: "\f1c8"; 275 | @fa-var-file-o: "\f016"; 276 | @fa-var-file-pdf-o: "\f1c1"; 277 | @fa-var-file-photo-o: "\f1c5"; 278 | @fa-var-file-picture-o: "\f1c5"; 279 | @fa-var-file-powerpoint-o: "\f1c4"; 280 | @fa-var-file-sound-o: "\f1c7"; 281 | @fa-var-file-text: "\f15c"; 282 | @fa-var-file-text-o: "\f0f6"; 283 | @fa-var-file-video-o: "\f1c8"; 284 | @fa-var-file-word-o: "\f1c2"; 285 | @fa-var-file-zip-o: "\f1c6"; 286 | @fa-var-files-o: "\f0c5"; 287 | @fa-var-film: "\f008"; 288 | @fa-var-filter: "\f0b0"; 289 | @fa-var-fire: "\f06d"; 290 | @fa-var-fire-extinguisher: "\f134"; 291 | @fa-var-firefox: "\f269"; 292 | @fa-var-first-order: "\f2b0"; 293 | @fa-var-flag: "\f024"; 294 | @fa-var-flag-checkered: "\f11e"; 295 | @fa-var-flag-o: "\f11d"; 296 | @fa-var-flash: "\f0e7"; 297 | @fa-var-flask: "\f0c3"; 298 | @fa-var-flickr: "\f16e"; 299 | @fa-var-floppy-o: "\f0c7"; 300 | @fa-var-folder: "\f07b"; 301 | @fa-var-folder-o: "\f114"; 302 | @fa-var-folder-open: "\f07c"; 303 | @fa-var-folder-open-o: "\f115"; 304 | @fa-var-font: "\f031"; 305 | @fa-var-font-awesome: "\f2b4"; 306 | @fa-var-fonticons: "\f280"; 307 | @fa-var-fort-awesome: "\f286"; 308 | @fa-var-forumbee: "\f211"; 309 | @fa-var-forward: "\f04e"; 310 | @fa-var-foursquare: "\f180"; 311 | @fa-var-free-code-camp: "\f2c5"; 312 | @fa-var-frown-o: "\f119"; 313 | @fa-var-futbol-o: "\f1e3"; 314 | @fa-var-gamepad: "\f11b"; 315 | @fa-var-gavel: "\f0e3"; 316 | @fa-var-gbp: "\f154"; 317 | @fa-var-ge: "\f1d1"; 318 | @fa-var-gear: "\f013"; 319 | @fa-var-gears: "\f085"; 320 | @fa-var-genderless: "\f22d"; 321 | @fa-var-get-pocket: "\f265"; 322 | @fa-var-gg: "\f260"; 323 | @fa-var-gg-circle: "\f261"; 324 | @fa-var-gift: "\f06b"; 325 | @fa-var-git: "\f1d3"; 326 | @fa-var-git-square: "\f1d2"; 327 | @fa-var-github: "\f09b"; 328 | @fa-var-github-alt: "\f113"; 329 | @fa-var-github-square: "\f092"; 330 | @fa-var-gitlab: "\f296"; 331 | @fa-var-gittip: "\f184"; 332 | @fa-var-glass: "\f000"; 333 | @fa-var-glide: "\f2a5"; 334 | @fa-var-glide-g: "\f2a6"; 335 | @fa-var-globe: "\f0ac"; 336 | @fa-var-google: "\f1a0"; 337 | @fa-var-google-plus: "\f0d5"; 338 | @fa-var-google-plus-circle: "\f2b3"; 339 | @fa-var-google-plus-official: "\f2b3"; 340 | @fa-var-google-plus-square: "\f0d4"; 341 | @fa-var-google-wallet: "\f1ee"; 342 | @fa-var-graduation-cap: "\f19d"; 343 | @fa-var-gratipay: "\f184"; 344 | @fa-var-grav: "\f2d6"; 345 | @fa-var-group: "\f0c0"; 346 | @fa-var-h-square: "\f0fd"; 347 | @fa-var-hacker-news: "\f1d4"; 348 | @fa-var-hand-grab-o: "\f255"; 349 | @fa-var-hand-lizard-o: "\f258"; 350 | @fa-var-hand-o-down: "\f0a7"; 351 | @fa-var-hand-o-left: "\f0a5"; 352 | @fa-var-hand-o-right: "\f0a4"; 353 | @fa-var-hand-o-up: "\f0a6"; 354 | @fa-var-hand-paper-o: "\f256"; 355 | @fa-var-hand-peace-o: "\f25b"; 356 | @fa-var-hand-pointer-o: "\f25a"; 357 | @fa-var-hand-rock-o: "\f255"; 358 | @fa-var-hand-scissors-o: "\f257"; 359 | @fa-var-hand-spock-o: "\f259"; 360 | @fa-var-hand-stop-o: "\f256"; 361 | @fa-var-handshake-o: "\f2b5"; 362 | @fa-var-hard-of-hearing: "\f2a4"; 363 | @fa-var-hashtag: "\f292"; 364 | @fa-var-hdd-o: "\f0a0"; 365 | @fa-var-header: "\f1dc"; 366 | @fa-var-headphones: "\f025"; 367 | @fa-var-heart: "\f004"; 368 | @fa-var-heart-o: "\f08a"; 369 | @fa-var-heartbeat: "\f21e"; 370 | @fa-var-history: "\f1da"; 371 | @fa-var-home: "\f015"; 372 | @fa-var-hospital-o: "\f0f8"; 373 | @fa-var-hotel: "\f236"; 374 | @fa-var-hourglass: "\f254"; 375 | @fa-var-hourglass-1: "\f251"; 376 | @fa-var-hourglass-2: "\f252"; 377 | @fa-var-hourglass-3: "\f253"; 378 | @fa-var-hourglass-end: "\f253"; 379 | @fa-var-hourglass-half: "\f252"; 380 | @fa-var-hourglass-o: "\f250"; 381 | @fa-var-hourglass-start: "\f251"; 382 | @fa-var-houzz: "\f27c"; 383 | @fa-var-html5: "\f13b"; 384 | @fa-var-i-cursor: "\f246"; 385 | @fa-var-id-badge: "\f2c1"; 386 | @fa-var-id-card: "\f2c2"; 387 | @fa-var-id-card-o: "\f2c3"; 388 | @fa-var-ils: "\f20b"; 389 | @fa-var-image: "\f03e"; 390 | @fa-var-imdb: "\f2d8"; 391 | @fa-var-inbox: "\f01c"; 392 | @fa-var-indent: "\f03c"; 393 | @fa-var-industry: "\f275"; 394 | @fa-var-info: "\f129"; 395 | @fa-var-info-circle: "\f05a"; 396 | @fa-var-inr: "\f156"; 397 | @fa-var-instagram: "\f16d"; 398 | @fa-var-institution: "\f19c"; 399 | @fa-var-internet-explorer: "\f26b"; 400 | @fa-var-intersex: "\f224"; 401 | @fa-var-ioxhost: "\f208"; 402 | @fa-var-italic: "\f033"; 403 | @fa-var-joomla: "\f1aa"; 404 | @fa-var-jpy: "\f157"; 405 | @fa-var-jsfiddle: "\f1cc"; 406 | @fa-var-key: "\f084"; 407 | @fa-var-keyboard-o: "\f11c"; 408 | @fa-var-krw: "\f159"; 409 | @fa-var-language: "\f1ab"; 410 | @fa-var-laptop: "\f109"; 411 | @fa-var-lastfm: "\f202"; 412 | @fa-var-lastfm-square: "\f203"; 413 | @fa-var-leaf: "\f06c"; 414 | @fa-var-leanpub: "\f212"; 415 | @fa-var-legal: "\f0e3"; 416 | @fa-var-lemon-o: "\f094"; 417 | @fa-var-level-down: "\f149"; 418 | @fa-var-level-up: "\f148"; 419 | @fa-var-life-bouy: "\f1cd"; 420 | @fa-var-life-buoy: "\f1cd"; 421 | @fa-var-life-ring: "\f1cd"; 422 | @fa-var-life-saver: "\f1cd"; 423 | @fa-var-lightbulb-o: "\f0eb"; 424 | @fa-var-line-chart: "\f201"; 425 | @fa-var-link: "\f0c1"; 426 | @fa-var-linkedin: "\f0e1"; 427 | @fa-var-linkedin-square: "\f08c"; 428 | @fa-var-linode: "\f2b8"; 429 | @fa-var-linux: "\f17c"; 430 | @fa-var-list: "\f03a"; 431 | @fa-var-list-alt: "\f022"; 432 | @fa-var-list-ol: "\f0cb"; 433 | @fa-var-list-ul: "\f0ca"; 434 | @fa-var-location-arrow: "\f124"; 435 | @fa-var-lock: "\f023"; 436 | @fa-var-long-arrow-down: "\f175"; 437 | @fa-var-long-arrow-left: "\f177"; 438 | @fa-var-long-arrow-right: "\f178"; 439 | @fa-var-long-arrow-up: "\f176"; 440 | @fa-var-low-vision: "\f2a8"; 441 | @fa-var-magic: "\f0d0"; 442 | @fa-var-magnet: "\f076"; 443 | @fa-var-mail-forward: "\f064"; 444 | @fa-var-mail-reply: "\f112"; 445 | @fa-var-mail-reply-all: "\f122"; 446 | @fa-var-male: "\f183"; 447 | @fa-var-map: "\f279"; 448 | @fa-var-map-marker: "\f041"; 449 | @fa-var-map-o: "\f278"; 450 | @fa-var-map-pin: "\f276"; 451 | @fa-var-map-signs: "\f277"; 452 | @fa-var-mars: "\f222"; 453 | @fa-var-mars-double: "\f227"; 454 | @fa-var-mars-stroke: "\f229"; 455 | @fa-var-mars-stroke-h: "\f22b"; 456 | @fa-var-mars-stroke-v: "\f22a"; 457 | @fa-var-maxcdn: "\f136"; 458 | @fa-var-meanpath: "\f20c"; 459 | @fa-var-medium: "\f23a"; 460 | @fa-var-medkit: "\f0fa"; 461 | @fa-var-meetup: "\f2e0"; 462 | @fa-var-meh-o: "\f11a"; 463 | @fa-var-mercury: "\f223"; 464 | @fa-var-microchip: "\f2db"; 465 | @fa-var-microphone: "\f130"; 466 | @fa-var-microphone-slash: "\f131"; 467 | @fa-var-minus: "\f068"; 468 | @fa-var-minus-circle: "\f056"; 469 | @fa-var-minus-square: "\f146"; 470 | @fa-var-minus-square-o: "\f147"; 471 | @fa-var-mixcloud: "\f289"; 472 | @fa-var-mobile: "\f10b"; 473 | @fa-var-mobile-phone: "\f10b"; 474 | @fa-var-modx: "\f285"; 475 | @fa-var-money: "\f0d6"; 476 | @fa-var-moon-o: "\f186"; 477 | @fa-var-mortar-board: "\f19d"; 478 | @fa-var-motorcycle: "\f21c"; 479 | @fa-var-mouse-pointer: "\f245"; 480 | @fa-var-music: "\f001"; 481 | @fa-var-navicon: "\f0c9"; 482 | @fa-var-neuter: "\f22c"; 483 | @fa-var-newspaper-o: "\f1ea"; 484 | @fa-var-object-group: "\f247"; 485 | @fa-var-object-ungroup: "\f248"; 486 | @fa-var-odnoklassniki: "\f263"; 487 | @fa-var-odnoklassniki-square: "\f264"; 488 | @fa-var-opencart: "\f23d"; 489 | @fa-var-openid: "\f19b"; 490 | @fa-var-opera: "\f26a"; 491 | @fa-var-optin-monster: "\f23c"; 492 | @fa-var-outdent: "\f03b"; 493 | @fa-var-pagelines: "\f18c"; 494 | @fa-var-paint-brush: "\f1fc"; 495 | @fa-var-paper-plane: "\f1d8"; 496 | @fa-var-paper-plane-o: "\f1d9"; 497 | @fa-var-paperclip: "\f0c6"; 498 | @fa-var-paragraph: "\f1dd"; 499 | @fa-var-paste: "\f0ea"; 500 | @fa-var-pause: "\f04c"; 501 | @fa-var-pause-circle: "\f28b"; 502 | @fa-var-pause-circle-o: "\f28c"; 503 | @fa-var-paw: "\f1b0"; 504 | @fa-var-paypal: "\f1ed"; 505 | @fa-var-pencil: "\f040"; 506 | @fa-var-pencil-square: "\f14b"; 507 | @fa-var-pencil-square-o: "\f044"; 508 | @fa-var-percent: "\f295"; 509 | @fa-var-phone: "\f095"; 510 | @fa-var-phone-square: "\f098"; 511 | @fa-var-photo: "\f03e"; 512 | @fa-var-picture-o: "\f03e"; 513 | @fa-var-pie-chart: "\f200"; 514 | @fa-var-pied-piper: "\f2ae"; 515 | @fa-var-pied-piper-alt: "\f1a8"; 516 | @fa-var-pied-piper-pp: "\f1a7"; 517 | @fa-var-pinterest: "\f0d2"; 518 | @fa-var-pinterest-p: "\f231"; 519 | @fa-var-pinterest-square: "\f0d3"; 520 | @fa-var-plane: "\f072"; 521 | @fa-var-play: "\f04b"; 522 | @fa-var-play-circle: "\f144"; 523 | @fa-var-play-circle-o: "\f01d"; 524 | @fa-var-plug: "\f1e6"; 525 | @fa-var-plus: "\f067"; 526 | @fa-var-plus-circle: "\f055"; 527 | @fa-var-plus-square: "\f0fe"; 528 | @fa-var-plus-square-o: "\f196"; 529 | @fa-var-podcast: "\f2ce"; 530 | @fa-var-power-off: "\f011"; 531 | @fa-var-print: "\f02f"; 532 | @fa-var-product-hunt: "\f288"; 533 | @fa-var-puzzle-piece: "\f12e"; 534 | @fa-var-qq: "\f1d6"; 535 | @fa-var-qrcode: "\f029"; 536 | @fa-var-question: "\f128"; 537 | @fa-var-question-circle: "\f059"; 538 | @fa-var-question-circle-o: "\f29c"; 539 | @fa-var-quora: "\f2c4"; 540 | @fa-var-quote-left: "\f10d"; 541 | @fa-var-quote-right: "\f10e"; 542 | @fa-var-ra: "\f1d0"; 543 | @fa-var-random: "\f074"; 544 | @fa-var-ravelry: "\f2d9"; 545 | @fa-var-rebel: "\f1d0"; 546 | @fa-var-recycle: "\f1b8"; 547 | @fa-var-reddit: "\f1a1"; 548 | @fa-var-reddit-alien: "\f281"; 549 | @fa-var-reddit-square: "\f1a2"; 550 | @fa-var-refresh: "\f021"; 551 | @fa-var-registered: "\f25d"; 552 | @fa-var-remove: "\f00d"; 553 | @fa-var-renren: "\f18b"; 554 | @fa-var-reorder: "\f0c9"; 555 | @fa-var-repeat: "\f01e"; 556 | @fa-var-reply: "\f112"; 557 | @fa-var-reply-all: "\f122"; 558 | @fa-var-resistance: "\f1d0"; 559 | @fa-var-retweet: "\f079"; 560 | @fa-var-rmb: "\f157"; 561 | @fa-var-road: "\f018"; 562 | @fa-var-rocket: "\f135"; 563 | @fa-var-rotate-left: "\f0e2"; 564 | @fa-var-rotate-right: "\f01e"; 565 | @fa-var-rouble: "\f158"; 566 | @fa-var-rss: "\f09e"; 567 | @fa-var-rss-square: "\f143"; 568 | @fa-var-rub: "\f158"; 569 | @fa-var-ruble: "\f158"; 570 | @fa-var-rupee: "\f156"; 571 | @fa-var-s15: "\f2cd"; 572 | @fa-var-safari: "\f267"; 573 | @fa-var-save: "\f0c7"; 574 | @fa-var-scissors: "\f0c4"; 575 | @fa-var-scribd: "\f28a"; 576 | @fa-var-search: "\f002"; 577 | @fa-var-search-minus: "\f010"; 578 | @fa-var-search-plus: "\f00e"; 579 | @fa-var-sellsy: "\f213"; 580 | @fa-var-send: "\f1d8"; 581 | @fa-var-send-o: "\f1d9"; 582 | @fa-var-server: "\f233"; 583 | @fa-var-share: "\f064"; 584 | @fa-var-share-alt: "\f1e0"; 585 | @fa-var-share-alt-square: "\f1e1"; 586 | @fa-var-share-square: "\f14d"; 587 | @fa-var-share-square-o: "\f045"; 588 | @fa-var-shekel: "\f20b"; 589 | @fa-var-sheqel: "\f20b"; 590 | @fa-var-shield: "\f132"; 591 | @fa-var-ship: "\f21a"; 592 | @fa-var-shirtsinbulk: "\f214"; 593 | @fa-var-shopping-bag: "\f290"; 594 | @fa-var-shopping-basket: "\f291"; 595 | @fa-var-shopping-cart: "\f07a"; 596 | @fa-var-shower: "\f2cc"; 597 | @fa-var-sign-in: "\f090"; 598 | @fa-var-sign-language: "\f2a7"; 599 | @fa-var-sign-out: "\f08b"; 600 | @fa-var-signal: "\f012"; 601 | @fa-var-signing: "\f2a7"; 602 | @fa-var-simplybuilt: "\f215"; 603 | @fa-var-sitemap: "\f0e8"; 604 | @fa-var-skyatlas: "\f216"; 605 | @fa-var-skype: "\f17e"; 606 | @fa-var-slack: "\f198"; 607 | @fa-var-sliders: "\f1de"; 608 | @fa-var-slideshare: "\f1e7"; 609 | @fa-var-smile-o: "\f118"; 610 | @fa-var-snapchat: "\f2ab"; 611 | @fa-var-snapchat-ghost: "\f2ac"; 612 | @fa-var-snapchat-square: "\f2ad"; 613 | @fa-var-snowflake-o: "\f2dc"; 614 | @fa-var-soccer-ball-o: "\f1e3"; 615 | @fa-var-sort: "\f0dc"; 616 | @fa-var-sort-alpha-asc: "\f15d"; 617 | @fa-var-sort-alpha-desc: "\f15e"; 618 | @fa-var-sort-amount-asc: "\f160"; 619 | @fa-var-sort-amount-desc: "\f161"; 620 | @fa-var-sort-asc: "\f0de"; 621 | @fa-var-sort-desc: "\f0dd"; 622 | @fa-var-sort-down: "\f0dd"; 623 | @fa-var-sort-numeric-asc: "\f162"; 624 | @fa-var-sort-numeric-desc: "\f163"; 625 | @fa-var-sort-up: "\f0de"; 626 | @fa-var-soundcloud: "\f1be"; 627 | @fa-var-space-shuttle: "\f197"; 628 | @fa-var-spinner: "\f110"; 629 | @fa-var-spoon: "\f1b1"; 630 | @fa-var-spotify: "\f1bc"; 631 | @fa-var-square: "\f0c8"; 632 | @fa-var-square-o: "\f096"; 633 | @fa-var-stack-exchange: "\f18d"; 634 | @fa-var-stack-overflow: "\f16c"; 635 | @fa-var-star: "\f005"; 636 | @fa-var-star-half: "\f089"; 637 | @fa-var-star-half-empty: "\f123"; 638 | @fa-var-star-half-full: "\f123"; 639 | @fa-var-star-half-o: "\f123"; 640 | @fa-var-star-o: "\f006"; 641 | @fa-var-steam: "\f1b6"; 642 | @fa-var-steam-square: "\f1b7"; 643 | @fa-var-step-backward: "\f048"; 644 | @fa-var-step-forward: "\f051"; 645 | @fa-var-stethoscope: "\f0f1"; 646 | @fa-var-sticky-note: "\f249"; 647 | @fa-var-sticky-note-o: "\f24a"; 648 | @fa-var-stop: "\f04d"; 649 | @fa-var-stop-circle: "\f28d"; 650 | @fa-var-stop-circle-o: "\f28e"; 651 | @fa-var-street-view: "\f21d"; 652 | @fa-var-strikethrough: "\f0cc"; 653 | @fa-var-stumbleupon: "\f1a4"; 654 | @fa-var-stumbleupon-circle: "\f1a3"; 655 | @fa-var-subscript: "\f12c"; 656 | @fa-var-subway: "\f239"; 657 | @fa-var-suitcase: "\f0f2"; 658 | @fa-var-sun-o: "\f185"; 659 | @fa-var-superpowers: "\f2dd"; 660 | @fa-var-superscript: "\f12b"; 661 | @fa-var-support: "\f1cd"; 662 | @fa-var-table: "\f0ce"; 663 | @fa-var-tablet: "\f10a"; 664 | @fa-var-tachometer: "\f0e4"; 665 | @fa-var-tag: "\f02b"; 666 | @fa-var-tags: "\f02c"; 667 | @fa-var-tasks: "\f0ae"; 668 | @fa-var-taxi: "\f1ba"; 669 | @fa-var-telegram: "\f2c6"; 670 | @fa-var-television: "\f26c"; 671 | @fa-var-tencent-weibo: "\f1d5"; 672 | @fa-var-terminal: "\f120"; 673 | @fa-var-text-height: "\f034"; 674 | @fa-var-text-width: "\f035"; 675 | @fa-var-th: "\f00a"; 676 | @fa-var-th-large: "\f009"; 677 | @fa-var-th-list: "\f00b"; 678 | @fa-var-themeisle: "\f2b2"; 679 | @fa-var-thermometer: "\f2c7"; 680 | @fa-var-thermometer-0: "\f2cb"; 681 | @fa-var-thermometer-1: "\f2ca"; 682 | @fa-var-thermometer-2: "\f2c9"; 683 | @fa-var-thermometer-3: "\f2c8"; 684 | @fa-var-thermometer-4: "\f2c7"; 685 | @fa-var-thermometer-empty: "\f2cb"; 686 | @fa-var-thermometer-full: "\f2c7"; 687 | @fa-var-thermometer-half: "\f2c9"; 688 | @fa-var-thermometer-quarter: "\f2ca"; 689 | @fa-var-thermometer-three-quarters: "\f2c8"; 690 | @fa-var-thumb-tack: "\f08d"; 691 | @fa-var-thumbs-down: "\f165"; 692 | @fa-var-thumbs-o-down: "\f088"; 693 | @fa-var-thumbs-o-up: "\f087"; 694 | @fa-var-thumbs-up: "\f164"; 695 | @fa-var-ticket: "\f145"; 696 | @fa-var-times: "\f00d"; 697 | @fa-var-times-circle: "\f057"; 698 | @fa-var-times-circle-o: "\f05c"; 699 | @fa-var-times-rectangle: "\f2d3"; 700 | @fa-var-times-rectangle-o: "\f2d4"; 701 | @fa-var-tint: "\f043"; 702 | @fa-var-toggle-down: "\f150"; 703 | @fa-var-toggle-left: "\f191"; 704 | @fa-var-toggle-off: "\f204"; 705 | @fa-var-toggle-on: "\f205"; 706 | @fa-var-toggle-right: "\f152"; 707 | @fa-var-toggle-up: "\f151"; 708 | @fa-var-trademark: "\f25c"; 709 | @fa-var-train: "\f238"; 710 | @fa-var-transgender: "\f224"; 711 | @fa-var-transgender-alt: "\f225"; 712 | @fa-var-trash: "\f1f8"; 713 | @fa-var-trash-o: "\f014"; 714 | @fa-var-tree: "\f1bb"; 715 | @fa-var-trello: "\f181"; 716 | @fa-var-tripadvisor: "\f262"; 717 | @fa-var-trophy: "\f091"; 718 | @fa-var-truck: "\f0d1"; 719 | @fa-var-try: "\f195"; 720 | @fa-var-tty: "\f1e4"; 721 | @fa-var-tumblr: "\f173"; 722 | @fa-var-tumblr-square: "\f174"; 723 | @fa-var-turkish-lira: "\f195"; 724 | @fa-var-tv: "\f26c"; 725 | @fa-var-twitch: "\f1e8"; 726 | @fa-var-twitter: "\f099"; 727 | @fa-var-twitter-square: "\f081"; 728 | @fa-var-umbrella: "\f0e9"; 729 | @fa-var-underline: "\f0cd"; 730 | @fa-var-undo: "\f0e2"; 731 | @fa-var-universal-access: "\f29a"; 732 | @fa-var-university: "\f19c"; 733 | @fa-var-unlink: "\f127"; 734 | @fa-var-unlock: "\f09c"; 735 | @fa-var-unlock-alt: "\f13e"; 736 | @fa-var-unsorted: "\f0dc"; 737 | @fa-var-upload: "\f093"; 738 | @fa-var-usb: "\f287"; 739 | @fa-var-usd: "\f155"; 740 | @fa-var-user: "\f007"; 741 | @fa-var-user-circle: "\f2bd"; 742 | @fa-var-user-circle-o: "\f2be"; 743 | @fa-var-user-md: "\f0f0"; 744 | @fa-var-user-o: "\f2c0"; 745 | @fa-var-user-plus: "\f234"; 746 | @fa-var-user-secret: "\f21b"; 747 | @fa-var-user-times: "\f235"; 748 | @fa-var-users: "\f0c0"; 749 | @fa-var-vcard: "\f2bb"; 750 | @fa-var-vcard-o: "\f2bc"; 751 | @fa-var-venus: "\f221"; 752 | @fa-var-venus-double: "\f226"; 753 | @fa-var-venus-mars: "\f228"; 754 | @fa-var-viacoin: "\f237"; 755 | @fa-var-viadeo: "\f2a9"; 756 | @fa-var-viadeo-square: "\f2aa"; 757 | @fa-var-video-camera: "\f03d"; 758 | @fa-var-vimeo: "\f27d"; 759 | @fa-var-vimeo-square: "\f194"; 760 | @fa-var-vine: "\f1ca"; 761 | @fa-var-vk: "\f189"; 762 | @fa-var-volume-control-phone: "\f2a0"; 763 | @fa-var-volume-down: "\f027"; 764 | @fa-var-volume-off: "\f026"; 765 | @fa-var-volume-up: "\f028"; 766 | @fa-var-warning: "\f071"; 767 | @fa-var-wechat: "\f1d7"; 768 | @fa-var-weibo: "\f18a"; 769 | @fa-var-weixin: "\f1d7"; 770 | @fa-var-whatsapp: "\f232"; 771 | @fa-var-wheelchair: "\f193"; 772 | @fa-var-wheelchair-alt: "\f29b"; 773 | @fa-var-wifi: "\f1eb"; 774 | @fa-var-wikipedia-w: "\f266"; 775 | @fa-var-window-close: "\f2d3"; 776 | @fa-var-window-close-o: "\f2d4"; 777 | @fa-var-window-maximize: "\f2d0"; 778 | @fa-var-window-minimize: "\f2d1"; 779 | @fa-var-window-restore: "\f2d2"; 780 | @fa-var-windows: "\f17a"; 781 | @fa-var-won: "\f159"; 782 | @fa-var-wordpress: "\f19a"; 783 | @fa-var-wpbeginner: "\f297"; 784 | @fa-var-wpexplorer: "\f2de"; 785 | @fa-var-wpforms: "\f298"; 786 | @fa-var-wrench: "\f0ad"; 787 | @fa-var-xing: "\f168"; 788 | @fa-var-xing-square: "\f169"; 789 | @fa-var-y-combinator: "\f23b"; 790 | @fa-var-y-combinator-square: "\f1d4"; 791 | @fa-var-yahoo: "\f19e"; 792 | @fa-var-yc: "\f23b"; 793 | @fa-var-yc-square: "\f1d4"; 794 | @fa-var-yelp: "\f1e9"; 795 | @fa-var-yen: "\f157"; 796 | @fa-var-yoast: "\f2b1"; 797 | @fa-var-youtube: "\f167"; 798 | @fa-var-youtube-play: "\f16a"; 799 | @fa-var-youtube-square: "\f166"; 800 | 801 | -------------------------------------------------------------------------------- /02-calendar_app/public/font-awesome/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | $fa-font-path: "../fonts" !default; 5 | $fa-font-size-base: 14px !default; 6 | $fa-line-height-base: 1 !default; 7 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly 8 | $fa-css-prefix: fa !default; 9 | $fa-version: "4.7.0" !default; 10 | $fa-border-color: #eee !default; 11 | $fa-inverse: #fff !default; 12 | $fa-li-width: (30em / 14) !default; 13 | 14 | $fa-var-500px: "\f26e"; 15 | $fa-var-address-book: "\f2b9"; 16 | $fa-var-address-book-o: "\f2ba"; 17 | $fa-var-address-card: "\f2bb"; 18 | $fa-var-address-card-o: "\f2bc"; 19 | $fa-var-adjust: "\f042"; 20 | $fa-var-adn: "\f170"; 21 | $fa-var-align-center: "\f037"; 22 | $fa-var-align-justify: "\f039"; 23 | $fa-var-align-left: "\f036"; 24 | $fa-var-align-right: "\f038"; 25 | $fa-var-amazon: "\f270"; 26 | $fa-var-ambulance: "\f0f9"; 27 | $fa-var-american-sign-language-interpreting: "\f2a3"; 28 | $fa-var-anchor: "\f13d"; 29 | $fa-var-android: "\f17b"; 30 | $fa-var-angellist: "\f209"; 31 | $fa-var-angle-double-down: "\f103"; 32 | $fa-var-angle-double-left: "\f100"; 33 | $fa-var-angle-double-right: "\f101"; 34 | $fa-var-angle-double-up: "\f102"; 35 | $fa-var-angle-down: "\f107"; 36 | $fa-var-angle-left: "\f104"; 37 | $fa-var-angle-right: "\f105"; 38 | $fa-var-angle-up: "\f106"; 39 | $fa-var-apple: "\f179"; 40 | $fa-var-archive: "\f187"; 41 | $fa-var-area-chart: "\f1fe"; 42 | $fa-var-arrow-circle-down: "\f0ab"; 43 | $fa-var-arrow-circle-left: "\f0a8"; 44 | $fa-var-arrow-circle-o-down: "\f01a"; 45 | $fa-var-arrow-circle-o-left: "\f190"; 46 | $fa-var-arrow-circle-o-right: "\f18e"; 47 | $fa-var-arrow-circle-o-up: "\f01b"; 48 | $fa-var-arrow-circle-right: "\f0a9"; 49 | $fa-var-arrow-circle-up: "\f0aa"; 50 | $fa-var-arrow-down: "\f063"; 51 | $fa-var-arrow-left: "\f060"; 52 | $fa-var-arrow-right: "\f061"; 53 | $fa-var-arrow-up: "\f062"; 54 | $fa-var-arrows: "\f047"; 55 | $fa-var-arrows-alt: "\f0b2"; 56 | $fa-var-arrows-h: "\f07e"; 57 | $fa-var-arrows-v: "\f07d"; 58 | $fa-var-asl-interpreting: "\f2a3"; 59 | $fa-var-assistive-listening-systems: "\f2a2"; 60 | $fa-var-asterisk: "\f069"; 61 | $fa-var-at: "\f1fa"; 62 | $fa-var-audio-description: "\f29e"; 63 | $fa-var-automobile: "\f1b9"; 64 | $fa-var-backward: "\f04a"; 65 | $fa-var-balance-scale: "\f24e"; 66 | $fa-var-ban: "\f05e"; 67 | $fa-var-bandcamp: "\f2d5"; 68 | $fa-var-bank: "\f19c"; 69 | $fa-var-bar-chart: "\f080"; 70 | $fa-var-bar-chart-o: "\f080"; 71 | $fa-var-barcode: "\f02a"; 72 | $fa-var-bars: "\f0c9"; 73 | $fa-var-bath: "\f2cd"; 74 | $fa-var-bathtub: "\f2cd"; 75 | $fa-var-battery: "\f240"; 76 | $fa-var-battery-0: "\f244"; 77 | $fa-var-battery-1: "\f243"; 78 | $fa-var-battery-2: "\f242"; 79 | $fa-var-battery-3: "\f241"; 80 | $fa-var-battery-4: "\f240"; 81 | $fa-var-battery-empty: "\f244"; 82 | $fa-var-battery-full: "\f240"; 83 | $fa-var-battery-half: "\f242"; 84 | $fa-var-battery-quarter: "\f243"; 85 | $fa-var-battery-three-quarters: "\f241"; 86 | $fa-var-bed: "\f236"; 87 | $fa-var-beer: "\f0fc"; 88 | $fa-var-behance: "\f1b4"; 89 | $fa-var-behance-square: "\f1b5"; 90 | $fa-var-bell: "\f0f3"; 91 | $fa-var-bell-o: "\f0a2"; 92 | $fa-var-bell-slash: "\f1f6"; 93 | $fa-var-bell-slash-o: "\f1f7"; 94 | $fa-var-bicycle: "\f206"; 95 | $fa-var-binoculars: "\f1e5"; 96 | $fa-var-birthday-cake: "\f1fd"; 97 | $fa-var-bitbucket: "\f171"; 98 | $fa-var-bitbucket-square: "\f172"; 99 | $fa-var-bitcoin: "\f15a"; 100 | $fa-var-black-tie: "\f27e"; 101 | $fa-var-blind: "\f29d"; 102 | $fa-var-bluetooth: "\f293"; 103 | $fa-var-bluetooth-b: "\f294"; 104 | $fa-var-bold: "\f032"; 105 | $fa-var-bolt: "\f0e7"; 106 | $fa-var-bomb: "\f1e2"; 107 | $fa-var-book: "\f02d"; 108 | $fa-var-bookmark: "\f02e"; 109 | $fa-var-bookmark-o: "\f097"; 110 | $fa-var-braille: "\f2a1"; 111 | $fa-var-briefcase: "\f0b1"; 112 | $fa-var-btc: "\f15a"; 113 | $fa-var-bug: "\f188"; 114 | $fa-var-building: "\f1ad"; 115 | $fa-var-building-o: "\f0f7"; 116 | $fa-var-bullhorn: "\f0a1"; 117 | $fa-var-bullseye: "\f140"; 118 | $fa-var-bus: "\f207"; 119 | $fa-var-buysellads: "\f20d"; 120 | $fa-var-cab: "\f1ba"; 121 | $fa-var-calculator: "\f1ec"; 122 | $fa-var-calendar: "\f073"; 123 | $fa-var-calendar-check-o: "\f274"; 124 | $fa-var-calendar-minus-o: "\f272"; 125 | $fa-var-calendar-o: "\f133"; 126 | $fa-var-calendar-plus-o: "\f271"; 127 | $fa-var-calendar-times-o: "\f273"; 128 | $fa-var-camera: "\f030"; 129 | $fa-var-camera-retro: "\f083"; 130 | $fa-var-car: "\f1b9"; 131 | $fa-var-caret-down: "\f0d7"; 132 | $fa-var-caret-left: "\f0d9"; 133 | $fa-var-caret-right: "\f0da"; 134 | $fa-var-caret-square-o-down: "\f150"; 135 | $fa-var-caret-square-o-left: "\f191"; 136 | $fa-var-caret-square-o-right: "\f152"; 137 | $fa-var-caret-square-o-up: "\f151"; 138 | $fa-var-caret-up: "\f0d8"; 139 | $fa-var-cart-arrow-down: "\f218"; 140 | $fa-var-cart-plus: "\f217"; 141 | $fa-var-cc: "\f20a"; 142 | $fa-var-cc-amex: "\f1f3"; 143 | $fa-var-cc-diners-club: "\f24c"; 144 | $fa-var-cc-discover: "\f1f2"; 145 | $fa-var-cc-jcb: "\f24b"; 146 | $fa-var-cc-mastercard: "\f1f1"; 147 | $fa-var-cc-paypal: "\f1f4"; 148 | $fa-var-cc-stripe: "\f1f5"; 149 | $fa-var-cc-visa: "\f1f0"; 150 | $fa-var-certificate: "\f0a3"; 151 | $fa-var-chain: "\f0c1"; 152 | $fa-var-chain-broken: "\f127"; 153 | $fa-var-check: "\f00c"; 154 | $fa-var-check-circle: "\f058"; 155 | $fa-var-check-circle-o: "\f05d"; 156 | $fa-var-check-square: "\f14a"; 157 | $fa-var-check-square-o: "\f046"; 158 | $fa-var-chevron-circle-down: "\f13a"; 159 | $fa-var-chevron-circle-left: "\f137"; 160 | $fa-var-chevron-circle-right: "\f138"; 161 | $fa-var-chevron-circle-up: "\f139"; 162 | $fa-var-chevron-down: "\f078"; 163 | $fa-var-chevron-left: "\f053"; 164 | $fa-var-chevron-right: "\f054"; 165 | $fa-var-chevron-up: "\f077"; 166 | $fa-var-child: "\f1ae"; 167 | $fa-var-chrome: "\f268"; 168 | $fa-var-circle: "\f111"; 169 | $fa-var-circle-o: "\f10c"; 170 | $fa-var-circle-o-notch: "\f1ce"; 171 | $fa-var-circle-thin: "\f1db"; 172 | $fa-var-clipboard: "\f0ea"; 173 | $fa-var-clock-o: "\f017"; 174 | $fa-var-clone: "\f24d"; 175 | $fa-var-close: "\f00d"; 176 | $fa-var-cloud: "\f0c2"; 177 | $fa-var-cloud-download: "\f0ed"; 178 | $fa-var-cloud-upload: "\f0ee"; 179 | $fa-var-cny: "\f157"; 180 | $fa-var-code: "\f121"; 181 | $fa-var-code-fork: "\f126"; 182 | $fa-var-codepen: "\f1cb"; 183 | $fa-var-codiepie: "\f284"; 184 | $fa-var-coffee: "\f0f4"; 185 | $fa-var-cog: "\f013"; 186 | $fa-var-cogs: "\f085"; 187 | $fa-var-columns: "\f0db"; 188 | $fa-var-comment: "\f075"; 189 | $fa-var-comment-o: "\f0e5"; 190 | $fa-var-commenting: "\f27a"; 191 | $fa-var-commenting-o: "\f27b"; 192 | $fa-var-comments: "\f086"; 193 | $fa-var-comments-o: "\f0e6"; 194 | $fa-var-compass: "\f14e"; 195 | $fa-var-compress: "\f066"; 196 | $fa-var-connectdevelop: "\f20e"; 197 | $fa-var-contao: "\f26d"; 198 | $fa-var-copy: "\f0c5"; 199 | $fa-var-copyright: "\f1f9"; 200 | $fa-var-creative-commons: "\f25e"; 201 | $fa-var-credit-card: "\f09d"; 202 | $fa-var-credit-card-alt: "\f283"; 203 | $fa-var-crop: "\f125"; 204 | $fa-var-crosshairs: "\f05b"; 205 | $fa-var-css3: "\f13c"; 206 | $fa-var-cube: "\f1b2"; 207 | $fa-var-cubes: "\f1b3"; 208 | $fa-var-cut: "\f0c4"; 209 | $fa-var-cutlery: "\f0f5"; 210 | $fa-var-dashboard: "\f0e4"; 211 | $fa-var-dashcube: "\f210"; 212 | $fa-var-database: "\f1c0"; 213 | $fa-var-deaf: "\f2a4"; 214 | $fa-var-deafness: "\f2a4"; 215 | $fa-var-dedent: "\f03b"; 216 | $fa-var-delicious: "\f1a5"; 217 | $fa-var-desktop: "\f108"; 218 | $fa-var-deviantart: "\f1bd"; 219 | $fa-var-diamond: "\f219"; 220 | $fa-var-digg: "\f1a6"; 221 | $fa-var-dollar: "\f155"; 222 | $fa-var-dot-circle-o: "\f192"; 223 | $fa-var-download: "\f019"; 224 | $fa-var-dribbble: "\f17d"; 225 | $fa-var-drivers-license: "\f2c2"; 226 | $fa-var-drivers-license-o: "\f2c3"; 227 | $fa-var-dropbox: "\f16b"; 228 | $fa-var-drupal: "\f1a9"; 229 | $fa-var-edge: "\f282"; 230 | $fa-var-edit: "\f044"; 231 | $fa-var-eercast: "\f2da"; 232 | $fa-var-eject: "\f052"; 233 | $fa-var-ellipsis-h: "\f141"; 234 | $fa-var-ellipsis-v: "\f142"; 235 | $fa-var-empire: "\f1d1"; 236 | $fa-var-envelope: "\f0e0"; 237 | $fa-var-envelope-o: "\f003"; 238 | $fa-var-envelope-open: "\f2b6"; 239 | $fa-var-envelope-open-o: "\f2b7"; 240 | $fa-var-envelope-square: "\f199"; 241 | $fa-var-envira: "\f299"; 242 | $fa-var-eraser: "\f12d"; 243 | $fa-var-etsy: "\f2d7"; 244 | $fa-var-eur: "\f153"; 245 | $fa-var-euro: "\f153"; 246 | $fa-var-exchange: "\f0ec"; 247 | $fa-var-exclamation: "\f12a"; 248 | $fa-var-exclamation-circle: "\f06a"; 249 | $fa-var-exclamation-triangle: "\f071"; 250 | $fa-var-expand: "\f065"; 251 | $fa-var-expeditedssl: "\f23e"; 252 | $fa-var-external-link: "\f08e"; 253 | $fa-var-external-link-square: "\f14c"; 254 | $fa-var-eye: "\f06e"; 255 | $fa-var-eye-slash: "\f070"; 256 | $fa-var-eyedropper: "\f1fb"; 257 | $fa-var-fa: "\f2b4"; 258 | $fa-var-facebook: "\f09a"; 259 | $fa-var-facebook-f: "\f09a"; 260 | $fa-var-facebook-official: "\f230"; 261 | $fa-var-facebook-square: "\f082"; 262 | $fa-var-fast-backward: "\f049"; 263 | $fa-var-fast-forward: "\f050"; 264 | $fa-var-fax: "\f1ac"; 265 | $fa-var-feed: "\f09e"; 266 | $fa-var-female: "\f182"; 267 | $fa-var-fighter-jet: "\f0fb"; 268 | $fa-var-file: "\f15b"; 269 | $fa-var-file-archive-o: "\f1c6"; 270 | $fa-var-file-audio-o: "\f1c7"; 271 | $fa-var-file-code-o: "\f1c9"; 272 | $fa-var-file-excel-o: "\f1c3"; 273 | $fa-var-file-image-o: "\f1c5"; 274 | $fa-var-file-movie-o: "\f1c8"; 275 | $fa-var-file-o: "\f016"; 276 | $fa-var-file-pdf-o: "\f1c1"; 277 | $fa-var-file-photo-o: "\f1c5"; 278 | $fa-var-file-picture-o: "\f1c5"; 279 | $fa-var-file-powerpoint-o: "\f1c4"; 280 | $fa-var-file-sound-o: "\f1c7"; 281 | $fa-var-file-text: "\f15c"; 282 | $fa-var-file-text-o: "\f0f6"; 283 | $fa-var-file-video-o: "\f1c8"; 284 | $fa-var-file-word-o: "\f1c2"; 285 | $fa-var-file-zip-o: "\f1c6"; 286 | $fa-var-files-o: "\f0c5"; 287 | $fa-var-film: "\f008"; 288 | $fa-var-filter: "\f0b0"; 289 | $fa-var-fire: "\f06d"; 290 | $fa-var-fire-extinguisher: "\f134"; 291 | $fa-var-firefox: "\f269"; 292 | $fa-var-first-order: "\f2b0"; 293 | $fa-var-flag: "\f024"; 294 | $fa-var-flag-checkered: "\f11e"; 295 | $fa-var-flag-o: "\f11d"; 296 | $fa-var-flash: "\f0e7"; 297 | $fa-var-flask: "\f0c3"; 298 | $fa-var-flickr: "\f16e"; 299 | $fa-var-floppy-o: "\f0c7"; 300 | $fa-var-folder: "\f07b"; 301 | $fa-var-folder-o: "\f114"; 302 | $fa-var-folder-open: "\f07c"; 303 | $fa-var-folder-open-o: "\f115"; 304 | $fa-var-font: "\f031"; 305 | $fa-var-font-awesome: "\f2b4"; 306 | $fa-var-fonticons: "\f280"; 307 | $fa-var-fort-awesome: "\f286"; 308 | $fa-var-forumbee: "\f211"; 309 | $fa-var-forward: "\f04e"; 310 | $fa-var-foursquare: "\f180"; 311 | $fa-var-free-code-camp: "\f2c5"; 312 | $fa-var-frown-o: "\f119"; 313 | $fa-var-futbol-o: "\f1e3"; 314 | $fa-var-gamepad: "\f11b"; 315 | $fa-var-gavel: "\f0e3"; 316 | $fa-var-gbp: "\f154"; 317 | $fa-var-ge: "\f1d1"; 318 | $fa-var-gear: "\f013"; 319 | $fa-var-gears: "\f085"; 320 | $fa-var-genderless: "\f22d"; 321 | $fa-var-get-pocket: "\f265"; 322 | $fa-var-gg: "\f260"; 323 | $fa-var-gg-circle: "\f261"; 324 | $fa-var-gift: "\f06b"; 325 | $fa-var-git: "\f1d3"; 326 | $fa-var-git-square: "\f1d2"; 327 | $fa-var-github: "\f09b"; 328 | $fa-var-github-alt: "\f113"; 329 | $fa-var-github-square: "\f092"; 330 | $fa-var-gitlab: "\f296"; 331 | $fa-var-gittip: "\f184"; 332 | $fa-var-glass: "\f000"; 333 | $fa-var-glide: "\f2a5"; 334 | $fa-var-glide-g: "\f2a6"; 335 | $fa-var-globe: "\f0ac"; 336 | $fa-var-google: "\f1a0"; 337 | $fa-var-google-plus: "\f0d5"; 338 | $fa-var-google-plus-circle: "\f2b3"; 339 | $fa-var-google-plus-official: "\f2b3"; 340 | $fa-var-google-plus-square: "\f0d4"; 341 | $fa-var-google-wallet: "\f1ee"; 342 | $fa-var-graduation-cap: "\f19d"; 343 | $fa-var-gratipay: "\f184"; 344 | $fa-var-grav: "\f2d6"; 345 | $fa-var-group: "\f0c0"; 346 | $fa-var-h-square: "\f0fd"; 347 | $fa-var-hacker-news: "\f1d4"; 348 | $fa-var-hand-grab-o: "\f255"; 349 | $fa-var-hand-lizard-o: "\f258"; 350 | $fa-var-hand-o-down: "\f0a7"; 351 | $fa-var-hand-o-left: "\f0a5"; 352 | $fa-var-hand-o-right: "\f0a4"; 353 | $fa-var-hand-o-up: "\f0a6"; 354 | $fa-var-hand-paper-o: "\f256"; 355 | $fa-var-hand-peace-o: "\f25b"; 356 | $fa-var-hand-pointer-o: "\f25a"; 357 | $fa-var-hand-rock-o: "\f255"; 358 | $fa-var-hand-scissors-o: "\f257"; 359 | $fa-var-hand-spock-o: "\f259"; 360 | $fa-var-hand-stop-o: "\f256"; 361 | $fa-var-handshake-o: "\f2b5"; 362 | $fa-var-hard-of-hearing: "\f2a4"; 363 | $fa-var-hashtag: "\f292"; 364 | $fa-var-hdd-o: "\f0a0"; 365 | $fa-var-header: "\f1dc"; 366 | $fa-var-headphones: "\f025"; 367 | $fa-var-heart: "\f004"; 368 | $fa-var-heart-o: "\f08a"; 369 | $fa-var-heartbeat: "\f21e"; 370 | $fa-var-history: "\f1da"; 371 | $fa-var-home: "\f015"; 372 | $fa-var-hospital-o: "\f0f8"; 373 | $fa-var-hotel: "\f236"; 374 | $fa-var-hourglass: "\f254"; 375 | $fa-var-hourglass-1: "\f251"; 376 | $fa-var-hourglass-2: "\f252"; 377 | $fa-var-hourglass-3: "\f253"; 378 | $fa-var-hourglass-end: "\f253"; 379 | $fa-var-hourglass-half: "\f252"; 380 | $fa-var-hourglass-o: "\f250"; 381 | $fa-var-hourglass-start: "\f251"; 382 | $fa-var-houzz: "\f27c"; 383 | $fa-var-html5: "\f13b"; 384 | $fa-var-i-cursor: "\f246"; 385 | $fa-var-id-badge: "\f2c1"; 386 | $fa-var-id-card: "\f2c2"; 387 | $fa-var-id-card-o: "\f2c3"; 388 | $fa-var-ils: "\f20b"; 389 | $fa-var-image: "\f03e"; 390 | $fa-var-imdb: "\f2d8"; 391 | $fa-var-inbox: "\f01c"; 392 | $fa-var-indent: "\f03c"; 393 | $fa-var-industry: "\f275"; 394 | $fa-var-info: "\f129"; 395 | $fa-var-info-circle: "\f05a"; 396 | $fa-var-inr: "\f156"; 397 | $fa-var-instagram: "\f16d"; 398 | $fa-var-institution: "\f19c"; 399 | $fa-var-internet-explorer: "\f26b"; 400 | $fa-var-intersex: "\f224"; 401 | $fa-var-ioxhost: "\f208"; 402 | $fa-var-italic: "\f033"; 403 | $fa-var-joomla: "\f1aa"; 404 | $fa-var-jpy: "\f157"; 405 | $fa-var-jsfiddle: "\f1cc"; 406 | $fa-var-key: "\f084"; 407 | $fa-var-keyboard-o: "\f11c"; 408 | $fa-var-krw: "\f159"; 409 | $fa-var-language: "\f1ab"; 410 | $fa-var-laptop: "\f109"; 411 | $fa-var-lastfm: "\f202"; 412 | $fa-var-lastfm-square: "\f203"; 413 | $fa-var-leaf: "\f06c"; 414 | $fa-var-leanpub: "\f212"; 415 | $fa-var-legal: "\f0e3"; 416 | $fa-var-lemon-o: "\f094"; 417 | $fa-var-level-down: "\f149"; 418 | $fa-var-level-up: "\f148"; 419 | $fa-var-life-bouy: "\f1cd"; 420 | $fa-var-life-buoy: "\f1cd"; 421 | $fa-var-life-ring: "\f1cd"; 422 | $fa-var-life-saver: "\f1cd"; 423 | $fa-var-lightbulb-o: "\f0eb"; 424 | $fa-var-line-chart: "\f201"; 425 | $fa-var-link: "\f0c1"; 426 | $fa-var-linkedin: "\f0e1"; 427 | $fa-var-linkedin-square: "\f08c"; 428 | $fa-var-linode: "\f2b8"; 429 | $fa-var-linux: "\f17c"; 430 | $fa-var-list: "\f03a"; 431 | $fa-var-list-alt: "\f022"; 432 | $fa-var-list-ol: "\f0cb"; 433 | $fa-var-list-ul: "\f0ca"; 434 | $fa-var-location-arrow: "\f124"; 435 | $fa-var-lock: "\f023"; 436 | $fa-var-long-arrow-down: "\f175"; 437 | $fa-var-long-arrow-left: "\f177"; 438 | $fa-var-long-arrow-right: "\f178"; 439 | $fa-var-long-arrow-up: "\f176"; 440 | $fa-var-low-vision: "\f2a8"; 441 | $fa-var-magic: "\f0d0"; 442 | $fa-var-magnet: "\f076"; 443 | $fa-var-mail-forward: "\f064"; 444 | $fa-var-mail-reply: "\f112"; 445 | $fa-var-mail-reply-all: "\f122"; 446 | $fa-var-male: "\f183"; 447 | $fa-var-map: "\f279"; 448 | $fa-var-map-marker: "\f041"; 449 | $fa-var-map-o: "\f278"; 450 | $fa-var-map-pin: "\f276"; 451 | $fa-var-map-signs: "\f277"; 452 | $fa-var-mars: "\f222"; 453 | $fa-var-mars-double: "\f227"; 454 | $fa-var-mars-stroke: "\f229"; 455 | $fa-var-mars-stroke-h: "\f22b"; 456 | $fa-var-mars-stroke-v: "\f22a"; 457 | $fa-var-maxcdn: "\f136"; 458 | $fa-var-meanpath: "\f20c"; 459 | $fa-var-medium: "\f23a"; 460 | $fa-var-medkit: "\f0fa"; 461 | $fa-var-meetup: "\f2e0"; 462 | $fa-var-meh-o: "\f11a"; 463 | $fa-var-mercury: "\f223"; 464 | $fa-var-microchip: "\f2db"; 465 | $fa-var-microphone: "\f130"; 466 | $fa-var-microphone-slash: "\f131"; 467 | $fa-var-minus: "\f068"; 468 | $fa-var-minus-circle: "\f056"; 469 | $fa-var-minus-square: "\f146"; 470 | $fa-var-minus-square-o: "\f147"; 471 | $fa-var-mixcloud: "\f289"; 472 | $fa-var-mobile: "\f10b"; 473 | $fa-var-mobile-phone: "\f10b"; 474 | $fa-var-modx: "\f285"; 475 | $fa-var-money: "\f0d6"; 476 | $fa-var-moon-o: "\f186"; 477 | $fa-var-mortar-board: "\f19d"; 478 | $fa-var-motorcycle: "\f21c"; 479 | $fa-var-mouse-pointer: "\f245"; 480 | $fa-var-music: "\f001"; 481 | $fa-var-navicon: "\f0c9"; 482 | $fa-var-neuter: "\f22c"; 483 | $fa-var-newspaper-o: "\f1ea"; 484 | $fa-var-object-group: "\f247"; 485 | $fa-var-object-ungroup: "\f248"; 486 | $fa-var-odnoklassniki: "\f263"; 487 | $fa-var-odnoklassniki-square: "\f264"; 488 | $fa-var-opencart: "\f23d"; 489 | $fa-var-openid: "\f19b"; 490 | $fa-var-opera: "\f26a"; 491 | $fa-var-optin-monster: "\f23c"; 492 | $fa-var-outdent: "\f03b"; 493 | $fa-var-pagelines: "\f18c"; 494 | $fa-var-paint-brush: "\f1fc"; 495 | $fa-var-paper-plane: "\f1d8"; 496 | $fa-var-paper-plane-o: "\f1d9"; 497 | $fa-var-paperclip: "\f0c6"; 498 | $fa-var-paragraph: "\f1dd"; 499 | $fa-var-paste: "\f0ea"; 500 | $fa-var-pause: "\f04c"; 501 | $fa-var-pause-circle: "\f28b"; 502 | $fa-var-pause-circle-o: "\f28c"; 503 | $fa-var-paw: "\f1b0"; 504 | $fa-var-paypal: "\f1ed"; 505 | $fa-var-pencil: "\f040"; 506 | $fa-var-pencil-square: "\f14b"; 507 | $fa-var-pencil-square-o: "\f044"; 508 | $fa-var-percent: "\f295"; 509 | $fa-var-phone: "\f095"; 510 | $fa-var-phone-square: "\f098"; 511 | $fa-var-photo: "\f03e"; 512 | $fa-var-picture-o: "\f03e"; 513 | $fa-var-pie-chart: "\f200"; 514 | $fa-var-pied-piper: "\f2ae"; 515 | $fa-var-pied-piper-alt: "\f1a8"; 516 | $fa-var-pied-piper-pp: "\f1a7"; 517 | $fa-var-pinterest: "\f0d2"; 518 | $fa-var-pinterest-p: "\f231"; 519 | $fa-var-pinterest-square: "\f0d3"; 520 | $fa-var-plane: "\f072"; 521 | $fa-var-play: "\f04b"; 522 | $fa-var-play-circle: "\f144"; 523 | $fa-var-play-circle-o: "\f01d"; 524 | $fa-var-plug: "\f1e6"; 525 | $fa-var-plus: "\f067"; 526 | $fa-var-plus-circle: "\f055"; 527 | $fa-var-plus-square: "\f0fe"; 528 | $fa-var-plus-square-o: "\f196"; 529 | $fa-var-podcast: "\f2ce"; 530 | $fa-var-power-off: "\f011"; 531 | $fa-var-print: "\f02f"; 532 | $fa-var-product-hunt: "\f288"; 533 | $fa-var-puzzle-piece: "\f12e"; 534 | $fa-var-qq: "\f1d6"; 535 | $fa-var-qrcode: "\f029"; 536 | $fa-var-question: "\f128"; 537 | $fa-var-question-circle: "\f059"; 538 | $fa-var-question-circle-o: "\f29c"; 539 | $fa-var-quora: "\f2c4"; 540 | $fa-var-quote-left: "\f10d"; 541 | $fa-var-quote-right: "\f10e"; 542 | $fa-var-ra: "\f1d0"; 543 | $fa-var-random: "\f074"; 544 | $fa-var-ravelry: "\f2d9"; 545 | $fa-var-rebel: "\f1d0"; 546 | $fa-var-recycle: "\f1b8"; 547 | $fa-var-reddit: "\f1a1"; 548 | $fa-var-reddit-alien: "\f281"; 549 | $fa-var-reddit-square: "\f1a2"; 550 | $fa-var-refresh: "\f021"; 551 | $fa-var-registered: "\f25d"; 552 | $fa-var-remove: "\f00d"; 553 | $fa-var-renren: "\f18b"; 554 | $fa-var-reorder: "\f0c9"; 555 | $fa-var-repeat: "\f01e"; 556 | $fa-var-reply: "\f112"; 557 | $fa-var-reply-all: "\f122"; 558 | $fa-var-resistance: "\f1d0"; 559 | $fa-var-retweet: "\f079"; 560 | $fa-var-rmb: "\f157"; 561 | $fa-var-road: "\f018"; 562 | $fa-var-rocket: "\f135"; 563 | $fa-var-rotate-left: "\f0e2"; 564 | $fa-var-rotate-right: "\f01e"; 565 | $fa-var-rouble: "\f158"; 566 | $fa-var-rss: "\f09e"; 567 | $fa-var-rss-square: "\f143"; 568 | $fa-var-rub: "\f158"; 569 | $fa-var-ruble: "\f158"; 570 | $fa-var-rupee: "\f156"; 571 | $fa-var-s15: "\f2cd"; 572 | $fa-var-safari: "\f267"; 573 | $fa-var-save: "\f0c7"; 574 | $fa-var-scissors: "\f0c4"; 575 | $fa-var-scribd: "\f28a"; 576 | $fa-var-search: "\f002"; 577 | $fa-var-search-minus: "\f010"; 578 | $fa-var-search-plus: "\f00e"; 579 | $fa-var-sellsy: "\f213"; 580 | $fa-var-send: "\f1d8"; 581 | $fa-var-send-o: "\f1d9"; 582 | $fa-var-server: "\f233"; 583 | $fa-var-share: "\f064"; 584 | $fa-var-share-alt: "\f1e0"; 585 | $fa-var-share-alt-square: "\f1e1"; 586 | $fa-var-share-square: "\f14d"; 587 | $fa-var-share-square-o: "\f045"; 588 | $fa-var-shekel: "\f20b"; 589 | $fa-var-sheqel: "\f20b"; 590 | $fa-var-shield: "\f132"; 591 | $fa-var-ship: "\f21a"; 592 | $fa-var-shirtsinbulk: "\f214"; 593 | $fa-var-shopping-bag: "\f290"; 594 | $fa-var-shopping-basket: "\f291"; 595 | $fa-var-shopping-cart: "\f07a"; 596 | $fa-var-shower: "\f2cc"; 597 | $fa-var-sign-in: "\f090"; 598 | $fa-var-sign-language: "\f2a7"; 599 | $fa-var-sign-out: "\f08b"; 600 | $fa-var-signal: "\f012"; 601 | $fa-var-signing: "\f2a7"; 602 | $fa-var-simplybuilt: "\f215"; 603 | $fa-var-sitemap: "\f0e8"; 604 | $fa-var-skyatlas: "\f216"; 605 | $fa-var-skype: "\f17e"; 606 | $fa-var-slack: "\f198"; 607 | $fa-var-sliders: "\f1de"; 608 | $fa-var-slideshare: "\f1e7"; 609 | $fa-var-smile-o: "\f118"; 610 | $fa-var-snapchat: "\f2ab"; 611 | $fa-var-snapchat-ghost: "\f2ac"; 612 | $fa-var-snapchat-square: "\f2ad"; 613 | $fa-var-snowflake-o: "\f2dc"; 614 | $fa-var-soccer-ball-o: "\f1e3"; 615 | $fa-var-sort: "\f0dc"; 616 | $fa-var-sort-alpha-asc: "\f15d"; 617 | $fa-var-sort-alpha-desc: "\f15e"; 618 | $fa-var-sort-amount-asc: "\f160"; 619 | $fa-var-sort-amount-desc: "\f161"; 620 | $fa-var-sort-asc: "\f0de"; 621 | $fa-var-sort-desc: "\f0dd"; 622 | $fa-var-sort-down: "\f0dd"; 623 | $fa-var-sort-numeric-asc: "\f162"; 624 | $fa-var-sort-numeric-desc: "\f163"; 625 | $fa-var-sort-up: "\f0de"; 626 | $fa-var-soundcloud: "\f1be"; 627 | $fa-var-space-shuttle: "\f197"; 628 | $fa-var-spinner: "\f110"; 629 | $fa-var-spoon: "\f1b1"; 630 | $fa-var-spotify: "\f1bc"; 631 | $fa-var-square: "\f0c8"; 632 | $fa-var-square-o: "\f096"; 633 | $fa-var-stack-exchange: "\f18d"; 634 | $fa-var-stack-overflow: "\f16c"; 635 | $fa-var-star: "\f005"; 636 | $fa-var-star-half: "\f089"; 637 | $fa-var-star-half-empty: "\f123"; 638 | $fa-var-star-half-full: "\f123"; 639 | $fa-var-star-half-o: "\f123"; 640 | $fa-var-star-o: "\f006"; 641 | $fa-var-steam: "\f1b6"; 642 | $fa-var-steam-square: "\f1b7"; 643 | $fa-var-step-backward: "\f048"; 644 | $fa-var-step-forward: "\f051"; 645 | $fa-var-stethoscope: "\f0f1"; 646 | $fa-var-sticky-note: "\f249"; 647 | $fa-var-sticky-note-o: "\f24a"; 648 | $fa-var-stop: "\f04d"; 649 | $fa-var-stop-circle: "\f28d"; 650 | $fa-var-stop-circle-o: "\f28e"; 651 | $fa-var-street-view: "\f21d"; 652 | $fa-var-strikethrough: "\f0cc"; 653 | $fa-var-stumbleupon: "\f1a4"; 654 | $fa-var-stumbleupon-circle: "\f1a3"; 655 | $fa-var-subscript: "\f12c"; 656 | $fa-var-subway: "\f239"; 657 | $fa-var-suitcase: "\f0f2"; 658 | $fa-var-sun-o: "\f185"; 659 | $fa-var-superpowers: "\f2dd"; 660 | $fa-var-superscript: "\f12b"; 661 | $fa-var-support: "\f1cd"; 662 | $fa-var-table: "\f0ce"; 663 | $fa-var-tablet: "\f10a"; 664 | $fa-var-tachometer: "\f0e4"; 665 | $fa-var-tag: "\f02b"; 666 | $fa-var-tags: "\f02c"; 667 | $fa-var-tasks: "\f0ae"; 668 | $fa-var-taxi: "\f1ba"; 669 | $fa-var-telegram: "\f2c6"; 670 | $fa-var-television: "\f26c"; 671 | $fa-var-tencent-weibo: "\f1d5"; 672 | $fa-var-terminal: "\f120"; 673 | $fa-var-text-height: "\f034"; 674 | $fa-var-text-width: "\f035"; 675 | $fa-var-th: "\f00a"; 676 | $fa-var-th-large: "\f009"; 677 | $fa-var-th-list: "\f00b"; 678 | $fa-var-themeisle: "\f2b2"; 679 | $fa-var-thermometer: "\f2c7"; 680 | $fa-var-thermometer-0: "\f2cb"; 681 | $fa-var-thermometer-1: "\f2ca"; 682 | $fa-var-thermometer-2: "\f2c9"; 683 | $fa-var-thermometer-3: "\f2c8"; 684 | $fa-var-thermometer-4: "\f2c7"; 685 | $fa-var-thermometer-empty: "\f2cb"; 686 | $fa-var-thermometer-full: "\f2c7"; 687 | $fa-var-thermometer-half: "\f2c9"; 688 | $fa-var-thermometer-quarter: "\f2ca"; 689 | $fa-var-thermometer-three-quarters: "\f2c8"; 690 | $fa-var-thumb-tack: "\f08d"; 691 | $fa-var-thumbs-down: "\f165"; 692 | $fa-var-thumbs-o-down: "\f088"; 693 | $fa-var-thumbs-o-up: "\f087"; 694 | $fa-var-thumbs-up: "\f164"; 695 | $fa-var-ticket: "\f145"; 696 | $fa-var-times: "\f00d"; 697 | $fa-var-times-circle: "\f057"; 698 | $fa-var-times-circle-o: "\f05c"; 699 | $fa-var-times-rectangle: "\f2d3"; 700 | $fa-var-times-rectangle-o: "\f2d4"; 701 | $fa-var-tint: "\f043"; 702 | $fa-var-toggle-down: "\f150"; 703 | $fa-var-toggle-left: "\f191"; 704 | $fa-var-toggle-off: "\f204"; 705 | $fa-var-toggle-on: "\f205"; 706 | $fa-var-toggle-right: "\f152"; 707 | $fa-var-toggle-up: "\f151"; 708 | $fa-var-trademark: "\f25c"; 709 | $fa-var-train: "\f238"; 710 | $fa-var-transgender: "\f224"; 711 | $fa-var-transgender-alt: "\f225"; 712 | $fa-var-trash: "\f1f8"; 713 | $fa-var-trash-o: "\f014"; 714 | $fa-var-tree: "\f1bb"; 715 | $fa-var-trello: "\f181"; 716 | $fa-var-tripadvisor: "\f262"; 717 | $fa-var-trophy: "\f091"; 718 | $fa-var-truck: "\f0d1"; 719 | $fa-var-try: "\f195"; 720 | $fa-var-tty: "\f1e4"; 721 | $fa-var-tumblr: "\f173"; 722 | $fa-var-tumblr-square: "\f174"; 723 | $fa-var-turkish-lira: "\f195"; 724 | $fa-var-tv: "\f26c"; 725 | $fa-var-twitch: "\f1e8"; 726 | $fa-var-twitter: "\f099"; 727 | $fa-var-twitter-square: "\f081"; 728 | $fa-var-umbrella: "\f0e9"; 729 | $fa-var-underline: "\f0cd"; 730 | $fa-var-undo: "\f0e2"; 731 | $fa-var-universal-access: "\f29a"; 732 | $fa-var-university: "\f19c"; 733 | $fa-var-unlink: "\f127"; 734 | $fa-var-unlock: "\f09c"; 735 | $fa-var-unlock-alt: "\f13e"; 736 | $fa-var-unsorted: "\f0dc"; 737 | $fa-var-upload: "\f093"; 738 | $fa-var-usb: "\f287"; 739 | $fa-var-usd: "\f155"; 740 | $fa-var-user: "\f007"; 741 | $fa-var-user-circle: "\f2bd"; 742 | $fa-var-user-circle-o: "\f2be"; 743 | $fa-var-user-md: "\f0f0"; 744 | $fa-var-user-o: "\f2c0"; 745 | $fa-var-user-plus: "\f234"; 746 | $fa-var-user-secret: "\f21b"; 747 | $fa-var-user-times: "\f235"; 748 | $fa-var-users: "\f0c0"; 749 | $fa-var-vcard: "\f2bb"; 750 | $fa-var-vcard-o: "\f2bc"; 751 | $fa-var-venus: "\f221"; 752 | $fa-var-venus-double: "\f226"; 753 | $fa-var-venus-mars: "\f228"; 754 | $fa-var-viacoin: "\f237"; 755 | $fa-var-viadeo: "\f2a9"; 756 | $fa-var-viadeo-square: "\f2aa"; 757 | $fa-var-video-camera: "\f03d"; 758 | $fa-var-vimeo: "\f27d"; 759 | $fa-var-vimeo-square: "\f194"; 760 | $fa-var-vine: "\f1ca"; 761 | $fa-var-vk: "\f189"; 762 | $fa-var-volume-control-phone: "\f2a0"; 763 | $fa-var-volume-down: "\f027"; 764 | $fa-var-volume-off: "\f026"; 765 | $fa-var-volume-up: "\f028"; 766 | $fa-var-warning: "\f071"; 767 | $fa-var-wechat: "\f1d7"; 768 | $fa-var-weibo: "\f18a"; 769 | $fa-var-weixin: "\f1d7"; 770 | $fa-var-whatsapp: "\f232"; 771 | $fa-var-wheelchair: "\f193"; 772 | $fa-var-wheelchair-alt: "\f29b"; 773 | $fa-var-wifi: "\f1eb"; 774 | $fa-var-wikipedia-w: "\f266"; 775 | $fa-var-window-close: "\f2d3"; 776 | $fa-var-window-close-o: "\f2d4"; 777 | $fa-var-window-maximize: "\f2d0"; 778 | $fa-var-window-minimize: "\f2d1"; 779 | $fa-var-window-restore: "\f2d2"; 780 | $fa-var-windows: "\f17a"; 781 | $fa-var-won: "\f159"; 782 | $fa-var-wordpress: "\f19a"; 783 | $fa-var-wpbeginner: "\f297"; 784 | $fa-var-wpexplorer: "\f2de"; 785 | $fa-var-wpforms: "\f298"; 786 | $fa-var-wrench: "\f0ad"; 787 | $fa-var-xing: "\f168"; 788 | $fa-var-xing-square: "\f169"; 789 | $fa-var-y-combinator: "\f23b"; 790 | $fa-var-y-combinator-square: "\f1d4"; 791 | $fa-var-yahoo: "\f19e"; 792 | $fa-var-yc: "\f23b"; 793 | $fa-var-yc-square: "\f1d4"; 794 | $fa-var-yelp: "\f1e9"; 795 | $fa-var-yen: "\f157"; 796 | $fa-var-yoast: "\f2b1"; 797 | $fa-var-youtube: "\f167"; 798 | $fa-var-youtube-play: "\f16a"; 799 | $fa-var-youtube-square: "\f166"; 800 | 801 | -------------------------------------------------------------------------------- /05-shopping_cart/public/font-awesome/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | $fa-font-path: "../fonts" !default; 5 | $fa-font-size-base: 14px !default; 6 | $fa-line-height-base: 1 !default; 7 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly 8 | $fa-css-prefix: fa !default; 9 | $fa-version: "4.7.0" !default; 10 | $fa-border-color: #eee !default; 11 | $fa-inverse: #fff !default; 12 | $fa-li-width: (30em / 14) !default; 13 | 14 | $fa-var-500px: "\f26e"; 15 | $fa-var-address-book: "\f2b9"; 16 | $fa-var-address-book-o: "\f2ba"; 17 | $fa-var-address-card: "\f2bb"; 18 | $fa-var-address-card-o: "\f2bc"; 19 | $fa-var-adjust: "\f042"; 20 | $fa-var-adn: "\f170"; 21 | $fa-var-align-center: "\f037"; 22 | $fa-var-align-justify: "\f039"; 23 | $fa-var-align-left: "\f036"; 24 | $fa-var-align-right: "\f038"; 25 | $fa-var-amazon: "\f270"; 26 | $fa-var-ambulance: "\f0f9"; 27 | $fa-var-american-sign-language-interpreting: "\f2a3"; 28 | $fa-var-anchor: "\f13d"; 29 | $fa-var-android: "\f17b"; 30 | $fa-var-angellist: "\f209"; 31 | $fa-var-angle-double-down: "\f103"; 32 | $fa-var-angle-double-left: "\f100"; 33 | $fa-var-angle-double-right: "\f101"; 34 | $fa-var-angle-double-up: "\f102"; 35 | $fa-var-angle-down: "\f107"; 36 | $fa-var-angle-left: "\f104"; 37 | $fa-var-angle-right: "\f105"; 38 | $fa-var-angle-up: "\f106"; 39 | $fa-var-apple: "\f179"; 40 | $fa-var-archive: "\f187"; 41 | $fa-var-area-chart: "\f1fe"; 42 | $fa-var-arrow-circle-down: "\f0ab"; 43 | $fa-var-arrow-circle-left: "\f0a8"; 44 | $fa-var-arrow-circle-o-down: "\f01a"; 45 | $fa-var-arrow-circle-o-left: "\f190"; 46 | $fa-var-arrow-circle-o-right: "\f18e"; 47 | $fa-var-arrow-circle-o-up: "\f01b"; 48 | $fa-var-arrow-circle-right: "\f0a9"; 49 | $fa-var-arrow-circle-up: "\f0aa"; 50 | $fa-var-arrow-down: "\f063"; 51 | $fa-var-arrow-left: "\f060"; 52 | $fa-var-arrow-right: "\f061"; 53 | $fa-var-arrow-up: "\f062"; 54 | $fa-var-arrows: "\f047"; 55 | $fa-var-arrows-alt: "\f0b2"; 56 | $fa-var-arrows-h: "\f07e"; 57 | $fa-var-arrows-v: "\f07d"; 58 | $fa-var-asl-interpreting: "\f2a3"; 59 | $fa-var-assistive-listening-systems: "\f2a2"; 60 | $fa-var-asterisk: "\f069"; 61 | $fa-var-at: "\f1fa"; 62 | $fa-var-audio-description: "\f29e"; 63 | $fa-var-automobile: "\f1b9"; 64 | $fa-var-backward: "\f04a"; 65 | $fa-var-balance-scale: "\f24e"; 66 | $fa-var-ban: "\f05e"; 67 | $fa-var-bandcamp: "\f2d5"; 68 | $fa-var-bank: "\f19c"; 69 | $fa-var-bar-chart: "\f080"; 70 | $fa-var-bar-chart-o: "\f080"; 71 | $fa-var-barcode: "\f02a"; 72 | $fa-var-bars: "\f0c9"; 73 | $fa-var-bath: "\f2cd"; 74 | $fa-var-bathtub: "\f2cd"; 75 | $fa-var-battery: "\f240"; 76 | $fa-var-battery-0: "\f244"; 77 | $fa-var-battery-1: "\f243"; 78 | $fa-var-battery-2: "\f242"; 79 | $fa-var-battery-3: "\f241"; 80 | $fa-var-battery-4: "\f240"; 81 | $fa-var-battery-empty: "\f244"; 82 | $fa-var-battery-full: "\f240"; 83 | $fa-var-battery-half: "\f242"; 84 | $fa-var-battery-quarter: "\f243"; 85 | $fa-var-battery-three-quarters: "\f241"; 86 | $fa-var-bed: "\f236"; 87 | $fa-var-beer: "\f0fc"; 88 | $fa-var-behance: "\f1b4"; 89 | $fa-var-behance-square: "\f1b5"; 90 | $fa-var-bell: "\f0f3"; 91 | $fa-var-bell-o: "\f0a2"; 92 | $fa-var-bell-slash: "\f1f6"; 93 | $fa-var-bell-slash-o: "\f1f7"; 94 | $fa-var-bicycle: "\f206"; 95 | $fa-var-binoculars: "\f1e5"; 96 | $fa-var-birthday-cake: "\f1fd"; 97 | $fa-var-bitbucket: "\f171"; 98 | $fa-var-bitbucket-square: "\f172"; 99 | $fa-var-bitcoin: "\f15a"; 100 | $fa-var-black-tie: "\f27e"; 101 | $fa-var-blind: "\f29d"; 102 | $fa-var-bluetooth: "\f293"; 103 | $fa-var-bluetooth-b: "\f294"; 104 | $fa-var-bold: "\f032"; 105 | $fa-var-bolt: "\f0e7"; 106 | $fa-var-bomb: "\f1e2"; 107 | $fa-var-book: "\f02d"; 108 | $fa-var-bookmark: "\f02e"; 109 | $fa-var-bookmark-o: "\f097"; 110 | $fa-var-braille: "\f2a1"; 111 | $fa-var-briefcase: "\f0b1"; 112 | $fa-var-btc: "\f15a"; 113 | $fa-var-bug: "\f188"; 114 | $fa-var-building: "\f1ad"; 115 | $fa-var-building-o: "\f0f7"; 116 | $fa-var-bullhorn: "\f0a1"; 117 | $fa-var-bullseye: "\f140"; 118 | $fa-var-bus: "\f207"; 119 | $fa-var-buysellads: "\f20d"; 120 | $fa-var-cab: "\f1ba"; 121 | $fa-var-calculator: "\f1ec"; 122 | $fa-var-calendar: "\f073"; 123 | $fa-var-calendar-check-o: "\f274"; 124 | $fa-var-calendar-minus-o: "\f272"; 125 | $fa-var-calendar-o: "\f133"; 126 | $fa-var-calendar-plus-o: "\f271"; 127 | $fa-var-calendar-times-o: "\f273"; 128 | $fa-var-camera: "\f030"; 129 | $fa-var-camera-retro: "\f083"; 130 | $fa-var-car: "\f1b9"; 131 | $fa-var-caret-down: "\f0d7"; 132 | $fa-var-caret-left: "\f0d9"; 133 | $fa-var-caret-right: "\f0da"; 134 | $fa-var-caret-square-o-down: "\f150"; 135 | $fa-var-caret-square-o-left: "\f191"; 136 | $fa-var-caret-square-o-right: "\f152"; 137 | $fa-var-caret-square-o-up: "\f151"; 138 | $fa-var-caret-up: "\f0d8"; 139 | $fa-var-cart-arrow-down: "\f218"; 140 | $fa-var-cart-plus: "\f217"; 141 | $fa-var-cc: "\f20a"; 142 | $fa-var-cc-amex: "\f1f3"; 143 | $fa-var-cc-diners-club: "\f24c"; 144 | $fa-var-cc-discover: "\f1f2"; 145 | $fa-var-cc-jcb: "\f24b"; 146 | $fa-var-cc-mastercard: "\f1f1"; 147 | $fa-var-cc-paypal: "\f1f4"; 148 | $fa-var-cc-stripe: "\f1f5"; 149 | $fa-var-cc-visa: "\f1f0"; 150 | $fa-var-certificate: "\f0a3"; 151 | $fa-var-chain: "\f0c1"; 152 | $fa-var-chain-broken: "\f127"; 153 | $fa-var-check: "\f00c"; 154 | $fa-var-check-circle: "\f058"; 155 | $fa-var-check-circle-o: "\f05d"; 156 | $fa-var-check-square: "\f14a"; 157 | $fa-var-check-square-o: "\f046"; 158 | $fa-var-chevron-circle-down: "\f13a"; 159 | $fa-var-chevron-circle-left: "\f137"; 160 | $fa-var-chevron-circle-right: "\f138"; 161 | $fa-var-chevron-circle-up: "\f139"; 162 | $fa-var-chevron-down: "\f078"; 163 | $fa-var-chevron-left: "\f053"; 164 | $fa-var-chevron-right: "\f054"; 165 | $fa-var-chevron-up: "\f077"; 166 | $fa-var-child: "\f1ae"; 167 | $fa-var-chrome: "\f268"; 168 | $fa-var-circle: "\f111"; 169 | $fa-var-circle-o: "\f10c"; 170 | $fa-var-circle-o-notch: "\f1ce"; 171 | $fa-var-circle-thin: "\f1db"; 172 | $fa-var-clipboard: "\f0ea"; 173 | $fa-var-clock-o: "\f017"; 174 | $fa-var-clone: "\f24d"; 175 | $fa-var-close: "\f00d"; 176 | $fa-var-cloud: "\f0c2"; 177 | $fa-var-cloud-download: "\f0ed"; 178 | $fa-var-cloud-upload: "\f0ee"; 179 | $fa-var-cny: "\f157"; 180 | $fa-var-code: "\f121"; 181 | $fa-var-code-fork: "\f126"; 182 | $fa-var-codepen: "\f1cb"; 183 | $fa-var-codiepie: "\f284"; 184 | $fa-var-coffee: "\f0f4"; 185 | $fa-var-cog: "\f013"; 186 | $fa-var-cogs: "\f085"; 187 | $fa-var-columns: "\f0db"; 188 | $fa-var-comment: "\f075"; 189 | $fa-var-comment-o: "\f0e5"; 190 | $fa-var-commenting: "\f27a"; 191 | $fa-var-commenting-o: "\f27b"; 192 | $fa-var-comments: "\f086"; 193 | $fa-var-comments-o: "\f0e6"; 194 | $fa-var-compass: "\f14e"; 195 | $fa-var-compress: "\f066"; 196 | $fa-var-connectdevelop: "\f20e"; 197 | $fa-var-contao: "\f26d"; 198 | $fa-var-copy: "\f0c5"; 199 | $fa-var-copyright: "\f1f9"; 200 | $fa-var-creative-commons: "\f25e"; 201 | $fa-var-credit-card: "\f09d"; 202 | $fa-var-credit-card-alt: "\f283"; 203 | $fa-var-crop: "\f125"; 204 | $fa-var-crosshairs: "\f05b"; 205 | $fa-var-css3: "\f13c"; 206 | $fa-var-cube: "\f1b2"; 207 | $fa-var-cubes: "\f1b3"; 208 | $fa-var-cut: "\f0c4"; 209 | $fa-var-cutlery: "\f0f5"; 210 | $fa-var-dashboard: "\f0e4"; 211 | $fa-var-dashcube: "\f210"; 212 | $fa-var-database: "\f1c0"; 213 | $fa-var-deaf: "\f2a4"; 214 | $fa-var-deafness: "\f2a4"; 215 | $fa-var-dedent: "\f03b"; 216 | $fa-var-delicious: "\f1a5"; 217 | $fa-var-desktop: "\f108"; 218 | $fa-var-deviantart: "\f1bd"; 219 | $fa-var-diamond: "\f219"; 220 | $fa-var-digg: "\f1a6"; 221 | $fa-var-dollar: "\f155"; 222 | $fa-var-dot-circle-o: "\f192"; 223 | $fa-var-download: "\f019"; 224 | $fa-var-dribbble: "\f17d"; 225 | $fa-var-drivers-license: "\f2c2"; 226 | $fa-var-drivers-license-o: "\f2c3"; 227 | $fa-var-dropbox: "\f16b"; 228 | $fa-var-drupal: "\f1a9"; 229 | $fa-var-edge: "\f282"; 230 | $fa-var-edit: "\f044"; 231 | $fa-var-eercast: "\f2da"; 232 | $fa-var-eject: "\f052"; 233 | $fa-var-ellipsis-h: "\f141"; 234 | $fa-var-ellipsis-v: "\f142"; 235 | $fa-var-empire: "\f1d1"; 236 | $fa-var-envelope: "\f0e0"; 237 | $fa-var-envelope-o: "\f003"; 238 | $fa-var-envelope-open: "\f2b6"; 239 | $fa-var-envelope-open-o: "\f2b7"; 240 | $fa-var-envelope-square: "\f199"; 241 | $fa-var-envira: "\f299"; 242 | $fa-var-eraser: "\f12d"; 243 | $fa-var-etsy: "\f2d7"; 244 | $fa-var-eur: "\f153"; 245 | $fa-var-euro: "\f153"; 246 | $fa-var-exchange: "\f0ec"; 247 | $fa-var-exclamation: "\f12a"; 248 | $fa-var-exclamation-circle: "\f06a"; 249 | $fa-var-exclamation-triangle: "\f071"; 250 | $fa-var-expand: "\f065"; 251 | $fa-var-expeditedssl: "\f23e"; 252 | $fa-var-external-link: "\f08e"; 253 | $fa-var-external-link-square: "\f14c"; 254 | $fa-var-eye: "\f06e"; 255 | $fa-var-eye-slash: "\f070"; 256 | $fa-var-eyedropper: "\f1fb"; 257 | $fa-var-fa: "\f2b4"; 258 | $fa-var-facebook: "\f09a"; 259 | $fa-var-facebook-f: "\f09a"; 260 | $fa-var-facebook-official: "\f230"; 261 | $fa-var-facebook-square: "\f082"; 262 | $fa-var-fast-backward: "\f049"; 263 | $fa-var-fast-forward: "\f050"; 264 | $fa-var-fax: "\f1ac"; 265 | $fa-var-feed: "\f09e"; 266 | $fa-var-female: "\f182"; 267 | $fa-var-fighter-jet: "\f0fb"; 268 | $fa-var-file: "\f15b"; 269 | $fa-var-file-archive-o: "\f1c6"; 270 | $fa-var-file-audio-o: "\f1c7"; 271 | $fa-var-file-code-o: "\f1c9"; 272 | $fa-var-file-excel-o: "\f1c3"; 273 | $fa-var-file-image-o: "\f1c5"; 274 | $fa-var-file-movie-o: "\f1c8"; 275 | $fa-var-file-o: "\f016"; 276 | $fa-var-file-pdf-o: "\f1c1"; 277 | $fa-var-file-photo-o: "\f1c5"; 278 | $fa-var-file-picture-o: "\f1c5"; 279 | $fa-var-file-powerpoint-o: "\f1c4"; 280 | $fa-var-file-sound-o: "\f1c7"; 281 | $fa-var-file-text: "\f15c"; 282 | $fa-var-file-text-o: "\f0f6"; 283 | $fa-var-file-video-o: "\f1c8"; 284 | $fa-var-file-word-o: "\f1c2"; 285 | $fa-var-file-zip-o: "\f1c6"; 286 | $fa-var-files-o: "\f0c5"; 287 | $fa-var-film: "\f008"; 288 | $fa-var-filter: "\f0b0"; 289 | $fa-var-fire: "\f06d"; 290 | $fa-var-fire-extinguisher: "\f134"; 291 | $fa-var-firefox: "\f269"; 292 | $fa-var-first-order: "\f2b0"; 293 | $fa-var-flag: "\f024"; 294 | $fa-var-flag-checkered: "\f11e"; 295 | $fa-var-flag-o: "\f11d"; 296 | $fa-var-flash: "\f0e7"; 297 | $fa-var-flask: "\f0c3"; 298 | $fa-var-flickr: "\f16e"; 299 | $fa-var-floppy-o: "\f0c7"; 300 | $fa-var-folder: "\f07b"; 301 | $fa-var-folder-o: "\f114"; 302 | $fa-var-folder-open: "\f07c"; 303 | $fa-var-folder-open-o: "\f115"; 304 | $fa-var-font: "\f031"; 305 | $fa-var-font-awesome: "\f2b4"; 306 | $fa-var-fonticons: "\f280"; 307 | $fa-var-fort-awesome: "\f286"; 308 | $fa-var-forumbee: "\f211"; 309 | $fa-var-forward: "\f04e"; 310 | $fa-var-foursquare: "\f180"; 311 | $fa-var-free-code-camp: "\f2c5"; 312 | $fa-var-frown-o: "\f119"; 313 | $fa-var-futbol-o: "\f1e3"; 314 | $fa-var-gamepad: "\f11b"; 315 | $fa-var-gavel: "\f0e3"; 316 | $fa-var-gbp: "\f154"; 317 | $fa-var-ge: "\f1d1"; 318 | $fa-var-gear: "\f013"; 319 | $fa-var-gears: "\f085"; 320 | $fa-var-genderless: "\f22d"; 321 | $fa-var-get-pocket: "\f265"; 322 | $fa-var-gg: "\f260"; 323 | $fa-var-gg-circle: "\f261"; 324 | $fa-var-gift: "\f06b"; 325 | $fa-var-git: "\f1d3"; 326 | $fa-var-git-square: "\f1d2"; 327 | $fa-var-github: "\f09b"; 328 | $fa-var-github-alt: "\f113"; 329 | $fa-var-github-square: "\f092"; 330 | $fa-var-gitlab: "\f296"; 331 | $fa-var-gittip: "\f184"; 332 | $fa-var-glass: "\f000"; 333 | $fa-var-glide: "\f2a5"; 334 | $fa-var-glide-g: "\f2a6"; 335 | $fa-var-globe: "\f0ac"; 336 | $fa-var-google: "\f1a0"; 337 | $fa-var-google-plus: "\f0d5"; 338 | $fa-var-google-plus-circle: "\f2b3"; 339 | $fa-var-google-plus-official: "\f2b3"; 340 | $fa-var-google-plus-square: "\f0d4"; 341 | $fa-var-google-wallet: "\f1ee"; 342 | $fa-var-graduation-cap: "\f19d"; 343 | $fa-var-gratipay: "\f184"; 344 | $fa-var-grav: "\f2d6"; 345 | $fa-var-group: "\f0c0"; 346 | $fa-var-h-square: "\f0fd"; 347 | $fa-var-hacker-news: "\f1d4"; 348 | $fa-var-hand-grab-o: "\f255"; 349 | $fa-var-hand-lizard-o: "\f258"; 350 | $fa-var-hand-o-down: "\f0a7"; 351 | $fa-var-hand-o-left: "\f0a5"; 352 | $fa-var-hand-o-right: "\f0a4"; 353 | $fa-var-hand-o-up: "\f0a6"; 354 | $fa-var-hand-paper-o: "\f256"; 355 | $fa-var-hand-peace-o: "\f25b"; 356 | $fa-var-hand-pointer-o: "\f25a"; 357 | $fa-var-hand-rock-o: "\f255"; 358 | $fa-var-hand-scissors-o: "\f257"; 359 | $fa-var-hand-spock-o: "\f259"; 360 | $fa-var-hand-stop-o: "\f256"; 361 | $fa-var-handshake-o: "\f2b5"; 362 | $fa-var-hard-of-hearing: "\f2a4"; 363 | $fa-var-hashtag: "\f292"; 364 | $fa-var-hdd-o: "\f0a0"; 365 | $fa-var-header: "\f1dc"; 366 | $fa-var-headphones: "\f025"; 367 | $fa-var-heart: "\f004"; 368 | $fa-var-heart-o: "\f08a"; 369 | $fa-var-heartbeat: "\f21e"; 370 | $fa-var-history: "\f1da"; 371 | $fa-var-home: "\f015"; 372 | $fa-var-hospital-o: "\f0f8"; 373 | $fa-var-hotel: "\f236"; 374 | $fa-var-hourglass: "\f254"; 375 | $fa-var-hourglass-1: "\f251"; 376 | $fa-var-hourglass-2: "\f252"; 377 | $fa-var-hourglass-3: "\f253"; 378 | $fa-var-hourglass-end: "\f253"; 379 | $fa-var-hourglass-half: "\f252"; 380 | $fa-var-hourglass-o: "\f250"; 381 | $fa-var-hourglass-start: "\f251"; 382 | $fa-var-houzz: "\f27c"; 383 | $fa-var-html5: "\f13b"; 384 | $fa-var-i-cursor: "\f246"; 385 | $fa-var-id-badge: "\f2c1"; 386 | $fa-var-id-card: "\f2c2"; 387 | $fa-var-id-card-o: "\f2c3"; 388 | $fa-var-ils: "\f20b"; 389 | $fa-var-image: "\f03e"; 390 | $fa-var-imdb: "\f2d8"; 391 | $fa-var-inbox: "\f01c"; 392 | $fa-var-indent: "\f03c"; 393 | $fa-var-industry: "\f275"; 394 | $fa-var-info: "\f129"; 395 | $fa-var-info-circle: "\f05a"; 396 | $fa-var-inr: "\f156"; 397 | $fa-var-instagram: "\f16d"; 398 | $fa-var-institution: "\f19c"; 399 | $fa-var-internet-explorer: "\f26b"; 400 | $fa-var-intersex: "\f224"; 401 | $fa-var-ioxhost: "\f208"; 402 | $fa-var-italic: "\f033"; 403 | $fa-var-joomla: "\f1aa"; 404 | $fa-var-jpy: "\f157"; 405 | $fa-var-jsfiddle: "\f1cc"; 406 | $fa-var-key: "\f084"; 407 | $fa-var-keyboard-o: "\f11c"; 408 | $fa-var-krw: "\f159"; 409 | $fa-var-language: "\f1ab"; 410 | $fa-var-laptop: "\f109"; 411 | $fa-var-lastfm: "\f202"; 412 | $fa-var-lastfm-square: "\f203"; 413 | $fa-var-leaf: "\f06c"; 414 | $fa-var-leanpub: "\f212"; 415 | $fa-var-legal: "\f0e3"; 416 | $fa-var-lemon-o: "\f094"; 417 | $fa-var-level-down: "\f149"; 418 | $fa-var-level-up: "\f148"; 419 | $fa-var-life-bouy: "\f1cd"; 420 | $fa-var-life-buoy: "\f1cd"; 421 | $fa-var-life-ring: "\f1cd"; 422 | $fa-var-life-saver: "\f1cd"; 423 | $fa-var-lightbulb-o: "\f0eb"; 424 | $fa-var-line-chart: "\f201"; 425 | $fa-var-link: "\f0c1"; 426 | $fa-var-linkedin: "\f0e1"; 427 | $fa-var-linkedin-square: "\f08c"; 428 | $fa-var-linode: "\f2b8"; 429 | $fa-var-linux: "\f17c"; 430 | $fa-var-list: "\f03a"; 431 | $fa-var-list-alt: "\f022"; 432 | $fa-var-list-ol: "\f0cb"; 433 | $fa-var-list-ul: "\f0ca"; 434 | $fa-var-location-arrow: "\f124"; 435 | $fa-var-lock: "\f023"; 436 | $fa-var-long-arrow-down: "\f175"; 437 | $fa-var-long-arrow-left: "\f177"; 438 | $fa-var-long-arrow-right: "\f178"; 439 | $fa-var-long-arrow-up: "\f176"; 440 | $fa-var-low-vision: "\f2a8"; 441 | $fa-var-magic: "\f0d0"; 442 | $fa-var-magnet: "\f076"; 443 | $fa-var-mail-forward: "\f064"; 444 | $fa-var-mail-reply: "\f112"; 445 | $fa-var-mail-reply-all: "\f122"; 446 | $fa-var-male: "\f183"; 447 | $fa-var-map: "\f279"; 448 | $fa-var-map-marker: "\f041"; 449 | $fa-var-map-o: "\f278"; 450 | $fa-var-map-pin: "\f276"; 451 | $fa-var-map-signs: "\f277"; 452 | $fa-var-mars: "\f222"; 453 | $fa-var-mars-double: "\f227"; 454 | $fa-var-mars-stroke: "\f229"; 455 | $fa-var-mars-stroke-h: "\f22b"; 456 | $fa-var-mars-stroke-v: "\f22a"; 457 | $fa-var-maxcdn: "\f136"; 458 | $fa-var-meanpath: "\f20c"; 459 | $fa-var-medium: "\f23a"; 460 | $fa-var-medkit: "\f0fa"; 461 | $fa-var-meetup: "\f2e0"; 462 | $fa-var-meh-o: "\f11a"; 463 | $fa-var-mercury: "\f223"; 464 | $fa-var-microchip: "\f2db"; 465 | $fa-var-microphone: "\f130"; 466 | $fa-var-microphone-slash: "\f131"; 467 | $fa-var-minus: "\f068"; 468 | $fa-var-minus-circle: "\f056"; 469 | $fa-var-minus-square: "\f146"; 470 | $fa-var-minus-square-o: "\f147"; 471 | $fa-var-mixcloud: "\f289"; 472 | $fa-var-mobile: "\f10b"; 473 | $fa-var-mobile-phone: "\f10b"; 474 | $fa-var-modx: "\f285"; 475 | $fa-var-money: "\f0d6"; 476 | $fa-var-moon-o: "\f186"; 477 | $fa-var-mortar-board: "\f19d"; 478 | $fa-var-motorcycle: "\f21c"; 479 | $fa-var-mouse-pointer: "\f245"; 480 | $fa-var-music: "\f001"; 481 | $fa-var-navicon: "\f0c9"; 482 | $fa-var-neuter: "\f22c"; 483 | $fa-var-newspaper-o: "\f1ea"; 484 | $fa-var-object-group: "\f247"; 485 | $fa-var-object-ungroup: "\f248"; 486 | $fa-var-odnoklassniki: "\f263"; 487 | $fa-var-odnoklassniki-square: "\f264"; 488 | $fa-var-opencart: "\f23d"; 489 | $fa-var-openid: "\f19b"; 490 | $fa-var-opera: "\f26a"; 491 | $fa-var-optin-monster: "\f23c"; 492 | $fa-var-outdent: "\f03b"; 493 | $fa-var-pagelines: "\f18c"; 494 | $fa-var-paint-brush: "\f1fc"; 495 | $fa-var-paper-plane: "\f1d8"; 496 | $fa-var-paper-plane-o: "\f1d9"; 497 | $fa-var-paperclip: "\f0c6"; 498 | $fa-var-paragraph: "\f1dd"; 499 | $fa-var-paste: "\f0ea"; 500 | $fa-var-pause: "\f04c"; 501 | $fa-var-pause-circle: "\f28b"; 502 | $fa-var-pause-circle-o: "\f28c"; 503 | $fa-var-paw: "\f1b0"; 504 | $fa-var-paypal: "\f1ed"; 505 | $fa-var-pencil: "\f040"; 506 | $fa-var-pencil-square: "\f14b"; 507 | $fa-var-pencil-square-o: "\f044"; 508 | $fa-var-percent: "\f295"; 509 | $fa-var-phone: "\f095"; 510 | $fa-var-phone-square: "\f098"; 511 | $fa-var-photo: "\f03e"; 512 | $fa-var-picture-o: "\f03e"; 513 | $fa-var-pie-chart: "\f200"; 514 | $fa-var-pied-piper: "\f2ae"; 515 | $fa-var-pied-piper-alt: "\f1a8"; 516 | $fa-var-pied-piper-pp: "\f1a7"; 517 | $fa-var-pinterest: "\f0d2"; 518 | $fa-var-pinterest-p: "\f231"; 519 | $fa-var-pinterest-square: "\f0d3"; 520 | $fa-var-plane: "\f072"; 521 | $fa-var-play: "\f04b"; 522 | $fa-var-play-circle: "\f144"; 523 | $fa-var-play-circle-o: "\f01d"; 524 | $fa-var-plug: "\f1e6"; 525 | $fa-var-plus: "\f067"; 526 | $fa-var-plus-circle: "\f055"; 527 | $fa-var-plus-square: "\f0fe"; 528 | $fa-var-plus-square-o: "\f196"; 529 | $fa-var-podcast: "\f2ce"; 530 | $fa-var-power-off: "\f011"; 531 | $fa-var-print: "\f02f"; 532 | $fa-var-product-hunt: "\f288"; 533 | $fa-var-puzzle-piece: "\f12e"; 534 | $fa-var-qq: "\f1d6"; 535 | $fa-var-qrcode: "\f029"; 536 | $fa-var-question: "\f128"; 537 | $fa-var-question-circle: "\f059"; 538 | $fa-var-question-circle-o: "\f29c"; 539 | $fa-var-quora: "\f2c4"; 540 | $fa-var-quote-left: "\f10d"; 541 | $fa-var-quote-right: "\f10e"; 542 | $fa-var-ra: "\f1d0"; 543 | $fa-var-random: "\f074"; 544 | $fa-var-ravelry: "\f2d9"; 545 | $fa-var-rebel: "\f1d0"; 546 | $fa-var-recycle: "\f1b8"; 547 | $fa-var-reddit: "\f1a1"; 548 | $fa-var-reddit-alien: "\f281"; 549 | $fa-var-reddit-square: "\f1a2"; 550 | $fa-var-refresh: "\f021"; 551 | $fa-var-registered: "\f25d"; 552 | $fa-var-remove: "\f00d"; 553 | $fa-var-renren: "\f18b"; 554 | $fa-var-reorder: "\f0c9"; 555 | $fa-var-repeat: "\f01e"; 556 | $fa-var-reply: "\f112"; 557 | $fa-var-reply-all: "\f122"; 558 | $fa-var-resistance: "\f1d0"; 559 | $fa-var-retweet: "\f079"; 560 | $fa-var-rmb: "\f157"; 561 | $fa-var-road: "\f018"; 562 | $fa-var-rocket: "\f135"; 563 | $fa-var-rotate-left: "\f0e2"; 564 | $fa-var-rotate-right: "\f01e"; 565 | $fa-var-rouble: "\f158"; 566 | $fa-var-rss: "\f09e"; 567 | $fa-var-rss-square: "\f143"; 568 | $fa-var-rub: "\f158"; 569 | $fa-var-ruble: "\f158"; 570 | $fa-var-rupee: "\f156"; 571 | $fa-var-s15: "\f2cd"; 572 | $fa-var-safari: "\f267"; 573 | $fa-var-save: "\f0c7"; 574 | $fa-var-scissors: "\f0c4"; 575 | $fa-var-scribd: "\f28a"; 576 | $fa-var-search: "\f002"; 577 | $fa-var-search-minus: "\f010"; 578 | $fa-var-search-plus: "\f00e"; 579 | $fa-var-sellsy: "\f213"; 580 | $fa-var-send: "\f1d8"; 581 | $fa-var-send-o: "\f1d9"; 582 | $fa-var-server: "\f233"; 583 | $fa-var-share: "\f064"; 584 | $fa-var-share-alt: "\f1e0"; 585 | $fa-var-share-alt-square: "\f1e1"; 586 | $fa-var-share-square: "\f14d"; 587 | $fa-var-share-square-o: "\f045"; 588 | $fa-var-shekel: "\f20b"; 589 | $fa-var-sheqel: "\f20b"; 590 | $fa-var-shield: "\f132"; 591 | $fa-var-ship: "\f21a"; 592 | $fa-var-shirtsinbulk: "\f214"; 593 | $fa-var-shopping-bag: "\f290"; 594 | $fa-var-shopping-basket: "\f291"; 595 | $fa-var-shopping-cart: "\f07a"; 596 | $fa-var-shower: "\f2cc"; 597 | $fa-var-sign-in: "\f090"; 598 | $fa-var-sign-language: "\f2a7"; 599 | $fa-var-sign-out: "\f08b"; 600 | $fa-var-signal: "\f012"; 601 | $fa-var-signing: "\f2a7"; 602 | $fa-var-simplybuilt: "\f215"; 603 | $fa-var-sitemap: "\f0e8"; 604 | $fa-var-skyatlas: "\f216"; 605 | $fa-var-skype: "\f17e"; 606 | $fa-var-slack: "\f198"; 607 | $fa-var-sliders: "\f1de"; 608 | $fa-var-slideshare: "\f1e7"; 609 | $fa-var-smile-o: "\f118"; 610 | $fa-var-snapchat: "\f2ab"; 611 | $fa-var-snapchat-ghost: "\f2ac"; 612 | $fa-var-snapchat-square: "\f2ad"; 613 | $fa-var-snowflake-o: "\f2dc"; 614 | $fa-var-soccer-ball-o: "\f1e3"; 615 | $fa-var-sort: "\f0dc"; 616 | $fa-var-sort-alpha-asc: "\f15d"; 617 | $fa-var-sort-alpha-desc: "\f15e"; 618 | $fa-var-sort-amount-asc: "\f160"; 619 | $fa-var-sort-amount-desc: "\f161"; 620 | $fa-var-sort-asc: "\f0de"; 621 | $fa-var-sort-desc: "\f0dd"; 622 | $fa-var-sort-down: "\f0dd"; 623 | $fa-var-sort-numeric-asc: "\f162"; 624 | $fa-var-sort-numeric-desc: "\f163"; 625 | $fa-var-sort-up: "\f0de"; 626 | $fa-var-soundcloud: "\f1be"; 627 | $fa-var-space-shuttle: "\f197"; 628 | $fa-var-spinner: "\f110"; 629 | $fa-var-spoon: "\f1b1"; 630 | $fa-var-spotify: "\f1bc"; 631 | $fa-var-square: "\f0c8"; 632 | $fa-var-square-o: "\f096"; 633 | $fa-var-stack-exchange: "\f18d"; 634 | $fa-var-stack-overflow: "\f16c"; 635 | $fa-var-star: "\f005"; 636 | $fa-var-star-half: "\f089"; 637 | $fa-var-star-half-empty: "\f123"; 638 | $fa-var-star-half-full: "\f123"; 639 | $fa-var-star-half-o: "\f123"; 640 | $fa-var-star-o: "\f006"; 641 | $fa-var-steam: "\f1b6"; 642 | $fa-var-steam-square: "\f1b7"; 643 | $fa-var-step-backward: "\f048"; 644 | $fa-var-step-forward: "\f051"; 645 | $fa-var-stethoscope: "\f0f1"; 646 | $fa-var-sticky-note: "\f249"; 647 | $fa-var-sticky-note-o: "\f24a"; 648 | $fa-var-stop: "\f04d"; 649 | $fa-var-stop-circle: "\f28d"; 650 | $fa-var-stop-circle-o: "\f28e"; 651 | $fa-var-street-view: "\f21d"; 652 | $fa-var-strikethrough: "\f0cc"; 653 | $fa-var-stumbleupon: "\f1a4"; 654 | $fa-var-stumbleupon-circle: "\f1a3"; 655 | $fa-var-subscript: "\f12c"; 656 | $fa-var-subway: "\f239"; 657 | $fa-var-suitcase: "\f0f2"; 658 | $fa-var-sun-o: "\f185"; 659 | $fa-var-superpowers: "\f2dd"; 660 | $fa-var-superscript: "\f12b"; 661 | $fa-var-support: "\f1cd"; 662 | $fa-var-table: "\f0ce"; 663 | $fa-var-tablet: "\f10a"; 664 | $fa-var-tachometer: "\f0e4"; 665 | $fa-var-tag: "\f02b"; 666 | $fa-var-tags: "\f02c"; 667 | $fa-var-tasks: "\f0ae"; 668 | $fa-var-taxi: "\f1ba"; 669 | $fa-var-telegram: "\f2c6"; 670 | $fa-var-television: "\f26c"; 671 | $fa-var-tencent-weibo: "\f1d5"; 672 | $fa-var-terminal: "\f120"; 673 | $fa-var-text-height: "\f034"; 674 | $fa-var-text-width: "\f035"; 675 | $fa-var-th: "\f00a"; 676 | $fa-var-th-large: "\f009"; 677 | $fa-var-th-list: "\f00b"; 678 | $fa-var-themeisle: "\f2b2"; 679 | $fa-var-thermometer: "\f2c7"; 680 | $fa-var-thermometer-0: "\f2cb"; 681 | $fa-var-thermometer-1: "\f2ca"; 682 | $fa-var-thermometer-2: "\f2c9"; 683 | $fa-var-thermometer-3: "\f2c8"; 684 | $fa-var-thermometer-4: "\f2c7"; 685 | $fa-var-thermometer-empty: "\f2cb"; 686 | $fa-var-thermometer-full: "\f2c7"; 687 | $fa-var-thermometer-half: "\f2c9"; 688 | $fa-var-thermometer-quarter: "\f2ca"; 689 | $fa-var-thermometer-three-quarters: "\f2c8"; 690 | $fa-var-thumb-tack: "\f08d"; 691 | $fa-var-thumbs-down: "\f165"; 692 | $fa-var-thumbs-o-down: "\f088"; 693 | $fa-var-thumbs-o-up: "\f087"; 694 | $fa-var-thumbs-up: "\f164"; 695 | $fa-var-ticket: "\f145"; 696 | $fa-var-times: "\f00d"; 697 | $fa-var-times-circle: "\f057"; 698 | $fa-var-times-circle-o: "\f05c"; 699 | $fa-var-times-rectangle: "\f2d3"; 700 | $fa-var-times-rectangle-o: "\f2d4"; 701 | $fa-var-tint: "\f043"; 702 | $fa-var-toggle-down: "\f150"; 703 | $fa-var-toggle-left: "\f191"; 704 | $fa-var-toggle-off: "\f204"; 705 | $fa-var-toggle-on: "\f205"; 706 | $fa-var-toggle-right: "\f152"; 707 | $fa-var-toggle-up: "\f151"; 708 | $fa-var-trademark: "\f25c"; 709 | $fa-var-train: "\f238"; 710 | $fa-var-transgender: "\f224"; 711 | $fa-var-transgender-alt: "\f225"; 712 | $fa-var-trash: "\f1f8"; 713 | $fa-var-trash-o: "\f014"; 714 | $fa-var-tree: "\f1bb"; 715 | $fa-var-trello: "\f181"; 716 | $fa-var-tripadvisor: "\f262"; 717 | $fa-var-trophy: "\f091"; 718 | $fa-var-truck: "\f0d1"; 719 | $fa-var-try: "\f195"; 720 | $fa-var-tty: "\f1e4"; 721 | $fa-var-tumblr: "\f173"; 722 | $fa-var-tumblr-square: "\f174"; 723 | $fa-var-turkish-lira: "\f195"; 724 | $fa-var-tv: "\f26c"; 725 | $fa-var-twitch: "\f1e8"; 726 | $fa-var-twitter: "\f099"; 727 | $fa-var-twitter-square: "\f081"; 728 | $fa-var-umbrella: "\f0e9"; 729 | $fa-var-underline: "\f0cd"; 730 | $fa-var-undo: "\f0e2"; 731 | $fa-var-universal-access: "\f29a"; 732 | $fa-var-university: "\f19c"; 733 | $fa-var-unlink: "\f127"; 734 | $fa-var-unlock: "\f09c"; 735 | $fa-var-unlock-alt: "\f13e"; 736 | $fa-var-unsorted: "\f0dc"; 737 | $fa-var-upload: "\f093"; 738 | $fa-var-usb: "\f287"; 739 | $fa-var-usd: "\f155"; 740 | $fa-var-user: "\f007"; 741 | $fa-var-user-circle: "\f2bd"; 742 | $fa-var-user-circle-o: "\f2be"; 743 | $fa-var-user-md: "\f0f0"; 744 | $fa-var-user-o: "\f2c0"; 745 | $fa-var-user-plus: "\f234"; 746 | $fa-var-user-secret: "\f21b"; 747 | $fa-var-user-times: "\f235"; 748 | $fa-var-users: "\f0c0"; 749 | $fa-var-vcard: "\f2bb"; 750 | $fa-var-vcard-o: "\f2bc"; 751 | $fa-var-venus: "\f221"; 752 | $fa-var-venus-double: "\f226"; 753 | $fa-var-venus-mars: "\f228"; 754 | $fa-var-viacoin: "\f237"; 755 | $fa-var-viadeo: "\f2a9"; 756 | $fa-var-viadeo-square: "\f2aa"; 757 | $fa-var-video-camera: "\f03d"; 758 | $fa-var-vimeo: "\f27d"; 759 | $fa-var-vimeo-square: "\f194"; 760 | $fa-var-vine: "\f1ca"; 761 | $fa-var-vk: "\f189"; 762 | $fa-var-volume-control-phone: "\f2a0"; 763 | $fa-var-volume-down: "\f027"; 764 | $fa-var-volume-off: "\f026"; 765 | $fa-var-volume-up: "\f028"; 766 | $fa-var-warning: "\f071"; 767 | $fa-var-wechat: "\f1d7"; 768 | $fa-var-weibo: "\f18a"; 769 | $fa-var-weixin: "\f1d7"; 770 | $fa-var-whatsapp: "\f232"; 771 | $fa-var-wheelchair: "\f193"; 772 | $fa-var-wheelchair-alt: "\f29b"; 773 | $fa-var-wifi: "\f1eb"; 774 | $fa-var-wikipedia-w: "\f266"; 775 | $fa-var-window-close: "\f2d3"; 776 | $fa-var-window-close-o: "\f2d4"; 777 | $fa-var-window-maximize: "\f2d0"; 778 | $fa-var-window-minimize: "\f2d1"; 779 | $fa-var-window-restore: "\f2d2"; 780 | $fa-var-windows: "\f17a"; 781 | $fa-var-won: "\f159"; 782 | $fa-var-wordpress: "\f19a"; 783 | $fa-var-wpbeginner: "\f297"; 784 | $fa-var-wpexplorer: "\f2de"; 785 | $fa-var-wpforms: "\f298"; 786 | $fa-var-wrench: "\f0ad"; 787 | $fa-var-xing: "\f168"; 788 | $fa-var-xing-square: "\f169"; 789 | $fa-var-y-combinator: "\f23b"; 790 | $fa-var-y-combinator-square: "\f1d4"; 791 | $fa-var-yahoo: "\f19e"; 792 | $fa-var-yc: "\f23b"; 793 | $fa-var-yc-square: "\f1d4"; 794 | $fa-var-yelp: "\f1e9"; 795 | $fa-var-yen: "\f157"; 796 | $fa-var-yoast: "\f2b1"; 797 | $fa-var-youtube: "\f167"; 798 | $fa-var-youtube-play: "\f16a"; 799 | $fa-var-youtube-square: "\f166"; 800 | 801 | --------------------------------------------------------------------------------