├── __init__.py ├── bs ├── js │ ├── vendor │ │ ├── gallery.js │ │ └── modernizr-2.6.2-respond-1.1.0.min.js │ └── main.js ├── favicon.ico ├── apple-touch-icon-precomposed.png ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff └── css │ ├── main.css │ ├── gallery.css │ ├── bootstrap-theme.min.css │ └── bootstrap-theme.css ├── .gitignore ├── example ├── assets │ ├── dahlia.jpg │ ├── keystoke.jpg │ ├── lantana.jpg │ └── raspberry.jpg ├── pages │ ├── AnotherGreenWorld.md │ └── HelloWorld.md ├── example.csv └── example.md ├── custom_example ├── assets │ ├── dahlia.jpg │ ├── keystoke.jpg │ ├── lantana.jpg │ └── raspberry.jpg ├── cust_tpl │ ├── img │ │ ├── profile.png │ │ └── portfolio │ │ │ ├── cabin.png │ │ │ ├── cake.png │ │ │ ├── game.png │ │ │ ├── safe.png │ │ │ ├── circus.png │ │ │ └── submarine.png │ ├── less │ │ ├── variables.less │ │ ├── mixins.less │ │ └── freelancer.less │ ├── font-awesome │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── less │ │ │ ├── fixed-width.less │ │ │ ├── bordered-pulled.less │ │ │ ├── larger.less │ │ │ ├── core.less │ │ │ ├── list.less │ │ │ ├── font-awesome.less │ │ │ ├── stacked.less │ │ │ ├── spinning.less │ │ │ ├── rotated-flipped.less │ │ │ ├── path.less │ │ │ ├── mixins.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _larger.scss │ │ │ ├── _core.scss │ │ │ ├── _list.scss │ │ │ ├── font-awesome.scss │ │ │ ├── _stacked.scss │ │ │ ├── _spinning.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _mixins.scss │ │ │ └── _variables.scss │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── js │ │ ├── cbpAnimatedHeader.min.js │ │ ├── cbpAnimatedHeader.js │ │ ├── freelancer.js │ │ ├── classie.js │ │ └── contact_me.js │ ├── mail │ │ └── contact_me.php │ ├── README.md │ ├── index.tpl │ ├── css │ │ └── freelancer.css │ ├── LICENSE │ └── index.tpl~ ├── pages │ ├── AnotherGreenWorld.md │ └── HelloWorld.md ├── example.csv └── custom.md ├── README.md ├── index.tpl ├── utbd.py └── bootdown.py /__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bs/js/vendor/gallery.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.pyc 3 | -------------------------------------------------------------------------------- /bs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/bs/favicon.ico -------------------------------------------------------------------------------- /example/assets/dahlia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/example/assets/dahlia.jpg -------------------------------------------------------------------------------- /example/assets/keystoke.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/example/assets/keystoke.jpg -------------------------------------------------------------------------------- /example/assets/lantana.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/example/assets/lantana.jpg -------------------------------------------------------------------------------- /example/assets/raspberry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/example/assets/raspberry.jpg -------------------------------------------------------------------------------- /custom_example/assets/dahlia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/assets/dahlia.jpg -------------------------------------------------------------------------------- /custom_example/assets/keystoke.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/assets/keystoke.jpg -------------------------------------------------------------------------------- /custom_example/assets/lantana.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/assets/lantana.jpg -------------------------------------------------------------------------------- /bs/apple-touch-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/bs/apple-touch-icon-precomposed.png -------------------------------------------------------------------------------- /bs/js/main.js: -------------------------------------------------------------------------------- 1 | 2 | // Setup the carousels 3 | 4 | $(document).ready(function(){ 5 | $('.carousel').carousel(); 6 | }); 7 | -------------------------------------------------------------------------------- /custom_example/assets/raspberry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/assets/raspberry.jpg -------------------------------------------------------------------------------- /custom_example/cust_tpl/img/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/img/profile.png -------------------------------------------------------------------------------- /example/pages/AnotherGreenWorld.md: -------------------------------------------------------------------------------- 1 | [.container [.row [.col-md-12 2 | ## Another Green World 3 | 4 | and more stuff 5 | .].].] 6 | -------------------------------------------------------------------------------- /bs/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/bs/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /bs/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/bs/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /bs/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/bs/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /custom_example/pages/AnotherGreenWorld.md: -------------------------------------------------------------------------------- 1 | [.container [.row [.col-md-12 2 | ## Another Green World 3 | 4 | and more stuff 5 | .].].] 6 | -------------------------------------------------------------------------------- /example/example.csv: -------------------------------------------------------------------------------- 1 | Month, Oranges, Apples, Bananas, Pears 2 | Jan, 24, 54, 34, 53 3 | Feb, 3,43, 62, 33 4 | March, 102, 22, 25, 55 5 | -------------------------------------------------------------------------------- /custom_example/example.csv: -------------------------------------------------------------------------------- 1 | Month, Oranges, Apples, Bananas, Pears 2 | Jan, 24, 54, 34, 53 3 | Feb, 3,43, 62, 33 4 | March, 102, 22, 25, 55 5 | -------------------------------------------------------------------------------- /example/pages/HelloWorld.md: -------------------------------------------------------------------------------- 1 | [.container [.row [.col-md-12 2 | 3 | ## This is HelloWorld 4 | 5 | and there's stuff in it 6 | 7 | .].].] 8 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/img/portfolio/cabin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/img/portfolio/cabin.png -------------------------------------------------------------------------------- /custom_example/cust_tpl/img/portfolio/cake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/img/portfolio/cake.png -------------------------------------------------------------------------------- /custom_example/cust_tpl/img/portfolio/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/img/portfolio/game.png -------------------------------------------------------------------------------- /custom_example/cust_tpl/img/portfolio/safe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/img/portfolio/safe.png -------------------------------------------------------------------------------- /custom_example/pages/HelloWorld.md: -------------------------------------------------------------------------------- 1 | [.container [.row [.col-md-12 2 | 3 | ## This is HelloWorld 4 | 5 | and there's stuff in it 6 | 7 | .].].] 8 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/img/portfolio/circus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/img/portfolio/circus.png -------------------------------------------------------------------------------- /custom_example/cust_tpl/img/portfolio/submarine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/img/portfolio/submarine.png -------------------------------------------------------------------------------- /custom_example/cust_tpl/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | 3 | @brand-primary: #2C3E50; 4 | @brand-success: #18BC9C; 5 | @gray-lighter: lighten(#000, 93.5%); -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /custom_example/cust_tpl/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /custom_example/cust_tpl/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /custom_example/cust_tpl/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /custom_example/cust_tpl/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/interstar/bootdown/HEAD/custom_example/cust_tpl/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /bs/css/main.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* ========================================================================== 4 | Author's custom styles 5 | ========================================================================== */ 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.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 "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.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 "spinning.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/js/cbpAnimatedHeader.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * cbpAnimatedHeader.min.js v1.0.0 3 | * http://www.codrops.com 4 | * 5 | * Licensed under the MIT license. 6 | * http://www.opensource.org/licenses/mit-license.php 7 | * 8 | * Copyright 2013, Codrops 9 | * http://www.codrops.com 10 | */ 11 | var cbpAnimatedHeader=(function(){var b=document.documentElement,g=document.querySelector(".cbp-af-header"),e=false,a=300;function f(){window.addEventListener("scroll",function(h){if(!e){e=true;setTimeout(d,250)}},false)}function d(){var h=c();if(h>=a){classie.add(g,"cbp-af-header-shrink")}else{classie.remove(g,"cbp-af-header-shrink")}e=false}function c(){return window.pageYOffset||b.scrollTop}f()})(); -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/less/spinning.less: -------------------------------------------------------------------------------- 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 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/scss/_spinning.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 | @-webkit-keyframes fa-spin { 10 | 0% { 11 | -webkit-transform: rotate(0deg); 12 | transform: rotate(0deg); 13 | } 14 | 100% { 15 | -webkit-transform: rotate(359deg); 16 | transform: rotate(359deg); 17 | } 18 | } 19 | 20 | @keyframes fa-spin { 21 | 0% { 22 | -webkit-transform: rotate(0deg); 23 | transform: rotate(0deg); 24 | } 25 | 100% { 26 | -webkit-transform: rotate(359deg); 27 | transform: rotate(359deg); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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.woff?v=@{fa-version}') format('woff'), 9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/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 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/less/mixins.less: -------------------------------------------------------------------------------- 1 | .button-variant(@color; @background; @border) { 2 | color: @color; 3 | background-color: @background; 4 | border-color: @border; 5 | 6 | &:hover, 7 | &:focus, 8 | &:active, 9 | &.active, 10 | .open .dropdown-toggle& { 11 | color: @color; 12 | background-color: darken(@background, 10%); 13 | border-color: darken(@border, 12%); 14 | } 15 | &:active, 16 | &.active, 17 | .open .dropdown-toggle& { 18 | background-image: none; 19 | } 20 | &.disabled, 21 | &[disabled], 22 | fieldset[disabled] & { 23 | &, 24 | &:hover, 25 | &:focus, 26 | &:active, 27 | &.active { 28 | background-color: @background; 29 | border-color: @border; 30 | } 31 | } 32 | 33 | .badge { 34 | color: @background; 35 | background-color: @color; 36 | } 37 | } -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 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 | .fa-icon-rotate(@degrees, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 15 | -webkit-transform: rotate(@degrees); 16 | -ms-transform: rotate(@degrees); 17 | transform: rotate(@degrees); 18 | } 19 | 20 | .fa-icon-flip(@horiz, @vert, @rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 22 | -webkit-transform: scale(@horiz, @vert); 23 | -ms-transform: scale(@horiz, @vert); 24 | transform: scale(@horiz, @vert); 25 | } 26 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal 14px/1 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 | @mixin fa-icon-rotate($degrees, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 15 | -webkit-transform: rotate($degrees); 16 | -ms-transform: rotate($degrees); 17 | transform: rotate($degrees); 18 | } 19 | 20 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 21 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 22 | -webkit-transform: scale($horiz, $vert); 23 | -ms-transform: scale($horiz, $vert); 24 | transform: scale($horiz, $vert); 25 | } 26 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/js/cbpAnimatedHeader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * cbpAnimatedHeader.js v1.0.0 3 | * http://www.codrops.com 4 | * 5 | * Licensed under the MIT license. 6 | * http://www.opensource.org/licenses/mit-license.php 7 | * 8 | * Copyright 2013, Codrops 9 | * http://www.codrops.com 10 | */ 11 | var cbpAnimatedHeader = (function() { 12 | 13 | var docElem = document.documentElement, 14 | header = document.querySelector( '.navbar-fixed-top' ), 15 | didScroll = false, 16 | changeHeaderOn = 300; 17 | 18 | function init() { 19 | window.addEventListener( 'scroll', function( event ) { 20 | if( !didScroll ) { 21 | didScroll = true; 22 | setTimeout( scrollPage, 250 ); 23 | } 24 | }, false ); 25 | } 26 | 27 | function scrollPage() { 28 | var sy = scrollY(); 29 | if ( sy >= changeHeaderOn ) { 30 | classie.add( header, 'navbar-shrink' ); 31 | } 32 | else { 33 | classie.remove( header, 'navbar-shrink' ); 34 | } 35 | didScroll = false; 36 | } 37 | 38 | function scrollY() { 39 | return window.pageYOffset || docElem.scrollTop; 40 | } 41 | 42 | init(); 43 | 44 | })(); -------------------------------------------------------------------------------- /custom_example/cust_tpl/mail/contact_me.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/js/freelancer.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Freelancer Bootstrap Theme (http://startbootstrap.com) 3 | * Code licensed under the Apache License v2.0. 4 | * For details, see http://www.apache.org/licenses/LICENSE-2.0. 5 | */ 6 | 7 | // jQuery for page scrolling feature - requires jQuery Easing plugin 8 | $(function() { 9 | $('body').on('click', '.page-scroll a', function(event) { 10 | var $anchor = $(this); 11 | $('html, body').stop().animate({ 12 | scrollTop: $($anchor.attr('href')).offset().top 13 | }, 1500, 'easeInOutExpo'); 14 | event.preventDefault(); 15 | }); 16 | }); 17 | 18 | // Floating label headings for the contact form 19 | $(function() { 20 | $("body").on("input propertychange", ".floating-label-form-group", function(e) { 21 | $(this).toggleClass("floating-label-form-group-with-value", !! $(e.target).val()); 22 | }).on("focus", ".floating-label-form-group", function() { 23 | $(this).addClass("floating-label-form-group-with-focus"); 24 | }).on("blur", ".floating-label-form-group", function() { 25 | $(this).removeClass("floating-label-form-group-with-focus"); 26 | }); 27 | }); 28 | 29 | // Highlight the top nav as scrolling occurs 30 | $('body').scrollspy({ 31 | target: '.navbar-fixed-top' 32 | }) 33 | 34 | // Closes the Responsive Menu on Menu Item Click 35 | $('.navbar-collapse ul li a').click(function() { 36 | $('.navbar-toggle:visible').click(); 37 | }); 38 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/README.md: -------------------------------------------------------------------------------- 1 | # [Start Bootstrap](http://startbootstrap.com/) - [Freelancer](http://startbootstrap.com/template-overviews/freelancer/) 2 | 3 | [Freelancer](http://startbootstrap.com/template-overviews/freelancer/) is a one page freelancer portfolio theme for [Bootstrap](http://getbootstrap.com/) created by [Start Bootstrap](http://startbootstrap.com/). This theme features several content sections, a responsive portfolio grid with hover effects, full page portfolio item modals, and a working PHP contact form. 4 | 5 | ## Getting Started 6 | 7 | To use this theme, choose one of the following options to get started: 8 | * Download the latest release on Start Bootstrap 9 | * Fork this repository on GitHub 10 | 11 | ## Bugs and Issues 12 | 13 | Have a bug or an issue with this theme? [Open a new issue](https://github.com/IronSummitMedia/startbootstrap-freelancer/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/freelancer/). 14 | 15 | ## Creator 16 | 17 | Start Bootstrap was created by and is maintained by **David Miller**, Managing Parter at [Iron Summit Media Strategies](http://www.ironsummitmedia.com/). 18 | 19 | * https://twitter.com/davidmillerskt 20 | * https://github.com/davidtmiller 21 | 22 | Start Bootstrap is based on the [Bootstrap](http://getbootstrap.com/) framework created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thorton](https://twitter.com/fat). 23 | 24 | ## Copyright and License 25 | 26 | Copyright 2013-2015 Iron Summit Media Strategies, LLC. Code released under the [Apache 2.0](https://github.com/IronSummitMedia/startbootstrap-freelancer/blob/gh-pages/LICENSE) license. -------------------------------------------------------------------------------- /custom_example/cust_tpl/js/classie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * classie - class helper functions 3 | * from bonzo https://github.com/ded/bonzo 4 | * 5 | * classie.has( elem, 'my-class' ) -> true/false 6 | * classie.add( elem, 'my-new-class' ) 7 | * classie.remove( elem, 'my-unwanted-class' ) 8 | * classie.toggle( elem, 'my-class' ) 9 | */ 10 | 11 | /*jshint browser: true, strict: true, undef: true */ 12 | /*global define: false */ 13 | 14 | ( function( window ) { 15 | 16 | 'use strict'; 17 | 18 | // class helper functions from bonzo https://github.com/ded/bonzo 19 | 20 | function classReg( className ) { 21 | return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); 22 | } 23 | 24 | // classList support for class management 25 | // altho to be fair, the api sucks because it won't accept multiple classes at once 26 | var hasClass, addClass, removeClass; 27 | 28 | if ( 'classList' in document.documentElement ) { 29 | hasClass = function( elem, c ) { 30 | return elem.classList.contains( c ); 31 | }; 32 | addClass = function( elem, c ) { 33 | elem.classList.add( c ); 34 | }; 35 | removeClass = function( elem, c ) { 36 | elem.classList.remove( c ); 37 | }; 38 | } 39 | else { 40 | hasClass = function( elem, c ) { 41 | return classReg( c ).test( elem.className ); 42 | }; 43 | addClass = function( elem, c ) { 44 | if ( !hasClass( elem, c ) ) { 45 | elem.className = elem.className + ' ' + c; 46 | } 47 | }; 48 | removeClass = function( elem, c ) { 49 | elem.className = elem.className.replace( classReg( c ), ' ' ); 50 | }; 51 | } 52 | 53 | function toggleClass( elem, c ) { 54 | var fn = hasClass( elem, c ) ? removeClass : addClass; 55 | fn( elem, c ); 56 | } 57 | 58 | var classie = { 59 | // full names 60 | hasClass: hasClass, 61 | addClass: addClass, 62 | removeClass: removeClass, 63 | toggleClass: toggleClass, 64 | // short names 65 | has: hasClass, 66 | add: addClass, 67 | remove: removeClass, 68 | toggle: toggleClass 69 | }; 70 | 71 | // transport 72 | if ( typeof define === 'function' && define.amd ) { 73 | // AMD 74 | define( classie ); 75 | } else { 76 | // browser global 77 | window.classie = classie; 78 | } 79 | 80 | })( window ); 81 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | BootDown 2 | ======== 3 | 4 | REALLY lazy static sites with Bootstrap and Markdown. 5 | 6 | ## Quickstart 7 | 8 | Note that this project now has a dependency on the [Project ThoughtStorms](http://project.thoughtstorms.info) libraries. 9 | 10 | pip install thoughtstorms markdown pyyaml 11 | 12 | then : 13 | 14 | git clone https://github.com/interstar/bootdown.git 15 | cd bootdown/example/ 16 | python ../bootdown.py example.md 17 | firefox example/index.html 18 | 19 | 20 | Compare what's in the example.md file (your entire site), with the produced static site. 21 | 22 | ## Philosophy 23 | 24 | Basically it's a Markdown to HTML processor with some extra tricks added to it 25 | 26 | * A header section that lets you define a menu, footer, projectname, bootswatch, head_extra (extra code to put in page headers) 27 | * A "page-break" option (lines beginning with ////) so that your single .md file becomes a number of HTML pages 28 | * A very light-weight markup for defining divs with classes and ids using [.CLASSNAME#ID and .] 29 | * A markup for including CSV files as tables, embedding YouTube videos, BandCamp albums and SoundCloud albums. This is now based on, and kept in sync with the [Project ThoughtStorms wiki-engine](https://github.com/interstar/ThoughtStorms). 30 | 31 | Unlike most static site systems that are built around templating engines, with BootDown you write both your page content, and the structure in a single source file. Using [. .] for divs. This gives you all the flexibility you need to layout your pages any way you like, within the BootStrap grid. 32 | 33 | 34 | ## Aims and Features 35 | 36 | * To be the quickest, laziest way to make an "acceptable" flat site. 37 | * Emphasis on the "acceptable". Comes with several off-the-shelf Bootstrap / [Bootswatches](https://bootswatch.com/) to choose from. 38 | * But strongly discourages you trying to write your own CSS or other styling. No templates! 39 | * (Well, actually you CAN put a custom template in but it's a hack.) 40 | * Write your entire site in a single .md file. No faffing with managing multiple source files. 41 | * (Unless you really want to, in which case put further .md files in an extra_pages subdirectory.) 42 | * Suitable for landing pages, documentation sites, guides, handbooks, portfolios etc. 43 | 44 | 45 | 46 | ## Dependencies 47 | 48 | Needs [ThoughtStorms](https://pypi.org/project/thoughtstorms/) and Python's Markdown, YAML and CSV libraries installed. 49 | 50 | -------------------------------------------------------------------------------- /index.tpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 22 | 23 | 24 | 25 | 26 | 27 | $head_extra 28 | 29 | 30 | 33 | 51 | 52 | $body 53 | 54 |
55 |
56 | 57 | 60 | 61 |
62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | $final_js 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/js/contact_me.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | $("#contactForm input,#contactForm textarea").jqBootstrapValidation({ 4 | preventSubmit: true, 5 | submitError: function($form, event, errors) { 6 | // additional error messages or events 7 | }, 8 | submitSuccess: function($form, event) { 9 | // Prevent spam click and default submit behaviour 10 | $("#btnSubmit").attr("disabled", true); 11 | event.preventDefault(); 12 | 13 | // get values from FORM 14 | var name = $("input#name").val(); 15 | var email = $("input#email").val(); 16 | var phone = $("input#phone").val(); 17 | var message = $("textarea#message").val(); 18 | var firstName = name; // For Success/Failure Message 19 | // Check for white space in name for Success/Fail message 20 | if (firstName.indexOf(' ') >= 0) { 21 | firstName = name.split(' ').slice(0, -1).join(' '); 22 | } 23 | $.ajax({ 24 | url: "././mail/contact_me.php", 25 | type: "POST", 26 | data: { 27 | name: name, 28 | phone: phone, 29 | email: email, 30 | message: message 31 | }, 32 | cache: false, 33 | success: function() { 34 | // Enable button & show success message 35 | $("#btnSubmit").attr("disabled", false); 36 | $('#success').html("
"); 37 | $('#success > .alert-success').html(""); 39 | $('#success > .alert-success') 40 | .append("Your message has been sent. "); 41 | $('#success > .alert-success') 42 | .append('
'); 43 | 44 | //clear all fields 45 | $('#contactForm').trigger("reset"); 46 | }, 47 | error: function() { 48 | // Fail message 49 | $('#success').html("
"); 50 | $('#success > .alert-danger').html(""); 52 | $('#success > .alert-danger').append("Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!"); 53 | $('#success > .alert-danger').append('
'); 54 | //clear all fields 55 | $('#contactForm').trigger("reset"); 56 | }, 57 | }) 58 | }, 59 | filter: function() { 60 | return $(this).is(":visible"); 61 | }, 62 | }); 63 | 64 | $("a[data-toggle=\"tab\"]").click(function(e) { 65 | e.preventDefault(); 66 | $(this).tab("show"); 67 | }); 68 | }); 69 | 70 | // When clicking on Full hide fail/success boxes 71 | $('#name').focus(function() { 72 | $('#success').html(''); 73 | }); 74 | -------------------------------------------------------------------------------- /bs/css/gallery.css: -------------------------------------------------------------------------------- 1 | 2 | body{ 3 | 4 | } 5 | .gal-container{ 6 | padding: 12px; 7 | } 8 | .gal-item{ 9 | overflow: hidden; 10 | padding: 3px; 11 | } 12 | .gal-item .box{ 13 | height: 350px; 14 | overflow: hidden; 15 | } 16 | .box img{ 17 | height: 100%; 18 | width: 100%; 19 | object-fit:cover; 20 | -o-object-fit:cover; 21 | } 22 | .gal-item a:focus{ 23 | outline: none; 24 | } 25 | .gal-item a:after{ 26 | content:"\e003"; 27 | font-family: 'Glyphicons Halflings'; 28 | opacity: 0; 29 | background-color: rgba(0, 0, 0, 0.75); 30 | position: absolute; 31 | right: 3px; 32 | left: 3px; 33 | top: 3px; 34 | bottom: 3px; 35 | text-align: center; 36 | line-height: 350px; 37 | font-size: 30px; 38 | color: #fff; 39 | -webkit-transition: all 0.5s ease-in-out 0s; 40 | -moz-transition: all 0.5s ease-in-out 0s; 41 | transition: all 0.5s ease-in-out 0s; 42 | } 43 | .gal-item a:hover:after{ 44 | opacity: 1; 45 | } 46 | .modal-open .gal-container .modal{ 47 | background-color: rgba(0,0,0,0.4); 48 | } 49 | .modal-open .gal-item .modal-body{ 50 | padding: 0px; 51 | } 52 | .modal-open .gal-item button.close{ 53 | position: absolute; 54 | width: 25px; 55 | height: 25px; 56 | background-color: #000; 57 | opacity: 1; 58 | color: #fff; 59 | z-index: 999; 60 | right: -12px; 61 | top: -12px; 62 | border-radius: 50%; 63 | font-size: 15px; 64 | border: 2px solid #fff; 65 | line-height: 25px; 66 | -webkit-box-shadow: 0 0 1px 1px rgba(0,0,0,0.35); 67 | box-shadow: 0 0 1px 1px rgba(0,0,0,0.35); 68 | } 69 | .modal-open .gal-item button.close:focus{ 70 | outline: none; 71 | } 72 | .modal-open .gal-item button.close span{ 73 | position: relative; 74 | top: -3px; 75 | font-weight: lighter; 76 | text-shadow:none; 77 | } 78 | .gal-container .modal-dialogue{ 79 | width: 80%; 80 | } 81 | .gal-container .description{ 82 | position: relative; 83 | height: 40px; 84 | top: -40px; 85 | padding: 10px 25px; 86 | background-color: rgba(0,0,0,0.5); 87 | color: #fff; 88 | text-align: left; 89 | } 90 | .gal-container .description h4{ 91 | margin:0px; 92 | font-size: 15px; 93 | font-weight: 300; 94 | line-height: 20px; 95 | } 96 | .gal-container .modal.fade .modal-dialog { 97 | -webkit-transform: scale(0.1); 98 | -moz-transform: scale(0.1); 99 | -ms-transform: scale(0.1); 100 | transform: scale(0.1); 101 | top: 100px; 102 | opacity: 0; 103 | -webkit-transition: all 0.3s; 104 | -moz-transition: all 0.3s; 105 | transition: all 0.3s; 106 | } 107 | 108 | .gal-container .modal.fade.in .modal-dialog { 109 | -webkit-transform: scale(1); 110 | -moz-transform: scale(1); 111 | -ms-transform: scale(1); 112 | transform: scale(1); 113 | -webkit-transform: translate3d(0, -100px, 0); 114 | transform: translate3d(0, -100px, 0); 115 | opacity: 1; 116 | } 117 | @media (min-width: 768px) { 118 | .gal-container .modal-dialog { 119 | width: 55%; 120 | margin: 50 auto; 121 | } 122 | } 123 | @media (max-width: 768px) { 124 | .gal-container .modal-content{ 125 | height:250px; 126 | } 127 | } 128 | /* Footer Style */ 129 | i.red{ 130 | color:#BC0213; 131 | } 132 | .gal-container{ 133 | padding-top :75px; 134 | padding-bottom:75px; 135 | } 136 | footer{ 137 | font-family: 'Quicksand', sans-serif; 138 | } 139 | footer a,footer a:hover{ 140 | color: #88C425; 141 | } 142 | -------------------------------------------------------------------------------- /custom_example/custom.md: -------------------------------------------------------------------------------- 1 | menu=About #about, Tricks #tricks, Credits #credits 2 | footer=Copyleft Phil Jones, 2014-2016 3 | projectname=An Example Site 4 | custom_template=cust_tpl 5 | extra_pages=pages 6 | 7 | ////index.html 8 |
9 | 10 | [.container 11 | 12 | [.row [.col-lg-12/text-center 13 | ## BootDown Custom Example 14 |
15 | .] .] 16 | 17 | 18 | [.row 19 | [.col-md-4 20 | ### Dahlia 21 | 22 | .] 23 | 24 | [.col-md-4 25 | ### Keystoke 26 | 27 | .] 28 | 29 | [.col-md-4 30 | ### Lantana 31 | 32 | .] 33 | 34 | .].] 35 | 36 |
37 | 38 | 39 | 40 |
41 | [.container 42 | 43 | [.row [.col-lg-12/text-center 44 | ## About BootDown 45 |
46 | .] .] 47 | 48 | [.row [.col-md-12 49 | 50 | ### About BootDown 51 | 52 | BootDown combines Markdown and Bootstrap to allow you to make quick and dirty static HTML sites as quickly and easily as possible. 53 | 54 | Features 55 | 56 | * Markdown - but extended with a short notation for divs with classes using [ . See the source of this site for details. 57 | * Bootstrap and BootSwatch 58 | 59 | ### Philosophy 60 | 61 | Basically it's a Markdown to HTML processor with some extra tricks added to it 62 | 63 | * A header section that lets you define a menu, footer, projectname, bootswatch, head_extra (extra code to put in page headers) 64 | * A "page-break" option (lines beginning with ////) so that your single .md file becomes a number of HTML pages 65 | * A very light-weight markup for defining divs with classes and ids using [.CLASSNAME#ID and .] 66 | * A markup for including CSV files as tables, YouTube videos, BandCamp albums and SoundCloud albums 67 | 68 | Unlike most static site systems that are built around templating engines, with BootDown you write both your page content, and the structure in a single source file. Using [. .] for divs. This gives you all the flexibility you need to layout your pages any way you like, within the BootStrap grid. 69 | 70 | 71 | ### Aims and Features 72 | 73 | * To be the quickest, laziest way to make an "acceptable" flat site. 74 | * Emphasis on the "acceptable". Comes with several off-the-shelf Bootstrap / [Bootswatches](https://bootswatch.com/) to choose from. 75 | * But strongly discourages you trying to write your own CSS or other styling. No templates! 76 | * (Well, actually you CAN put a custom template in but it's a hack.) 77 | * Single Python script ... 78 | * it's now two Python scripts. I'm not sure how important this was. I think I'm going to refactor into several Python files to make cleaner. 79 | * Write your entire site in a single .md file. No faffing with managing multiple source files. 80 | * (Unless you really want to, in which case put further .md files in an extra_pages subdirectory.) 81 | * Suitable for landing pages, documentation sites, guides, handbooks, portfolios etc. 82 | 83 | 84 | .].].] 85 |
86 | 87 |
88 | [.container 89 | 90 | [.row [.col-lg-12/text-center 91 | ## Tricks 92 |
93 | .] .] 94 | 95 | 96 | 97 | [.row [.col-md-12 98 | ### A CSV file 99 | 100 | [] 104 | 105 | .] .] 106 | 107 | [.row [.col-md-8 108 | ### Embedded YouTube 109 | [] 112 | 113 | .] 114 | 115 | 116 | [.col-md-4 117 | ### Embedded SoundCloud 118 | 119 | [] 122 | 123 | .] .] 124 | 125 | [.row [.col-md-4 126 | ### Embedded BandCamp 127 | 128 | [] 133 | .] 134 | 135 | [.col-md-8 136 | ### Hyperlinks 137 | 138 | This links to [[http://project.geekweaver.com the Project GeekWeaver site]]. 139 | .] .] 140 | 141 | .] 142 |
143 | 144 | 145 |
146 | [.container 147 | 148 | [.row [.col-lg-12/text-center 149 | 150 | ## Credits 151 |
152 | .] .] 153 | 154 | 155 | [.row [.col-md-12 156 | 157 | * Thanks to [MarkDown](https://daringfireball.net/projects/markdown/) 158 | * Thanks to [BootStrap](http://getbootstrap.com/) 159 | * Thanks to [Python Markdown Lib](https://pypi.python.org/pypi/Markdown) 160 | * Thanks to [Start Bootstrap](http://startbootstrap.com) for this custom template 161 | * Thanks to Susan Jones for the photographs. 162 | * Glue by [Phil Jones](http://sdi.thoughtstorms.info/) 2014-2016 163 | 164 | .].].] 165 |
166 | 167 | -------------------------------------------------------------------------------- /example/example.md: -------------------------------------------------------------------------------- 1 | menu=About about.html, Tricks tricks.html, Gallery gallery.html, Credits credits.html 2 | footer=Copyleft Phil Jones, 2014-2018 3 | projectname=An Example Site 4 | bootswatch=cyborg 5 | extra_pages=pages 6 | site_root=./ 7 | final_js= 8 | ////index.html 9 | 10 | [.jumbotron [.container 11 | # MAIN JUMBO 12 | Big text goes in here 13 | .] .] 14 | 15 | [.container [.row 16 | [.col-md-4 17 | ## Dahlia 18 | 19 | .] 20 | 21 | [.col-md-4 22 | ## Keystoke 23 | 24 | .] 25 | 26 | [.col-md-4 27 | ## Lantana 28 | 29 | .] 30 | 31 | .].] 32 | ////about.html 33 | [.container [.row [.col-md-12 34 | 35 | ## About BootDown 36 | 37 | BootDown combines Markdown and Bootstrap to allow you to make quick and dirty static HTML sites as quickly and easily as possible. 38 | 39 | Features 40 | 41 | * Markdown - but extended with a short notation for divs with classes using [ . See the source of this site for details. 42 | * Bootstrap and BootSwatch 43 | 44 | ## Philosophy 45 | 46 | Basically it's a Markdown to HTML processor with some extra tricks added to it 47 | 48 | * A header section that lets you define a menu, footer, projectname, bootswatch, head_extra (extra code to put in page headers) 49 | * A "page-break" option (lines beginning with ////) so that your single .md file becomes a number of HTML pages 50 | * A very light-weight markup for defining divs with classes and ids using [.CLASSNAME#ID and .] 51 | * A markup for including CSV files as tables, YouTube videos, BandCamp albums and SoundCloud albums 52 | 53 | Unlike most static site systems that are built around templating engines, with BootDown you write both your page content, and the structure in a single source file. Using [. .] for divs. This gives you all the flexibility you need to layout your pages any way you like, within the BootStrap grid. 54 | 55 | 56 | ## Aims and Features 57 | 58 | * To be the quickest, laziest way to make an "acceptable" flat site. 59 | * Emphasis on the "acceptable". Comes with several off-the-shelf Bootstrap / [Bootswatches](https://bootswatch.com/) to choose from. 60 | * But strongly discourages you trying to write your own CSS or other styling. No templates! 61 | * (Well, actually you CAN put a custom template in but it's a hack.) 62 | * Single Python script ... 63 | * it's now two Python scripts. I'm not sure how important this was. I think I'm going to refactor into several Python files to make cleaner. 64 | * Write your entire site in a single .md file. No faffing with managing multiple source files. 65 | * (Unless you really want to, in which case put further .md files in an extra_pages subdirectory.) 66 | * Suitable for landing pages, documentation sites, guides, handbooks, portfolios etc. 67 | 68 | 69 | .].].] 70 | ////tricks.html 71 | [.container 72 | 73 | [.row [.col-md-12 74 | 75 | ## A CSV file 76 | 77 | [] 81 | 82 | 83 | 84 | .] .] 85 | 86 | [.row [.col-md-8 87 | 88 | ## Embedded YouTube 89 | 90 | [] 93 | 94 | .] 95 | 96 | [.col-md-4 97 | 98 | ## Embedded SoundCloud 99 | 100 | [] 103 | 104 | .] .] 105 | 106 | [.row [.col-md-4 107 | 108 | ## Embedded BandCamp 109 | 110 | [] 115 | 116 | .] 117 | 118 | [.col-md-8 119 | ## Hyperlinks 120 | 121 | This links to [[credits.html]] and [[credits.html Under a different name]]. 122 | .] .] 123 | .] 124 | 125 | 126 | ////credits.html 127 | [.container [.row [.col-md-12 128 | ## Credits 129 | 130 | * Thanks to [MarkDown](https://daringfireball.net/projects/markdown/) 131 | * Thanks to [BootStrap](http://getbootstrap.com/) 132 | * Thanks to [Python Markdown Lib](https://pypi.python.org/pypi/Markdown) 133 | * Thanks to [Bootswatch](https://bootswatch.com/) 134 | * Thanks to [Nabeelkondotty](https://bootsnipp.com/nabeelkondotty) for the [Gallery Code](https://bootsnipp.com/snippets/33Qjo) 135 | * Thanks to Susan Jones for the photographs. 136 | * Glue by [Phil Jones](http://sdi.thoughtstorms.info/) 2014-2016 137 | 138 | .].].] 139 | 140 | 141 | ////gallery.html 142 | 143 | [.container [.row [.col-md-12 144 | 145 | ## Gallery 146 | 147 | [] 160 | 161 | 162 | .] .] .] 163 | -------------------------------------------------------------------------------- /utbd.py: -------------------------------------------------------------------------------- 1 | 2 | import unittest 3 | from bootdown import Page, BootDown, handleDivs 4 | 5 | from thoughtstorms.txlib import MarkdownThoughtStorms, LinkFixer, Environment 6 | 7 | class TestPage(unittest.TestCase) : 8 | def test1(self) : 9 | p = Page("page1.html\nhello world","",{}) 10 | self.assertEquals(p.name,"page1.html") 11 | self.assertEquals(p.body,"

hello world

") 12 | 13 | class TestPageBreak(unittest.TestCase) : 14 | 15 | def test1(self) : 16 | s = "hello world" 17 | bd = BootDown("",s) 18 | self.assertEquals(bd.pages,[]) 19 | 20 | def test2(self) : 21 | s = """title=Hello World 22 | //// page1.html 23 | page 1""" 24 | bd = BootDown("",s) 25 | self.assertEquals(len(bd.pages),1) 26 | self.assertEquals(bd.atts["title"],"Hello World") 27 | self.assertEquals(bd.pages[0].name,"page1.html") 28 | self.assertEquals(bd.pages[0].body,"

page 1

") 29 | 30 | 31 | 32 | def test3(self) : 33 | s = """title=Hello World 34 | menu=a a.com, b b.com 35 | //// page1.html 36 | page 1 37 | //// page2.html 38 | Page 2 39 | 40 | * list""" 41 | bd = BootDown("",s) 42 | self.assertEquals(len(bd.pages),2) 43 | self.assertEquals(bd.atts["title"],"Hello World") 44 | p2= bd.pages[1] 45 | self.assertEquals(p2.name,"page2.html") 46 | self.assertEquals(p2.body,"""

Page 2

47 |
    48 |
  • list
  • 49 |
""") 50 | 51 | class TestDivs(unittest.TestCase) : 52 | def test1(self) : 53 | s = "abc [.boo def [.hoo ghi[.shuff#ling jkl .] mno.]pqrs.]" 54 | des = """

abc

55 |
56 |

def

57 |
58 |

ghi

59 |
60 |

jkl

61 |
62 |

mno

63 |
64 |

pqrs

65 |
""" 66 | self.assertEquals(handleDivs(s,0,"","",{}).replace("\n",""),des.replace("\n","")) 67 | 68 | def test2(self) : 69 | s = "qwerty [.she uiop .] [.ra fafa.] jkl" 70 | des = '

qwerty

\n
\n

uiop

\n
\n\n
\n

fafa

\n
\n

jkl

\n' 71 | self.assertEquals(handleDivs(s,0,"","",{}).replace("\n",""),des.replace("\n","")) 72 | 73 | 74 | class TestRows(unittest.TestCase) : 75 | def test1(self) : 76 | s = """dummy=blah 77 | ////page1.html 78 | [.row#r1 79 | 80 | [.span3 81 | 82 | # Page 5 83 | 84 | [.hoo#boo hello inside .] 85 | .] 86 | 87 | .]""" 88 | bd = BootDown("",s) 89 | p = bd.pages[0] 90 | self.assertEquals(p.body.replace("\n",""),"""
91 |
92 |

Page 5

93 |
94 |

hello inside

95 |
96 |
97 |
""".replace("\n","")) 98 | 99 | class TestMenu(unittest.TestCase) : 100 | def test1(self) : 101 | s = """menu=About about.html, Synaesmedia http://synaesmedia.net 102 | ////page1.html 103 | blah blah""" 104 | bd = BootDown("",s) 105 | self.assertEquals(bd.atts["menu"],"""""") 109 | def test2(self) : 110 | s = """menu=OneItem oneitem.html 111 | ////oneitem.html 112 | blah""" 113 | bd = BootDown("",s) 114 | self.assertEquals(bd.atts["menu"],"""""") 117 | 118 | class TestMultiClass(unittest.TestCase) : 119 | def testMulti(self) : 120 | s = """blah=Blah 121 | ////index.html 122 | [.another/green#world xyz .]""" 123 | bd = BootDown("",s) 124 | p = bd.pages[0] 125 | self.assertEquals(p.body,""" 126 |
127 |

xyz

128 |
129 | """) 130 | 131 | 132 | mkdn = MarkdownThoughtStorms() 133 | 134 | env = Environment("/",{}) 135 | 136 | class TestBlocks(unittest.TestCase) : 137 | def test1(self) : 138 | s1 = "

hello world

" 139 | self.assertEquals(mkdn.cook(s1,env),"

"+s1+"

") 140 | 141 | def test2(self) : 142 | s2 = """[]""" 145 | self.assertEquals(mkdn.cook(s2,env),"""

""") 146 | 147 | class TestLinkFixing(unittest.TestCase) : 148 | def test1(self) : 149 | s = "Hello [[TeenageAmerica]]" 150 | self.assertEquals(LinkFixer(Environment("",{})).link_filters(s),"""Hello TeenageAmerica""") 151 | 152 | def test2(self) : 153 | s = "Hello [[TeenageAmerica]]" 154 | self.assertEquals(LinkFixer(Environment("http://mysite.site/path/",{})).link_filters(s),"""Hello TeenageAmerica""") 155 | 156 | def test3(self) : 157 | s = "Hello [[Elsewhere:TeenageAmerica]]" 158 | self.assertEquals(LinkFixer(Environment("",{"Elsewhere" : "http://remote.site/path/"})).link_filters(s),"""Hello Elsewhere:TeenageAmerica""") 159 | 160 | def test4(self) : 161 | s = "Another [[test.html]]" 162 | self.assertEquals(LinkFixer(Environment("",{})).link_filters(s),"""Another test.html""") 163 | 164 | def test5(self) : 165 | s = "Now with [[text.html a text link]]" 166 | self.assertEquals(LinkFixer(Environment("",{})).link_filters(s),"""Now with a text link""") 167 | 168 | 169 | if __name__ == '__main__' : 170 | unittest.main() 171 | 172 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/index.tpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | $projectname 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 61 | 62 | 63 | 64 |
65 |
66 |
67 |
68 | 69 |
70 | $projectname 71 |
72 | Custom Templates - in - BootDown 73 |
74 |
75 |
76 |
77 |
78 | 79 | $body 80 | 81 | 82 | 83 |
84 | 118 | 127 |
128 | 129 | 130 |
131 | 132 | 133 | 134 |
135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /bootdown.py: -------------------------------------------------------------------------------- 1 | 2 | import re, os, sys 3 | 4 | from thoughtstorms.txlib import MarkdownThoughtStorms, Environment 5 | chef = MarkdownThoughtStorms() 6 | 7 | 8 | def attRest(s) : 9 | [atts,rest] = re.split("[\s]",s,1) 10 | atts = atts.replace("."," ") 11 | if "#" in atts : 12 | [cls,id] = atts.split("#") 13 | cls = cls.replace("/"," ") 14 | atts = 'class="%s" id="%s"' % (cls,id) 15 | elif "/" in atts : 16 | classes = atts.split("/") 17 | atts = 'class="' + " ".join(classes) + '"' 18 | else : 19 | atts='class="%s"' % atts 20 | return (atts,rest) 21 | 22 | def handleDivs(s,count,pageName,site_root,sister_sites) : 23 | if (not "[." in s) and (not ".]" in s) : return chef.cook(s,Environment(site_root,sister_sites)) 24 | 25 | if (".]" in s) and (not "[." in s) : 26 | if (count < 1) : raise Exception("Mismatched divs, close without opening :: " + pageName + " :: " + s) 27 | [rest,after] = s.rsplit(".]",1) 28 | return handleDivs(rest,count-1,pageName,site_root,sister_sites) + "\n\n"+chef.cook(after,Environment(site_root,sister_sites)) 29 | 30 | if ("[." in s) and (not ".]" in s) : 31 | raise Exception("Mismatched divs, open without closing :: " + pageName + " :: " + s) 32 | 33 | if s.find("[.") < s.find(".]") : 34 | #open before close 35 | [before,rest] = s.split("[.",1) 36 | [atts,rest] = attRest(rest) 37 | return chef.cook(before,Environment(site_root,sister_sites)) + ("\n
\n" % atts) + handleDivs(rest,count+1,pageName,site_root,sister_sites) 38 | 39 | #close before the next open 40 | [before,after] = s.split(".]",1) 41 | return handleDivs(before,count,pageName,site_root,sister_sites) + "\n
\n" + handleDivs(after,count-1,pageName,site_root,sister_sites) 42 | 43 | class Page : 44 | 45 | def __init__(self,page,site_root,sister_sites={}) : 46 | [name,body] = (page.split("\n",1)) 47 | self.name = name.strip() 48 | self.body = handleDivs(body.strip(),0,self.name,site_root,sister_sites) 49 | self.raw = body.strip() 50 | 51 | 52 | class BootDown : 53 | 54 | def __init__(self,cwd,src,site_root="",sister_sites={}) : 55 | src = src.decode("utf-8") 56 | if not "\n////" in src : 57 | self.pages = [] 58 | self.atts = {} 59 | else : 60 | xs = src.split("\n////") 61 | self.make_globals(xs[0]) 62 | if self.atts.has_key("site_root") : 63 | site_root=self.atts["site_root"] 64 | else : 65 | site_root="" 66 | self.pages = [Page(x,site_root,sister_sites) for x in xs[1:]] 67 | 68 | # extra pages 69 | if self.atts.has_key("extra_pages") : 70 | pages_path = cwd + "/" + self.atts["extra_pages"] 71 | page_names = [x for x in os.listdir(pages_path) if x[-3:]=='.md'] 72 | for p in page_names : 73 | with open(pages_path+"/"+p) as f: 74 | self.pages.append(Page(p.replace(".md",".html")+"\n"+f.read(),site_root,sister_sites)) 75 | 76 | 77 | def pair_gen(self,s) : 78 | p = (y.split("=",1) for y in s.split("\n") if "=" in y) 79 | return p 80 | 81 | def make_menu(self) : 82 | if self.atts.has_key("menu") : 83 | def link(x) : 84 | xs = x.split(" ") 85 | url = xs[-1] 86 | name = " ".join(xs[:-1]) 87 | #[name,url] = x.split(" ") 88 | return """\n
  • %s
  • """ % (url.strip(),name.strip()) 89 | self.atts["menu"] = '' 90 | else : 91 | self.atts["menu"] = "" 92 | 93 | 94 | def make_globals(self,s) : 95 | self.atts = dict([x[0],x[1].strip()] for x in self.pair_gen(s)) 96 | self.make_menu() 97 | if not self.atts.has_key("head_extra") : self.atts["head_extra"] = "" 98 | 99 | 100 | 101 | 102 | if __name__ == '__main__' : 103 | import distutils,string 104 | 105 | import shutil 106 | 107 | #codeHome = "/".join((os.path.abspath(__file__).split("/"))[:-1])+"/" 108 | #if codeHome == "" : 109 | codeHome = os.path.dirname(os.path.realpath(__file__)) 110 | 111 | cwd = os.getcwd() 112 | 113 | print "Code Home : %s " % codeHome 114 | print "CWD : %s " % cwd 115 | 116 | fName = sys.argv[1] 117 | if fName[0:2] == ".\\" : 118 | fName = fName[2:] 119 | 120 | print "fName : %s" % fName 121 | 122 | with open(os.path.join(cwd, fName)) as f : 123 | bd = BootDown(cwd,f.read()) 124 | 125 | # setting up target directories 126 | if bd.atts.has_key("dest") : 127 | destPath = bd.atts["dest"] 128 | else : 129 | destPath = fName.split(".")[0] 130 | 131 | destPath = os.path.join(cwd, destPath) 132 | 133 | print "destPath : %s" % destPath 134 | 135 | if not os.path.exists(destPath) : 136 | os.makedirs(destPath) 137 | 138 | #os.system("cp -rf %s/bs %s" % (codeHome,destPath)) 139 | print codeHome, destPath 140 | shutil.copytree(os.path.join(codeHome, "bs"),os.path.join(destPath,"bs")) 141 | #os.system("cp -rf assets %s/bs" % destPath) 142 | shutil.copytree("assets",os.path.join(destPath, "bs", "assets")) 143 | 144 | if bd.atts.has_key("custom_template") : 145 | customDir = bd.atts["custom_template"] 146 | print "customDir : %s" % customDir 147 | #os.system("cp -rf %s/* %s/bs/" % (customDir,destPath)) 148 | names = os.listdir(customDir) 149 | print names 150 | for name in names : 151 | print "Currently copying ", name 152 | srcname = os.path.join(customDir, name) 153 | dstname = os.path.join(destPath, "bs", name) 154 | if os.path.isdir(srcname): 155 | try : 156 | shutil.copytree(srcname, dstname) 157 | except OSError, oe : 158 | if oe.errno == 17 : 159 | try : 160 | shutil.rmtree(dstname) 161 | shutil.copytree(srcname,dstname) 162 | except Exception, e : 163 | print "Problem delete and copy %s to %s" % (srcname,dstname) 164 | raise e 165 | else : 166 | raise e 167 | except Exception, e : 168 | print "Failed to copy %s to %s" % (srcname,dstname) 169 | raise e 170 | else: 171 | shutil.copy2(srcname, dstname) 172 | 173 | tpl = string.Template((open(os.path.join(customDir,"index.tpl"))).read()) 174 | else : 175 | tpl = string.Template((open(os.path.join(codeHome,"index.tpl"))).read()) 176 | if bd.atts.has_key("bootswatch") : 177 | #os.system("cp %sbs/bootswatches/%s/bootstrap.min.css %s/bs/css/" % (codeHome,bd.atts["bootswatch"],destPath)) 178 | shutil.copy2(os.path.join(codeHome,"bs","bootswatches",bd.atts["bootswatch"],"bootstrap.min.css"),os.path.join(destPath,"bs","css")) 179 | 180 | for p in bd.pages : 181 | if p.name == "main.css" : 182 | f2 = open(os.path.join(destPath,"bs","css","main.css"),"w") 183 | s = p.raw 184 | else : 185 | f2 = open(os.path.join(destPath,p.name),"w") 186 | d = {"body":p.body} 187 | d.update(bd.atts) 188 | s = tpl.safe_substitute(d) 189 | 190 | f2.write(s.encode("utf-8")) 191 | f2.close() 192 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/less/freelancer.less: -------------------------------------------------------------------------------- 1 | @import "variables.less"; 2 | @import "mixins.less"; 3 | 4 | body { 5 | overflow-x: hidden; 6 | } 7 | 8 | p { 9 | font-size: 20px; 10 | } 11 | 12 | p.small { 13 | font-size: 16px; 14 | } 15 | 16 | a, 17 | a:hover, 18 | a:focus, 19 | a:active, 20 | a.active { 21 | color: @brand-success; 22 | outline: none; 23 | } 24 | 25 | h1, h2, h3, h4, h5, h6 { 26 | font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 27 | text-transform: uppercase; 28 | font-weight: 700; 29 | } 30 | 31 | hr.star-light, 32 | hr.star-primary { 33 | padding: 0; 34 | border: none; 35 | border-top: solid 5px; 36 | text-align: center; 37 | max-width: 250px; 38 | margin: 25px auto 30px; 39 | } 40 | 41 | hr.star-light:after, 42 | hr.star-primary:after { 43 | content: "\f005"; 44 | font-family: FontAwesome; 45 | display: inline-block; 46 | position: relative; 47 | top: -0.8em; 48 | font-size: 2em; 49 | padding: 0 0.25em; 50 | } 51 | 52 | hr.star-light { 53 | border-color: white; 54 | } 55 | 56 | hr.star-light:after { 57 | background-color: @brand-success; 58 | color: white; 59 | } 60 | 61 | hr.star-primary { 62 | border-color: @brand-primary; 63 | } 64 | 65 | hr.star-primary:after { 66 | background-color: white; 67 | color: @brand-primary; 68 | } 69 | 70 | .img-centered { 71 | margin: 0 auto; 72 | } 73 | 74 | header { 75 | text-align: center; 76 | background: @brand-success; 77 | color: white; 78 | .container { 79 | padding-top: 100px; 80 | padding-bottom: 50px; 81 | } 82 | img { 83 | display: block; 84 | margin: 0 auto 20px; 85 | } 86 | .intro-text { 87 | .name { 88 | display: block; 89 | font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 90 | text-transform: uppercase; 91 | font-weight: 700; 92 | font-size: 2em; 93 | } 94 | .skills { 95 | font-size: 1.25em; 96 | font-weight: 300; 97 | } 98 | } 99 | } 100 | 101 | @media(min-width:768px) { 102 | header { 103 | .container { 104 | padding-top: 200px; 105 | padding-bottom: 100px; 106 | } 107 | .intro-text { 108 | .name { 109 | font-size: 4.75em; 110 | } 111 | .skills { 112 | font-size: 1.75em; 113 | } 114 | } 115 | } 116 | } 117 | 118 | @media(min-width:768px) { 119 | .navbar-fixed-top { 120 | padding: 25px 0; 121 | -webkit-transition: padding 0.3s; 122 | -moz-transition: padding 0.3s; 123 | transition: padding 0.3s; 124 | .navbar-brand { 125 | font-size: 2em; 126 | -webkit-transition: all 0.3s; 127 | -moz-transition: all 0.3s; 128 | transition: all 0.3s; 129 | } 130 | } 131 | .navbar-fixed-top.navbar-shrink { 132 | padding: 10px 0; 133 | .navbar-brand { 134 | font-size: 1.5em; 135 | } 136 | } 137 | } 138 | 139 | .navbar { 140 | font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 141 | text-transform: uppercase; 142 | font-weight: 700; 143 | a:focus { 144 | outline: none; 145 | } 146 | .navbar-nav { 147 | letter-spacing: 1px; 148 | li { 149 | a:focus { 150 | outline: none; 151 | } 152 | } 153 | } 154 | } 155 | 156 | .navbar-default, 157 | .navbar-inverse { 158 | border: none; 159 | } 160 | 161 | section { 162 | padding: 100px 0; 163 | h2 { 164 | margin: 0; 165 | font-size: 3em; 166 | } 167 | } 168 | 169 | section.success { 170 | background: @brand-success; 171 | color: white; 172 | 173 | a, 174 | a:hover, 175 | a:focus, 176 | a:active, 177 | a.active { 178 | color: @brand-primary; 179 | outline: none; 180 | } 181 | } 182 | 183 | @media(max-width:767px) { 184 | section { 185 | padding: 75px 0; 186 | } 187 | section.first { 188 | padding-top: 75px; 189 | } 190 | } 191 | 192 | #portfolio { 193 | .portfolio-item { 194 | margin: 0 0 15px; 195 | right: 0; 196 | .portfolio-link { 197 | display: block; 198 | position: relative; 199 | max-width: 400px; 200 | margin: 0 auto; 201 | .caption { 202 | background: fade(@brand-success, 90%); 203 | position: absolute; 204 | width: 100%; 205 | height: 100%; 206 | opacity: 0; 207 | transition: all ease 0.5s; 208 | -webkit-transition: all ease 0.5s; 209 | -moz-transition: all ease 0.5s; 210 | &:hover { 211 | opacity: 1; 212 | } 213 | .caption-content { 214 | position: absolute; 215 | width: 100%; 216 | height: 20px; 217 | font-size: 20px; 218 | text-align: center; 219 | top: 50%; 220 | margin-top: -12px; 221 | color: white; 222 | i { 223 | margin-top: -12px; 224 | } 225 | h3, 226 | h4 { 227 | margin: 0; 228 | } 229 | } 230 | } 231 | } 232 | } 233 | * { 234 | z-index: 2; 235 | } 236 | } 237 | 238 | @media(min-width:767px) { 239 | #portfolio { 240 | .portfolio-item { 241 | margin: 0 0 30px; 242 | } 243 | } 244 | } 245 | 246 | .btn-outline { 247 | color: white; 248 | font-size: 20px; 249 | border: solid 2px white; 250 | background: transparent; 251 | transition: all 0.3s ease-in-out; 252 | margin-top: 15px; 253 | &:hover, 254 | &:focus, 255 | &:active, 256 | &.active { 257 | color: @brand-success; 258 | background: white; 259 | border: solid 2px white; 260 | } 261 | } 262 | 263 | .floating-label-form-group { 264 | position: relative; 265 | margin-bottom: 0; 266 | padding-bottom: 0.5em; 267 | border-bottom: 1px solid @gray-lighter; 268 | input, 269 | textarea { 270 | z-index: 1; 271 | position: relative; 272 | padding-right: 0; 273 | padding-left: 0; 274 | border: none; 275 | border-radius: 0; 276 | font-size: 1.5em; 277 | background: none; 278 | box-shadow: none !important; 279 | resize: none; 280 | } 281 | label { 282 | display: block; 283 | z-index: 0; 284 | position: relative; 285 | top: 2em; 286 | margin: 0; 287 | font-size: 0.85em; 288 | line-height: 1.764705882em; 289 | vertical-align: middle; 290 | vertical-align: baseline; 291 | opacity: 0; 292 | -webkit-transition: top 0.3s ease,opacity 0.3s ease; 293 | -moz-transition: top 0.3s ease,opacity 0.3s ease; 294 | -ms-transition: top 0.3s ease,opacity 0.3s ease; 295 | transition: top 0.3s ease,opacity 0.3s ease; 296 | } 297 | &::not(:first-child) { 298 | padding-left: 14px; 299 | border-left: 1px solid @gray-lighter; 300 | } 301 | } 302 | 303 | .floating-label-form-group-with-value { 304 | label { 305 | top: 0; 306 | opacity: 1; 307 | } 308 | } 309 | 310 | .floating-label-form-group-with-focus { 311 | label { 312 | color: @brand-success; 313 | } 314 | } 315 | 316 | form .row:first-child .floating-label-form-group { 317 | border-top: 1px solid @gray-lighter; 318 | } 319 | 320 | footer { 321 | color: white; 322 | h3 { 323 | margin-bottom: 30px; 324 | } 325 | .footer-above { 326 | padding-top: 50px; 327 | background-color: @brand-primary; 328 | } 329 | .footer-col { 330 | margin-bottom: 50px; 331 | } 332 | .footer-below { 333 | padding: 25px 0; 334 | background-color: darken(@brand-primary, 5%); 335 | } 336 | } 337 | 338 | .btn-social { 339 | display: inline-block; 340 | height: 50px; 341 | width: 50px; 342 | border: 2px solid white; 343 | border-radius: 100%; 344 | text-align: center; 345 | font-size: 20px; 346 | line-height: 45px; 347 | } 348 | 349 | .btn:focus, 350 | .btn:active, 351 | .btn.active { 352 | outline: none; 353 | } 354 | 355 | .scroll-top { 356 | position: fixed; 357 | right: 2%; 358 | bottom: 2%; 359 | width: 50px; 360 | height: 50px; 361 | z-index: 1049; 362 | .btn { 363 | font-size: 20px; 364 | width: 50px; 365 | height: 50px; 366 | border-radius: 100%; 367 | line-height: 28px; 368 | &:focus { 369 | outline: none; 370 | } 371 | } 372 | } 373 | 374 | .portfolio-modal { 375 | .modal-content { 376 | border-radius: 0; 377 | background-clip: border-box; 378 | -webkit-box-shadow: none; 379 | box-shadow: none; 380 | border: none; 381 | min-height: 100%; 382 | padding: 100px 0; 383 | text-align: center; 384 | h2 { 385 | margin: 0; 386 | font-size: 3em; 387 | } 388 | img { 389 | margin-bottom: 30px; 390 | } 391 | .item-details { 392 | margin: 30px 0; 393 | } 394 | } 395 | .close-modal { 396 | position: absolute; 397 | width:75px; 398 | height:75px; 399 | background-color:transparent; 400 | top: 25px; 401 | right: 25px; 402 | cursor: pointer; 403 | &:hover { 404 | opacity: 0.3; 405 | } 406 | .lr { 407 | height:75px; 408 | width:1px; 409 | margin-left:35px; 410 | background-color:@brand-primary; 411 | transform: rotate(45deg); 412 | -ms-transform: rotate(45deg); 413 | /* IE 9 */ 414 | -webkit-transform: rotate(45deg); 415 | /* Safari and Chrome */ 416 | z-index:1051; 417 | .rl { 418 | height:75px; 419 | width:1px; 420 | background-color:@brand-primary; 421 | transform: rotate(90deg); 422 | -ms-transform: rotate(90deg); 423 | /* IE 9 */ 424 | -webkit-transform: rotate(90deg); 425 | /* Safari and Chrome */ 426 | z-index:1052; 427 | } 428 | } 429 | } 430 | .modal-backdrop { 431 | opacity: 0; 432 | display: none; 433 | } 434 | } 435 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/css/freelancer.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Freelancer Bootstrap Theme (http://startbootstrap.com) 3 | * Code licensed under the Apache License v2.0. 4 | * For details, see http://www.apache.org/licenses/LICENSE-2.0. 5 | */ 6 | 7 | body { 8 | overflow-x: hidden; 9 | } 10 | 11 | p { 12 | font-size: 20px; 13 | } 14 | 15 | p.small { 16 | font-size: 16px; 17 | } 18 | 19 | a, 20 | a:hover, 21 | a:focus, 22 | a:active, 23 | a.active { 24 | outline: 0; 25 | color: #18bc9c; 26 | } 27 | 28 | h1, 29 | h2, 30 | h3, 31 | h4, 32 | h5, 33 | h6 { 34 | text-transform: uppercase; 35 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 36 | font-weight: 700; 37 | } 38 | 39 | hr.star-light, 40 | hr.star-primary { 41 | margin: 25px auto 30px; 42 | padding: 0; 43 | max-width: 250px; 44 | border: 0; 45 | border-top: solid 5px; 46 | text-align: center; 47 | } 48 | 49 | hr.star-light:after, 50 | hr.star-primary:after { 51 | content: "\f005"; 52 | display: inline-block; 53 | position: relative; 54 | top: -.8em; 55 | padding: 0 .25em; 56 | font-family: FontAwesome; 57 | font-size: 2em; 58 | } 59 | 60 | hr.star-light { 61 | border-color: #fff; 62 | } 63 | 64 | hr.star-light:after { 65 | color: #fff; 66 | background-color: #18bc9c; 67 | } 68 | 69 | hr.star-primary { 70 | border-color: #2c3e50; 71 | } 72 | 73 | hr.star-primary:after { 74 | color: #2c3e50; 75 | background-color: #fff; 76 | } 77 | 78 | .img-centered { 79 | margin: 0 auto; 80 | } 81 | 82 | header { 83 | text-align: center; 84 | color: #fff; 85 | background: #18bc9c; 86 | } 87 | 88 | header .container { 89 | padding-top: 100px; 90 | padding-bottom: 50px; 91 | } 92 | 93 | header img { 94 | display: block; 95 | margin: 0 auto 20px; 96 | } 97 | 98 | header .intro-text .name { 99 | display: block; 100 | text-transform: uppercase; 101 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 102 | font-size: 2em; 103 | font-weight: 700; 104 | } 105 | 106 | header .intro-text .skills { 107 | font-size: 1.25em; 108 | font-weight: 300; 109 | } 110 | 111 | @media(min-width:768px) { 112 | header .container { 113 | padding-top: 200px; 114 | padding-bottom: 100px; 115 | } 116 | 117 | header .intro-text .name { 118 | font-size: 4.75em; 119 | } 120 | 121 | header .intro-text .skills { 122 | font-size: 1.75em; 123 | } 124 | } 125 | 126 | @media(min-width:768px) { 127 | .navbar-fixed-top { 128 | padding: 25px 0; 129 | -webkit-transition: padding .3s; 130 | -moz-transition: padding .3s; 131 | transition: padding .3s; 132 | } 133 | 134 | .navbar-fixed-top .navbar-brand { 135 | font-size: 2em; 136 | -webkit-transition: all .3s; 137 | -moz-transition: all .3s; 138 | transition: all .3s; 139 | } 140 | 141 | .navbar-fixed-top.navbar-shrink { 142 | padding: 10px 0; 143 | } 144 | 145 | .navbar-fixed-top.navbar-shrink .navbar-brand { 146 | font-size: 1.5em; 147 | } 148 | } 149 | 150 | .navbar { 151 | text-transform: uppercase; 152 | font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif; 153 | font-weight: 700; 154 | } 155 | 156 | .navbar a:focus { 157 | outline: 0; 158 | } 159 | 160 | .navbar .navbar-nav { 161 | letter-spacing: 1px; 162 | } 163 | 164 | .navbar .navbar-nav li a:focus { 165 | outline: 0; 166 | } 167 | 168 | .navbar-default, 169 | .navbar-inverse { 170 | border: 0; 171 | } 172 | 173 | section { 174 | padding: 100px 0; 175 | } 176 | 177 | section h2 { 178 | margin: 0; 179 | font-size: 3em; 180 | } 181 | 182 | section.success { 183 | color: #fff; 184 | background: #18bc9c; 185 | } 186 | 187 | section.success a, 188 | section.success a:hover, 189 | section.success a:focus, 190 | section.success a:active, 191 | section.success a.active { 192 | outline: 0; 193 | color: #2c3e50; 194 | } 195 | 196 | @media(max-width:767px) { 197 | section { 198 | padding: 75px 0; 199 | } 200 | 201 | section.first { 202 | padding-top: 75px; 203 | } 204 | } 205 | 206 | #portfolio .portfolio-item { 207 | right: 0; 208 | margin: 0 0 15px; 209 | } 210 | 211 | #portfolio .portfolio-item .portfolio-link { 212 | display: block; 213 | position: relative; 214 | margin: 0 auto; 215 | max-width: 400px; 216 | } 217 | 218 | #portfolio .portfolio-item .portfolio-link .caption { 219 | position: absolute; 220 | width: 100%; 221 | height: 100%; 222 | opacity: 0; 223 | background: rgba(24,188,156,.9); 224 | -webkit-transition: all ease .5s; 225 | -moz-transition: all ease .5s; 226 | transition: all ease .5s; 227 | } 228 | 229 | #portfolio .portfolio-item .portfolio-link .caption:hover { 230 | opacity: 1; 231 | } 232 | 233 | #portfolio .portfolio-item .portfolio-link .caption .caption-content { 234 | position: absolute; 235 | top: 50%; 236 | width: 100%; 237 | height: 20px; 238 | margin-top: -12px; 239 | text-align: center; 240 | font-size: 20px; 241 | color: #fff; 242 | } 243 | 244 | #portfolio .portfolio-item .portfolio-link .caption .caption-content i { 245 | margin-top: -12px; 246 | } 247 | 248 | #portfolio .portfolio-item .portfolio-link .caption .caption-content h3, 249 | #portfolio .portfolio-item .portfolio-link .caption .caption-content h4 { 250 | margin: 0; 251 | } 252 | 253 | #portfolio * { 254 | z-index: 2; 255 | } 256 | 257 | @media(min-width:767px) { 258 | #portfolio .portfolio-item { 259 | margin: 0 0 30px; 260 | } 261 | } 262 | 263 | .btn-outline { 264 | margin-top: 15px; 265 | border: solid 2px #fff; 266 | font-size: 20px; 267 | color: #fff; 268 | background: 0 0; 269 | transition: all .3s ease-in-out; 270 | } 271 | 272 | .btn-outline:hover, 273 | .btn-outline:focus, 274 | .btn-outline:active, 275 | .btn-outline.active { 276 | border: solid 2px #fff; 277 | color: #18bc9c; 278 | background: #fff; 279 | } 280 | 281 | .floating-label-form-group { 282 | position: relative; 283 | margin-bottom: 0; 284 | padding-bottom: .5em; 285 | border-bottom: 1px solid #eee; 286 | } 287 | 288 | .floating-label-form-group input, 289 | .floating-label-form-group textarea { 290 | z-index: 1; 291 | position: relative; 292 | padding-right: 0; 293 | padding-left: 0; 294 | border: 0; 295 | border-radius: 0; 296 | font-size: 1.5em; 297 | background: 0 0; 298 | box-shadow: none!important; 299 | resize: none; 300 | } 301 | 302 | .floating-label-form-group label { 303 | display: block; 304 | z-index: 0; 305 | position: relative; 306 | top: 2em; 307 | margin: 0; 308 | font-size: .85em; 309 | line-height: 1.764705882em; 310 | vertical-align: middle; 311 | vertical-align: baseline; 312 | opacity: 0; 313 | -webkit-transition: top .3s ease,opacity .3s ease; 314 | -moz-transition: top .3s ease,opacity .3s ease; 315 | -ms-transition: top .3s ease,opacity .3s ease; 316 | transition: top .3s ease,opacity .3s ease; 317 | } 318 | 319 | .floating-label-form-group::not(:first-child) { 320 | padding-left: 14px; 321 | border-left: 1px solid #eee; 322 | } 323 | 324 | .floating-label-form-group-with-value label { 325 | top: 0; 326 | opacity: 1; 327 | } 328 | 329 | .floating-label-form-group-with-focus label { 330 | color: #18bc9c; 331 | } 332 | 333 | form .row:first-child .floating-label-form-group { 334 | border-top: 1px solid #eee; 335 | } 336 | 337 | footer { 338 | color: #fff; 339 | } 340 | 341 | footer h3 { 342 | margin-bottom: 30px; 343 | } 344 | 345 | footer .footer-above { 346 | padding-top: 50px; 347 | background-color: #2c3e50; 348 | } 349 | 350 | footer .footer-col { 351 | margin-bottom: 50px; 352 | } 353 | 354 | footer .footer-below { 355 | padding: 25px 0; 356 | background-color: #233140; 357 | } 358 | 359 | .btn-social { 360 | display: inline-block; 361 | width: 50px; 362 | height: 50px; 363 | border: 2px solid #fff; 364 | border-radius: 100%; 365 | text-align: center; 366 | font-size: 20px; 367 | line-height: 45px; 368 | } 369 | 370 | .btn:focus, 371 | .btn:active, 372 | .btn.active { 373 | outline: 0; 374 | } 375 | 376 | .scroll-top { 377 | z-index: 1049; 378 | position: fixed; 379 | right: 2%; 380 | bottom: 2%; 381 | width: 50px; 382 | height: 50px; 383 | } 384 | 385 | .scroll-top .btn { 386 | width: 50px; 387 | height: 50px; 388 | border-radius: 100%; 389 | font-size: 20px; 390 | line-height: 28px; 391 | } 392 | 393 | .scroll-top .btn:focus { 394 | outline: 0; 395 | } 396 | 397 | .portfolio-modal .modal-content { 398 | padding: 100px 0; 399 | min-height: 100%; 400 | border: 0; 401 | border-radius: 0; 402 | text-align: center; 403 | background-clip: border-box; 404 | -webkit-box-shadow: none; 405 | box-shadow: none; 406 | } 407 | 408 | .portfolio-modal .modal-content h2 { 409 | margin: 0; 410 | font-size: 3em; 411 | } 412 | 413 | .portfolio-modal .modal-content img { 414 | margin-bottom: 30px; 415 | } 416 | 417 | .portfolio-modal .modal-content .item-details { 418 | margin: 30px 0; 419 | } 420 | 421 | .portfolio-modal .close-modal { 422 | position: absolute; 423 | top: 25px; 424 | right: 25px; 425 | width: 75px; 426 | height: 75px; 427 | background-color: transparent; 428 | cursor: pointer; 429 | } 430 | 431 | .portfolio-modal .close-modal:hover { 432 | opacity: .3; 433 | } 434 | 435 | .portfolio-modal .close-modal .lr { 436 | z-index: 1051; 437 | width: 1px; 438 | height: 75px; 439 | margin-left: 35px; 440 | background-color: #2c3e50; 441 | -webkit-transform: rotate(45deg); 442 | -ms-transform: rotate(45deg); 443 | transform: rotate(45deg); 444 | } 445 | 446 | .portfolio-modal .close-modal .lr .rl { 447 | z-index: 1052; 448 | width: 1px; 449 | height: 75px; 450 | background-color: #2c3e50; 451 | -webkit-transform: rotate(90deg); 452 | -ms-transform: rotate(90deg); 453 | transform: rotate(90deg); 454 | } 455 | 456 | .portfolio-modal .modal-backdrop { 457 | display: none; 458 | opacity: 0; 459 | } -------------------------------------------------------------------------------- /custom_example/cust_tpl/LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright 2013-2015 Iron Summit Media Strategies, LLC 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | 203 | -------------------------------------------------------------------------------- /bs/css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.1.1 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | .btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-color:#357ebd}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} -------------------------------------------------------------------------------- /bs/css/bootstrap-theme.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.1.1 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | .btn-default, 8 | .btn-primary, 9 | .btn-success, 10 | .btn-info, 11 | .btn-warning, 12 | .btn-danger { 13 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); 14 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); 15 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); 16 | } 17 | .btn-default:active, 18 | .btn-primary:active, 19 | .btn-success:active, 20 | .btn-info:active, 21 | .btn-warning:active, 22 | .btn-danger:active, 23 | .btn-default.active, 24 | .btn-primary.active, 25 | .btn-success.active, 26 | .btn-info.active, 27 | .btn-warning.active, 28 | .btn-danger.active { 29 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); 30 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); 31 | } 32 | .btn:active, 33 | .btn.active { 34 | background-image: none; 35 | } 36 | .btn-default { 37 | text-shadow: 0 1px 0 #fff; 38 | background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); 39 | background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); 40 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); 41 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 42 | background-repeat: repeat-x; 43 | border-color: #dbdbdb; 44 | border-color: #ccc; 45 | } 46 | .btn-default:hover, 47 | .btn-default:focus { 48 | background-color: #e0e0e0; 49 | background-position: 0 -15px; 50 | } 51 | .btn-default:active, 52 | .btn-default.active { 53 | background-color: #e0e0e0; 54 | border-color: #dbdbdb; 55 | } 56 | .btn-primary { 57 | background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); 58 | background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); 59 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); 60 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 61 | background-repeat: repeat-x; 62 | border-color: #2b669a; 63 | } 64 | .btn-primary:hover, 65 | .btn-primary:focus { 66 | background-color: #2d6ca2; 67 | background-position: 0 -15px; 68 | } 69 | .btn-primary:active, 70 | .btn-primary.active { 71 | background-color: #2d6ca2; 72 | border-color: #2b669a; 73 | } 74 | .btn-success { 75 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); 76 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); 77 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); 78 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 79 | background-repeat: repeat-x; 80 | border-color: #3e8f3e; 81 | } 82 | .btn-success:hover, 83 | .btn-success:focus { 84 | background-color: #419641; 85 | background-position: 0 -15px; 86 | } 87 | .btn-success:active, 88 | .btn-success.active { 89 | background-color: #419641; 90 | border-color: #3e8f3e; 91 | } 92 | .btn-info { 93 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); 94 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); 95 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); 96 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 97 | background-repeat: repeat-x; 98 | border-color: #28a4c9; 99 | } 100 | .btn-info:hover, 101 | .btn-info:focus { 102 | background-color: #2aabd2; 103 | background-position: 0 -15px; 104 | } 105 | .btn-info:active, 106 | .btn-info.active { 107 | background-color: #2aabd2; 108 | border-color: #28a4c9; 109 | } 110 | .btn-warning { 111 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); 112 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); 113 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); 114 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 115 | background-repeat: repeat-x; 116 | border-color: #e38d13; 117 | } 118 | .btn-warning:hover, 119 | .btn-warning:focus { 120 | background-color: #eb9316; 121 | background-position: 0 -15px; 122 | } 123 | .btn-warning:active, 124 | .btn-warning.active { 125 | background-color: #eb9316; 126 | border-color: #e38d13; 127 | } 128 | .btn-danger { 129 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); 130 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); 131 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); 132 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 133 | background-repeat: repeat-x; 134 | border-color: #b92c28; 135 | } 136 | .btn-danger:hover, 137 | .btn-danger:focus { 138 | background-color: #c12e2a; 139 | background-position: 0 -15px; 140 | } 141 | .btn-danger:active, 142 | .btn-danger.active { 143 | background-color: #c12e2a; 144 | border-color: #b92c28; 145 | } 146 | .thumbnail, 147 | .img-thumbnail { 148 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 149 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 150 | } 151 | .dropdown-menu > li > a:hover, 152 | .dropdown-menu > li > a:focus { 153 | background-color: #e8e8e8; 154 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 155 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 156 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 157 | background-repeat: repeat-x; 158 | } 159 | .dropdown-menu > .active > a, 160 | .dropdown-menu > .active > a:hover, 161 | .dropdown-menu > .active > a:focus { 162 | background-color: #357ebd; 163 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 164 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 165 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 166 | background-repeat: repeat-x; 167 | } 168 | .navbar-default { 169 | background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); 170 | background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); 171 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); 172 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 173 | background-repeat: repeat-x; 174 | border-radius: 4px; 175 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); 176 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); 177 | } 178 | .navbar-default .navbar-nav > .active > a { 179 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); 180 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); 181 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); 182 | background-repeat: repeat-x; 183 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); 184 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); 185 | } 186 | .navbar-brand, 187 | .navbar-nav > li > a { 188 | text-shadow: 0 1px 0 rgba(255, 255, 255, .25); 189 | } 190 | .navbar-inverse { 191 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); 192 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); 193 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); 194 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 195 | background-repeat: repeat-x; 196 | } 197 | .navbar-inverse .navbar-nav > .active > a { 198 | background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%); 199 | background-image: linear-gradient(to bottom, #222 0%, #282828 100%); 200 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); 201 | background-repeat: repeat-x; 202 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); 203 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); 204 | } 205 | .navbar-inverse .navbar-brand, 206 | .navbar-inverse .navbar-nav > li > a { 207 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); 208 | } 209 | .navbar-static-top, 210 | .navbar-fixed-top, 211 | .navbar-fixed-bottom { 212 | border-radius: 0; 213 | } 214 | .alert { 215 | text-shadow: 0 1px 0 rgba(255, 255, 255, .2); 216 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); 217 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); 218 | } 219 | .alert-success { 220 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); 221 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); 222 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); 223 | background-repeat: repeat-x; 224 | border-color: #b2dba1; 225 | } 226 | .alert-info { 227 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); 228 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); 229 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); 230 | background-repeat: repeat-x; 231 | border-color: #9acfea; 232 | } 233 | .alert-warning { 234 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); 235 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); 236 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); 237 | background-repeat: repeat-x; 238 | border-color: #f5e79e; 239 | } 240 | .alert-danger { 241 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); 242 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); 243 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); 244 | background-repeat: repeat-x; 245 | border-color: #dca7a7; 246 | } 247 | .progress { 248 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); 249 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); 250 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); 251 | background-repeat: repeat-x; 252 | } 253 | .progress-bar { 254 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); 255 | background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); 256 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); 257 | background-repeat: repeat-x; 258 | } 259 | .progress-bar-success { 260 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); 261 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); 262 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); 263 | background-repeat: repeat-x; 264 | } 265 | .progress-bar-info { 266 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); 267 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); 268 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); 269 | background-repeat: repeat-x; 270 | } 271 | .progress-bar-warning { 272 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); 273 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); 274 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); 275 | background-repeat: repeat-x; 276 | } 277 | .progress-bar-danger { 278 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); 279 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); 280 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); 281 | background-repeat: repeat-x; 282 | } 283 | .list-group { 284 | border-radius: 4px; 285 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 286 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075); 287 | } 288 | .list-group-item.active, 289 | .list-group-item.active:hover, 290 | .list-group-item.active:focus { 291 | text-shadow: 0 -1px 0 #3071a9; 292 | background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); 293 | background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); 294 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); 295 | background-repeat: repeat-x; 296 | border-color: #3278b3; 297 | } 298 | .panel { 299 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); 300 | box-shadow: 0 1px 2px rgba(0, 0, 0, .05); 301 | } 302 | .panel-default > .panel-heading { 303 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); 304 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); 305 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); 306 | background-repeat: repeat-x; 307 | } 308 | .panel-primary > .panel-heading { 309 | background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); 310 | background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); 311 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); 312 | background-repeat: repeat-x; 313 | } 314 | .panel-success > .panel-heading { 315 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); 316 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); 317 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); 318 | background-repeat: repeat-x; 319 | } 320 | .panel-info > .panel-heading { 321 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); 322 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); 323 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); 324 | background-repeat: repeat-x; 325 | } 326 | .panel-warning > .panel-heading { 327 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); 328 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); 329 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); 330 | background-repeat: repeat-x; 331 | } 332 | .panel-danger > .panel-heading { 333 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); 334 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); 335 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); 336 | background-repeat: repeat-x; 337 | } 338 | .well { 339 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); 340 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); 341 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); 342 | background-repeat: repeat-x; 343 | border-color: #dcdcdc; 344 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); 345 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); 346 | } 347 | /*# sourceMappingURL=bootstrap-theme.css.map */ 348 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | @fa-font-path: "../fonts"; 5 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts"; // for referencing Bootstrap CDN font files directly 6 | @fa-css-prefix: fa; 7 | @fa-version: "4.2.0"; 8 | @fa-border-color: #eee; 9 | @fa-inverse: #fff; 10 | @fa-li-width: (30em / 14); 11 | 12 | @fa-var-adjust: "\f042"; 13 | @fa-var-adn: "\f170"; 14 | @fa-var-align-center: "\f037"; 15 | @fa-var-align-justify: "\f039"; 16 | @fa-var-align-left: "\f036"; 17 | @fa-var-align-right: "\f038"; 18 | @fa-var-ambulance: "\f0f9"; 19 | @fa-var-anchor: "\f13d"; 20 | @fa-var-android: "\f17b"; 21 | @fa-var-angellist: "\f209"; 22 | @fa-var-angle-double-down: "\f103"; 23 | @fa-var-angle-double-left: "\f100"; 24 | @fa-var-angle-double-right: "\f101"; 25 | @fa-var-angle-double-up: "\f102"; 26 | @fa-var-angle-down: "\f107"; 27 | @fa-var-angle-left: "\f104"; 28 | @fa-var-angle-right: "\f105"; 29 | @fa-var-angle-up: "\f106"; 30 | @fa-var-apple: "\f179"; 31 | @fa-var-archive: "\f187"; 32 | @fa-var-area-chart: "\f1fe"; 33 | @fa-var-arrow-circle-down: "\f0ab"; 34 | @fa-var-arrow-circle-left: "\f0a8"; 35 | @fa-var-arrow-circle-o-down: "\f01a"; 36 | @fa-var-arrow-circle-o-left: "\f190"; 37 | @fa-var-arrow-circle-o-right: "\f18e"; 38 | @fa-var-arrow-circle-o-up: "\f01b"; 39 | @fa-var-arrow-circle-right: "\f0a9"; 40 | @fa-var-arrow-circle-up: "\f0aa"; 41 | @fa-var-arrow-down: "\f063"; 42 | @fa-var-arrow-left: "\f060"; 43 | @fa-var-arrow-right: "\f061"; 44 | @fa-var-arrow-up: "\f062"; 45 | @fa-var-arrows: "\f047"; 46 | @fa-var-arrows-alt: "\f0b2"; 47 | @fa-var-arrows-h: "\f07e"; 48 | @fa-var-arrows-v: "\f07d"; 49 | @fa-var-asterisk: "\f069"; 50 | @fa-var-at: "\f1fa"; 51 | @fa-var-automobile: "\f1b9"; 52 | @fa-var-backward: "\f04a"; 53 | @fa-var-ban: "\f05e"; 54 | @fa-var-bank: "\f19c"; 55 | @fa-var-bar-chart: "\f080"; 56 | @fa-var-bar-chart-o: "\f080"; 57 | @fa-var-barcode: "\f02a"; 58 | @fa-var-bars: "\f0c9"; 59 | @fa-var-beer: "\f0fc"; 60 | @fa-var-behance: "\f1b4"; 61 | @fa-var-behance-square: "\f1b5"; 62 | @fa-var-bell: "\f0f3"; 63 | @fa-var-bell-o: "\f0a2"; 64 | @fa-var-bell-slash: "\f1f6"; 65 | @fa-var-bell-slash-o: "\f1f7"; 66 | @fa-var-bicycle: "\f206"; 67 | @fa-var-binoculars: "\f1e5"; 68 | @fa-var-birthday-cake: "\f1fd"; 69 | @fa-var-bitbucket: "\f171"; 70 | @fa-var-bitbucket-square: "\f172"; 71 | @fa-var-bitcoin: "\f15a"; 72 | @fa-var-bold: "\f032"; 73 | @fa-var-bolt: "\f0e7"; 74 | @fa-var-bomb: "\f1e2"; 75 | @fa-var-book: "\f02d"; 76 | @fa-var-bookmark: "\f02e"; 77 | @fa-var-bookmark-o: "\f097"; 78 | @fa-var-briefcase: "\f0b1"; 79 | @fa-var-btc: "\f15a"; 80 | @fa-var-bug: "\f188"; 81 | @fa-var-building: "\f1ad"; 82 | @fa-var-building-o: "\f0f7"; 83 | @fa-var-bullhorn: "\f0a1"; 84 | @fa-var-bullseye: "\f140"; 85 | @fa-var-bus: "\f207"; 86 | @fa-var-cab: "\f1ba"; 87 | @fa-var-calculator: "\f1ec"; 88 | @fa-var-calendar: "\f073"; 89 | @fa-var-calendar-o: "\f133"; 90 | @fa-var-camera: "\f030"; 91 | @fa-var-camera-retro: "\f083"; 92 | @fa-var-car: "\f1b9"; 93 | @fa-var-caret-down: "\f0d7"; 94 | @fa-var-caret-left: "\f0d9"; 95 | @fa-var-caret-right: "\f0da"; 96 | @fa-var-caret-square-o-down: "\f150"; 97 | @fa-var-caret-square-o-left: "\f191"; 98 | @fa-var-caret-square-o-right: "\f152"; 99 | @fa-var-caret-square-o-up: "\f151"; 100 | @fa-var-caret-up: "\f0d8"; 101 | @fa-var-cc: "\f20a"; 102 | @fa-var-cc-amex: "\f1f3"; 103 | @fa-var-cc-discover: "\f1f2"; 104 | @fa-var-cc-mastercard: "\f1f1"; 105 | @fa-var-cc-paypal: "\f1f4"; 106 | @fa-var-cc-stripe: "\f1f5"; 107 | @fa-var-cc-visa: "\f1f0"; 108 | @fa-var-certificate: "\f0a3"; 109 | @fa-var-chain: "\f0c1"; 110 | @fa-var-chain-broken: "\f127"; 111 | @fa-var-check: "\f00c"; 112 | @fa-var-check-circle: "\f058"; 113 | @fa-var-check-circle-o: "\f05d"; 114 | @fa-var-check-square: "\f14a"; 115 | @fa-var-check-square-o: "\f046"; 116 | @fa-var-chevron-circle-down: "\f13a"; 117 | @fa-var-chevron-circle-left: "\f137"; 118 | @fa-var-chevron-circle-right: "\f138"; 119 | @fa-var-chevron-circle-up: "\f139"; 120 | @fa-var-chevron-down: "\f078"; 121 | @fa-var-chevron-left: "\f053"; 122 | @fa-var-chevron-right: "\f054"; 123 | @fa-var-chevron-up: "\f077"; 124 | @fa-var-child: "\f1ae"; 125 | @fa-var-circle: "\f111"; 126 | @fa-var-circle-o: "\f10c"; 127 | @fa-var-circle-o-notch: "\f1ce"; 128 | @fa-var-circle-thin: "\f1db"; 129 | @fa-var-clipboard: "\f0ea"; 130 | @fa-var-clock-o: "\f017"; 131 | @fa-var-close: "\f00d"; 132 | @fa-var-cloud: "\f0c2"; 133 | @fa-var-cloud-download: "\f0ed"; 134 | @fa-var-cloud-upload: "\f0ee"; 135 | @fa-var-cny: "\f157"; 136 | @fa-var-code: "\f121"; 137 | @fa-var-code-fork: "\f126"; 138 | @fa-var-codepen: "\f1cb"; 139 | @fa-var-coffee: "\f0f4"; 140 | @fa-var-cog: "\f013"; 141 | @fa-var-cogs: "\f085"; 142 | @fa-var-columns: "\f0db"; 143 | @fa-var-comment: "\f075"; 144 | @fa-var-comment-o: "\f0e5"; 145 | @fa-var-comments: "\f086"; 146 | @fa-var-comments-o: "\f0e6"; 147 | @fa-var-compass: "\f14e"; 148 | @fa-var-compress: "\f066"; 149 | @fa-var-copy: "\f0c5"; 150 | @fa-var-copyright: "\f1f9"; 151 | @fa-var-credit-card: "\f09d"; 152 | @fa-var-crop: "\f125"; 153 | @fa-var-crosshairs: "\f05b"; 154 | @fa-var-css3: "\f13c"; 155 | @fa-var-cube: "\f1b2"; 156 | @fa-var-cubes: "\f1b3"; 157 | @fa-var-cut: "\f0c4"; 158 | @fa-var-cutlery: "\f0f5"; 159 | @fa-var-dashboard: "\f0e4"; 160 | @fa-var-database: "\f1c0"; 161 | @fa-var-dedent: "\f03b"; 162 | @fa-var-delicious: "\f1a5"; 163 | @fa-var-desktop: "\f108"; 164 | @fa-var-deviantart: "\f1bd"; 165 | @fa-var-digg: "\f1a6"; 166 | @fa-var-dollar: "\f155"; 167 | @fa-var-dot-circle-o: "\f192"; 168 | @fa-var-download: "\f019"; 169 | @fa-var-dribbble: "\f17d"; 170 | @fa-var-dropbox: "\f16b"; 171 | @fa-var-drupal: "\f1a9"; 172 | @fa-var-edit: "\f044"; 173 | @fa-var-eject: "\f052"; 174 | @fa-var-ellipsis-h: "\f141"; 175 | @fa-var-ellipsis-v: "\f142"; 176 | @fa-var-empire: "\f1d1"; 177 | @fa-var-envelope: "\f0e0"; 178 | @fa-var-envelope-o: "\f003"; 179 | @fa-var-envelope-square: "\f199"; 180 | @fa-var-eraser: "\f12d"; 181 | @fa-var-eur: "\f153"; 182 | @fa-var-euro: "\f153"; 183 | @fa-var-exchange: "\f0ec"; 184 | @fa-var-exclamation: "\f12a"; 185 | @fa-var-exclamation-circle: "\f06a"; 186 | @fa-var-exclamation-triangle: "\f071"; 187 | @fa-var-expand: "\f065"; 188 | @fa-var-external-link: "\f08e"; 189 | @fa-var-external-link-square: "\f14c"; 190 | @fa-var-eye: "\f06e"; 191 | @fa-var-eye-slash: "\f070"; 192 | @fa-var-eyedropper: "\f1fb"; 193 | @fa-var-facebook: "\f09a"; 194 | @fa-var-facebook-square: "\f082"; 195 | @fa-var-fast-backward: "\f049"; 196 | @fa-var-fast-forward: "\f050"; 197 | @fa-var-fax: "\f1ac"; 198 | @fa-var-female: "\f182"; 199 | @fa-var-fighter-jet: "\f0fb"; 200 | @fa-var-file: "\f15b"; 201 | @fa-var-file-archive-o: "\f1c6"; 202 | @fa-var-file-audio-o: "\f1c7"; 203 | @fa-var-file-code-o: "\f1c9"; 204 | @fa-var-file-excel-o: "\f1c3"; 205 | @fa-var-file-image-o: "\f1c5"; 206 | @fa-var-file-movie-o: "\f1c8"; 207 | @fa-var-file-o: "\f016"; 208 | @fa-var-file-pdf-o: "\f1c1"; 209 | @fa-var-file-photo-o: "\f1c5"; 210 | @fa-var-file-picture-o: "\f1c5"; 211 | @fa-var-file-powerpoint-o: "\f1c4"; 212 | @fa-var-file-sound-o: "\f1c7"; 213 | @fa-var-file-text: "\f15c"; 214 | @fa-var-file-text-o: "\f0f6"; 215 | @fa-var-file-video-o: "\f1c8"; 216 | @fa-var-file-word-o: "\f1c2"; 217 | @fa-var-file-zip-o: "\f1c6"; 218 | @fa-var-files-o: "\f0c5"; 219 | @fa-var-film: "\f008"; 220 | @fa-var-filter: "\f0b0"; 221 | @fa-var-fire: "\f06d"; 222 | @fa-var-fire-extinguisher: "\f134"; 223 | @fa-var-flag: "\f024"; 224 | @fa-var-flag-checkered: "\f11e"; 225 | @fa-var-flag-o: "\f11d"; 226 | @fa-var-flash: "\f0e7"; 227 | @fa-var-flask: "\f0c3"; 228 | @fa-var-flickr: "\f16e"; 229 | @fa-var-floppy-o: "\f0c7"; 230 | @fa-var-folder: "\f07b"; 231 | @fa-var-folder-o: "\f114"; 232 | @fa-var-folder-open: "\f07c"; 233 | @fa-var-folder-open-o: "\f115"; 234 | @fa-var-font: "\f031"; 235 | @fa-var-forward: "\f04e"; 236 | @fa-var-foursquare: "\f180"; 237 | @fa-var-frown-o: "\f119"; 238 | @fa-var-futbol-o: "\f1e3"; 239 | @fa-var-gamepad: "\f11b"; 240 | @fa-var-gavel: "\f0e3"; 241 | @fa-var-gbp: "\f154"; 242 | @fa-var-ge: "\f1d1"; 243 | @fa-var-gear: "\f013"; 244 | @fa-var-gears: "\f085"; 245 | @fa-var-gift: "\f06b"; 246 | @fa-var-git: "\f1d3"; 247 | @fa-var-git-square: "\f1d2"; 248 | @fa-var-github: "\f09b"; 249 | @fa-var-github-alt: "\f113"; 250 | @fa-var-github-square: "\f092"; 251 | @fa-var-gittip: "\f184"; 252 | @fa-var-glass: "\f000"; 253 | @fa-var-globe: "\f0ac"; 254 | @fa-var-google: "\f1a0"; 255 | @fa-var-google-plus: "\f0d5"; 256 | @fa-var-google-plus-square: "\f0d4"; 257 | @fa-var-google-wallet: "\f1ee"; 258 | @fa-var-graduation-cap: "\f19d"; 259 | @fa-var-group: "\f0c0"; 260 | @fa-var-h-square: "\f0fd"; 261 | @fa-var-hacker-news: "\f1d4"; 262 | @fa-var-hand-o-down: "\f0a7"; 263 | @fa-var-hand-o-left: "\f0a5"; 264 | @fa-var-hand-o-right: "\f0a4"; 265 | @fa-var-hand-o-up: "\f0a6"; 266 | @fa-var-hdd-o: "\f0a0"; 267 | @fa-var-header: "\f1dc"; 268 | @fa-var-headphones: "\f025"; 269 | @fa-var-heart: "\f004"; 270 | @fa-var-heart-o: "\f08a"; 271 | @fa-var-history: "\f1da"; 272 | @fa-var-home: "\f015"; 273 | @fa-var-hospital-o: "\f0f8"; 274 | @fa-var-html5: "\f13b"; 275 | @fa-var-ils: "\f20b"; 276 | @fa-var-image: "\f03e"; 277 | @fa-var-inbox: "\f01c"; 278 | @fa-var-indent: "\f03c"; 279 | @fa-var-info: "\f129"; 280 | @fa-var-info-circle: "\f05a"; 281 | @fa-var-inr: "\f156"; 282 | @fa-var-instagram: "\f16d"; 283 | @fa-var-institution: "\f19c"; 284 | @fa-var-ioxhost: "\f208"; 285 | @fa-var-italic: "\f033"; 286 | @fa-var-joomla: "\f1aa"; 287 | @fa-var-jpy: "\f157"; 288 | @fa-var-jsfiddle: "\f1cc"; 289 | @fa-var-key: "\f084"; 290 | @fa-var-keyboard-o: "\f11c"; 291 | @fa-var-krw: "\f159"; 292 | @fa-var-language: "\f1ab"; 293 | @fa-var-laptop: "\f109"; 294 | @fa-var-lastfm: "\f202"; 295 | @fa-var-lastfm-square: "\f203"; 296 | @fa-var-leaf: "\f06c"; 297 | @fa-var-legal: "\f0e3"; 298 | @fa-var-lemon-o: "\f094"; 299 | @fa-var-level-down: "\f149"; 300 | @fa-var-level-up: "\f148"; 301 | @fa-var-life-bouy: "\f1cd"; 302 | @fa-var-life-buoy: "\f1cd"; 303 | @fa-var-life-ring: "\f1cd"; 304 | @fa-var-life-saver: "\f1cd"; 305 | @fa-var-lightbulb-o: "\f0eb"; 306 | @fa-var-line-chart: "\f201"; 307 | @fa-var-link: "\f0c1"; 308 | @fa-var-linkedin: "\f0e1"; 309 | @fa-var-linkedin-square: "\f08c"; 310 | @fa-var-linux: "\f17c"; 311 | @fa-var-list: "\f03a"; 312 | @fa-var-list-alt: "\f022"; 313 | @fa-var-list-ol: "\f0cb"; 314 | @fa-var-list-ul: "\f0ca"; 315 | @fa-var-location-arrow: "\f124"; 316 | @fa-var-lock: "\f023"; 317 | @fa-var-long-arrow-down: "\f175"; 318 | @fa-var-long-arrow-left: "\f177"; 319 | @fa-var-long-arrow-right: "\f178"; 320 | @fa-var-long-arrow-up: "\f176"; 321 | @fa-var-magic: "\f0d0"; 322 | @fa-var-magnet: "\f076"; 323 | @fa-var-mail-forward: "\f064"; 324 | @fa-var-mail-reply: "\f112"; 325 | @fa-var-mail-reply-all: "\f122"; 326 | @fa-var-male: "\f183"; 327 | @fa-var-map-marker: "\f041"; 328 | @fa-var-maxcdn: "\f136"; 329 | @fa-var-meanpath: "\f20c"; 330 | @fa-var-medkit: "\f0fa"; 331 | @fa-var-meh-o: "\f11a"; 332 | @fa-var-microphone: "\f130"; 333 | @fa-var-microphone-slash: "\f131"; 334 | @fa-var-minus: "\f068"; 335 | @fa-var-minus-circle: "\f056"; 336 | @fa-var-minus-square: "\f146"; 337 | @fa-var-minus-square-o: "\f147"; 338 | @fa-var-mobile: "\f10b"; 339 | @fa-var-mobile-phone: "\f10b"; 340 | @fa-var-money: "\f0d6"; 341 | @fa-var-moon-o: "\f186"; 342 | @fa-var-mortar-board: "\f19d"; 343 | @fa-var-music: "\f001"; 344 | @fa-var-navicon: "\f0c9"; 345 | @fa-var-newspaper-o: "\f1ea"; 346 | @fa-var-openid: "\f19b"; 347 | @fa-var-outdent: "\f03b"; 348 | @fa-var-pagelines: "\f18c"; 349 | @fa-var-paint-brush: "\f1fc"; 350 | @fa-var-paper-plane: "\f1d8"; 351 | @fa-var-paper-plane-o: "\f1d9"; 352 | @fa-var-paperclip: "\f0c6"; 353 | @fa-var-paragraph: "\f1dd"; 354 | @fa-var-paste: "\f0ea"; 355 | @fa-var-pause: "\f04c"; 356 | @fa-var-paw: "\f1b0"; 357 | @fa-var-paypal: "\f1ed"; 358 | @fa-var-pencil: "\f040"; 359 | @fa-var-pencil-square: "\f14b"; 360 | @fa-var-pencil-square-o: "\f044"; 361 | @fa-var-phone: "\f095"; 362 | @fa-var-phone-square: "\f098"; 363 | @fa-var-photo: "\f03e"; 364 | @fa-var-picture-o: "\f03e"; 365 | @fa-var-pie-chart: "\f200"; 366 | @fa-var-pied-piper: "\f1a7"; 367 | @fa-var-pied-piper-alt: "\f1a8"; 368 | @fa-var-pinterest: "\f0d2"; 369 | @fa-var-pinterest-square: "\f0d3"; 370 | @fa-var-plane: "\f072"; 371 | @fa-var-play: "\f04b"; 372 | @fa-var-play-circle: "\f144"; 373 | @fa-var-play-circle-o: "\f01d"; 374 | @fa-var-plug: "\f1e6"; 375 | @fa-var-plus: "\f067"; 376 | @fa-var-plus-circle: "\f055"; 377 | @fa-var-plus-square: "\f0fe"; 378 | @fa-var-plus-square-o: "\f196"; 379 | @fa-var-power-off: "\f011"; 380 | @fa-var-print: "\f02f"; 381 | @fa-var-puzzle-piece: "\f12e"; 382 | @fa-var-qq: "\f1d6"; 383 | @fa-var-qrcode: "\f029"; 384 | @fa-var-question: "\f128"; 385 | @fa-var-question-circle: "\f059"; 386 | @fa-var-quote-left: "\f10d"; 387 | @fa-var-quote-right: "\f10e"; 388 | @fa-var-ra: "\f1d0"; 389 | @fa-var-random: "\f074"; 390 | @fa-var-rebel: "\f1d0"; 391 | @fa-var-recycle: "\f1b8"; 392 | @fa-var-reddit: "\f1a1"; 393 | @fa-var-reddit-square: "\f1a2"; 394 | @fa-var-refresh: "\f021"; 395 | @fa-var-remove: "\f00d"; 396 | @fa-var-renren: "\f18b"; 397 | @fa-var-reorder: "\f0c9"; 398 | @fa-var-repeat: "\f01e"; 399 | @fa-var-reply: "\f112"; 400 | @fa-var-reply-all: "\f122"; 401 | @fa-var-retweet: "\f079"; 402 | @fa-var-rmb: "\f157"; 403 | @fa-var-road: "\f018"; 404 | @fa-var-rocket: "\f135"; 405 | @fa-var-rotate-left: "\f0e2"; 406 | @fa-var-rotate-right: "\f01e"; 407 | @fa-var-rouble: "\f158"; 408 | @fa-var-rss: "\f09e"; 409 | @fa-var-rss-square: "\f143"; 410 | @fa-var-rub: "\f158"; 411 | @fa-var-ruble: "\f158"; 412 | @fa-var-rupee: "\f156"; 413 | @fa-var-save: "\f0c7"; 414 | @fa-var-scissors: "\f0c4"; 415 | @fa-var-search: "\f002"; 416 | @fa-var-search-minus: "\f010"; 417 | @fa-var-search-plus: "\f00e"; 418 | @fa-var-send: "\f1d8"; 419 | @fa-var-send-o: "\f1d9"; 420 | @fa-var-share: "\f064"; 421 | @fa-var-share-alt: "\f1e0"; 422 | @fa-var-share-alt-square: "\f1e1"; 423 | @fa-var-share-square: "\f14d"; 424 | @fa-var-share-square-o: "\f045"; 425 | @fa-var-shekel: "\f20b"; 426 | @fa-var-sheqel: "\f20b"; 427 | @fa-var-shield: "\f132"; 428 | @fa-var-shopping-cart: "\f07a"; 429 | @fa-var-sign-in: "\f090"; 430 | @fa-var-sign-out: "\f08b"; 431 | @fa-var-signal: "\f012"; 432 | @fa-var-sitemap: "\f0e8"; 433 | @fa-var-skype: "\f17e"; 434 | @fa-var-slack: "\f198"; 435 | @fa-var-sliders: "\f1de"; 436 | @fa-var-slideshare: "\f1e7"; 437 | @fa-var-smile-o: "\f118"; 438 | @fa-var-soccer-ball-o: "\f1e3"; 439 | @fa-var-sort: "\f0dc"; 440 | @fa-var-sort-alpha-asc: "\f15d"; 441 | @fa-var-sort-alpha-desc: "\f15e"; 442 | @fa-var-sort-amount-asc: "\f160"; 443 | @fa-var-sort-amount-desc: "\f161"; 444 | @fa-var-sort-asc: "\f0de"; 445 | @fa-var-sort-desc: "\f0dd"; 446 | @fa-var-sort-down: "\f0dd"; 447 | @fa-var-sort-numeric-asc: "\f162"; 448 | @fa-var-sort-numeric-desc: "\f163"; 449 | @fa-var-sort-up: "\f0de"; 450 | @fa-var-soundcloud: "\f1be"; 451 | @fa-var-space-shuttle: "\f197"; 452 | @fa-var-spinner: "\f110"; 453 | @fa-var-spoon: "\f1b1"; 454 | @fa-var-spotify: "\f1bc"; 455 | @fa-var-square: "\f0c8"; 456 | @fa-var-square-o: "\f096"; 457 | @fa-var-stack-exchange: "\f18d"; 458 | @fa-var-stack-overflow: "\f16c"; 459 | @fa-var-star: "\f005"; 460 | @fa-var-star-half: "\f089"; 461 | @fa-var-star-half-empty: "\f123"; 462 | @fa-var-star-half-full: "\f123"; 463 | @fa-var-star-half-o: "\f123"; 464 | @fa-var-star-o: "\f006"; 465 | @fa-var-steam: "\f1b6"; 466 | @fa-var-steam-square: "\f1b7"; 467 | @fa-var-step-backward: "\f048"; 468 | @fa-var-step-forward: "\f051"; 469 | @fa-var-stethoscope: "\f0f1"; 470 | @fa-var-stop: "\f04d"; 471 | @fa-var-strikethrough: "\f0cc"; 472 | @fa-var-stumbleupon: "\f1a4"; 473 | @fa-var-stumbleupon-circle: "\f1a3"; 474 | @fa-var-subscript: "\f12c"; 475 | @fa-var-suitcase: "\f0f2"; 476 | @fa-var-sun-o: "\f185"; 477 | @fa-var-superscript: "\f12b"; 478 | @fa-var-support: "\f1cd"; 479 | @fa-var-table: "\f0ce"; 480 | @fa-var-tablet: "\f10a"; 481 | @fa-var-tachometer: "\f0e4"; 482 | @fa-var-tag: "\f02b"; 483 | @fa-var-tags: "\f02c"; 484 | @fa-var-tasks: "\f0ae"; 485 | @fa-var-taxi: "\f1ba"; 486 | @fa-var-tencent-weibo: "\f1d5"; 487 | @fa-var-terminal: "\f120"; 488 | @fa-var-text-height: "\f034"; 489 | @fa-var-text-width: "\f035"; 490 | @fa-var-th: "\f00a"; 491 | @fa-var-th-large: "\f009"; 492 | @fa-var-th-list: "\f00b"; 493 | @fa-var-thumb-tack: "\f08d"; 494 | @fa-var-thumbs-down: "\f165"; 495 | @fa-var-thumbs-o-down: "\f088"; 496 | @fa-var-thumbs-o-up: "\f087"; 497 | @fa-var-thumbs-up: "\f164"; 498 | @fa-var-ticket: "\f145"; 499 | @fa-var-times: "\f00d"; 500 | @fa-var-times-circle: "\f057"; 501 | @fa-var-times-circle-o: "\f05c"; 502 | @fa-var-tint: "\f043"; 503 | @fa-var-toggle-down: "\f150"; 504 | @fa-var-toggle-left: "\f191"; 505 | @fa-var-toggle-off: "\f204"; 506 | @fa-var-toggle-on: "\f205"; 507 | @fa-var-toggle-right: "\f152"; 508 | @fa-var-toggle-up: "\f151"; 509 | @fa-var-trash: "\f1f8"; 510 | @fa-var-trash-o: "\f014"; 511 | @fa-var-tree: "\f1bb"; 512 | @fa-var-trello: "\f181"; 513 | @fa-var-trophy: "\f091"; 514 | @fa-var-truck: "\f0d1"; 515 | @fa-var-try: "\f195"; 516 | @fa-var-tty: "\f1e4"; 517 | @fa-var-tumblr: "\f173"; 518 | @fa-var-tumblr-square: "\f174"; 519 | @fa-var-turkish-lira: "\f195"; 520 | @fa-var-twitch: "\f1e8"; 521 | @fa-var-twitter: "\f099"; 522 | @fa-var-twitter-square: "\f081"; 523 | @fa-var-umbrella: "\f0e9"; 524 | @fa-var-underline: "\f0cd"; 525 | @fa-var-undo: "\f0e2"; 526 | @fa-var-university: "\f19c"; 527 | @fa-var-unlink: "\f127"; 528 | @fa-var-unlock: "\f09c"; 529 | @fa-var-unlock-alt: "\f13e"; 530 | @fa-var-unsorted: "\f0dc"; 531 | @fa-var-upload: "\f093"; 532 | @fa-var-usd: "\f155"; 533 | @fa-var-user: "\f007"; 534 | @fa-var-user-md: "\f0f0"; 535 | @fa-var-users: "\f0c0"; 536 | @fa-var-video-camera: "\f03d"; 537 | @fa-var-vimeo-square: "\f194"; 538 | @fa-var-vine: "\f1ca"; 539 | @fa-var-vk: "\f189"; 540 | @fa-var-volume-down: "\f027"; 541 | @fa-var-volume-off: "\f026"; 542 | @fa-var-volume-up: "\f028"; 543 | @fa-var-warning: "\f071"; 544 | @fa-var-wechat: "\f1d7"; 545 | @fa-var-weibo: "\f18a"; 546 | @fa-var-weixin: "\f1d7"; 547 | @fa-var-wheelchair: "\f193"; 548 | @fa-var-wifi: "\f1eb"; 549 | @fa-var-windows: "\f17a"; 550 | @fa-var-won: "\f159"; 551 | @fa-var-wordpress: "\f19a"; 552 | @fa-var-wrench: "\f0ad"; 553 | @fa-var-xing: "\f168"; 554 | @fa-var-xing-square: "\f169"; 555 | @fa-var-yahoo: "\f19e"; 556 | @fa-var-yelp: "\f1e9"; 557 | @fa-var-yen: "\f157"; 558 | @fa-var-youtube: "\f167"; 559 | @fa-var-youtube-play: "\f16a"; 560 | @fa-var-youtube-square: "\f166"; 561 | 562 | -------------------------------------------------------------------------------- /custom_example/cust_tpl/font-awesome/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | $fa-font-path: "../fonts" !default; 5 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts" !default; // for referencing Bootstrap CDN font files directly 6 | $fa-css-prefix: fa !default; 7 | $fa-version: "4.2.0" !default; 8 | $fa-border-color: #eee !default; 9 | $fa-inverse: #fff !default; 10 | $fa-li-width: (30em / 14) !default; 11 | 12 | $fa-var-adjust: "\f042"; 13 | $fa-var-adn: "\f170"; 14 | $fa-var-align-center: "\f037"; 15 | $fa-var-align-justify: "\f039"; 16 | $fa-var-align-left: "\f036"; 17 | $fa-var-align-right: "\f038"; 18 | $fa-var-ambulance: "\f0f9"; 19 | $fa-var-anchor: "\f13d"; 20 | $fa-var-android: "\f17b"; 21 | $fa-var-angellist: "\f209"; 22 | $fa-var-angle-double-down: "\f103"; 23 | $fa-var-angle-double-left: "\f100"; 24 | $fa-var-angle-double-right: "\f101"; 25 | $fa-var-angle-double-up: "\f102"; 26 | $fa-var-angle-down: "\f107"; 27 | $fa-var-angle-left: "\f104"; 28 | $fa-var-angle-right: "\f105"; 29 | $fa-var-angle-up: "\f106"; 30 | $fa-var-apple: "\f179"; 31 | $fa-var-archive: "\f187"; 32 | $fa-var-area-chart: "\f1fe"; 33 | $fa-var-arrow-circle-down: "\f0ab"; 34 | $fa-var-arrow-circle-left: "\f0a8"; 35 | $fa-var-arrow-circle-o-down: "\f01a"; 36 | $fa-var-arrow-circle-o-left: "\f190"; 37 | $fa-var-arrow-circle-o-right: "\f18e"; 38 | $fa-var-arrow-circle-o-up: "\f01b"; 39 | $fa-var-arrow-circle-right: "\f0a9"; 40 | $fa-var-arrow-circle-up: "\f0aa"; 41 | $fa-var-arrow-down: "\f063"; 42 | $fa-var-arrow-left: "\f060"; 43 | $fa-var-arrow-right: "\f061"; 44 | $fa-var-arrow-up: "\f062"; 45 | $fa-var-arrows: "\f047"; 46 | $fa-var-arrows-alt: "\f0b2"; 47 | $fa-var-arrows-h: "\f07e"; 48 | $fa-var-arrows-v: "\f07d"; 49 | $fa-var-asterisk: "\f069"; 50 | $fa-var-at: "\f1fa"; 51 | $fa-var-automobile: "\f1b9"; 52 | $fa-var-backward: "\f04a"; 53 | $fa-var-ban: "\f05e"; 54 | $fa-var-bank: "\f19c"; 55 | $fa-var-bar-chart: "\f080"; 56 | $fa-var-bar-chart-o: "\f080"; 57 | $fa-var-barcode: "\f02a"; 58 | $fa-var-bars: "\f0c9"; 59 | $fa-var-beer: "\f0fc"; 60 | $fa-var-behance: "\f1b4"; 61 | $fa-var-behance-square: "\f1b5"; 62 | $fa-var-bell: "\f0f3"; 63 | $fa-var-bell-o: "\f0a2"; 64 | $fa-var-bell-slash: "\f1f6"; 65 | $fa-var-bell-slash-o: "\f1f7"; 66 | $fa-var-bicycle: "\f206"; 67 | $fa-var-binoculars: "\f1e5"; 68 | $fa-var-birthday-cake: "\f1fd"; 69 | $fa-var-bitbucket: "\f171"; 70 | $fa-var-bitbucket-square: "\f172"; 71 | $fa-var-bitcoin: "\f15a"; 72 | $fa-var-bold: "\f032"; 73 | $fa-var-bolt: "\f0e7"; 74 | $fa-var-bomb: "\f1e2"; 75 | $fa-var-book: "\f02d"; 76 | $fa-var-bookmark: "\f02e"; 77 | $fa-var-bookmark-o: "\f097"; 78 | $fa-var-briefcase: "\f0b1"; 79 | $fa-var-btc: "\f15a"; 80 | $fa-var-bug: "\f188"; 81 | $fa-var-building: "\f1ad"; 82 | $fa-var-building-o: "\f0f7"; 83 | $fa-var-bullhorn: "\f0a1"; 84 | $fa-var-bullseye: "\f140"; 85 | $fa-var-bus: "\f207"; 86 | $fa-var-cab: "\f1ba"; 87 | $fa-var-calculator: "\f1ec"; 88 | $fa-var-calendar: "\f073"; 89 | $fa-var-calendar-o: "\f133"; 90 | $fa-var-camera: "\f030"; 91 | $fa-var-camera-retro: "\f083"; 92 | $fa-var-car: "\f1b9"; 93 | $fa-var-caret-down: "\f0d7"; 94 | $fa-var-caret-left: "\f0d9"; 95 | $fa-var-caret-right: "\f0da"; 96 | $fa-var-caret-square-o-down: "\f150"; 97 | $fa-var-caret-square-o-left: "\f191"; 98 | $fa-var-caret-square-o-right: "\f152"; 99 | $fa-var-caret-square-o-up: "\f151"; 100 | $fa-var-caret-up: "\f0d8"; 101 | $fa-var-cc: "\f20a"; 102 | $fa-var-cc-amex: "\f1f3"; 103 | $fa-var-cc-discover: "\f1f2"; 104 | $fa-var-cc-mastercard: "\f1f1"; 105 | $fa-var-cc-paypal: "\f1f4"; 106 | $fa-var-cc-stripe: "\f1f5"; 107 | $fa-var-cc-visa: "\f1f0"; 108 | $fa-var-certificate: "\f0a3"; 109 | $fa-var-chain: "\f0c1"; 110 | $fa-var-chain-broken: "\f127"; 111 | $fa-var-check: "\f00c"; 112 | $fa-var-check-circle: "\f058"; 113 | $fa-var-check-circle-o: "\f05d"; 114 | $fa-var-check-square: "\f14a"; 115 | $fa-var-check-square-o: "\f046"; 116 | $fa-var-chevron-circle-down: "\f13a"; 117 | $fa-var-chevron-circle-left: "\f137"; 118 | $fa-var-chevron-circle-right: "\f138"; 119 | $fa-var-chevron-circle-up: "\f139"; 120 | $fa-var-chevron-down: "\f078"; 121 | $fa-var-chevron-left: "\f053"; 122 | $fa-var-chevron-right: "\f054"; 123 | $fa-var-chevron-up: "\f077"; 124 | $fa-var-child: "\f1ae"; 125 | $fa-var-circle: "\f111"; 126 | $fa-var-circle-o: "\f10c"; 127 | $fa-var-circle-o-notch: "\f1ce"; 128 | $fa-var-circle-thin: "\f1db"; 129 | $fa-var-clipboard: "\f0ea"; 130 | $fa-var-clock-o: "\f017"; 131 | $fa-var-close: "\f00d"; 132 | $fa-var-cloud: "\f0c2"; 133 | $fa-var-cloud-download: "\f0ed"; 134 | $fa-var-cloud-upload: "\f0ee"; 135 | $fa-var-cny: "\f157"; 136 | $fa-var-code: "\f121"; 137 | $fa-var-code-fork: "\f126"; 138 | $fa-var-codepen: "\f1cb"; 139 | $fa-var-coffee: "\f0f4"; 140 | $fa-var-cog: "\f013"; 141 | $fa-var-cogs: "\f085"; 142 | $fa-var-columns: "\f0db"; 143 | $fa-var-comment: "\f075"; 144 | $fa-var-comment-o: "\f0e5"; 145 | $fa-var-comments: "\f086"; 146 | $fa-var-comments-o: "\f0e6"; 147 | $fa-var-compass: "\f14e"; 148 | $fa-var-compress: "\f066"; 149 | $fa-var-copy: "\f0c5"; 150 | $fa-var-copyright: "\f1f9"; 151 | $fa-var-credit-card: "\f09d"; 152 | $fa-var-crop: "\f125"; 153 | $fa-var-crosshairs: "\f05b"; 154 | $fa-var-css3: "\f13c"; 155 | $fa-var-cube: "\f1b2"; 156 | $fa-var-cubes: "\f1b3"; 157 | $fa-var-cut: "\f0c4"; 158 | $fa-var-cutlery: "\f0f5"; 159 | $fa-var-dashboard: "\f0e4"; 160 | $fa-var-database: "\f1c0"; 161 | $fa-var-dedent: "\f03b"; 162 | $fa-var-delicious: "\f1a5"; 163 | $fa-var-desktop: "\f108"; 164 | $fa-var-deviantart: "\f1bd"; 165 | $fa-var-digg: "\f1a6"; 166 | $fa-var-dollar: "\f155"; 167 | $fa-var-dot-circle-o: "\f192"; 168 | $fa-var-download: "\f019"; 169 | $fa-var-dribbble: "\f17d"; 170 | $fa-var-dropbox: "\f16b"; 171 | $fa-var-drupal: "\f1a9"; 172 | $fa-var-edit: "\f044"; 173 | $fa-var-eject: "\f052"; 174 | $fa-var-ellipsis-h: "\f141"; 175 | $fa-var-ellipsis-v: "\f142"; 176 | $fa-var-empire: "\f1d1"; 177 | $fa-var-envelope: "\f0e0"; 178 | $fa-var-envelope-o: "\f003"; 179 | $fa-var-envelope-square: "\f199"; 180 | $fa-var-eraser: "\f12d"; 181 | $fa-var-eur: "\f153"; 182 | $fa-var-euro: "\f153"; 183 | $fa-var-exchange: "\f0ec"; 184 | $fa-var-exclamation: "\f12a"; 185 | $fa-var-exclamation-circle: "\f06a"; 186 | $fa-var-exclamation-triangle: "\f071"; 187 | $fa-var-expand: "\f065"; 188 | $fa-var-external-link: "\f08e"; 189 | $fa-var-external-link-square: "\f14c"; 190 | $fa-var-eye: "\f06e"; 191 | $fa-var-eye-slash: "\f070"; 192 | $fa-var-eyedropper: "\f1fb"; 193 | $fa-var-facebook: "\f09a"; 194 | $fa-var-facebook-square: "\f082"; 195 | $fa-var-fast-backward: "\f049"; 196 | $fa-var-fast-forward: "\f050"; 197 | $fa-var-fax: "\f1ac"; 198 | $fa-var-female: "\f182"; 199 | $fa-var-fighter-jet: "\f0fb"; 200 | $fa-var-file: "\f15b"; 201 | $fa-var-file-archive-o: "\f1c6"; 202 | $fa-var-file-audio-o: "\f1c7"; 203 | $fa-var-file-code-o: "\f1c9"; 204 | $fa-var-file-excel-o: "\f1c3"; 205 | $fa-var-file-image-o: "\f1c5"; 206 | $fa-var-file-movie-o: "\f1c8"; 207 | $fa-var-file-o: "\f016"; 208 | $fa-var-file-pdf-o: "\f1c1"; 209 | $fa-var-file-photo-o: "\f1c5"; 210 | $fa-var-file-picture-o: "\f1c5"; 211 | $fa-var-file-powerpoint-o: "\f1c4"; 212 | $fa-var-file-sound-o: "\f1c7"; 213 | $fa-var-file-text: "\f15c"; 214 | $fa-var-file-text-o: "\f0f6"; 215 | $fa-var-file-video-o: "\f1c8"; 216 | $fa-var-file-word-o: "\f1c2"; 217 | $fa-var-file-zip-o: "\f1c6"; 218 | $fa-var-files-o: "\f0c5"; 219 | $fa-var-film: "\f008"; 220 | $fa-var-filter: "\f0b0"; 221 | $fa-var-fire: "\f06d"; 222 | $fa-var-fire-extinguisher: "\f134"; 223 | $fa-var-flag: "\f024"; 224 | $fa-var-flag-checkered: "\f11e"; 225 | $fa-var-flag-o: "\f11d"; 226 | $fa-var-flash: "\f0e7"; 227 | $fa-var-flask: "\f0c3"; 228 | $fa-var-flickr: "\f16e"; 229 | $fa-var-floppy-o: "\f0c7"; 230 | $fa-var-folder: "\f07b"; 231 | $fa-var-folder-o: "\f114"; 232 | $fa-var-folder-open: "\f07c"; 233 | $fa-var-folder-open-o: "\f115"; 234 | $fa-var-font: "\f031"; 235 | $fa-var-forward: "\f04e"; 236 | $fa-var-foursquare: "\f180"; 237 | $fa-var-frown-o: "\f119"; 238 | $fa-var-futbol-o: "\f1e3"; 239 | $fa-var-gamepad: "\f11b"; 240 | $fa-var-gavel: "\f0e3"; 241 | $fa-var-gbp: "\f154"; 242 | $fa-var-ge: "\f1d1"; 243 | $fa-var-gear: "\f013"; 244 | $fa-var-gears: "\f085"; 245 | $fa-var-gift: "\f06b"; 246 | $fa-var-git: "\f1d3"; 247 | $fa-var-git-square: "\f1d2"; 248 | $fa-var-github: "\f09b"; 249 | $fa-var-github-alt: "\f113"; 250 | $fa-var-github-square: "\f092"; 251 | $fa-var-gittip: "\f184"; 252 | $fa-var-glass: "\f000"; 253 | $fa-var-globe: "\f0ac"; 254 | $fa-var-google: "\f1a0"; 255 | $fa-var-google-plus: "\f0d5"; 256 | $fa-var-google-plus-square: "\f0d4"; 257 | $fa-var-google-wallet: "\f1ee"; 258 | $fa-var-graduation-cap: "\f19d"; 259 | $fa-var-group: "\f0c0"; 260 | $fa-var-h-square: "\f0fd"; 261 | $fa-var-hacker-news: "\f1d4"; 262 | $fa-var-hand-o-down: "\f0a7"; 263 | $fa-var-hand-o-left: "\f0a5"; 264 | $fa-var-hand-o-right: "\f0a4"; 265 | $fa-var-hand-o-up: "\f0a6"; 266 | $fa-var-hdd-o: "\f0a0"; 267 | $fa-var-header: "\f1dc"; 268 | $fa-var-headphones: "\f025"; 269 | $fa-var-heart: "\f004"; 270 | $fa-var-heart-o: "\f08a"; 271 | $fa-var-history: "\f1da"; 272 | $fa-var-home: "\f015"; 273 | $fa-var-hospital-o: "\f0f8"; 274 | $fa-var-html5: "\f13b"; 275 | $fa-var-ils: "\f20b"; 276 | $fa-var-image: "\f03e"; 277 | $fa-var-inbox: "\f01c"; 278 | $fa-var-indent: "\f03c"; 279 | $fa-var-info: "\f129"; 280 | $fa-var-info-circle: "\f05a"; 281 | $fa-var-inr: "\f156"; 282 | $fa-var-instagram: "\f16d"; 283 | $fa-var-institution: "\f19c"; 284 | $fa-var-ioxhost: "\f208"; 285 | $fa-var-italic: "\f033"; 286 | $fa-var-joomla: "\f1aa"; 287 | $fa-var-jpy: "\f157"; 288 | $fa-var-jsfiddle: "\f1cc"; 289 | $fa-var-key: "\f084"; 290 | $fa-var-keyboard-o: "\f11c"; 291 | $fa-var-krw: "\f159"; 292 | $fa-var-language: "\f1ab"; 293 | $fa-var-laptop: "\f109"; 294 | $fa-var-lastfm: "\f202"; 295 | $fa-var-lastfm-square: "\f203"; 296 | $fa-var-leaf: "\f06c"; 297 | $fa-var-legal: "\f0e3"; 298 | $fa-var-lemon-o: "\f094"; 299 | $fa-var-level-down: "\f149"; 300 | $fa-var-level-up: "\f148"; 301 | $fa-var-life-bouy: "\f1cd"; 302 | $fa-var-life-buoy: "\f1cd"; 303 | $fa-var-life-ring: "\f1cd"; 304 | $fa-var-life-saver: "\f1cd"; 305 | $fa-var-lightbulb-o: "\f0eb"; 306 | $fa-var-line-chart: "\f201"; 307 | $fa-var-link: "\f0c1"; 308 | $fa-var-linkedin: "\f0e1"; 309 | $fa-var-linkedin-square: "\f08c"; 310 | $fa-var-linux: "\f17c"; 311 | $fa-var-list: "\f03a"; 312 | $fa-var-list-alt: "\f022"; 313 | $fa-var-list-ol: "\f0cb"; 314 | $fa-var-list-ul: "\f0ca"; 315 | $fa-var-location-arrow: "\f124"; 316 | $fa-var-lock: "\f023"; 317 | $fa-var-long-arrow-down: "\f175"; 318 | $fa-var-long-arrow-left: "\f177"; 319 | $fa-var-long-arrow-right: "\f178"; 320 | $fa-var-long-arrow-up: "\f176"; 321 | $fa-var-magic: "\f0d0"; 322 | $fa-var-magnet: "\f076"; 323 | $fa-var-mail-forward: "\f064"; 324 | $fa-var-mail-reply: "\f112"; 325 | $fa-var-mail-reply-all: "\f122"; 326 | $fa-var-male: "\f183"; 327 | $fa-var-map-marker: "\f041"; 328 | $fa-var-maxcdn: "\f136"; 329 | $fa-var-meanpath: "\f20c"; 330 | $fa-var-medkit: "\f0fa"; 331 | $fa-var-meh-o: "\f11a"; 332 | $fa-var-microphone: "\f130"; 333 | $fa-var-microphone-slash: "\f131"; 334 | $fa-var-minus: "\f068"; 335 | $fa-var-minus-circle: "\f056"; 336 | $fa-var-minus-square: "\f146"; 337 | $fa-var-minus-square-o: "\f147"; 338 | $fa-var-mobile: "\f10b"; 339 | $fa-var-mobile-phone: "\f10b"; 340 | $fa-var-money: "\f0d6"; 341 | $fa-var-moon-o: "\f186"; 342 | $fa-var-mortar-board: "\f19d"; 343 | $fa-var-music: "\f001"; 344 | $fa-var-navicon: "\f0c9"; 345 | $fa-var-newspaper-o: "\f1ea"; 346 | $fa-var-openid: "\f19b"; 347 | $fa-var-outdent: "\f03b"; 348 | $fa-var-pagelines: "\f18c"; 349 | $fa-var-paint-brush: "\f1fc"; 350 | $fa-var-paper-plane: "\f1d8"; 351 | $fa-var-paper-plane-o: "\f1d9"; 352 | $fa-var-paperclip: "\f0c6"; 353 | $fa-var-paragraph: "\f1dd"; 354 | $fa-var-paste: "\f0ea"; 355 | $fa-var-pause: "\f04c"; 356 | $fa-var-paw: "\f1b0"; 357 | $fa-var-paypal: "\f1ed"; 358 | $fa-var-pencil: "\f040"; 359 | $fa-var-pencil-square: "\f14b"; 360 | $fa-var-pencil-square-o: "\f044"; 361 | $fa-var-phone: "\f095"; 362 | $fa-var-phone-square: "\f098"; 363 | $fa-var-photo: "\f03e"; 364 | $fa-var-picture-o: "\f03e"; 365 | $fa-var-pie-chart: "\f200"; 366 | $fa-var-pied-piper: "\f1a7"; 367 | $fa-var-pied-piper-alt: "\f1a8"; 368 | $fa-var-pinterest: "\f0d2"; 369 | $fa-var-pinterest-square: "\f0d3"; 370 | $fa-var-plane: "\f072"; 371 | $fa-var-play: "\f04b"; 372 | $fa-var-play-circle: "\f144"; 373 | $fa-var-play-circle-o: "\f01d"; 374 | $fa-var-plug: "\f1e6"; 375 | $fa-var-plus: "\f067"; 376 | $fa-var-plus-circle: "\f055"; 377 | $fa-var-plus-square: "\f0fe"; 378 | $fa-var-plus-square-o: "\f196"; 379 | $fa-var-power-off: "\f011"; 380 | $fa-var-print: "\f02f"; 381 | $fa-var-puzzle-piece: "\f12e"; 382 | $fa-var-qq: "\f1d6"; 383 | $fa-var-qrcode: "\f029"; 384 | $fa-var-question: "\f128"; 385 | $fa-var-question-circle: "\f059"; 386 | $fa-var-quote-left: "\f10d"; 387 | $fa-var-quote-right: "\f10e"; 388 | $fa-var-ra: "\f1d0"; 389 | $fa-var-random: "\f074"; 390 | $fa-var-rebel: "\f1d0"; 391 | $fa-var-recycle: "\f1b8"; 392 | $fa-var-reddit: "\f1a1"; 393 | $fa-var-reddit-square: "\f1a2"; 394 | $fa-var-refresh: "\f021"; 395 | $fa-var-remove: "\f00d"; 396 | $fa-var-renren: "\f18b"; 397 | $fa-var-reorder: "\f0c9"; 398 | $fa-var-repeat: "\f01e"; 399 | $fa-var-reply: "\f112"; 400 | $fa-var-reply-all: "\f122"; 401 | $fa-var-retweet: "\f079"; 402 | $fa-var-rmb: "\f157"; 403 | $fa-var-road: "\f018"; 404 | $fa-var-rocket: "\f135"; 405 | $fa-var-rotate-left: "\f0e2"; 406 | $fa-var-rotate-right: "\f01e"; 407 | $fa-var-rouble: "\f158"; 408 | $fa-var-rss: "\f09e"; 409 | $fa-var-rss-square: "\f143"; 410 | $fa-var-rub: "\f158"; 411 | $fa-var-ruble: "\f158"; 412 | $fa-var-rupee: "\f156"; 413 | $fa-var-save: "\f0c7"; 414 | $fa-var-scissors: "\f0c4"; 415 | $fa-var-search: "\f002"; 416 | $fa-var-search-minus: "\f010"; 417 | $fa-var-search-plus: "\f00e"; 418 | $fa-var-send: "\f1d8"; 419 | $fa-var-send-o: "\f1d9"; 420 | $fa-var-share: "\f064"; 421 | $fa-var-share-alt: "\f1e0"; 422 | $fa-var-share-alt-square: "\f1e1"; 423 | $fa-var-share-square: "\f14d"; 424 | $fa-var-share-square-o: "\f045"; 425 | $fa-var-shekel: "\f20b"; 426 | $fa-var-sheqel: "\f20b"; 427 | $fa-var-shield: "\f132"; 428 | $fa-var-shopping-cart: "\f07a"; 429 | $fa-var-sign-in: "\f090"; 430 | $fa-var-sign-out: "\f08b"; 431 | $fa-var-signal: "\f012"; 432 | $fa-var-sitemap: "\f0e8"; 433 | $fa-var-skype: "\f17e"; 434 | $fa-var-slack: "\f198"; 435 | $fa-var-sliders: "\f1de"; 436 | $fa-var-slideshare: "\f1e7"; 437 | $fa-var-smile-o: "\f118"; 438 | $fa-var-soccer-ball-o: "\f1e3"; 439 | $fa-var-sort: "\f0dc"; 440 | $fa-var-sort-alpha-asc: "\f15d"; 441 | $fa-var-sort-alpha-desc: "\f15e"; 442 | $fa-var-sort-amount-asc: "\f160"; 443 | $fa-var-sort-amount-desc: "\f161"; 444 | $fa-var-sort-asc: "\f0de"; 445 | $fa-var-sort-desc: "\f0dd"; 446 | $fa-var-sort-down: "\f0dd"; 447 | $fa-var-sort-numeric-asc: "\f162"; 448 | $fa-var-sort-numeric-desc: "\f163"; 449 | $fa-var-sort-up: "\f0de"; 450 | $fa-var-soundcloud: "\f1be"; 451 | $fa-var-space-shuttle: "\f197"; 452 | $fa-var-spinner: "\f110"; 453 | $fa-var-spoon: "\f1b1"; 454 | $fa-var-spotify: "\f1bc"; 455 | $fa-var-square: "\f0c8"; 456 | $fa-var-square-o: "\f096"; 457 | $fa-var-stack-exchange: "\f18d"; 458 | $fa-var-stack-overflow: "\f16c"; 459 | $fa-var-star: "\f005"; 460 | $fa-var-star-half: "\f089"; 461 | $fa-var-star-half-empty: "\f123"; 462 | $fa-var-star-half-full: "\f123"; 463 | $fa-var-star-half-o: "\f123"; 464 | $fa-var-star-o: "\f006"; 465 | $fa-var-steam: "\f1b6"; 466 | $fa-var-steam-square: "\f1b7"; 467 | $fa-var-step-backward: "\f048"; 468 | $fa-var-step-forward: "\f051"; 469 | $fa-var-stethoscope: "\f0f1"; 470 | $fa-var-stop: "\f04d"; 471 | $fa-var-strikethrough: "\f0cc"; 472 | $fa-var-stumbleupon: "\f1a4"; 473 | $fa-var-stumbleupon-circle: "\f1a3"; 474 | $fa-var-subscript: "\f12c"; 475 | $fa-var-suitcase: "\f0f2"; 476 | $fa-var-sun-o: "\f185"; 477 | $fa-var-superscript: "\f12b"; 478 | $fa-var-support: "\f1cd"; 479 | $fa-var-table: "\f0ce"; 480 | $fa-var-tablet: "\f10a"; 481 | $fa-var-tachometer: "\f0e4"; 482 | $fa-var-tag: "\f02b"; 483 | $fa-var-tags: "\f02c"; 484 | $fa-var-tasks: "\f0ae"; 485 | $fa-var-taxi: "\f1ba"; 486 | $fa-var-tencent-weibo: "\f1d5"; 487 | $fa-var-terminal: "\f120"; 488 | $fa-var-text-height: "\f034"; 489 | $fa-var-text-width: "\f035"; 490 | $fa-var-th: "\f00a"; 491 | $fa-var-th-large: "\f009"; 492 | $fa-var-th-list: "\f00b"; 493 | $fa-var-thumb-tack: "\f08d"; 494 | $fa-var-thumbs-down: "\f165"; 495 | $fa-var-thumbs-o-down: "\f088"; 496 | $fa-var-thumbs-o-up: "\f087"; 497 | $fa-var-thumbs-up: "\f164"; 498 | $fa-var-ticket: "\f145"; 499 | $fa-var-times: "\f00d"; 500 | $fa-var-times-circle: "\f057"; 501 | $fa-var-times-circle-o: "\f05c"; 502 | $fa-var-tint: "\f043"; 503 | $fa-var-toggle-down: "\f150"; 504 | $fa-var-toggle-left: "\f191"; 505 | $fa-var-toggle-off: "\f204"; 506 | $fa-var-toggle-on: "\f205"; 507 | $fa-var-toggle-right: "\f152"; 508 | $fa-var-toggle-up: "\f151"; 509 | $fa-var-trash: "\f1f8"; 510 | $fa-var-trash-o: "\f014"; 511 | $fa-var-tree: "\f1bb"; 512 | $fa-var-trello: "\f181"; 513 | $fa-var-trophy: "\f091"; 514 | $fa-var-truck: "\f0d1"; 515 | $fa-var-try: "\f195"; 516 | $fa-var-tty: "\f1e4"; 517 | $fa-var-tumblr: "\f173"; 518 | $fa-var-tumblr-square: "\f174"; 519 | $fa-var-turkish-lira: "\f195"; 520 | $fa-var-twitch: "\f1e8"; 521 | $fa-var-twitter: "\f099"; 522 | $fa-var-twitter-square: "\f081"; 523 | $fa-var-umbrella: "\f0e9"; 524 | $fa-var-underline: "\f0cd"; 525 | $fa-var-undo: "\f0e2"; 526 | $fa-var-university: "\f19c"; 527 | $fa-var-unlink: "\f127"; 528 | $fa-var-unlock: "\f09c"; 529 | $fa-var-unlock-alt: "\f13e"; 530 | $fa-var-unsorted: "\f0dc"; 531 | $fa-var-upload: "\f093"; 532 | $fa-var-usd: "\f155"; 533 | $fa-var-user: "\f007"; 534 | $fa-var-user-md: "\f0f0"; 535 | $fa-var-users: "\f0c0"; 536 | $fa-var-video-camera: "\f03d"; 537 | $fa-var-vimeo-square: "\f194"; 538 | $fa-var-vine: "\f1ca"; 539 | $fa-var-vk: "\f189"; 540 | $fa-var-volume-down: "\f027"; 541 | $fa-var-volume-off: "\f026"; 542 | $fa-var-volume-up: "\f028"; 543 | $fa-var-warning: "\f071"; 544 | $fa-var-wechat: "\f1d7"; 545 | $fa-var-weibo: "\f18a"; 546 | $fa-var-weixin: "\f1d7"; 547 | $fa-var-wheelchair: "\f193"; 548 | $fa-var-wifi: "\f1eb"; 549 | $fa-var-windows: "\f17a"; 550 | $fa-var-won: "\f159"; 551 | $fa-var-wordpress: "\f19a"; 552 | $fa-var-wrench: "\f0ad"; 553 | $fa-var-xing: "\f168"; 554 | $fa-var-xing-square: "\f169"; 555 | $fa-var-yahoo: "\f19e"; 556 | $fa-var-yelp: "\f1e9"; 557 | $fa-var-yen: "\f157"; 558 | $fa-var-youtube: "\f167"; 559 | $fa-var-youtube-play: "\f16a"; 560 | $fa-var-youtube-square: "\f166"; 561 | 562 | -------------------------------------------------------------------------------- /bs/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.6.2 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d',a,""].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f #mq-test-1 { width: 42px; }';a.insertBefore(d,b);c=g.offsetWidth==42;a.removeChild(d);return{matches:c,media:h}}})(document); 9 | 10 | /*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 11 | (function(e){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=e.matchMedia&&e.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var w=e.document,s=w.documentElement,i=[],k=[],q=[],o={},h=30,f=w.getElementsByTagName("head")[0]||s,g=w.getElementsByTagName("base")[0],b=f.getElementsByTagName("link"),d=[],a=function(){var D=b,y=D.length,B=0,A,z,C,x;for(;B-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this); -------------------------------------------------------------------------------- /custom_example/cust_tpl/index.tpl~: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | $projectname 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 61 | 62 | 63 | 64 |
    65 |
    66 |
    67 |
    68 | 69 |
    70 | $projectname 71 |
    72 | Custom Templates - in - BootDown 73 |
    74 |
    75 |
    76 |
    77 |
    78 | 79 | $body 80 | 81 | 82 | 83 |
    84 | 118 | 127 |
    128 | 129 | 130 |
    131 | 132 | 133 | 134 |
    135 | 136 | 137 | 174 | 211 | 248 | 285 | 322 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | --------------------------------------------------------------------------------