From 6d2c067f0d6bc78eef7ececcec3eba71cbb5d80c Mon Sep 17 00:00:00 2001 From: David Luevano Alvarado Date: Tue, 1 Jun 2021 03:21:33 -0600 Subject: add fork awesome, contact and donate pages, update general style and update readme --- .../fork-awesome/src/doc/assets/css/prettify.css | 30 + .../fork-awesome/src/doc/assets/css/pygments.css | 71 ++ .../fork-awesome/src/doc/assets/css/share.min.css | 1 + .../src/doc/assets/fork-awesome/less/animated.less | 36 + .../assets/fork-awesome/less/bordered-pulled.less | 28 + .../src/doc/assets/fork-awesome/less/core.less | 9 + .../doc/assets/fork-awesome/less/fixed-width.less | 9 + .../doc/assets/fork-awesome/less/fork-awesome.less | 17 + .../src/doc/assets/fork-awesome/less/icons.less | 7 + .../src/doc/assets/fork-awesome/less/larger.less | 16 + .../src/doc/assets/fork-awesome/less/list.less | 22 + .../src/doc/assets/fork-awesome/less/mixins.less | 56 ++ .../src/doc/assets/fork-awesome/less/path.less | 15 + .../assets/fork-awesome/less/rotated-flipped.less | 23 + .../assets/fork-awesome/less/screen-reader.less | 5 + .../src/doc/assets/fork-awesome/less/stacked.less | 23 + .../doc/assets/fork-awesome/less/v5-compat.less | 160 ++++ .../doc/assets/fork-awesome/less/variables.less | 17 + .../doc/assets/fork-awesome/scss/animated.scss.txt | 36 + .../fork-awesome/scss/bordered-pulled.scss.txt | 28 + .../src/doc/assets/fork-awesome/scss/core.scss.txt | 9 + .../assets/fork-awesome/scss/fixed-width.scss.txt | 9 + .../assets/fork-awesome/scss/fork-awesome.scss.txt | 18 + .../assets/fork-awesome/scss/functions.scss.txt | 13 + .../doc/assets/fork-awesome/scss/icons.scss.txt | 7 + .../doc/assets/fork-awesome/scss/larger.scss.txt | 16 + .../src/doc/assets/fork-awesome/scss/list.scss.txt | 22 + .../doc/assets/fork-awesome/scss/mixins.scss.txt | 56 ++ .../src/doc/assets/fork-awesome/scss/path.scss.txt | 15 + .../fork-awesome/scss/rotated-flipped.scss.txt | 23 + .../fork-awesome/scss/screen-reader.scss.txt | 5 + .../doc/assets/fork-awesome/scss/stacked.scss.txt | 23 + .../assets/fork-awesome/scss/variables.scss.txt | 17 + static/fork-awesome/src/doc/assets/ico/favicon.ico | Bin 0 -> 107730 bytes .../fork-awesome/src/doc/assets/images/banner.jpg | Bin 0 -> 69877 bytes .../src/doc/assets/js/ZeroClipboard-1.1.7.min.js | 8 + .../src/doc/assets/js/ZeroClipboard-1.1.7.swf | Bin 0 -> 1635 bytes static/fork-awesome/src/doc/assets/js/html5shiv.js | 8 + .../fork-awesome/src/doc/assets/js/monetization.js | 1 + .../fork-awesome/src/doc/assets/js/prettify.min.js | 28 + .../fork-awesome/src/doc/assets/js/respond.min.js | 6 + static/fork-awesome/src/doc/assets/js/search.js | 92 +++ static/fork-awesome/src/doc/assets/js/share.min.js | 1 + static/fork-awesome/src/doc/assets/js/site.js | 60 ++ .../doc/assets/less/bootstrap-3.3.5/.csscomb.json | 304 +++++++ .../src/doc/assets/less/bootstrap-3.3.5/.csslintrc | 19 + .../doc/assets/less/bootstrap-3.3.5/alerts.less | 73 ++ .../doc/assets/less/bootstrap-3.3.5/badges.less | 66 ++ .../doc/assets/less/bootstrap-3.3.5/bootstrap.less | 56 ++ .../assets/less/bootstrap-3.3.5/breadcrumbs.less | 26 + .../assets/less/bootstrap-3.3.5/button-groups.less | 244 ++++++ .../doc/assets/less/bootstrap-3.3.5/buttons.less | 166 ++++ .../doc/assets/less/bootstrap-3.3.5/carousel.less | 269 +++++++ .../src/doc/assets/less/bootstrap-3.3.5/close.less | 34 + .../src/doc/assets/less/bootstrap-3.3.5/code.less | 69 ++ .../less/bootstrap-3.3.5/component-animations.less | 33 + .../doc/assets/less/bootstrap-3.3.5/dropdowns.less | 216 +++++ .../src/doc/assets/less/bootstrap-3.3.5/forms.less | 613 +++++++++++++++ .../assets/less/bootstrap-3.3.5/glyphicons.less | 305 ++++++++ .../src/doc/assets/less/bootstrap-3.3.5/grid.less | 84 ++ .../assets/less/bootstrap-3.3.5/input-groups.less | 167 ++++ .../doc/assets/less/bootstrap-3.3.5/jumbotron.less | 52 ++ .../doc/assets/less/bootstrap-3.3.5/labels.less | 64 ++ .../assets/less/bootstrap-3.3.5/list-group.less | 130 +++ .../src/doc/assets/less/bootstrap-3.3.5/media.less | 66 ++ .../doc/assets/less/bootstrap-3.3.5/mixins.less | 40 + .../assets/less/bootstrap-3.3.5/mixins/alerts.less | 14 + .../bootstrap-3.3.5/mixins/background-variant.less | 9 + .../less/bootstrap-3.3.5/mixins/border-radius.less | 18 + .../less/bootstrap-3.3.5/mixins/buttons.less | 68 ++ .../less/bootstrap-3.3.5/mixins/center-block.less | 7 + .../less/bootstrap-3.3.5/mixins/clearfix.less | 22 + .../assets/less/bootstrap-3.3.5/mixins/forms.less | 85 ++ .../less/bootstrap-3.3.5/mixins/gradients.less | 59 ++ .../bootstrap-3.3.5/mixins/grid-framework.less | 91 +++ .../assets/less/bootstrap-3.3.5/mixins/grid.less | 122 +++ .../less/bootstrap-3.3.5/mixins/hide-text.less | 21 + .../assets/less/bootstrap-3.3.5/mixins/image.less | 33 + .../assets/less/bootstrap-3.3.5/mixins/labels.less | 12 + .../less/bootstrap-3.3.5/mixins/list-group.less | 30 + .../less/bootstrap-3.3.5/mixins/nav-divider.less | 10 + .../bootstrap-3.3.5/mixins/nav-vertical-align.less | 9 + .../less/bootstrap-3.3.5/mixins/opacity.less | 8 + .../less/bootstrap-3.3.5/mixins/pagination.less | 24 + .../assets/less/bootstrap-3.3.5/mixins/panels.less | 24 + .../less/bootstrap-3.3.5/mixins/progress-bar.less | 10 + .../less/bootstrap-3.3.5/mixins/reset-filter.less | 8 + .../less/bootstrap-3.3.5/mixins/reset-text.less | 18 + .../assets/less/bootstrap-3.3.5/mixins/resize.less | 6 + .../mixins/responsive-visibility.less | 15 + .../assets/less/bootstrap-3.3.5/mixins/size.less | 10 + .../less/bootstrap-3.3.5/mixins/tab-focus.less | 9 + .../less/bootstrap-3.3.5/mixins/table-row.less | 28 + .../less/bootstrap-3.3.5/mixins/text-emphasis.less | 9 + .../less/bootstrap-3.3.5/mixins/text-overflow.less | 8 + .../bootstrap-3.3.5/mixins/vendor-prefixes.less | 227 ++++++ .../doc/assets/less/bootstrap-3.3.5/modals.less | 150 ++++ .../doc/assets/less/bootstrap-3.3.5/navbar.less | 660 ++++++++++++++++ .../src/doc/assets/less/bootstrap-3.3.5/navs.less | 242 ++++++ .../doc/assets/less/bootstrap-3.3.5/normalize.less | 424 ++++++++++ .../src/doc/assets/less/bootstrap-3.3.5/pager.less | 54 ++ .../assets/less/bootstrap-3.3.5/pagination.less | 89 +++ .../doc/assets/less/bootstrap-3.3.5/panels.less | 271 +++++++ .../doc/assets/less/bootstrap-3.3.5/popovers.less | 131 ++++ .../src/doc/assets/less/bootstrap-3.3.5/print.less | 101 +++ .../assets/less/bootstrap-3.3.5/progress-bars.less | 87 +++ .../less/bootstrap-3.3.5/responsive-embed.less | 35 + .../less/bootstrap-3.3.5/responsive-utilities.less | 194 +++++ .../assets/less/bootstrap-3.3.5/scaffolding.less | 161 ++++ .../doc/assets/less/bootstrap-3.3.5/tables.less | 234 ++++++ .../src/doc/assets/less/bootstrap-3.3.5/theme.less | 291 +++++++ .../assets/less/bootstrap-3.3.5/thumbnails.less | 36 + .../doc/assets/less/bootstrap-3.3.5/tooltip.less | 101 +++ .../src/doc/assets/less/bootstrap-3.3.5/type.less | 302 +++++++ .../doc/assets/less/bootstrap-3.3.5/utilities.less | 55 ++ .../doc/assets/less/bootstrap-3.3.5/variables.less | 869 +++++++++++++++++++++ .../src/doc/assets/less/bootstrap-3.3.5/wells.less | 29 + .../src/doc/assets/less/gandy-grid/grid.less | 43 + .../src/doc/assets/less/gandy-grid/mixins.less | 18 + static/fork-awesome/src/doc/assets/less/site.less | 37 + .../src/doc/assets/less/site/bootstrap/alerts.less | 5 + .../doc/assets/less/site/bootstrap/buttons.less | 3 + .../doc/assets/less/site/bootstrap/jumbotron.less | 87 +++ .../src/doc/assets/less/site/bootstrap/labels.less | 21 + .../src/doc/assets/less/site/bootstrap/modals.less | 6 + .../src/doc/assets/less/site/bootstrap/navbar.less | 179 +++++ .../src/doc/assets/less/site/bootstrap/panels.less | 15 + .../doc/assets/less/site/bootstrap/tooltip.less | 8 + .../src/doc/assets/less/site/bootstrap/type.less | 26 + .../doc/assets/less/site/bootstrap/variables.less | 171 ++++ .../src/doc/assets/less/site/bootstrap/wells.less | 10 + .../src/doc/assets/less/site/example-rating.less | 25 + .../src/doc/assets/less/site/feature-list.less | 19 + .../assets/less/site/fontawesome-icon-list.less | 33 + .../src/doc/assets/less/site/footer.less | 55 ++ .../doc/assets/less/site/jumbotron-carousel.less | 75 ++ .../src/doc/assets/less/site/layout.less | 1 + .../src/doc/assets/less/site/lazy.less | 113 +++ .../src/doc/assets/less/site/print.less | 5 + .../doc/assets/less/site/responsive/screen-lg.less | 58 ++ .../doc/assets/less/site/responsive/screen-md.less | 3 + .../assets/less/site/responsive/screen-sm-up.less | 17 + .../doc/assets/less/site/responsive/screen-sm.less | 48 ++ .../doc/assets/less/site/responsive/screen-xs.less | 94 +++ .../src/doc/assets/less/site/social-buttons.less | 48 ++ .../src/doc/assets/less/site/stripe-ad.less | 4 + .../src/doc/assets/less/site/textured-bg.less | 20 + .../src/doc/assets/less/site/views.less | 50 ++ 148 files changed, 10969 insertions(+) create mode 100644 static/fork-awesome/src/doc/assets/css/prettify.css create mode 100644 static/fork-awesome/src/doc/assets/css/pygments.css create mode 100644 static/fork-awesome/src/doc/assets/css/share.min.css create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/animated.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/bordered-pulled.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/core.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/fixed-width.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/fork-awesome.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/icons.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/larger.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/list.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/mixins.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/path.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/rotated-flipped.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/screen-reader.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/stacked.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/v5-compat.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/less/variables.less create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/animated.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/bordered-pulled.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/core.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/fixed-width.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/fork-awesome.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/functions.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/icons.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/larger.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/list.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/mixins.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/path.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/rotated-flipped.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/screen-reader.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/stacked.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/fork-awesome/scss/variables.scss.txt create mode 100644 static/fork-awesome/src/doc/assets/ico/favicon.ico create mode 100644 static/fork-awesome/src/doc/assets/images/banner.jpg create mode 100644 static/fork-awesome/src/doc/assets/js/ZeroClipboard-1.1.7.min.js create mode 100644 static/fork-awesome/src/doc/assets/js/ZeroClipboard-1.1.7.swf create mode 100644 static/fork-awesome/src/doc/assets/js/html5shiv.js create mode 100644 static/fork-awesome/src/doc/assets/js/monetization.js create mode 100644 static/fork-awesome/src/doc/assets/js/prettify.min.js create mode 100644 static/fork-awesome/src/doc/assets/js/respond.min.js create mode 100644 static/fork-awesome/src/doc/assets/js/search.js create mode 100644 static/fork-awesome/src/doc/assets/js/share.min.js create mode 100644 static/fork-awesome/src/doc/assets/js/site.js create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csscomb.json create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csslintrc create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/alerts.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/badges.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/bootstrap.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/breadcrumbs.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/button-groups.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/buttons.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/carousel.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/close.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/code.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/component-animations.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/dropdowns.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/forms.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/glyphicons.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/grid.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/input-groups.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/jumbotron.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/labels.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/list-group.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/media.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/alerts.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/background-variant.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/border-radius.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/buttons.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/center-block.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/clearfix.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/forms.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/gradients.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid-framework.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/hide-text.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/image.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/labels.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/list-group.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-divider.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-vertical-align.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/opacity.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/pagination.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/panels.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/progress-bar.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-filter.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-text.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/resize.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/responsive-visibility.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/size.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/tab-focus.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/table-row.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-emphasis.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-overflow.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/vendor-prefixes.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/modals.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navbar.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navs.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/normalize.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pager.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pagination.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/panels.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/popovers.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/print.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/progress-bars.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-embed.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-utilities.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/scaffolding.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tables.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/theme.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/thumbnails.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tooltip.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/type.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/utilities.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/variables.less create mode 100644 static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/wells.less create mode 100644 static/fork-awesome/src/doc/assets/less/gandy-grid/grid.less create mode 100644 static/fork-awesome/src/doc/assets/less/gandy-grid/mixins.less create mode 100644 static/fork-awesome/src/doc/assets/less/site.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/alerts.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/buttons.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/jumbotron.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/labels.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/modals.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/navbar.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/panels.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/tooltip.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/type.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/variables.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/bootstrap/wells.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/example-rating.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/feature-list.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/fontawesome-icon-list.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/footer.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/jumbotron-carousel.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/layout.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/lazy.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/print.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/responsive/screen-lg.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/responsive/screen-md.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm-up.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/responsive/screen-xs.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/social-buttons.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/stripe-ad.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/textured-bg.less create mode 100644 static/fork-awesome/src/doc/assets/less/site/views.less (limited to 'static/fork-awesome/src/doc/assets') diff --git a/static/fork-awesome/src/doc/assets/css/prettify.css b/static/fork-awesome/src/doc/assets/css/prettify.css new file mode 100644 index 0000000..aedd8d1 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/css/prettify.css @@ -0,0 +1,30 @@ +.com { color: #93a1a1; } +.lit { color: #195f91; } +.pun, .opn, .clo { color: #93a1a1; } +.fun { color: #dc322f; } +.str, .atv { color: #D14; } +.kwd, .linenums .tag { color: #1e347b; } +.typ, .atn, .dec, .var { color: teal; } +.pln { color: #48484c; } + +.prettyprint { + padding: 8px; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; +} +.prettyprint.linenums { + -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; + -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; + box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; +} + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin: 0 0 0 33px; /* IE indents via margin-left */ +} +ol.linenums li { + padding-left: 12px; + color: #bebec5; + line-height: 18px; + text-shadow: 0 1px 0 #fff; +} \ No newline at end of file diff --git a/static/fork-awesome/src/doc/assets/css/pygments.css b/static/fork-awesome/src/doc/assets/css/pygments.css new file mode 100644 index 0000000..5af20ee --- /dev/null +++ b/static/fork-awesome/src/doc/assets/css/pygments.css @@ -0,0 +1,71 @@ +.hll { background-color: #ffffcc } +/*{ background: #f0f3f3; }*/ +.c { color: #999; } /* Comment */ +.err { color: #AA0000; background-color: #FFAAAA } /* Error */ +.k { color: #006699; } /* Keyword */ +.o { color: #555555 } /* Operator */ +.cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ +.cp { color: #009999 } /* Comment.Preproc */ +.c1 { color: #999; } /* Comment.Single */ +.cs { color: #999; } /* Comment.Special */ +.gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ +.ge { font-style: italic } /* Generic.Emph */ +.gr { color: #FF0000 } /* Generic.Error */ +.gh { color: #003300; } /* Generic.Heading */ +.gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ +.go { color: #AAAAAA } /* Generic.Output */ +.gp { color: #000099; } /* Generic.Prompt */ +.gs { } /* Generic.Strong */ +.gu { color: #003300; } /* Generic.Subheading */ +.gt { color: #99CC66 } /* Generic.Traceback */ +.kc { color: #006699; } /* Keyword.Constant */ +.kd { color: #006699; } /* Keyword.Declaration */ +.kn { color: #006699; } /* Keyword.Namespace */ +.kp { color: #006699 } /* Keyword.Pseudo */ +.kr { color: #006699; } /* Keyword.Reserved */ +.kt { color: #007788; } /* Keyword.Type */ +.m { color: #FF6600 } /* Literal.Number */ +.s { color: #d44950 } /* Literal.String */ +.na { color: #4f9fcf } /* Name.Attribute */ +.nb { color: #336666 } /* Name.Builtin */ +.nc { color: #00AA88; } /* Name.Class */ +.no { color: #336600 } /* Name.Constant */ +.nd { color: #9999FF } /* Name.Decorator */ +.ni { color: #999999; } /* Name.Entity */ +.ne { color: #CC0000; } /* Name.Exception */ +.nf { color: #CC00FF } /* Name.Function */ +.nl { color: #9999FF } /* Name.Label */ +.nn { color: #00CCFF; } /* Name.Namespace */ +.nt { color: #2f6f9f; } /* Name.Tag */ +.nv { color: #003333 } /* Name.Variable */ +.ow { color: #000000; } /* Operator.Word */ +.w { color: #bbbbbb } /* Text.Whitespace */ +.mf { color: #FF6600 } /* Literal.Number.Float */ +.mh { color: #FF6600 } /* Literal.Number.Hex */ +.mi { color: #FF6600 } /* Literal.Number.Integer */ +.mo { color: #FF6600 } /* Literal.Number.Oct */ +.sb { color: #CC3300 } /* Literal.String.Backtick */ +.sc { color: #CC3300 } /* Literal.String.Char */ +.sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ +.s2 { color: #CC3300 } /* Literal.String.Double */ +.se { color: #CC3300; } /* Literal.String.Escape */ +.sh { color: #CC3300 } /* Literal.String.Heredoc */ +.si { color: #AA0000 } /* Literal.String.Interpol */ +.sx { color: #CC3300 } /* Literal.String.Other */ +.sr { color: #33AAAA } /* Literal.String.Regex */ +.s1 { color: #CC3300 } /* Literal.String.Single */ +.ss { color: #FFCC33 } /* Literal.String.Symbol */ +.bp { color: #336666 } /* Name.Builtin.Pseudo */ +.vc { color: #003333 } /* Name.Variable.Class */ +.vg { color: #003333 } /* Name.Variable.Global */ +.vi { color: #003333 } /* Name.Variable.Instance */ +.il { color: #FF6600 } /* Literal.Number.Integer.Long */ + +.css .o, +.css .o + .nt, +.css .nt + .nt { color: #999; } + +pre { + background-color: #fafafa; + padding: 8px 15px; +} diff --git a/static/fork-awesome/src/doc/assets/css/share.min.css b/static/fork-awesome/src/doc/assets/css/share.min.css new file mode 100644 index 0000000..0e38b21 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/css/share.min.css @@ -0,0 +1 @@ +.rounded{border-radius:6px}.oval{border-radius:15px}.circle{border-radius:50%}.wo-text{width:34px}.dex-btn,.popup button{cursor:pointer}.dex-btn{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,Open Sans,Cantarell,sans-serif;display:inline-block;height:34px;line-height:1.6;color:#fff;text-align:center;text-decoration:none;font-size:.85rem;margin:0 .2em;border:none;padding-top:4px;box-sizing:border-box}.dex-btn span,.dex-icon{vertical-align:middle}.dex-btn,.dex-btn span{font-weight:700}.share{display:inline-block;max-height:40px}.share .dex-btn:not(.wo-text),.support:not(.wo-text){padding:4px 12px 4px 10px}.share .dex-btn:not(.wo-text) .dex-icon,.support:not(.wo-text) .dex-icon{margin-right:8px}.dex-icon{fill:#fff}.hidden,.hidden+.popup,.overlay{display:none}.hidden:checked+.popup{position:absolute;min-width:255px;margin-top:.8em;padding:.5em;z-index:3;background-color:#333;border-radius:.5em;display:inline-block}.hidden:checked+.popup:before{content:"";position:absolute;top:-.7em;height:0;width:0;border-bottom:.8em solid #141414;border-left:.8em solid transparent;border-right:.8em solid transparent;z-index:3}.popup input{min-width:190px;height:25px}.popup button{margin:2.5px 0 2.5px 5px;height:28px;width:44px}.popup label{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;background-color:rgba(0,0,0,.5)}.diaspora{background-color:#222}.diaspora:hover{background-color:#000}.mastodon{background-color:#3088d4}.mastodon:hover{background-color:#1074cb}.hubzilla{background-color:#43488a}.hubzilla:hover{background-color:#363b7d}.gnusocial{background-color:#a22430}.gnusocial:hover{background-color:#900d19}.friendica{background-color:#ffb900}.friendica:hover{background-color:#ebaa00}.socialhome{background-color:#4c4c4c}.socialhome:hover{background-color:#423c3c}.postactiv{background-color:#ad68d5}.postactiv:hover{background-color:#a44fd5}.pumpio{background-color:#000}.pumpio:hover{background-color:#333}.diaspora-bright{background-color:#141414}.diaspora-bright:hover{background-color:#000}.mastodon-bright{background-color:#054dff}.mastodon-bright:hover{background-color:#003cd1}.hubzilla-bright{background-color:#311b92}.hubzilla-bright:hover{background-color:#231367}.gnusocial-bright{background-color:#b90d1e}.gnusocial-bright:hover{background-color:#890a16}.friendica-bright{background-color:#ff8f00}.friendica-bright:hover{background-color:#ff7a00}.socialhome-bright{background-color:#303636}.socialhome-bright:hover{background-color:#212727}.postactiv-bright{background-color:#b030f9}.postactiv-bright:hover{background-color:#a20af7}.support-liberapay{background-color:#f6c915;color:#0e0e0e}.support-liberapay:hover{background-color:#ffb900}.support-snowdrift{background-color:#13628e}.support-snowdrift:hover{background-color:#024d76}.support-ocollective{background-color:#7fadf2}.support-ocollective:hover{background-color:#4992ff}.support-gratipay{background-color:#630}.support-gratipay:hover{background-color:#4d2600}.support-liberapay .dex-icon{fill:#0e0e0e}@media screen and (max-width:64em){.dex-btn{margin:.5em .2em}}@media screen and (max-width:47.938em){.share{display:inline-block}} \ No newline at end of file diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/animated.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/animated.less new file mode 100644 index 0000000..63e8e3c --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/animated.less @@ -0,0 +1,36 @@ +--- +--- +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: ~'@{fa-css-prefix}-spin' 2s infinite linear; + animation: ~'@{fa-css-prefix}-spin' 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + -webkit-animation: ~'@{fa-css-prefix}-spin' 1s infinite steps(8); + animation: ~'@{fa-css-prefix}-spin' 1s infinite steps(8); +} + +@-webkit-keyframes ~'@{fa-css-prefix}-spin' { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes ~'@{fa-css-prefix}-spin' { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/bordered-pulled.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/bordered-pulled.less new file mode 100644 index 0000000..cd14a68 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/bordered-pulled.less @@ -0,0 +1,28 @@ +--- +--- + +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em @fa-border-color; + border-radius: .1em; +} + +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.@{fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/core.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/core.less new file mode 100644 index 0000000..d299d0d --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/core.less @@ -0,0 +1,9 @@ +--- +--- + +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix} { +{% include code/core.less %} +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/fixed-width.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/fixed-width.less new file mode 100644 index 0000000..f3b657b --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/fixed-width.less @@ -0,0 +1,9 @@ +--- +--- + +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/fork-awesome.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/fork-awesome.less new file mode 100644 index 0000000..3fb656e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/fork-awesome.less @@ -0,0 +1,17 @@ +--- +--- +{% include code/license.css %} + +@import "variables.less"; +@import "mixins.less"; +@import "path.less"; +@import "core.less"; +@import "larger.less"; +@import "fixed-width.less"; +@import "list.less"; +@import "bordered-pulled.less"; +@import "animated.less"; +@import "rotated-flipped.less"; +@import "stacked.less"; +@import "icons.less"; +@import "screen-reader.less"; diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/icons.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/icons.less new file mode 100644 index 0000000..38cdb7b --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/icons.less @@ -0,0 +1,7 @@ +--- +--- +/* {{ site.forkawesome.name }} uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +{% for icon in icons %}{% for alias in icon.aliases %} +.@{fa-css-prefix}-{{ alias }}:before,{% endfor %} +.@{fa-css-prefix}-{{ icon.id }}:before { content: @fa-var-{{ icon.id }}; }{% endfor %} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/larger.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/larger.less new file mode 100644 index 0000000..472643e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/larger.less @@ -0,0 +1,16 @@ +--- +--- + +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.@{fa-css-prefix}-2x { font-size: 2em; } +.@{fa-css-prefix}-3x { font-size: 3em; } +.@{fa-css-prefix}-4x { font-size: 4em; } +.@{fa-css-prefix}-5x { font-size: 5em; } diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/list.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/list.less new file mode 100644 index 0000000..e32bc0d --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/list.less @@ -0,0 +1,22 @@ +--- +--- + +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + padding-left: 0; + margin-left: @fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: (-@fa-li-width + (4em / 14)); + } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/mixins.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/mixins.less new file mode 100644 index 0000000..5889739 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/mixins.less @@ -0,0 +1,56 @@ +--- +--- +// Mixins +// -------------------------- + +.fa-icon() { +{% include code/core.less %} +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/path.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/path.less new file mode 100644 index 0000000..cd1544f --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/path.less @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: '@{fa-font-family}'; + src: url('@{fa-font-path}/forkawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/forkawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/forkawesome-webfont.woff2?v=@{fa-version}') format('woff2'), + url('@{fa-font-path}/forkawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/forkawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/forkawesome-webfont.svg?v=@{fa-version}#forkawesomeregular') format('svg'); + // src: url('@{fa-font-path}/ForkAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/rotated-flipped.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/rotated-flipped.less new file mode 100644 index 0000000..bf7a0b4 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/rotated-flipped.less @@ -0,0 +1,23 @@ +--- +--- + +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .@{fa-css-prefix}-rotate-90, +:root .@{fa-css-prefix}-rotate-180, +:root .@{fa-css-prefix}-rotate-270, +:root .@{fa-css-prefix}-flip-horizontal, +:root .@{fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/screen-reader.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/screen-reader.less new file mode 100644 index 0000000..11c1881 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/screen-reader.less @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/stacked.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/stacked.less new file mode 100644 index 0000000..2a1e418 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/stacked.less @@ -0,0 +1,23 @@ +--- +--- + +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/v5-compat.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/v5-compat.less new file mode 100644 index 0000000..ddedea9 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/v5-compat.less @@ -0,0 +1,160 @@ +--- +--- +{% include code/license.css %} + +@import "variables.less"; + +.fas, .fab, .far { +{% include code/core.less %} +} + +.fas { + &.fa-chart-area:before { content: "\f1fe"; } // area-chart + &.fa-arrows-alt:before { content: "\f047"; } // arrows + &.fa-expand-arrows-alt:before { content: "\f0b2"; } // arrows-alt + &.fa-arrows-alt-h:before { content: "\f07e"; } // arrows-h + &.fa-arrows-alt-v:before { content: "\f07d"; } // arrows-v + &.fa-calendar-alt:before { content: "\f073"; } // calendar + &.fa-circle-notch:before { content: "\f1ce"; } // circle-o-notch + &.fa-cloud-download-alt:before { content: "\f0ed"; } // cloud-download + &.fa-cloud-upload-alt:before { content: "\f0ee"; } // cloud-upload + &.fa-credit-card:before { content: "\f283"; } // credit-card-alt + &.fa-dollar-sign:before { content: "\f155"; } // dollar + &.fa-euro-sign:before { content: "\f153"; } // eur, euro + &.fa-exchange-alt:before { content: "\f0ec"; } // exchange + &.fa-external-link-alt:before { content: "\f08e"; } // external-link + &.fa-external-link-square-alt:before { content: "\f14c"; } // external-link-square + &.fa-eye-dropper:before { content: "\f1fb"; } // eyedropper + &.fa-pound-sign:before { content: "\f154"; } // gbp + &.fa-glass-martini:before { content: "\f000"; } // glass + &.fa-shekel-sign:before { content: "\f20b"; } // shekel + &.fa-rupee-sign:before { content: "\f156"; } // rupee + &.fa-won-sign:before { content: "\f159"; } // krw + &.fa-level-down-alt:before { content: "\f149"; } // level-down + &.fa-level-up-alt:before { content: "\f148"; } // level-up + &.fa-chart-line:before { content: "\f201"; } // line-chart + &.fa-long-arrow-alt-down:before { content: "\f175"; } // long-arrow-down + &.fa-long-arrow-alt-left:before { content: "\f177"; } // long-arrow-left + &.fa-long-arrow-alt-right:before { content: "\f178"; } // long-arrow-right + &.fa-long-arrow-alt-up:before { content: "\f176"; } // long-arrow-up + &.fa-map-marker-alt:before { content: "\f041"; } // map-marker + &.fa-mobile-alt:before { content: "\f10b"; } // mobile + &.fa-pencil-alt:before { content: "\f040"; } // pencil + &.fa-pen-square:before { content: "\f14b"; } // pencil-square + &.fa-chart-pie:before { content: "\f200"; } // pie-chart + &.fa-yen-sign:before { content: "\f157"; } // yen + &.fa-ruble-sign:before { content: "\f158"; } // ruble + &.fa-shield-alt:before { content: "\f132"; } // shield + &.fa-sign-in-alt:before { content: "\f090"; } // sign-in + &.fa-sign-out-alt:before { content: "\f08b"; } // sign-out + &.fa-sliders-h:before { content: "\f1de"; } // sliders + &.fa-tablet-alt:before { content: "\f10a"; } // tablet + &.fa-tachometer-alt:before { content: "\f0e4"; } // tachometer + &.fa-thumbtack:before { content: "\f08d"; } // thumb-tack + &.fa-ticket-alt:before { content: "\f145"; } // ticket + &.fa-trash-alt:before { content: "\f1f8"; } // trash + &.fa-lira-sign:before { content: "\f195"; } // turkish-lira +} + +.fab { + &.fa-linkedin-in:before { content: "\fe01"; } // linkedin + &.fa-linkedin:before { content: "\f08c"; } // linkedin-square +} + +.far { + &.fa-address-book:before { content: "\f2ba"; } // address-book-o + &.fa-address-card:before { content: "\f2bc"; } // address-card-o + &.fa-arrow-alt-circle-down:before { content: "\f01a"; } // arrow-circle-o-down + &.fa-arrow-alt-circle-left:before { content: "\f190"; } // arrow-circle-o-left + &.fa-arrow-alt-circle-right:before { content: "\f18e"; } // arrow-circle-o-right + &.fa-arrow-alt-circle-up:before { content: "\f01b"; } // arrow-circle-o-up + &.fa-bell:before { content: "\f0f3"; } // bell-o + &.fa-bell-slash:before { content: "\f1f7"; } // bell-slash-o + &.fa-bookmark:before { content: "\f097"; } // bookmark-o + &.fa-building:before { content: "\f0f7"; } // building-o + &.fa-calendar-check:before { content: "\f274"; } // calendar-check-o + &.fa-calendar-minus:before { content: "\f272"; } // calendar-minus-o + &.fa-calendar:before { content: "\f133"; } // calendar-o + &.fa-calendar-plus:before { content: "\f271"; } // calendar-plus-o + &.fa-calendar-times:before { content: "\f273"; } // calendar-times-o + &.fa-caret-square-down:before { content: "\f150"; } // caret-square-o-down + &.fa-caret-square-left:before { content: "\f191"; } // caret-square-o-left + &.fa-caret-square-right:before { content: "\f152"; } // caret-square-o-right + &.fa-caret-square-up:before { content: "\f151"; } // caret-square-o-up + &.fa-check-circle:before { content: "\f05d"; } // check-circle-o + &.fa-check-square:before { content: "\f046"; } // check-square-o + &.fa-circle:before { content: "\f10c"; } // circle-o + &.fa-clock:before { content: "\f017"; } // clock-o + &.fa-comment:before { content: "\f0e5"; } // comment-o + &.fa-comment-dots:before { content: "\f27b"; } // commenting-o + &.fa-comments:before { content: "\f0e6"; } // comments-o + &.fa-dot-circle:before { content: "\f192"; } // dot-circle-o + &.fa-id-card:before { content: "\f2c3"; } // drivers-license-o + &.fa-envelope:before { content: "\f003"; } // envelope-o + &.fa-envelope-open:before { content: "\f2b7"; } // envelope-open-o + &.fa-file-archive:before { content: "\f1c6"; } // file-archive-o + &.fa-file-audio:before { content: "\f1c7"; } // file-audio-o + &.fa-file-code:before { content: "\f1c9"; } // file-code-o + &.fa-file-excel:before { content: "\f1c3"; } // file-excel-o + &.fa-file-image:before { content: "\f1c5"; } // file-image-o + &.fa-file-video:before { content: "\f1c8"; } // file-video-o + &.fa-copy:before, + &.fa-file:before { content: "\f016"; } // file-o + &.fa-file-pdf:before { content: "\f1c1"; } // file-pdf-o + &.fa-file-powerpoint:before { content: "\f1c4"; } // file-powerpoint-o + &.fa-file-alt:before { content: "\f0f6"; } // file-text-o + &.fa-file-word:before { content: "\f1c2"; } // file-word-o + &.fa-flag:before { content: "\f11d"; } // flag-o + &.fa-save:before { content: "\f0c7"; } // foppy-o + &.fa-folder:before { content: "\f114"; } // folder-o + &.fa-folder-open:before { content: "\f115"; } // folder-open-o + &.fa-frown:before { content: "\f119"; } // frown-o + &.fa-futbol:before { content: "\f1e3"; } // futbol-o + &.fa-hand-rock:before { content: "\f255"; } // hand-grab-o + &.fa-hand-lizard:before { content: "\f258"; } // hand-lizard-o + &.fa-hand-point-down:before { content: "\f0a7"; } // hand-o-down + &.fa-hand-point-left:before { content: "\f0a5"; } // hand-o-left + &.fa-hand-point-right:before { content: "\f0a4"; } // hand-o-right + &.fa-hand-point-up:before { content: "\f0a6"; } // hand-o-up + &.fa-hand-paper:before { content: "\256"; } // hand-paper-o + &.fa-hand-pointer:before { content: "\f25a"; } // hand-pointer-o + &.fa-hand-scissors:before { content: "\f257"; } // hand-scissors-o + &.fa-hand-spock:before { content: "\f259"; } // hand-spock-o + &.fa-handshake:before { content: "\f2b5"; } // handshake-o + &.fa-hdd:before { content: "\f0a0"; } // hdd-o + &.fa-heart:before { content: "\f08a"; } // heart-o + &.fa-hospital:before { content: "\f0f8"; } // hospital-o + &.fa-hourglass:before { content: "\f250"; } // hourglass-o + &.fa-id-card:before { content: "\f2c3"; } // id-card-o + &.fa-keyboard:before { content: "\f11c"; } // keyboard-o + &.fa-lemon:before { content: "\f094"; } // lemon-o + &.fa-lightbulb:before { content: "\f0eb"; } // lightbulb-o + &.fa-meh:before { content: "\f11a"; } // meh-o + &.fa-minus-square:before { content: "\f147"; } // minus-square-o + &.fa-money-bill-alt:before { content: "\f0d6"; } // money + &.fa-moon:before { content: "\f186"; } // moon-o + &.fa-newspaper:before { content: "\f1ea"; } // newspaper-o + &.fa-paper-plane:before { content: "\f1d9"; } // paper-plane-o + &.fa-pause-circle:before { content: "\f28c"; } // pause-circle-o + &.fa-edit:before { content: "\f044"; } // pencil-square-o + &.fa-image:before { content: "\f03e"; } // picture-o + &.fa-play-circle:before { content: "\f01d"; } // play-circle-o + &.fa-plus-square:before { content: "\f196"; } // plus-square-o + &.fa-question-circle:before { content: "\f92c"; } // question-circle-o + &.fa-share-square:before { content: "\f045"; } // share-square-o + &.fa-smile:before { content: "\f118"; } // smile-o + &.fa-snowflake:before { content: "\f2dc"; } // snowflake-o + &.fa-futbol:before { content: "\f1e3"; } // soccer-ball-o + &.fa-star-half:before { content: "\f089"; } // star-half-o + &.fa-star:before { content: "\f006"; } // star-o + &.fa-sticky-note:before { content: "\f24a"; } // sticky-note-o + &.fa-stop-circle:before { content: "\f28e"; } // stop-circle-o + &.fa-sun:before { content: "\f185"; } // sun-o + &.fa-thumbs-down:before { content: "\f088"; } // thumbs-o-down + &.fa-thumbs-up:before { content: "\f087"; } // thumbs-o-up + &.fa-times-circle:before { content: "\f05c"; } // times-circle-o + &.fa-window-close:before { content: "\f2d4"; } // times-rectangle-o + &.fa-trash-alt:before { content: "\f014"; } // trash-o + &.fa-user-circle:before { content: "\f2be"; } // user-circle-o + &.fa-user:before { content: "\f2c0"; } // user-o +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/less/variables.less b/static/fork-awesome/src/doc/assets/fork-awesome/less/variables.less new file mode 100644 index 0000000..9b3ed2f --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/less/variables.less @@ -0,0 +1,17 @@ +--- +--- +// Variables +// -------------------------- + +@fa-font-path: "../fonts"; +@fa-font-size-base: 14px; +@fa-line-height-base: 1; +@fa-css-prefix: {{ site.forkawesome.css_prefix }}; +@fa-font-family: {{ site.forkawesome.font_family }}; +@fa-version: "{{ site.forkawesome.version }}"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: (30em / 14); + +{% assign sorted_icons = icons | expand_aliases | sort_by:'class' %}{% for icon in sorted_icons %}@fa-var-{{ icon.class }}: "\{{ icon.unicode }}"; +{% endfor %} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/animated.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/animated.scss.txt new file mode 100644 index 0000000..b37f0f3 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/animated.scss.txt @@ -0,0 +1,36 @@ +--- +--- +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: #{$fa-css-prefix}-spin 2s infinite linear; + animation: #{$fa-css-prefix}-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: #{$fa-css-prefix}-spin 1s infinite steps(8); + animation: #{$fa-css-prefix}-spin 1s infinite steps(8); +} + +@-webkit-keyframes #{$fa-css-prefix}-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes #{$fa-css-prefix}-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/bordered-pulled.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/bordered-pulled.scss.txt new file mode 100644 index 0000000..40bafcb --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/bordered-pulled.scss.txt @@ -0,0 +1,28 @@ +--- +--- + +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/core.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/core.scss.txt new file mode 100644 index 0000000..45e548b --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/core.scss.txt @@ -0,0 +1,9 @@ +--- +--- + +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { +{% include code/core.scss %} +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/fixed-width.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/fixed-width.scss.txt new file mode 100644 index 0000000..cfb1454 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/fixed-width.scss.txt @@ -0,0 +1,9 @@ +--- +--- + +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/fork-awesome.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/fork-awesome.scss.txt new file mode 100644 index 0000000..effcf2f --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/fork-awesome.scss.txt @@ -0,0 +1,18 @@ +--- +--- +{% include code/license.css %} + +@import "variables"; +@import "mixins"; +@import "functions"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/functions.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/functions.scss.txt new file mode 100644 index 0000000..3215091 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/functions.scss.txt @@ -0,0 +1,13 @@ +--- +--- +// Functions +// -------------------------- + +// Helper function which adds quotes to preserve unicode values in CSS output. +// +// See: https://github.com/sass/sass/issues/1395 +// See: https://stackoverflow.com/questions/30421570/sass-unicode-escape-is-not-preserved-in-css-file + +@function fa-content($fa-var) { + @return unquote("\"#{$fa-var}\""); +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/icons.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/icons.scss.txt new file mode 100644 index 0000000..23128aa --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/icons.scss.txt @@ -0,0 +1,7 @@ +--- +--- +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +{% for icon in icons %}{% for alias in icon.aliases %} +.#{$fa-css-prefix}-{{ alias }}:before,{% endfor %} +.#{$fa-css-prefix}-{{ icon.id }}:before { content: $fa-var-{{ icon.id }}; }{% endfor %} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/larger.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/larger.scss.txt new file mode 100644 index 0000000..4035723 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/larger.scss.txt @@ -0,0 +1,16 @@ +--- +--- + +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/list.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/list.scss.txt new file mode 100644 index 0000000..1c64982 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/list.scss.txt @@ -0,0 +1,22 @@ +--- +--- + +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/mixins.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/mixins.scss.txt new file mode 100644 index 0000000..2411661 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/mixins.scss.txt @@ -0,0 +1,56 @@ +--- +--- +// Mixins +// -------------------------- + +@mixin fa-icon() { +{% include code/core.scss %} +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/path.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/path.scss.txt new file mode 100644 index 0000000..5480425 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/path.scss.txt @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: '#{$fa-font-family}'; + src: url('#{$fa-font-path}/forkawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/forkawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/forkawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/forkawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/forkawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/forkawesome-webfont.svg?v=#{$fa-version}#forkawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/ForkAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/rotated-flipped.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/rotated-flipped.scss.txt new file mode 100644 index 0000000..6e95eb4 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/rotated-flipped.scss.txt @@ -0,0 +1,23 @@ +--- +--- + +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/screen-reader.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/screen-reader.scss.txt new file mode 100644 index 0000000..637426f --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/screen-reader.scss.txt @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/stacked.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/stacked.scss.txt new file mode 100644 index 0000000..01c9443 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/stacked.scss.txt @@ -0,0 +1,23 @@ +--- +--- + +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/static/fork-awesome/src/doc/assets/fork-awesome/scss/variables.scss.txt b/static/fork-awesome/src/doc/assets/fork-awesome/scss/variables.scss.txt new file mode 100644 index 0000000..0ecf359 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/fork-awesome/scss/variables.scss.txt @@ -0,0 +1,17 @@ +--- +--- +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +$fa-css-prefix: "{{ site.forkawesome.css_prefix }}" !default; +$fa-font-family: "{{ site.forkawesome.font_family }}" !default; +$fa-version: "{{ site.forkawesome.version }}" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +{% assign sorted_icons = icons | expand_aliases | sort_by:'class' %}{% for icon in sorted_icons %}$fa-var-{{ icon.class }}: "\{{ icon.unicode }}"; +{% endfor %} diff --git a/static/fork-awesome/src/doc/assets/ico/favicon.ico b/static/fork-awesome/src/doc/assets/ico/favicon.ico new file mode 100644 index 0000000..cec00e6 Binary files /dev/null and b/static/fork-awesome/src/doc/assets/ico/favicon.ico differ diff --git a/static/fork-awesome/src/doc/assets/images/banner.jpg b/static/fork-awesome/src/doc/assets/images/banner.jpg new file mode 100644 index 0000000..8b2fd3a Binary files /dev/null and b/static/fork-awesome/src/doc/assets/images/banner.jpg differ diff --git a/static/fork-awesome/src/doc/assets/js/ZeroClipboard-1.1.7.min.js b/static/fork-awesome/src/doc/assets/js/ZeroClipboard-1.1.7.min.js new file mode 100644 index 0000000..32535fd --- /dev/null +++ b/static/fork-awesome/src/doc/assets/js/ZeroClipboard-1.1.7.min.js @@ -0,0 +1,8 @@ +/*! + * zeroclipboard + * The Zero Clipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie, and a JavaScript interface. + * Copyright 2012 Jon Rohan, James M. Greene, . + * Released under the MIT license + * http://jonrohan.github.com/ZeroClipboard/ + * v1.1.7 + */(function(){"use strict";var a=function(a,b){var c=a.style[b];a.currentStyle?c=a.currentStyle[b]:window.getComputedStyle&&(c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b));if(c=="auto"&&b=="cursor"){var d=["a"];for(var e=0;e=0?"&":"?")+"nocache="+(new Date).getTime()},i=function(a){var b=[];return a.trustedDomains&&(typeof a.trustedDomains=="string"?b.push("trustedDomain="+a.trustedDomains):b.push("trustedDomain="+a.trustedDomains.join(","))),b.join("&")},j=function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c ';b=document.createElement("div"),b.id="global-zeroclipboard-html-bridge",b.setAttribute("class","global-zeroclipboard-container"),b.setAttribute("data-clipboard-ready",!1),b.style.position="absolute",b.style.left="-9999px",b.style.top="-9999px",b.style.width="15px",b.style.height="15px",b.style.zIndex="9999",b.innerHTML=c,document.body.appendChild(b)}a.htmlBridge=b,a.flashBridge=document["global-zeroclipboard-flash-bridge"]||b.children[0].lastElementChild};l.prototype.resetBridge=function(){this.htmlBridge.style.left="-9999px",this.htmlBridge.style.top="-9999px",this.htmlBridge.removeAttribute("title"),this.htmlBridge.removeAttribute("data-clipboard-text"),f(m,this.options.activeClass),m=null,this.options.text=null},l.prototype.ready=function(){var a=this.htmlBridge.getAttribute("data-clipboard-ready");return a==="true"||a===!0},l.prototype.reposition=function(){if(!m)return!1;var a=g(m);this.htmlBridge.style.top=a.top+"px",this.htmlBridge.style.left=a.left+"px",this.htmlBridge.style.width=a.width+"px",this.htmlBridge.style.height=a.height+"px",this.htmlBridge.style.zIndex=a.zIndex+1,this.setSize(a.width,a.height)},l.dispatch=function(a,b){l.prototype._singleton.receiveEvent(a,b)},l.prototype.on=function(a,b){var c=a.toString().split(/\s/g);for(var d=0;darticle,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}"; +c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| +"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); +for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d0)fulllink=l[0]+'?segment='+window['_bsa_queue'][2]+';';else fulllink=l[0];fulllink=fulllink.replace('[publisher]',window['_bsa_queue'][2]);fulllink=fulllink.replace('[timestamp]',time);return fulllink},drop:function(output,target,elType,idName){var div=document.createElement(elType);div.id=idName;div.innerHTML=output;if(!this.isset(target))where='body';for(i=0;i0)return true;if(obj.length===0)return false;for(var key in obj)if(hasOwnProperty.call(obj,key))return true;return false},getAttr:function(v,id){return document.getElementById(id).getAttribute('data-'+v)},getUrlVar:function(el,name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)",regex=new RegExp(regexS),results=regex.exec(el.src);if(results==null)return'';else return results[1]}};var _bsa_go=function(json){if(window['_bsa_queue'][0])if((window['_bsa_queue'][0][3]&&window['_bsa_queue'][0][3].platforms.indexOf('mobile')>-1&&_bsa.isMobile())||(window['_bsa_queue'][0][3]&&window['_bsa_queue'][0][3].platforms.indexOf('desktop')>-1&&!_bsa.isMobile()))for(i=json['ads'].length-1;i>=0;i--)if(json['ads'][i].statlink==null)json['ads'].splice(i,1);if(_bsa.isset(json['ads'][0].statlink)){for(var i=0;i=0?c.substring(i+w.length+1).split(';')[0]+',':'',d=new Date();d.setTime(days*3600000+d);data=existing+data;data=data.substring(0,2048);document.cookie=w+'='+data+'; expires='+d.toGMTString()+'; path=\/'};if(freqcap){append('_bsap_daycap',banner,1);append('_bsap_lifecap',banner,365)}};_bsa.default=function(zoneKey,segment,options,ads){var disable_css=_bsa.isset(options)&&_bsa.isset(options.disable_css)?options.disable_css:false;_bsa.default.elID=function(options){return(options&&options.id)?options.id:'_default_'};_bsa.default.align=function(options){return(options&&options.align)?options.align:'vertical'};function css(colors){var c='';return c}function template(ads){var c='ad';for(var i=0;i'+ads[i].title+''+ads[i].description+''+(_bsa.isset(ads[i].pixel)?'':'')+'';return c}if(ads){_bsa.drop((disable_css?'':css(ads))+template(ads),options.target,'div',_bsa.default.elID(options));_bsa.clearQueue()}};_bsa.default.readyToInit=true;_bsa.default.testData={ads:[{barcolor:'#1a1b1c',barcolorHover:'rgba(0,0,0,.8)',callToActionTextColor:'#ffffff',callToActionColor:'#06c',callToActionColorHover:'#06c',callToActionTextColorHover:'#ffffff',textcolor:'#ffffff',textcolorHover:'#ffffff',barcolorHover:'#1a1b1c',statlink:'//demo.com/',image:'//dummyimage.com/80x80/000/1a1b1c',title:'This is a title',description:'Hi, please try my fancy new product over here!',calltoaction:'Learn More',base64:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAFVBMVEUAAAAaGxwJCgoDAwMNDQ4GBgcQEBGUR2suAAAAb0lEQVR4Ae3RMYoGMQxDYeEnz/2PvIGw05gpXP6grwoPVATrJ0VERERERBWSur/7jsHogee7b1BSH/cldDD7grut0mFJWDKjb1SV5XeIzegbhYSLd2jPvnEn1P89DR59xVXmfvBoJJh9ioiIiIiIPyBgActqvt8OAAAAAElFTkSuQmCC'}]};_bsa.imageonly=function(zoneKey,segment,options,ads){var disable_css=_bsa.isset(options)&&_bsa.isset(options.disable_css)?options.disable_css:false;_bsa.default.elID=function(options){return(options&&options.id)?options.id:zoneKey};_bsa.default.align=function(options){return(options&&options.align)?options.align:'vertical'};function css(colors){var c='';return c}function template(ads){var c='';for(var i=0;i'+ads[i].alt+''+(_bsa.isset(ads[i].pixel)?'':'')+'';return c}if(ads){_bsa.drop((disable_css?'':css(ads))+template(ads),options.target,'div',_bsa.default.elID(options));_bsa.clearQueue()}};_bsa.imageonly.readyToInit=true;_bsa.imageonly.testData={ads:[{barcolor:'#1a1b1c',barcolorHover:'rgba(0,0,0,.8)',callToActionTextColor:'#ffffff',callToActionColor:'#06c',callToActionColorHover:'#06c',callToActionTextColorHover:'#ffffff',textcolor:'#ffffff',textcolorHover:'#ffffff',barcolorHover:'#1a1b1c',statlink:'//demo.com/',image:'//dummyimage.com/80x80/000/1a1b1c',title:'This is a title',description:'Hi, please try my fancy new product over here!',calltoaction:'Learn More',base64:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAFVBMVEUAAAAaGxwJCgoDAwMNDQ4GBgcQEBGUR2suAAAAb0lEQVR4Ae3RMYoGMQxDYeEnz/2PvIGw05gpXP6grwoPVATrJ0VERERERBWSur/7jsHogee7b1BSH/cldDD7grut0mFJWDKjb1SV5XeIzegbhYSLd2jPvnEn1P89DR59xVXmfvBoJJh9ioiIiIiIPyBgActqvt8OAAAAAElFTkSuQmCC'}]};_bsa.fancybar=function(zoneKey,segment,options,ads){var disable_css=_bsa.isset(options)&&_bsa.isset(options.disable_css)?options.disable_css:false;_bsa.fancybar.elID=function(options){return(options&&options.id)?options.id:'_fbn_'};function css(colors){var c=colors[0],barcolor=_bsa.isset(c)&&_bsa.isHex(c.barcolor)?c.barcolor:_bsa.fancybar.testData.ads[0].barcolor,barcolorHover=_bsa.isset(c)&&_bsa.isHex(c.barcolorHover)?c.barcolorHover:_bsa.fancybar.testData.ads[0].barcolorHover,callToActionTextColor=_bsa.isset(c)&&_bsa.isHex(c.callToActionTextColor)?c.callToActionTextColor:_bsa.fancybar.testData.ads[0].callToActionTextColor,callToActionColor=_bsa.isset(c)&&_bsa.isHex(c.callToActionColor)?c.callToActionColor:_bsa.fancybar.testData.ads[0].callToActionColor,callToActionColorHover=_bsa.isset(c)&&_bsa.isHex(c.callToActionColorHover)?c.callToActionColorHover:_bsa.fancybar.testData.ads[0].callToActionColorHover,callToActionTextColorHover=_bsa.isset(c)&&_bsa.isHex(c.callToActionTextColorHover)?c.callToActionTextColorHover:_bsa.fancybar.testData.ads[0].callToActionTextColorHover,textcolor=_bsa.isset(c)&&_bsa.isHex(c.textcolor)?c.textcolor:_bsa.fancybar.testData.ads[0].textcolor,textcolorHover=_bsa.isset(c)&&_bsa.isHex(c.textcolorHover)?c.textcolorHover:_bsa.fancybar.testData.ads[0].textcolorHover,barcolorHover=_bsa.isset(c)&&_bsa.isHex(c.barcolorHover)?c.barcolorHover:_bsa.fancybar.testData.ads[0].barcolorHover;return''}function template(ads){var a=ads[0],link=_bsa.isset(a)&&_bsa.isset(a.statlink)?_bsa.link(a.statlink):_bsa.fancybar.testData.ads[0].statlink,image=_bsa.isset(a)&&_bsa.isset(a.image)?a.image:_bsa.fancybar.testData.ads[0].image,base64=_bsa.isset(a)&&_bsa.isset(a.base64)?a.base64:_bsa.fancybar.testData.ads[0].base64,text=_bsa.isset(a)&&_bsa.isset(a.text)?a.text:_bsa.fancybar.testData.ads[0].text,calltoaction=_bsa.isset(a)&&_bsa.isset(a.calltoaction)?a.calltoaction:_bsa.fancybar.testData.ads[0].calltoaction,pixel=_bsa.isset(a)&&_bsa.isset(a.pixel)?a.pixel:null,time=Date.now()/1000|0;return'
x'+calltoaction+''+text+''+(_bsa.isset(pixel)?'':'')+'
'}if(!_bsa.getCookie(_bsa.fancybar.elID(options))){var _fancybar_didScroll;var _fancybar_didDrop=false;window.onscroll=function(){_fancybar_didScroll=true};var _fancybar_scrollInterval=setInterval(function(){if(_fancybar_didScroll&&!_bsa.getCookie(_bsa.fancybar.elID(options))){_fancybar_didScroll=false;var scrollTop=(window.pageYOffset!==undefined)?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;if(scrollTop>=100&&!document.getElementById(_bsa.fancybar.elID(options))){_bsa.fancybar.readyToInit=true;_bsa.init('fancybar',zoneKey,segment,options)}else if(scrollTop>=100){_bsa.show(_bsa.fancybar.elID(options))}if(scrollTop<100){_bsa.hide(_bsa.fancybar.elID(options))}}},500)}if(ads){_bsa.drop((disable_css?'':css(ads))+template(ads),'body','div',_bsa.fancybar.elID(options));_bsa.clearQueue()}};_bsa.fancybar.readyToInit=false;_bsa.fancybar.testData={ads:[{barcolor:'#1a1b1c',barcolorHover:'rgba(0,0,0,.8)',callToActionTextColor:'#ffffff',callToActionColor:'#06c',callToActionColorHover:'#06c',callToActionTextColorHover:'#ffffff',textcolor:'#ffffff',textcolorHover:'#ffffff',barcolorHover:'#1a1b1c',statlink:'//demo.com/',image:'//dummyimage.com/125x50/000/1a1b1c',text:'Hi, please try my fancy new product over here!',calltoaction:'Learn More',base64:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAAyBAMAAACDoMmvAAAAG1BMVEUAAAAaGxwGBgcNDQ4QEBEWFxgJCgoDAwMTFBUu0R9eAAABlElEQVRIie2TsVLCQBCGjyQkluIIUh6jqKWoKGVmEGqQMVIeM2AsAQdtkQjDY7ubDclxSbSwsLl/JrfH7X67e5vAmJaWltZfdYqLM9520d6ArpQAEw8xpvUl0rhZwrURvDSfwR5n8IU28aPu+Xqa4jsjXH14tlDiJKPBGUHGEWNWT3Uu3JoU5xxm8WSK2NdA8TkDFvNFwYwsviaZieKzxT4f92cKzO7itk4nLekuGelhTpzZy90PowLLIhzlK520wxo8n4fe7FVneB8dC7xcyJ89BVB2g/sDkc970HXVf+/wXQNUnjU2H+PH0A28+nIT3oS7O5xseO5Hw57D0/ydr+1G45ExSlIszHbzM4+fB+mBjNMXSZDlsiDKk8PXY88tmcV1JQkyXUpb4Dm84cUHVB+/rKQY1J9IxdK8FEuZYPhG0gD0PeNx7jRvx7dndi8qLyeF4tZSHpLCN3m4N33mNMKtiYM2lri9m7I35IZTNkmPn/gSCjr+HPZXasBleV3FnFa576m+lObpPwhzLvatlpbW/+obifk8WyshfY8AAAAASUVORK5CYII='}]}; \ No newline at end of file diff --git a/static/fork-awesome/src/doc/assets/js/prettify.min.js b/static/fork-awesome/src/doc/assets/js/prettify.min.js new file mode 100644 index 0000000..eef5ad7 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/js/prettify.min.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p #mq-test-1 { width: 42px; }',d.insertBefore(f,e),c=42===g.offsetWidth,d.removeChild(f),{matches:c,media:a}}}(document); + +/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ +(function(a){"use strict";function x(){u(!0)}var b={};a.respond=b,b.update=function(){},b.mediaQueriesSupported=a.matchMedia&&a.matchMedia("only all").matches,b.mediaQueriesSupported;var q,r,t,c=a.document,d=c.documentElement,e=[],f=[],g=[],h={},i=30,j=c.getElementsByTagName("head")[0]||d,k=c.getElementsByTagName("base")[0],l=j.getElementsByTagName("link"),m=[],n=function(){for(var b=0;l.length>b;b++){var c=l[b],d=c.href,e=c.media,f=c.rel&&"stylesheet"===c.rel.toLowerCase();d&&f&&!h[d]&&(c.styleSheet&&c.styleSheet.rawCssText?(p(c.styleSheet.rawCssText,d,e),h[d]=!0):(!/^([a-zA-Z:]*\/\/)/.test(d)&&!k||d.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&m.push({href:d,media:e}))}o()},o=function(){if(m.length){var a=m.shift();v(a.href,function(b){p(b,a.href,a.media),h[a.href]=!0,setTimeout(function(){o()},0)})}},p=function(a,b,c){var d=a.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),g=d&&d.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+b+"$2$3")},i=!g&&c;b.length&&(b+="/"),i&&(g=1);for(var j=0;g>j;j++){var k,l,m,n;i?(k=c,f.push(h(a))):(k=d[j].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1,f.push(RegExp.$2&&h(RegExp.$2))),m=k.split(","),n=m.length;for(var o=0;n>o;o++)l=m[o],e.push({media:l.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:f.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},s=function(){var a,b=c.createElement("div"),e=c.body,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",e||(e=f=c.createElement("body"),e.style.background="none"),e.appendChild(b),d.insertBefore(e,d.firstChild),a=b.offsetWidth,f?d.removeChild(e):e.removeChild(b),a=t=parseFloat(a)},u=function(a){var b="clientWidth",h=d[b],k="CSS1Compat"===c.compatMode&&h||c.body[b]||h,m={},n=l[l.length-1],o=(new Date).getTime();if(a&&q&&i>o-q)return clearTimeout(r),r=setTimeout(u,i),void 0;q=o;for(var p in e)if(e.hasOwnProperty(p)){var v=e[p],w=v.minw,x=v.maxw,y=null===w,z=null===x,A="em";w&&(w=parseFloat(w)*(w.indexOf(A)>-1?t||s():1)),x&&(x=parseFloat(x)*(x.indexOf(A)>-1?t||s():1)),v.hasquery&&(y&&z||!(y||k>=w)||!(z||x>=k))||(m[v.media]||(m[v.media]=[]),m[v.media].push(f[v.rules]))}for(var B in g)g.hasOwnProperty(B)&&g[B]&&g[B].parentNode===j&&j.removeChild(g[B]);for(var C in m)if(m.hasOwnProperty(C)){var D=c.createElement("style"),E=m[C].join("\n");D.type="text/css",D.media=C,j.insertBefore(D,n.nextSibling),D.styleSheet?D.styleSheet.cssText=E:D.appendChild(c.createTextNode(E)),g.push(D)}},v=function(a,b){var c=w();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},w=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}();n(),b.update=n,a.addEventListener?a.addEventListener("resize",x,!1):a.attachEvent&&a.attachEvent("onresize",x)})(this); diff --git a/static/fork-awesome/src/doc/assets/js/search.js b/static/fork-awesome/src/doc/assets/js/search.js new file mode 100644 index 0000000..1c4d447 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/js/search.js @@ -0,0 +1,92 @@ +$(function() { + var SearchView = Backbone.View.extend({ + events: { + "click #search-clear": "clear" + }, + + initialize: function() { + this.algolia = algoliasearch("M19DXW5X0Q", "c79b2e61519372a99fa5890db070064c"); + this.algoliaHelper = algoliasearchHelper(this.algolia, "font_awesome"); + this.template = _.template($("#results-template").html()); + + this.$searchInput = this.$("#search-input"); + this.$searchResultsSection = this.$("#search-results"); + this.$searchInputClear = this.$("#search-clear"); + this.$iconsSection = this.$("#icons"); + + this.$searchInput.on("keyup", _.debounce(_.bind(this.search, this), 200)); + this.algoliaHelper.on("result", _.bind(this.showResults, this)); + }, + + search: function(event) { + var query = this.$searchInput.val(); + + if (query !== "") { + this. algoliaHelper.setQuery(query).search(); + } else { + this.clearResults(); + } + }, + + clear: function(event) { + event.preventDefault(); + + this.clearResults(); + }, + + showResults: function(content, state) { + this.$searchResultsSection.html(""); + this.$searchResultsSection.removeClass("hide"); + this.$searchInputClear.removeClass("hide"); + this.$iconsSection.addClass("hide"); + + var results = []; + + _.each(content.hits, function(result) { + results.push(new SearchResultView({ result: result }).render()) + }); + + this.$searchResultsSection.html(this.template({ content: content, results: results.join("") })); + }, + + clearResults: function() { + this.$searchInput.val("").focus(); + this.$searchResultsSection.addClass("hide"); + this.$searchResultsSection.html(""); + this.$searchInputClear.addClass("hide"); + this.$iconsSection.removeClass("hide"); + } + }); + + var SearchResultView = Backbone.View.extend({ + initialize: function(options) { + this.template = _.template($("#result-template").html()); + this.result = options.result + }, + + render: function() { + var matches = []; + + this.pullMatches(matches, this.result._highlightResult.aliases); + this.pullMatches(matches, this.result._highlightResult.synonyms); + + return this.template({ result: this.result, matches: matches }); + }, + + pullMatches: function(matches, list) { + if (list !== undefined) { + _.each(list, function(highlight) { + if (highlight.matchLevel !== "none") { + matches.push(highlight.value) + } + }) + } + } + }); + + var $searchViewElement = $("[data-view=search]"); + + if ($searchViewElement.length > 0) { + new SearchView({ el: $searchViewElement }); + } +}); diff --git a/static/fork-awesome/src/doc/assets/js/share.min.js b/static/fork-awesome/src/doc/assets/js/share.min.js new file mode 100644 index 0000000..d3588e9 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/js/share.min.js @@ -0,0 +1 @@ +"use strict";document.addEventListener("DOMContentLoaded",function(){function e(e){if(e.match(/^https:\/\//i))return e;var t=e.split("/").filter(function(e){return e.indexOf(".")>-1});return"https://"+encodeURIComponent(t)}for(var t=document.querySelector("h1"),n=document.querySelector("head").querySelector("title"),o=document.querySelector('meta[property="og:title"]'),r=null===n?"":n.textContent,i=null===o?"":o.content,l=null===t?"":t.textContent,u=r||i||l,a=encodeURIComponent(window.location.href),c=document.querySelectorAll(".share-btn"),d=[],s=0;sALL KS rewards for just $60!", + class: "fa5", + url: "https://fontawesome.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_campaign=fa5_released&utm_content=banner", + btn_text: "Check out FA Pro  ", + }, + ]; + + // selectAd(); + + // start the icon carousel + $('#icon-carousel').carousel({ + interval: 5000 + }); + + $('[data-toggle="tooltip"]').tooltip(); + $('[data-toggle="popover"]').popover(); + + if (storageAvailable('localStorage') && !localStorage.seenFA5ReleasedModal) { + $('#modal-fa5') + .modal('toggle') + .on('hidden.bs.modal', function (e) { + $('#fa5-iframe').remove(); + }); + ; + } + + if (storageAvailable('localStorage')) { + localStorage.seenFA5ReleasedModal = true; + // Yippee! We can use localStorage awesomeness + } + + function storageAvailable(type) { + try { + var storage = window[type], + x = '__storage_test__'; + storage.setItem(x, x); + storage.removeItem(x); + return true; + } + catch(e) { + return false; + } + } + + function selectAd() { + random_number = Math.floor(Math.random() * ads.length); + random_ad = ads[random_number]; + + $('#banner').addClass(random_ad.class); + $('#rotating-message').html(random_ad.quote); + $('#rotating-url').attr("href", random_ad.url); + $('#rotating-url').html(random_ad.btn_text); + $('#banner').collapse('show'); + } +}); diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csscomb.json b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csscomb.json new file mode 100644 index 0000000..40695a4 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csscomb.json @@ -0,0 +1,304 @@ +{ + "always-semicolon": true, + "block-indent": 2, + "color-case": "lower", + "color-shorthand": true, + "element-case": "lower", + "eof-newline": true, + "leading-zero": false, + "remove-empty-rulesets": true, + "space-after-colon": 1, + "space-after-combinator": 1, + "space-before-selector-delimiter": 0, + "space-between-declarations": "\n", + "space-after-opening-brace": "\n", + "space-before-closing-brace": "\n", + "space-before-colon": 0, + "space-before-combinator": 1, + "space-before-opening-brace": 1, + "strip-spaces": true, + "unitless-zero": true, + "vendor-prefix-align": true, + "sort-order": [ + [ + "position", + "top", + "right", + "bottom", + "left", + "z-index", + "display", + "float", + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "-webkit-box-sizing", + "-moz-box-sizing", + "box-sizing", + "-webkit-appearance", + "padding", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + "margin", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "overflow", + "overflow-x", + "overflow-y", + "-webkit-overflow-scrolling", + "-ms-overflow-x", + "-ms-overflow-y", + "-ms-overflow-style", + "clip", + "clear", + "font", + "font-family", + "font-size", + "font-style", + "font-weight", + "font-variant", + "font-size-adjust", + "font-stretch", + "font-effect", + "font-emphasize", + "font-emphasize-position", + "font-emphasize-style", + "font-smooth", + "-webkit-hyphens", + "-moz-hyphens", + "hyphens", + "line-height", + "color", + "text-align", + "-webkit-text-align-last", + "-moz-text-align-last", + "-ms-text-align-last", + "text-align-last", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-style", + "text-emphasis-position", + "text-decoration", + "text-indent", + "text-justify", + "text-outline", + "-ms-text-overflow", + "text-overflow", + "text-overflow-ellipsis", + "text-overflow-mode", + "text-shadow", + "text-transform", + "text-wrap", + "-webkit-text-size-adjust", + "-ms-text-size-adjust", + "letter-spacing", + "-ms-word-break", + "word-break", + "word-spacing", + "-ms-word-wrap", + "word-wrap", + "-moz-tab-size", + "-o-tab-size", + "tab-size", + "white-space", + "vertical-align", + "list-style", + "list-style-position", + "list-style-type", + "list-style-image", + "pointer-events", + "-ms-touch-action", + "touch-action", + "cursor", + "visibility", + "zoom", + "flex-direction", + "flex-order", + "flex-pack", + "flex-align", + "table-layout", + "empty-cells", + "caption-side", + "border-spacing", + "border-collapse", + "content", + "quotes", + "counter-reset", + "counter-increment", + "resize", + "-webkit-user-select", + "-moz-user-select", + "-ms-user-select", + "-o-user-select", + "user-select", + "nav-index", + "nav-up", + "nav-right", + "nav-down", + "nav-left", + "background", + "background-color", + "background-image", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader", + "filter", + "background-repeat", + "background-attachment", + "background-position", + "background-position-x", + "background-position-y", + "-webkit-background-clip", + "-moz-background-clip", + "background-clip", + "background-origin", + "-webkit-background-size", + "-moz-background-size", + "-o-background-size", + "background-size", + "border", + "border-color", + "border-style", + "border-width", + "border-top", + "border-top-color", + "border-top-style", + "border-top-width", + "border-right", + "border-right-color", + "border-right-style", + "border-right-width", + "border-bottom", + "border-bottom-color", + "border-bottom-style", + "border-bottom-width", + "border-left", + "border-left-color", + "border-left-style", + "border-left-width", + "border-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius", + "-webkit-border-image", + "-moz-border-image", + "-o-border-image", + "border-image", + "-webkit-border-image-source", + "-moz-border-image-source", + "-o-border-image-source", + "border-image-source", + "-webkit-border-image-slice", + "-moz-border-image-slice", + "-o-border-image-slice", + "border-image-slice", + "-webkit-border-image-width", + "-moz-border-image-width", + "-o-border-image-width", + "border-image-width", + "-webkit-border-image-outset", + "-moz-border-image-outset", + "-o-border-image-outset", + "border-image-outset", + "-webkit-border-image-repeat", + "-moz-border-image-repeat", + "-o-border-image-repeat", + "border-image-repeat", + "outline", + "outline-width", + "outline-style", + "outline-color", + "outline-offset", + "-webkit-box-shadow", + "-moz-box-shadow", + "box-shadow", + "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha", + "opacity", + "-ms-interpolation-mode", + "-webkit-transition", + "-moz-transition", + "-ms-transition", + "-o-transition", + "transition", + "-webkit-transition-delay", + "-moz-transition-delay", + "-ms-transition-delay", + "-o-transition-delay", + "transition-delay", + "-webkit-transition-timing-function", + "-moz-transition-timing-function", + "-ms-transition-timing-function", + "-o-transition-timing-function", + "transition-timing-function", + "-webkit-transition-duration", + "-moz-transition-duration", + "-ms-transition-duration", + "-o-transition-duration", + "transition-duration", + "-webkit-transition-property", + "-moz-transition-property", + "-ms-transition-property", + "-o-transition-property", + "transition-property", + "-webkit-transform", + "-moz-transform", + "-ms-transform", + "-o-transform", + "transform", + "-webkit-transform-origin", + "-moz-transform-origin", + "-ms-transform-origin", + "-o-transform-origin", + "transform-origin", + "-webkit-animation", + "-moz-animation", + "-ms-animation", + "-o-animation", + "animation", + "-webkit-animation-name", + "-moz-animation-name", + "-ms-animation-name", + "-o-animation-name", + "animation-name", + "-webkit-animation-duration", + "-moz-animation-duration", + "-ms-animation-duration", + "-o-animation-duration", + "animation-duration", + "-webkit-animation-play-state", + "-moz-animation-play-state", + "-ms-animation-play-state", + "-o-animation-play-state", + "animation-play-state", + "-webkit-animation-timing-function", + "-moz-animation-timing-function", + "-ms-animation-timing-function", + "-o-animation-timing-function", + "animation-timing-function", + "-webkit-animation-delay", + "-moz-animation-delay", + "-ms-animation-delay", + "-o-animation-delay", + "animation-delay", + "-webkit-animation-iteration-count", + "-moz-animation-iteration-count", + "-ms-animation-iteration-count", + "-o-animation-iteration-count", + "animation-iteration-count", + "-webkit-animation-direction", + "-moz-animation-direction", + "-ms-animation-direction", + "-o-animation-direction", + "animation-direction" + ] + ] +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csslintrc b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csslintrc new file mode 100644 index 0000000..005b862 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/.csslintrc @@ -0,0 +1,19 @@ +{ + "adjoining-classes": false, + "box-sizing": false, + "box-model": false, + "compatible-vendor-prefixes": false, + "floats": false, + "font-sizes": false, + "gradients": false, + "important": false, + "known-properties": false, + "outline-none": false, + "qualified-headings": false, + "regex-selectors": false, + "shorthand": false, + "text-indent": false, + "unique-headings": false, + "universal-selector": false, + "unqualified-attributes": false +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/alerts.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/alerts.less new file mode 100644 index 0000000..c4199db --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/alerts.less @@ -0,0 +1,73 @@ +// +// Alerts +// -------------------------------------------------- + + +// Base styles +// ------------------------- + +.alert { + padding: @alert-padding; + margin-bottom: @line-height-computed; + border: 1px solid transparent; + border-radius: @alert-border-radius; + + // Headings for larger alerts + h4 { + margin-top: 0; + // Specified for the h4 to prevent conflicts of changing @headings-color + color: inherit; + } + + // Provide class for links that match alerts + .alert-link { + font-weight: @alert-link-font-weight; + } + + // Improve alignment and spacing of inner content + > p, + > ul { + margin-bottom: 0; + } + + > p + p { + margin-top: 5px; + } +} + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. +.alert-dismissible { + padding-right: (@alert-padding + 20); + + // Adjust close link position + .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; + } +} + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +.alert-success { + .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); +} + +.alert-info { + .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); +} + +.alert-warning { + .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); +} + +.alert-danger { + .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/badges.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/badges.less new file mode 100644 index 0000000..6ee16dc --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/badges.less @@ -0,0 +1,66 @@ +// +// Badges +// -------------------------------------------------- + + +// Base class +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: @font-size-small; + font-weight: @badge-font-weight; + color: @badge-color; + line-height: @badge-line-height; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: @badge-bg; + border-radius: @badge-border-radius; + + // Empty badges collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for badges in buttons + .btn & { + position: relative; + top: -1px; + } + + .btn-xs &, + .btn-group-xs > .btn & { + top: 0; + padding: 1px 5px; + } + + // Hover state, but only for links + a& { + &:hover, + &:focus { + color: @badge-link-hover-color; + text-decoration: none; + cursor: pointer; + } + } + + // Account for badges in navs + .list-group-item.active > &, + .nav-pills > .active > a > & { + color: @badge-active-color; + background-color: @badge-active-bg; + } + + .list-group-item > & { + float: right; + } + + .list-group-item > & + & { + margin-right: 5px; + } + + .nav-pills > li > a > & { + margin-left: 3px; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/bootstrap.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/bootstrap.less new file mode 100644 index 0000000..4b9916e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/bootstrap.less @@ -0,0 +1,56 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// Core variables and mixins +@import "variables.less"; +@import "mixins.less"; + +// Reset and dependencies +@import "normalize.less"; +@import "print.less"; +@import "glyphicons.less"; + +// Core CSS +@import "scaffolding.less"; +@import "type.less"; +@import "code.less"; +@import "grid.less"; +@import "tables.less"; +@import "forms.less"; +@import "buttons.less"; + +// Components +@import "component-animations.less"; +@import "dropdowns.less"; +@import "button-groups.less"; +@import "input-groups.less"; +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; +@import "labels.less"; +@import "badges.less"; +@import "jumbotron.less"; +@import "thumbnails.less"; +@import "alerts.less"; +@import "progress-bars.less"; +@import "media.less"; +@import "list-group.less"; +@import "panels.less"; +@import "responsive-embed.less"; +@import "wells.less"; +@import "close.less"; + +// Components w/ JavaScript +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; +@import "carousel.less"; + +// Utility classes +@import "utilities.less"; +@import "responsive-utilities.less"; diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/breadcrumbs.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/breadcrumbs.less new file mode 100644 index 0000000..cb01d50 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/breadcrumbs.less @@ -0,0 +1,26 @@ +// +// Breadcrumbs +// -------------------------------------------------- + + +.breadcrumb { + padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; + margin-bottom: @line-height-computed; + list-style: none; + background-color: @breadcrumb-bg; + border-radius: @border-radius-base; + + > li { + display: inline-block; + + + li:before { + content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space + padding: 0 5px; + color: @breadcrumb-color; + } + } + + > .active { + color: @breadcrumb-active-color; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/button-groups.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/button-groups.less new file mode 100644 index 0000000..6a0c5a8 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/button-groups.less @@ -0,0 +1,244 @@ +// +// Button groups +// -------------------------------------------------- + +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; // match .btn alignment given font-size hack above + > .btn { + position: relative; + float: left; + // Bring the "active" button to the front + &:hover, + &:focus, + &:active, + &.active { + z-index: 2; + } + } +} + +// Prevent double borders when buttons are next to each other +.btn-group { + .btn + .btn, + .btn + .btn-group, + .btn-group + .btn, + .btn-group + .btn-group { + margin-left: -1px; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-left: -5px; // Offset the first child's margin + &:extend(.clearfix all); + + .btn, + .btn-group, + .input-group { + float: left; + } + > .btn, + > .btn-group, + > .input-group { + margin-left: 5px; + } +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +.btn-group > .btn:first-child { + margin-left: 0; + &:not(:last-child):not(.dropdown-toggle) { + .border-right-radius(0); + } +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + .border-left-radius(0); +} + +// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + .border-right-radius(0); + } +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + .border-left-radius(0); +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-xs > .btn { &:extend(.btn-xs); } +.btn-group-sm > .btn { &:extend(.btn-sm); } +.btn-group-lg > .btn { &:extend(.btn-lg); } + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +// The clickable button for toggling the menu +// Remove the gradient and set the same inset shadow as the :active state +.btn-group.open .dropdown-toggle { + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + .box-shadow(none); + } +} + + +// Reposition the caret +.btn .caret { + margin-left: 0; +} +// Carets in other button sizes +.btn-lg .caret { + border-width: @caret-width-large @caret-width-large 0; + border-bottom-width: 0; +} +// Upside down carets for .dropup +.dropup .btn-lg .caret { + border-width: 0 @caret-width-large @caret-width-large; +} + + +// Vertical button groups +// ---------------------- + +.btn-group-vertical { + > .btn, + > .btn-group, + > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + } + + // Clear floats so dropdown menus can be properly placed + > .btn-group { + &:extend(.clearfix all); + > .btn { + float: none; + } + } + + > .btn + .btn, + > .btn + .btn-group, + > .btn-group + .btn, + > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; + } +} + +.btn-group-vertical > .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:first-child:not(:last-child) { + border-top-right-radius: @btn-border-radius-base; + .border-bottom-radius(0); + } + &:last-child:not(:first-child) { + border-bottom-left-radius: @btn-border-radius-base; + .border-top-radius(0); + } +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + .border-bottom-radius(0); + } +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + .border-top-radius(0); +} + + +// Justified button groups +// ---------------------- + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; + > .btn, + > .btn-group { + float: none; + display: table-cell; + width: 1%; + } + > .btn-group .btn { + width: 100%; + } + + > .btn-group .dropdown-menu { + left: auto; + } +} + + +// Checkbox and radio options +// +// In order to support the browser's form validation feedback, powered by the +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. +// This way, we ensure a DOM element is visible to position the popover from. +// +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. + +[data-toggle="buttons"] { + > .btn, + > .btn-group > .btn { + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none; + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/buttons.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/buttons.less new file mode 100644 index 0000000..9cbb8f4 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/buttons.less @@ -0,0 +1,166 @@ +// +// Buttons +// -------------------------------------------------- + + +// Base styles +// -------------------------------------------------- + +.btn { + display: inline-block; + margin-bottom: 0; // For input.btn + font-weight: @btn-font-weight; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + white-space: nowrap; + .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base); + .user-select(none); + + &, + &:active, + &.active { + &:focus, + &.focus { + .tab-focus(); + } + } + + &:hover, + &:focus, + &.focus { + color: @btn-default-color; + text-decoration: none; + } + + &:active, + &.active { + outline: 0; + background-image: none; + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + cursor: @cursor-disabled; + .opacity(.65); + .box-shadow(none); + } + + a& { + &.disabled, + fieldset[disabled] & { + pointer-events: none; // Future-proof disabling of clicks on `` elements + } + } +} + + +// Alternate buttons +// -------------------------------------------------- + +.btn-default { + .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); +} +.btn-primary { + .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); +} +// Success appears as green +.btn-success { + .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); +} +// Info appears as blue-green +.btn-info { + .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); +} +// Warning appears as orange +.btn-warning { + .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); +} +// Danger and error appear as red +.btn-danger { + .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); +} + + +// Link buttons +// ------------------------- + +// Make a button look and behave like a link +.btn-link { + color: @link-color; + font-weight: normal; + border-radius: 0; + + &, + &:active, + &.active, + &[disabled], + fieldset[disabled] & { + background-color: transparent; + .box-shadow(none); + } + &, + &:hover, + &:focus, + &:active { + border-color: transparent; + } + &:hover, + &:focus { + color: @link-hover-color; + text-decoration: @link-hover-decoration; + background-color: transparent; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @btn-link-disabled-color; + text-decoration: none; + } + } +} + + +// Button Sizes +// -------------------------------------------------- + +.btn-lg { + // line-height: ensure even-numbered height of button next to large input + .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large); +} +.btn-sm { + // line-height: ensure proper height of button next to small input + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); +} +.btn-xs { + .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); +} + + +// Block button +// -------------------------------------------------- + +.btn-block { + display: block; + width: 100%; +} + +// Vertically space out multiple block buttons +.btn-block + .btn-block { + margin-top: 5px; +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/carousel.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/carousel.less new file mode 100644 index 0000000..87ed696 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/carousel.less @@ -0,0 +1,269 @@ +// +// Carousel +// -------------------------------------------------- + + +// Wrapper for the slide container and indicators +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; + + > .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + + // Account for jankitude on images + > img, + > a > img { + &:extend(.img-responsive); + line-height: 1; + } + + // WebKit CSS3 transforms for supported devices + @media all and (transform-3d), (-webkit-transform-3d) { + .transition-transform(~'0.6s ease-in-out'); + .backface-visibility(~'hidden'); + .perspective(1000px); + + &.next, + &.active.right { + .translate3d(100%, 0, 0); + left: 0; + } + &.prev, + &.active.left { + .translate3d(-100%, 0, 0); + left: 0; + } + &.next.left, + &.prev.right, + &.active { + .translate3d(0, 0, 0); + left: 0; + } + } + } + + > .active, + > .next, + > .prev { + display: block; + } + + > .active { + left: 0; + } + + > .next, + > .prev { + position: absolute; + top: 0; + width: 100%; + } + + > .next { + left: 100%; + } + > .prev { + left: -100%; + } + > .next.left, + > .prev.right { + left: 0; + } + + > .active.left { + left: -100%; + } + > .active.right { + left: 100%; + } + +} + +// Left/right controls for nav +// --------------------------- + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: @carousel-control-width; + .opacity(@carousel-control-opacity); + font-size: @carousel-control-font-size; + color: @carousel-control-color; + text-align: center; + text-shadow: @carousel-text-shadow; + // We can't have this transition here because WebKit cancels the carousel + // animation if you trip this while in the middle of another animation. + + // Set gradients for backgrounds + &.left { + #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001)); + } + &.right { + left: auto; + right: 0; + #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5)); + } + + // Hover/focus state + &:hover, + &:focus { + outline: 0; + color: @carousel-control-color; + text-decoration: none; + .opacity(.9); + } + + // Toggles + .icon-prev, + .icon-next, + .glyphicon-chevron-left, + .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; + } + .icon-prev, + .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; + } + .icon-next, + .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; + } + .icon-prev, + .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; + } + + + .icon-prev { + &:before { + content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) + } + } + .icon-next { + &:before { + content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) + } + } +} + +// Optional indicator pips +// +// Add an unordered list with the following class and add a list item for each +// slide your carousel holds. + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; + + li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid @carousel-indicator-border-color; + border-radius: 10px; + cursor: pointer; + + // IE8-9 hack for event handling + // + // Internet Explorer 8-9 does not support clicks on elements without a set + // `background-color`. We cannot use `filter` since that's not viewed as a + // background color by the browser. Thus, a hack is needed. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer + // + // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we + // set alpha transparency for the best results possible. + background-color: #000 \9; // IE8 + background-color: rgba(0,0,0,0); // IE9 + } + .active { + margin: 0; + width: 12px; + height: 12px; + background-color: @carousel-indicator-active-bg; + } +} + +// Optional captions +// ----------------------------- +// Hidden by default for smaller viewports +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: @carousel-caption-color; + text-align: center; + text-shadow: @carousel-text-shadow; + & .btn { + text-shadow: none; // No shadow for button elements in carousel-caption + } +} + + +// Scale up controls for tablets and up +@media screen and (min-width: @screen-sm-min) { + + // Scale up the controls a smidge + .carousel-control { + .glyphicon-chevron-left, + .glyphicon-chevron-right, + .icon-prev, + .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .glyphicon-chevron-left, + .icon-prev { + margin-left: -15px; + } + .glyphicon-chevron-right, + .icon-next { + margin-right: -15px; + } + } + + // Show and left align the captions + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + + // Move up the indicators + .carousel-indicators { + bottom: 20px; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/close.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/close.less new file mode 100644 index 0000000..6d5bfe0 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/close.less @@ -0,0 +1,34 @@ +// +// Close icons +// -------------------------------------------------- + + +.close { + float: right; + font-size: (@font-size-base * 1.5); + font-weight: @close-font-weight; + line-height: 1; + color: @close-color; + text-shadow: @close-text-shadow; + .opacity(.2); + + &:hover, + &:focus { + color: @close-color; + text-decoration: none; + cursor: pointer; + .opacity(.5); + } + + // Additional properties for button version + // iOS requires the button element instead of an anchor tag. + // If you want the anchor version, it requires `href="#"`. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + button& { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/code.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/code.less new file mode 100644 index 0000000..a08b4d4 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/code.less @@ -0,0 +1,69 @@ +// +// Code (inline and block) +// -------------------------------------------------- + + +// Inline and block code styles +code, +kbd, +pre, +samp { + font-family: @font-family-monospace; +} + +// Inline code +code { + padding: 2px 4px; + font-size: 90%; + color: @code-color; + background-color: @code-bg; + border-radius: @border-radius-base; +} + +// User input typically entered via keyboard +kbd { + padding: 2px 4px; + font-size: 90%; + color: @kbd-color; + background-color: @kbd-bg; + border-radius: @border-radius-small; + box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); + + kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; + } +} + +// Blocks of code +pre { + display: block; + padding: ((@line-height-computed - 1) / 2); + margin: 0 0 (@line-height-computed / 2); + font-size: (@font-size-base - 1); // 14px to 13px + line-height: @line-height-base; + word-break: break-all; + word-wrap: break-word; + color: @pre-color; + background-color: @pre-bg; + border: 1px solid @pre-border-color; + border-radius: @border-radius-base; + + // Account for some code outputs that place code tags in pre tags + code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; + } +} + +// Enable scrollable blocks of code +.pre-scrollable { + max-height: @pre-scrollable-max-height; + overflow-y: scroll; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/component-animations.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/component-animations.less new file mode 100644 index 0000000..0bcee91 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/component-animations.less @@ -0,0 +1,33 @@ +// +// Component animations +// -------------------------------------------------- + +// Heads up! +// +// We don't use the `.opacity()` mixin here since it causes a bug with text +// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. + +.fade { + opacity: 0; + .transition(opacity .15s linear); + &.in { + opacity: 1; + } +} + +.collapse { + display: none; + + &.in { display: block; } + tr&.in { display: table-row; } + tbody&.in { display: table-row-group; } +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + .transition-property(~"height, visibility"); + .transition-duration(.35s); + .transition-timing-function(ease); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/dropdowns.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/dropdowns.less new file mode 100644 index 0000000..f6876c1 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/dropdowns.less @@ -0,0 +1,216 @@ +// +// Dropdown menus +// -------------------------------------------------- + + +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: @caret-width-base dashed; + border-top: @caret-width-base solid ~"\9"; // IE8 + border-right: @caret-width-base solid transparent; + border-left: @caret-width-base solid transparent; +} + +// The dropdown wrapper (div) +.dropup, +.dropdown { + position: relative; +} + +// Prevent the focus on the dropdown toggle when closing dropdowns +.dropdown-toggle:focus { + outline: 0; +} + +// The dropdown menu (ul) +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; // override default ul + list-style: none; + font-size: @font-size-base; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + background-color: @dropdown-bg; + border: 1px solid @dropdown-fallback-border; // IE8 fallback + border: 1px solid @dropdown-border; + border-radius: @border-radius-base; + .box-shadow(0 6px 12px rgba(0,0,0,.175)); + background-clip: padding-box; + + // Aligns the dropdown menu to right + // + // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + .nav-divider(@dropdown-divider-bg); + } + + // Links within the dropdown menu + > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: @line-height-base; + color: @dropdown-link-color; + white-space: nowrap; // prevent links from randomly breaking onto new lines + } +} + +// Hover/Focus state +.dropdown-menu > li > a { + &:hover, + &:focus { + text-decoration: none; + color: @dropdown-link-hover-color; + background-color: @dropdown-link-hover-bg; + } +} + +// Active state +.dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: @dropdown-link-active-color; + text-decoration: none; + outline: 0; + background-color: @dropdown-link-active-bg; + } +} + +// Disabled state +// +// Gray out text and ensure the hover/focus state remains gray + +.dropdown-menu > .disabled > a { + &, + &:hover, + &:focus { + color: @dropdown-link-disabled-color; + } + + // Nuke hover/focus effects + &:hover, + &:focus { + text-decoration: none; + background-color: transparent; + background-image: none; // Remove CSS gradient + .reset-filter(); + cursor: @cursor-disabled; + } +} + +// Open state for the dropdown +.open { + // Show the menu + > .dropdown-menu { + display: block; + } + + // Remove the outline when :focus is triggered + > a { + outline: 0; + } +} + +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + left: auto; // Reset the default from `.dropdown-menu` + right: 0; +} +// With v3, we enabled auto-flipping if you have a dropdown within a right +// aligned nav component. To enable the undoing of that, we provide an override +// to restore the default dropdown menu alignment. +// +// This is only for left-aligning a dropdown menu within a `.navbar-right` or +// `.pull-right` nav component. +.dropdown-menu-left { + left: 0; + right: auto; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: @font-size-small; + line-height: @line-height-base; + color: @dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Backdrop to catch body clicks on mobile, etc. +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: (@zindex-dropdown - 10); +} + +// Right aligned dropdowns +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// +// Just add .dropup after the standard .dropdown class and you're set, bro. +// TODO: abstract this so that the navbar fixed styles are not placed here? + +.dropup, +.navbar-fixed-bottom .dropdown { + // Reverse the caret + .caret { + border-top: 0; + border-bottom: @caret-width-base dashed; + border-bottom: @caret-width-base solid ~"\9"; // IE8 + content: ""; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; + } +} + + +// Component alignment +// +// Reiterate per navbar.less and the modified component alignment there. + +@media (min-width: @grid-float-breakpoint) { + .navbar-right { + .dropdown-menu { + .dropdown-menu-right(); + } + // Necessary for overrides of the default right aligned menu. + // Will remove come v4 in all likelihood. + .dropdown-menu-left { + .dropdown-menu-left(); + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/forms.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/forms.less new file mode 100644 index 0000000..910c1e1 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/forms.less @@ -0,0 +1,613 @@ +// +// Forms +// -------------------------------------------------- + + +// Normalize non-controls +// +// Restyle and baseline non-control form elements. + +fieldset { + padding: 0; + margin: 0; + border: 0; + // Chrome and Firefox set a `min-width: min-content;` on fieldsets, + // so we reset that to ensure it behaves more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359. + min-width: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: @line-height-computed; + font-size: (@font-size-base * 1.5); + line-height: inherit; + color: @legend-color; + border: 0; + border-bottom: 1px solid @legend-border-color; +} + +label { + display: inline-block; + max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) + margin-bottom: 5px; + font-weight: bold; +} + + +// Normalize form controls +// +// While most of our form styles require extra classes, some basic normalization +// is required to ensure optimum display with or without those classes to better +// address browser inconsistencies. + +// Override content-box in Normalize (* isn't specific enough) +input[type="search"] { + .box-sizing(border-box); +} + +// Position radios and checkboxes better +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; // IE8-9 + line-height: normal; +} + +input[type="file"] { + display: block; +} + +// Make range inputs behave like textual form controls +input[type="range"] { + display: block; + width: 100%; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Focus for file, radio, and checkbox +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + .tab-focus(); +} + +// Adjust output element +output { + display: block; + padding-top: (@padding-base-vertical + 1); + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; +} + + +// Common form controls +// +// Shared size and type resets for form controls. Apply `.form-control` to any +// of the following form controls: +// +// select +// textarea +// input[type="text"] +// input[type="password"] +// input[type="datetime"] +// input[type="datetime-local"] +// input[type="date"] +// input[type="month"] +// input[type="time"] +// input[type="week"] +// input[type="number"] +// input[type="email"] +// input[type="url"] +// input[type="search"] +// input[type="tel"] +// input[type="color"] + +.form-control { + display: block; + width: 100%; + height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) + padding: @padding-base-vertical @padding-base-horizontal; + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; + background-color: @input-bg; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid @input-border; + border-radius: @input-border-radius; // Note: This has no effect on s in CSS. + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); + + // Customize the `:focus` state to imitate native WebKit styles. + .form-control-focus(); + + // Placeholder + .placeholder(); + + // Unstyle the caret on `` +// element gets special love because it's special, and that's a fact! +.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { + height: @input-height; + padding: @padding-vertical @padding-horizontal; + font-size: @font-size; + line-height: @line-height; + border-radius: @border-radius; + + select& { + height: @input-height; + line-height: @input-height; + } + + textarea&, + select[multiple]& { + height: auto; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/gradients.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/gradients.less new file mode 100644 index 0000000..0b88a89 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/gradients.less @@ -0,0 +1,59 @@ +// Gradients + +#gradient { + + // Horizontal gradient, from left to right + // + // Creates two color stops, start and end, by specifying a color and position for each color stop. + // Color stops are not available in IE9 and below. + .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { + background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+ + background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12 + background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down + } + + // Vertical gradient, from top to bottom + // + // Creates two color stops, start and end, by specifying a color and position for each color stop. + // Color stops are not available in IE9 and below. + .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { + background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+ + background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12 + background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + background-repeat: repeat-x; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down + } + + .directional(@start-color: #555; @end-color: #333; @deg: 45deg) { + background-repeat: repeat-x; + background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+ + background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12 + background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ + } + .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { + background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); + background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); + background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback + } + .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { + background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color); + background-repeat: no-repeat; + filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback + } + .radial(@inner-color: #555; @outer-color: #333) { + background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color); + background-image: radial-gradient(circle, @inner-color, @outer-color); + background-repeat: no-repeat; + } + .striped(@color: rgba(255,255,255,.15); @angle: 45deg) { + background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid-framework.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid-framework.less new file mode 100644 index 0000000..8c23eed --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid-framework.less @@ -0,0 +1,91 @@ +// Framework grid generation +// +// Used only by Bootstrap to generate the correct number of grid classes given +// any value of `@grid-columns`. + +.make-grid-columns() { + // Common styles for all sizes of grid columns, widths 1-12 + .col(@index) { // initial + @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; + .col((@index + 1), @item); + } + .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo + @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; + .col((@index + 1), ~"@{list}, @{item}"); + } + .col(@index, @list) when (@index > @grid-columns) { // terminal + @{list} { + position: relative; + // Prevent columns from collapsing when empty + min-height: 1px; + // Inner gutter via padding + padding-left: ceil((@grid-gutter-width / 2)); + padding-right: floor((@grid-gutter-width / 2)); + } + } + .col(1); // kickstart it +} + +.float-grid-columns(@class) { + .col(@index) { // initial + @item: ~".col-@{class}-@{index}"; + .col((@index + 1), @item); + } + .col(@index, @list) when (@index =< @grid-columns) { // general + @item: ~".col-@{class}-@{index}"; + .col((@index + 1), ~"@{list}, @{item}"); + } + .col(@index, @list) when (@index > @grid-columns) { // terminal + @{list} { + float: left; + } + } + .col(1); // kickstart it +} + +.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { + .col-@{class}-@{index} { + width: percentage((@index / @grid-columns)); + } +} +.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) { + .col-@{class}-push-@{index} { + left: percentage((@index / @grid-columns)); + } +} +.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) { + .col-@{class}-push-0 { + left: auto; + } +} +.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) { + .col-@{class}-pull-@{index} { + right: percentage((@index / @grid-columns)); + } +} +.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) { + .col-@{class}-pull-0 { + right: auto; + } +} +.calc-grid-column(@index, @class, @type) when (@type = offset) { + .col-@{class}-offset-@{index} { + margin-left: percentage((@index / @grid-columns)); + } +} + +// Basic looping in LESS +.loop-grid-columns(@index, @class, @type) when (@index >= 0) { + .calc-grid-column(@index, @class, @type); + // next iteration + .loop-grid-columns((@index - 1), @class, @type); +} + +// Create grid for specific class +.make-grid(@class) { + .float-grid-columns(@class); + .loop-grid-columns(@grid-columns, @class, width); + .loop-grid-columns(@grid-columns, @class, pull); + .loop-grid-columns(@grid-columns, @class, push); + .loop-grid-columns(@grid-columns, @class, offset); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid.less new file mode 100644 index 0000000..f144c15 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/grid.less @@ -0,0 +1,122 @@ +// Grid system +// +// Generate semantic grid columns with these mixins. + +// Centered container element +.container-fixed(@gutter: @grid-gutter-width) { + margin-right: auto; + margin-left: auto; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + &:extend(.clearfix all); +} + +// Creates a wrapper for a series of columns +.make-row(@gutter: @grid-gutter-width) { + margin-left: ceil((@gutter / -2)); + margin-right: floor((@gutter / -2)); + &:extend(.clearfix all); +} + +// Generate the extra small columns +.make-xs-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + float: left; + width: percentage((@columns / @grid-columns)); + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); +} +.make-xs-column-offset(@columns) { + margin-left: percentage((@columns / @grid-columns)); +} +.make-xs-column-push(@columns) { + left: percentage((@columns / @grid-columns)); +} +.make-xs-column-pull(@columns) { + right: percentage((@columns / @grid-columns)); +} + +// Generate the small columns +.make-sm-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-sm-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-offset(@columns) { + @media (min-width: @screen-sm-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-push(@columns) { + @media (min-width: @screen-sm-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-pull(@columns) { + @media (min-width: @screen-sm-min) { + right: percentage((@columns / @grid-columns)); + } +} + +// Generate the medium columns +.make-md-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-md-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-md-column-offset(@columns) { + @media (min-width: @screen-md-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-push(@columns) { + @media (min-width: @screen-md-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-pull(@columns) { + @media (min-width: @screen-md-min) { + right: percentage((@columns / @grid-columns)); + } +} + +// Generate the large columns +.make-lg-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + min-height: 1px; + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + @media (min-width: @screen-lg-min) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-offset(@columns) { + @media (min-width: @screen-lg-min) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-push(@columns) { + @media (min-width: @screen-lg-min) { + left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-pull(@columns) { + @media (min-width: @screen-lg-min) { + right: percentage((@columns / @grid-columns)); + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/hide-text.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/hide-text.less new file mode 100644 index 0000000..bc70118 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/hide-text.less @@ -0,0 +1,21 @@ +// CSS image replacement +// +// Heads up! v3 launched with only `.hide-text()`, but per our pattern for +// mixins being reused as classes with the same name, this doesn't hold up. As +// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. +// +// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 + +// Deprecated as of v3.0.1 (will be removed in v4) +.hide-text() { + font: ~"0/0" a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +// New mixin to use as of v3.0.1 +.text-hide() { + .hide-text(); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/image.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/image.less new file mode 100644 index 0000000..f233cb3 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/image.less @@ -0,0 +1,33 @@ +// Image Mixins +// - Responsive image +// - Retina image + + +// Responsive image +// +// Keep images from scaling beyond the width of their parents. +.img-responsive(@display: block) { + display: @display; + max-width: 100%; // Part 1: Set a maximum relative to the parent + height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching +} + + +// Retina image +// +// Short retina mixin for setting background-image and -size. Note that the +// spelling of `min--moz-device-pixel-ratio` is intentional. +.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { + background-image: url("@{file-1x}"); + + @media + only screen and (-webkit-min-device-pixel-ratio: 2), + only screen and ( min--moz-device-pixel-ratio: 2), + only screen and ( -o-min-device-pixel-ratio: 2/1), + only screen and ( min-device-pixel-ratio: 2), + only screen and ( min-resolution: 192dpi), + only screen and ( min-resolution: 2dppx) { + background-image: url("@{file-2x}"); + background-size: @width-1x @height-1x; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/labels.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/labels.less new file mode 100644 index 0000000..9f7a67e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/labels.less @@ -0,0 +1,12 @@ +// Labels + +.label-variant(@color) { + background-color: @color; + + &[href] { + &:hover, + &:focus { + background-color: darken(@color, 10%); + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/list-group.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/list-group.less new file mode 100644 index 0000000..03aa190 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/list-group.less @@ -0,0 +1,30 @@ +// List Groups + +.list-group-item-variant(@state; @background; @color) { + .list-group-item-@{state} { + color: @color; + background-color: @background; + + a&, + button& { + color: @color; + + .list-group-item-heading { + color: inherit; + } + + &:hover, + &:focus { + color: @color; + background-color: darken(@background, 5%); + } + &.active, + &.active:hover, + &.active:focus { + color: #fff; + background-color: @color; + border-color: @color; + } + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-divider.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-divider.less new file mode 100644 index 0000000..feb1e9e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-divider.less @@ -0,0 +1,10 @@ +// Horizontal dividers +// +// Dividers (basically an hr) within dropdowns and nav lists + +.nav-divider(@color: #e5e5e5) { + height: 1px; + margin: ((@line-height-computed / 2) - 1) 0; + overflow: hidden; + background-color: @color; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-vertical-align.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-vertical-align.less new file mode 100644 index 0000000..d458c78 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/nav-vertical-align.less @@ -0,0 +1,9 @@ +// Navbar vertical align +// +// Vertically center elements in the navbar. +// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. + +.navbar-vertical-align(@element-height) { + margin-top: ((@navbar-height - @element-height) / 2); + margin-bottom: ((@navbar-height - @element-height) / 2); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/opacity.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/opacity.less new file mode 100644 index 0000000..33ed25c --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/opacity.less @@ -0,0 +1,8 @@ +// Opacity + +.opacity(@opacity) { + opacity: @opacity; + // IE8 filter + @opacity-ie: (@opacity * 100); + filter: ~"alpha(opacity=@{opacity-ie})"; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/pagination.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/pagination.less new file mode 100644 index 0000000..618804f --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/pagination.less @@ -0,0 +1,24 @@ +// Pagination + +.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { + > li { + > a, + > span { + padding: @padding-vertical @padding-horizontal; + font-size: @font-size; + line-height: @line-height; + } + &:first-child { + > a, + > span { + .border-left-radius(@border-radius); + } + } + &:last-child { + > a, + > span { + .border-right-radius(@border-radius); + } + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/panels.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/panels.less new file mode 100644 index 0000000..49ee10d --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/panels.less @@ -0,0 +1,24 @@ +// Panels + +.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { + border-color: @border; + + & > .panel-heading { + color: @heading-text-color; + background-color: @heading-bg-color; + border-color: @heading-border; + + + .panel-collapse > .panel-body { + border-top-color: @border; + } + .badge { + color: @heading-bg-color; + background-color: @heading-text-color; + } + } + & > .panel-footer { + + .panel-collapse > .panel-body { + border-bottom-color: @border; + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/progress-bar.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/progress-bar.less new file mode 100644 index 0000000..f07996a --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/progress-bar.less @@ -0,0 +1,10 @@ +// Progress bars + +.progress-bar-variant(@color) { + background-color: @color; + + // Deprecated parent class requirement as of v3.2.0 + .progress-striped & { + #gradient > .striped(); + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-filter.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-filter.less new file mode 100644 index 0000000..68cdb5e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-filter.less @@ -0,0 +1,8 @@ +// Reset filters for IE +// +// When you need to remove a gradient background, do not forget to use this to reset +// the IE filter for IE9 and below. + +.reset-filter() { + filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-text.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-text.less new file mode 100644 index 0000000..58dd4d1 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/reset-text.less @@ -0,0 +1,18 @@ +.reset-text() { + font-family: @font-family-base; + // We deliberately do NOT reset font-size. + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: @line-height-base; + text-align: left; // Fallback for where `start` is not supported + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/resize.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/resize.less new file mode 100644 index 0000000..3acd3af --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/resize.less @@ -0,0 +1,6 @@ +// Resize anything + +.resizable(@direction) { + resize: @direction; // Options: horizontal, vertical, both + overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/responsive-visibility.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/responsive-visibility.less new file mode 100644 index 0000000..ecf1e97 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/responsive-visibility.less @@ -0,0 +1,15 @@ +// Responsive utilities + +// +// More easily include all the states for responsive-utilities.less. +.responsive-visibility() { + display: block !important; + table& { display: table !important; } + tr& { display: table-row !important; } + th&, + td& { display: table-cell !important; } +} + +.responsive-invisibility() { + display: none !important; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/size.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/size.less new file mode 100644 index 0000000..a8be650 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/size.less @@ -0,0 +1,10 @@ +// Sizing shortcuts + +.size(@width; @height) { + width: @width; + height: @height; +} + +.square(@size) { + .size(@size; @size); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/tab-focus.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/tab-focus.less new file mode 100644 index 0000000..1f1f05a --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/tab-focus.less @@ -0,0 +1,9 @@ +// WebKit-style focus + +.tab-focus() { + // Default + outline: thin dotted; + // WebKit + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/table-row.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/table-row.less new file mode 100644 index 0000000..0f287f1 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/table-row.less @@ -0,0 +1,28 @@ +// Tables + +.table-row-variant(@state; @background) { + // Exact selectors below required to override `.table-striped` and prevent + // inheritance to nested tables. + .table > thead > tr, + .table > tbody > tr, + .table > tfoot > tr { + > td.@{state}, + > th.@{state}, + &.@{state} > td, + &.@{state} > th { + background-color: @background; + } + } + + // Hover states for `.table-hover` + // Note: this is not available for cells or rows within `thead` or `tfoot`. + .table-hover > tbody > tr { + > td.@{state}:hover, + > th.@{state}:hover, + &.@{state}:hover > td, + &:hover > .@{state}, + &.@{state}:hover > th { + background-color: darken(@background, 5%); + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-emphasis.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-emphasis.less new file mode 100644 index 0000000..9e8a77a --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-emphasis.less @@ -0,0 +1,9 @@ +// Typography + +.text-emphasis-variant(@color) { + color: @color; + a&:hover, + a&:focus { + color: darken(@color, 10%); + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-overflow.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-overflow.less new file mode 100644 index 0000000..c11ad2f --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/text-overflow.less @@ -0,0 +1,8 @@ +// Text overflow +// Requires inline-block or block for proper styling + +.text-overflow() { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/vendor-prefixes.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/vendor-prefixes.less new file mode 100644 index 0000000..afd3331 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/mixins/vendor-prefixes.less @@ -0,0 +1,227 @@ +// Vendor Prefixes +// +// All vendor mixins are deprecated as of v3.2.0 due to the introduction of +// Autoprefixer in our Gruntfile. They will be removed in v4. + +// - Animations +// - Backface visibility +// - Box shadow +// - Box sizing +// - Content columns +// - Hyphens +// - Placeholder text +// - Transformations +// - Transitions +// - User Select + + +// Animations +.animation(@animation) { + -webkit-animation: @animation; + -o-animation: @animation; + animation: @animation; +} +.animation-name(@name) { + -webkit-animation-name: @name; + animation-name: @name; +} +.animation-duration(@duration) { + -webkit-animation-duration: @duration; + animation-duration: @duration; +} +.animation-timing-function(@timing-function) { + -webkit-animation-timing-function: @timing-function; + animation-timing-function: @timing-function; +} +.animation-delay(@delay) { + -webkit-animation-delay: @delay; + animation-delay: @delay; +} +.animation-iteration-count(@iteration-count) { + -webkit-animation-iteration-count: @iteration-count; + animation-iteration-count: @iteration-count; +} +.animation-direction(@direction) { + -webkit-animation-direction: @direction; + animation-direction: @direction; +} +.animation-fill-mode(@fill-mode) { + -webkit-animation-fill-mode: @fill-mode; + animation-fill-mode: @fill-mode; +} + +// Backface visibility +// Prevent browsers from flickering when using CSS 3D transforms. +// Default value is `visible`, but can be changed to `hidden` + +.backface-visibility(@visibility){ + -webkit-backface-visibility: @visibility; + -moz-backface-visibility: @visibility; + backface-visibility: @visibility; +} + +// Drop shadows +// +// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's +// supported browsers that have box shadow capabilities now support it. + +.box-shadow(@shadow) { + -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1 + box-shadow: @shadow; +} + +// Box sizing +.box-sizing(@boxmodel) { + -webkit-box-sizing: @boxmodel; + -moz-box-sizing: @boxmodel; + box-sizing: @boxmodel; +} + +// CSS3 Content Columns +.content-columns(@column-count; @column-gap: @grid-gutter-width) { + -webkit-column-count: @column-count; + -moz-column-count: @column-count; + column-count: @column-count; + -webkit-column-gap: @column-gap; + -moz-column-gap: @column-gap; + column-gap: @column-gap; +} + +// Optional hyphenation +.hyphens(@mode: auto) { + word-wrap: break-word; + -webkit-hyphens: @mode; + -moz-hyphens: @mode; + -ms-hyphens: @mode; // IE10+ + -o-hyphens: @mode; + hyphens: @mode; +} + +// Placeholder text +.placeholder(@color: @input-color-placeholder) { + // Firefox + &::-moz-placeholder { + color: @color; + opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526 + } + &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+ + &::-webkit-input-placeholder { color: @color; } // Safari and Chrome +} + +// Transformations +.scale(@ratio) { + -webkit-transform: scale(@ratio); + -ms-transform: scale(@ratio); // IE9 only + -o-transform: scale(@ratio); + transform: scale(@ratio); +} +.scale(@ratioX; @ratioY) { + -webkit-transform: scale(@ratioX, @ratioY); + -ms-transform: scale(@ratioX, @ratioY); // IE9 only + -o-transform: scale(@ratioX, @ratioY); + transform: scale(@ratioX, @ratioY); +} +.scaleX(@ratio) { + -webkit-transform: scaleX(@ratio); + -ms-transform: scaleX(@ratio); // IE9 only + -o-transform: scaleX(@ratio); + transform: scaleX(@ratio); +} +.scaleY(@ratio) { + -webkit-transform: scaleY(@ratio); + -ms-transform: scaleY(@ratio); // IE9 only + -o-transform: scaleY(@ratio); + transform: scaleY(@ratio); +} +.skew(@x; @y) { + -webkit-transform: skewX(@x) skewY(@y); + -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ + -o-transform: skewX(@x) skewY(@y); + transform: skewX(@x) skewY(@y); +} +.translate(@x; @y) { + -webkit-transform: translate(@x, @y); + -ms-transform: translate(@x, @y); // IE9 only + -o-transform: translate(@x, @y); + transform: translate(@x, @y); +} +.translate3d(@x; @y; @z) { + -webkit-transform: translate3d(@x, @y, @z); + transform: translate3d(@x, @y, @z); +} +.rotate(@degrees) { + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); // IE9 only + -o-transform: rotate(@degrees); + transform: rotate(@degrees); +} +.rotateX(@degrees) { + -webkit-transform: rotateX(@degrees); + -ms-transform: rotateX(@degrees); // IE9 only + -o-transform: rotateX(@degrees); + transform: rotateX(@degrees); +} +.rotateY(@degrees) { + -webkit-transform: rotateY(@degrees); + -ms-transform: rotateY(@degrees); // IE9 only + -o-transform: rotateY(@degrees); + transform: rotateY(@degrees); +} +.perspective(@perspective) { + -webkit-perspective: @perspective; + -moz-perspective: @perspective; + perspective: @perspective; +} +.perspective-origin(@perspective) { + -webkit-perspective-origin: @perspective; + -moz-perspective-origin: @perspective; + perspective-origin: @perspective; +} +.transform-origin(@origin) { + -webkit-transform-origin: @origin; + -moz-transform-origin: @origin; + -ms-transform-origin: @origin; // IE9 only + transform-origin: @origin; +} + + +// Transitions + +.transition(@transition) { + -webkit-transition: @transition; + -o-transition: @transition; + transition: @transition; +} +.transition-property(@transition-property) { + -webkit-transition-property: @transition-property; + transition-property: @transition-property; +} +.transition-delay(@transition-delay) { + -webkit-transition-delay: @transition-delay; + transition-delay: @transition-delay; +} +.transition-duration(@transition-duration) { + -webkit-transition-duration: @transition-duration; + transition-duration: @transition-duration; +} +.transition-timing-function(@timing-function) { + -webkit-transition-timing-function: @timing-function; + transition-timing-function: @timing-function; +} +.transition-transform(@transition) { + -webkit-transition: -webkit-transform @transition; + -moz-transition: -moz-transform @transition; + -o-transition: -o-transform @transition; + transition: transform @transition; +} + + +// User select +// For selecting text on the page + +.user-select(@select) { + -webkit-user-select: @select; + -moz-user-select: @select; + -ms-user-select: @select; // IE10+ + user-select: @select; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/modals.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/modals.less new file mode 100644 index 0000000..1de6220 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/modals.less @@ -0,0 +1,150 @@ +// +// Modals +// -------------------------------------------------- + +// .modal-open - body class for killing the scroll +// .modal - container to scroll within +// .modal-dialog - positioning shell for the actual modal +// .modal-content - actual modal w/ bg and corners and shit + +// Kill the scroll on the body +.modal-open { + overflow: hidden; +} + +// Container that the modal scrolls within +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindex-modal; + -webkit-overflow-scrolling: touch; + + // Prevent Chrome on Windows from adding a focus outline. For details, see + // https://github.com/twbs/bootstrap/pull/10951. + outline: 0; + + // When fading in the modal, animate it to slide down + &.fade .modal-dialog { + .translate(0, -25%); + .transition-transform(~"0.3s ease-out"); + } + &.in .modal-dialog { .translate(0, 0) } +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +// Shell div to position the modal with bottom padding +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} + +// Actual modal +.modal-content { + position: relative; + background-color: @modal-content-bg; + border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc) + border: 1px solid @modal-content-border-color; + border-radius: @border-radius-large; + .box-shadow(0 3px 9px rgba(0,0,0,.5)); + background-clip: padding-box; + // Remove focus outline from opened modal + outline: 0; +} + +// Modal background +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: @zindex-modal-background; + background-color: @modal-backdrop-bg; + // Fade for backdrop + &.fade { .opacity(0); } + &.in { .opacity(@modal-backdrop-opacity); } +} + +// Modal header +// Top section of the modal w/ title and dismiss +.modal-header { + padding: @modal-title-padding; + border-bottom: 1px solid @modal-header-border-color; + min-height: (@modal-title-padding + @modal-title-line-height); +} +// Close icon +.modal-header .close { + margin-top: -2px; +} + +// Title text within header +.modal-title { + margin: 0; + line-height: @modal-title-line-height; +} + +// Modal body +// Where all modal content resides (sibling of .modal-header and .modal-footer) +.modal-body { + position: relative; + padding: @modal-inner-padding; +} + +// Footer (for actions) +.modal-footer { + padding: @modal-inner-padding; + text-align: right; // right align buttons + border-top: 1px solid @modal-footer-border-color; + &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons + + // Properly space out buttons + .btn + .btn { + margin-left: 5px; + margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs + } + // but override that for button groups + .btn-group .btn + .btn { + margin-left: -1px; + } + // and override it for block buttons as well + .btn-block + .btn-block { + margin-left: 0; + } +} + +// Measure scrollbar width for padding body during modal show/hide +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +// Scale up the modal +@media (min-width: @screen-sm-min) { + // Automatically set modal's width for larger viewports + .modal-dialog { + width: @modal-md; + margin: 30px auto; + } + .modal-content { + .box-shadow(0 5px 15px rgba(0,0,0,.5)); + } + + // Modal sizes + .modal-sm { width: @modal-sm; } +} + +@media (min-width: @screen-md-min) { + .modal-lg { width: @modal-lg; } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navbar.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navbar.less new file mode 100644 index 0000000..6d751bb --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navbar.less @@ -0,0 +1,660 @@ +// +// Navbars +// -------------------------------------------------- + + +// Wrapper and base class +// +// Provide a static navbar from which we expand to create full-width, fixed, and +// other navbar variations. + +.navbar { + position: relative; + min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode) + margin-bottom: @navbar-margin-bottom; + border: 1px solid transparent; + + // Prevent floats from breaking the navbar + &:extend(.clearfix all); + + @media (min-width: @grid-float-breakpoint) { + border-radius: @navbar-border-radius; + } +} + + +// Navbar heading +// +// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy +// styling of responsive aspects. + +.navbar-header { + &:extend(.clearfix all); + + @media (min-width: @grid-float-breakpoint) { + float: left; + } +} + + +// Navbar collapse (body) +// +// Group your navbar content into this for easy collapsing and expanding across +// various device sizes. By default, this content is collapsed when <768px, but +// will expand past that for a horizontal display. +// +// To start (on mobile devices) the navbar links, forms, and buttons are stacked +// vertically and include a `max-height` to overflow in case you have too much +// content for the user's viewport. + +.navbar-collapse { + overflow-x: visible; + padding-right: @navbar-padding-horizontal; + padding-left: @navbar-padding-horizontal; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255,255,255,.1); + &:extend(.clearfix all); + -webkit-overflow-scrolling: touch; + + &.in { + overflow-y: auto; + } + + @media (min-width: @grid-float-breakpoint) { + width: auto; + border-top: 0; + box-shadow: none; + + &.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; // Override default setting + overflow: visible !important; + } + + &.in { + overflow-y: visible; + } + + // Undo the collapse side padding for navbars with containers to ensure + // alignment of right-aligned contents. + .navbar-fixed-top &, + .navbar-static-top &, + .navbar-fixed-bottom & { + padding-left: 0; + padding-right: 0; + } + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + .navbar-collapse { + max-height: @navbar-collapse-max-height; + + @media (max-device-width: @screen-xs-min) and (orientation: landscape) { + max-height: 200px; + } + } +} + + +// Both navbar header and collapse +// +// When a container is present, change the behavior of the header and collapse. + +.container, +.container-fluid { + > .navbar-header, + > .navbar-collapse { + margin-right: -@navbar-padding-horizontal; + margin-left: -@navbar-padding-horizontal; + + @media (min-width: @grid-float-breakpoint) { + margin-right: 0; + margin-left: 0; + } + } +} + + +// +// Navbar alignment options +// +// Display the navbar across the entirety of the page or fixed it to the top or +// bottom of the page. + +// Static top (unfixed, but 100% wide) navbar +.navbar-static-top { + z-index: @zindex-navbar; + border-width: 0 0 1px; + + @media (min-width: @grid-float-breakpoint) { + border-radius: 0; + } +} + +// Fix the top/bottom navbars when screen real estate supports it +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: @zindex-navbar-fixed; + + // Undo the rounded corners + @media (min-width: @grid-float-breakpoint) { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; // override .navbar defaults + border-width: 1px 0 0; +} + + +// Brand/project name + +.navbar-brand { + float: left; + padding: @navbar-padding-vertical @navbar-padding-horizontal; + font-size: @font-size-large; + line-height: @line-height-computed; + height: @navbar-height; + + &:hover, + &:focus { + text-decoration: none; + } + + > img { + display: block; + } + + @media (min-width: @grid-float-breakpoint) { + .navbar > .container &, + .navbar > .container-fluid & { + margin-left: -@navbar-padding-horizontal; + } + } +} + + +// Navbar toggle +// +// Custom button for toggling the `.navbar-collapse`, powered by the collapse +// JavaScript plugin. + +.navbar-toggle { + position: relative; + float: right; + margin-right: @navbar-padding-horizontal; + padding: 9px 10px; + .navbar-vertical-align(34px); + background-color: transparent; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + border-radius: @border-radius-base; + + // We remove the `outline` here, but later compensate by attaching `:hover` + // styles to `:focus`. + &:focus { + outline: 0; + } + + // Bars + .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; + } + .icon-bar + .icon-bar { + margin-top: 4px; + } + + @media (min-width: @grid-float-breakpoint) { + display: none; + } +} + + +// Navbar nav links +// +// Builds on top of the `.nav` components with its own modifier class to make +// the nav the full height of the horizontal nav (above 768px). + +.navbar-nav { + margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal; + + > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: @line-height-computed; + } + + @media (max-width: @grid-float-breakpoint-max) { + // Dropdowns get custom display when collapsed + .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + > li > a, + .dropdown-header { + padding: 5px 15px 5px 25px; + } + > li > a { + line-height: @line-height-computed; + &:hover, + &:focus { + background-image: none; + } + } + } + } + + // Uncollapse the nav + @media (min-width: @grid-float-breakpoint) { + float: left; + margin: 0; + + > li { + float: left; + > a { + padding-top: @navbar-padding-vertical; + padding-bottom: @navbar-padding-vertical; + } + } + } +} + + +// Navbar form +// +// Extension of the `.form-inline` with some extra flavor for optimum display in +// our navbars. + +.navbar-form { + margin-left: -@navbar-padding-horizontal; + margin-right: -@navbar-padding-horizontal; + padding: 10px @navbar-padding-horizontal; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + .box-shadow(@shadow); + + // Mixin behavior for optimum display + .form-inline(); + + .form-group { + @media (max-width: @grid-float-breakpoint-max) { + margin-bottom: 5px; + + &:last-child { + margin-bottom: 0; + } + } + } + + // Vertically center in expanded, horizontal navbar + .navbar-vertical-align(@input-height-base); + + // Undo 100% width for pull classes + @media (min-width: @grid-float-breakpoint) { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + .box-shadow(none); + } +} + + +// Dropdown menus + +// Menu position and menu carets +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + .border-top-radius(0); +} +// Menu position and menu caret support for dropups via extra dropup class +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + .border-top-radius(@navbar-border-radius); + .border-bottom-radius(0); +} + + +// Buttons in navbars +// +// Vertically center a button within a navbar (when *not* in a form). + +.navbar-btn { + .navbar-vertical-align(@input-height-base); + + &.btn-sm { + .navbar-vertical-align(@input-height-small); + } + &.btn-xs { + .navbar-vertical-align(22); + } +} + + +// Text in navbars +// +// Add a class to make any element properly align itself vertically within the navbars. + +.navbar-text { + .navbar-vertical-align(@line-height-computed); + + @media (min-width: @grid-float-breakpoint) { + float: left; + margin-left: @navbar-padding-horizontal; + margin-right: @navbar-padding-horizontal; + } +} + + +// Component alignment +// +// Repurpose the pull utilities as their own navbar utilities to avoid specificity +// issues with parents and chaining. Only do this when the navbar is uncollapsed +// though so that navbar contents properly stack and align in mobile. +// +// Declared after the navbar components to ensure more specificity on the margins. + +@media (min-width: @grid-float-breakpoint) { + .navbar-left { .pull-left(); } + .navbar-right { + .pull-right(); + margin-right: -@navbar-padding-horizontal; + + ~ .navbar-right { + margin-right: 0; + } + } +} + + +// Alternate navbars +// -------------------------------------------------- + +// Default navbar +.navbar-default { + background-color: @navbar-default-bg; + border-color: @navbar-default-border; + + .navbar-brand { + color: @navbar-default-brand-color; + &:hover, + &:focus { + color: @navbar-default-brand-hover-color; + background-color: @navbar-default-brand-hover-bg; + } + } + + .navbar-text { + color: @navbar-default-color; + } + + .navbar-nav { + > li > a { + color: @navbar-default-link-color; + + &:hover, + &:focus { + color: @navbar-default-link-hover-color; + background-color: @navbar-default-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-active-color; + background-color: @navbar-default-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-disabled-color; + background-color: @navbar-default-link-disabled-bg; + } + } + } + + .navbar-toggle { + border-color: @navbar-default-toggle-border-color; + &:hover, + &:focus { + background-color: @navbar-default-toggle-hover-bg; + } + .icon-bar { + background-color: @navbar-default-toggle-icon-bar-bg; + } + } + + .navbar-collapse, + .navbar-form { + border-color: @navbar-default-border; + } + + // Dropdown menu items + .navbar-nav { + // Remove background color from open dropdown + > .open > a { + &, + &:hover, + &:focus { + background-color: @navbar-default-link-active-bg; + color: @navbar-default-link-active-color; + } + } + + @media (max-width: @grid-float-breakpoint-max) { + // Dropdowns get custom display when collapsed + .open .dropdown-menu { + > li > a { + color: @navbar-default-link-color; + &:hover, + &:focus { + color: @navbar-default-link-hover-color; + background-color: @navbar-default-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-active-color; + background-color: @navbar-default-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-default-link-disabled-color; + background-color: @navbar-default-link-disabled-bg; + } + } + } + } + } + + + // Links in navbars + // + // Add a class to ensure links outside the navbar nav are colored correctly. + + .navbar-link { + color: @navbar-default-link-color; + &:hover { + color: @navbar-default-link-hover-color; + } + } + + .btn-link { + color: @navbar-default-link-color; + &:hover, + &:focus { + color: @navbar-default-link-hover-color; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @navbar-default-link-disabled-color; + } + } + } +} + +// Inverse navbar + +.navbar-inverse { + background-color: @navbar-inverse-bg; + border-color: @navbar-inverse-border; + + .navbar-brand { + color: @navbar-inverse-brand-color; + &:hover, + &:focus { + color: @navbar-inverse-brand-hover-color; + background-color: @navbar-inverse-brand-hover-bg; + } + } + + .navbar-text { + color: @navbar-inverse-color; + } + + .navbar-nav { + > li > a { + color: @navbar-inverse-link-color; + + &:hover, + &:focus { + color: @navbar-inverse-link-hover-color; + background-color: @navbar-inverse-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-active-color; + background-color: @navbar-inverse-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-disabled-color; + background-color: @navbar-inverse-link-disabled-bg; + } + } + } + + // Darken the responsive nav toggle + .navbar-toggle { + border-color: @navbar-inverse-toggle-border-color; + &:hover, + &:focus { + background-color: @navbar-inverse-toggle-hover-bg; + } + .icon-bar { + background-color: @navbar-inverse-toggle-icon-bar-bg; + } + } + + .navbar-collapse, + .navbar-form { + border-color: darken(@navbar-inverse-bg, 7%); + } + + // Dropdowns + .navbar-nav { + > .open > a { + &, + &:hover, + &:focus { + background-color: @navbar-inverse-link-active-bg; + color: @navbar-inverse-link-active-color; + } + } + + @media (max-width: @grid-float-breakpoint-max) { + // Dropdowns get custom display + .open .dropdown-menu { + > .dropdown-header { + border-color: @navbar-inverse-border; + } + .divider { + background-color: @navbar-inverse-border; + } + > li > a { + color: @navbar-inverse-link-color; + &:hover, + &:focus { + color: @navbar-inverse-link-hover-color; + background-color: @navbar-inverse-link-hover-bg; + } + } + > .active > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-active-color; + background-color: @navbar-inverse-link-active-bg; + } + } + > .disabled > a { + &, + &:hover, + &:focus { + color: @navbar-inverse-link-disabled-color; + background-color: @navbar-inverse-link-disabled-bg; + } + } + } + } + } + + .navbar-link { + color: @navbar-inverse-link-color; + &:hover { + color: @navbar-inverse-link-hover-color; + } + } + + .btn-link { + color: @navbar-inverse-link-color; + &:hover, + &:focus { + color: @navbar-inverse-link-hover-color; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @navbar-inverse-link-disabled-color; + } + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navs.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navs.less new file mode 100644 index 0000000..a3d11b1 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/navs.less @@ -0,0 +1,242 @@ +// +// Navs +// -------------------------------------------------- + + +// Base class +// -------------------------------------------------- + +.nav { + margin-bottom: 0; + padding-left: 0; // Override default ul/ol + list-style: none; + &:extend(.clearfix all); + + > li { + position: relative; + display: block; + + > a { + position: relative; + display: block; + padding: @nav-link-padding; + &:hover, + &:focus { + text-decoration: none; + background-color: @nav-link-hover-bg; + } + } + + // Disabled state sets text to gray and nukes hover/tab effects + &.disabled > a { + color: @nav-disabled-link-color; + + &:hover, + &:focus { + color: @nav-disabled-link-hover-color; + text-decoration: none; + background-color: transparent; + cursor: @cursor-disabled; + } + } + } + + // Open dropdowns + .open > a { + &, + &:hover, + &:focus { + background-color: @nav-link-hover-bg; + border-color: @link-color; + } + } + + // Nav dividers (deprecated with v3.0.1) + // + // This should have been removed in v3 with the dropping of `.nav-list`, but + // we missed it. We don't currently support this anywhere, but in the interest + // of maintaining backward compatibility in case you use it, it's deprecated. + .nav-divider { + .nav-divider(); + } + + // Prevent IE8 from misplacing imgs + // + // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 + > li > a > img { + max-width: none; + } +} + + +// Tabs +// ------------------------- + +// Give the tabs something to sit on +.nav-tabs { + border-bottom: 1px solid @nav-tabs-border-color; + > li { + float: left; + // Make the list-items overlay the bottom border + margin-bottom: -1px; + + // Actual tabs (as links) + > a { + margin-right: 2px; + line-height: @line-height-base; + border: 1px solid transparent; + border-radius: @border-radius-base @border-radius-base 0 0; + &:hover { + border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color; + } + } + + // Active state, and its :hover to override normal :hover + &.active > a { + &, + &:hover, + &:focus { + color: @nav-tabs-active-link-hover-color; + background-color: @nav-tabs-active-link-hover-bg; + border: 1px solid @nav-tabs-active-link-hover-border-color; + border-bottom-color: transparent; + cursor: default; + } + } + } + // pulling this in mainly for less shorthand + &.nav-justified { + .nav-justified(); + .nav-tabs-justified(); + } +} + + +// Pills +// ------------------------- +.nav-pills { + > li { + float: left; + + // Links rendered as pills + > a { + border-radius: @nav-pills-border-radius; + } + + li { + margin-left: 2px; + } + + // Active state + &.active > a { + &, + &:hover, + &:focus { + color: @nav-pills-active-link-hover-color; + background-color: @nav-pills-active-link-hover-bg; + } + } + } +} + + +// Stacked pills +.nav-stacked { + > li { + float: none; + + li { + margin-top: 2px; + margin-left: 0; // no need for this gap between nav items + } + } +} + + +// Nav variations +// -------------------------------------------------- + +// Justified nav links +// ------------------------- + +.nav-justified { + width: 100%; + + > li { + float: none; + > a { + text-align: center; + margin-bottom: 5px; + } + } + + > .dropdown .dropdown-menu { + top: auto; + left: auto; + } + + @media (min-width: @screen-sm-min) { + > li { + display: table-cell; + width: 1%; + > a { + margin-bottom: 0; + } + } + } +} + +// Move borders to anchors instead of bottom of list +// +// Mixin for adding on top the shared `.nav-justified` styles for our tabs +.nav-tabs-justified { + border-bottom: 0; + + > li > a { + // Override margin from .nav-tabs + margin-right: 0; + border-radius: @border-radius-base; + } + + > .active > a, + > .active > a:hover, + > .active > a:focus { + border: 1px solid @nav-tabs-justified-link-border-color; + } + + @media (min-width: @screen-sm-min) { + > li > a { + border-bottom: 1px solid @nav-tabs-justified-link-border-color; + border-radius: @border-radius-base @border-radius-base 0 0; + } + > .active > a, + > .active > a:hover, + > .active > a:focus { + border-bottom-color: @nav-tabs-justified-active-link-border-color; + } + } +} + + +// Tabbable tabs +// ------------------------- + +// Hide tabbable panes to start, show them when `.active` +.tab-content { + > .tab-pane { + display: none; + } + > .active { + display: block; + } +} + + +// Dropdowns +// ------------------------- + +// Specific dropdowns +.nav-tabs .dropdown-menu { + // make dropdown border overlap tab border + margin-top: -1px; + // Remove the top rounded corners here since there is a hard edge above the menu + .border-top-radius(0); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/normalize.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/normalize.less new file mode 100644 index 0000000..9dddf73 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/normalize.less @@ -0,0 +1,424 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ + +// +// 1. Set default font family to sans-serif. +// 2. Prevent iOS and IE text size adjust after device orientation change, +// without disabling user zoom. +// + +html { + font-family: sans-serif; // 1 + -ms-text-size-adjust: 100%; // 2 + -webkit-text-size-adjust: 100%; // 2 +} + +// +// Remove default margin. +// + +body { + margin: 0; +} + +// HTML5 display definitions +// ========================================================================== + +// +// Correct `block` display not defined for any HTML5 element in IE 8/9. +// Correct `block` display not defined for `details` or `summary` in IE 10/11 +// and Firefox. +// Correct `block` display not defined for `main` in IE 11. +// + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +// +// 1. Correct `inline-block` display not defined in IE 8/9. +// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. +// + +audio, +canvas, +progress, +video { + display: inline-block; // 1 + vertical-align: baseline; // 2 +} + +// +// Prevent modern browsers from displaying `audio` without controls. +// Remove excess height in iOS 5 devices. +// + +audio:not([controls]) { + display: none; + height: 0; +} + +// +// Address `[hidden]` styling not present in IE 8/9/10. +// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. +// + +[hidden], +template { + display: none; +} + +// Links +// ========================================================================== + +// +// Remove the gray background color from active links in IE 10. +// + +a { + background-color: transparent; +} + +// +// Improve readability of focused elements when they are also in an +// active/hover state. +// + +a:active, +a:hover { + outline: 0; +} + +// Text-level semantics +// ========================================================================== + +// +// Address styling not present in IE 8/9/10/11, Safari, and Chrome. +// + +abbr[title] { + border-bottom: 1px dotted; +} + +// +// Address style set to `bolder` in Firefox 4+, Safari, and Chrome. +// + +b, +strong { + font-weight: bold; +} + +// +// Address styling not present in Safari and Chrome. +// + +dfn { + font-style: italic; +} + +// +// Address variable `h1` font-size and margin within `section` and `article` +// contexts in Firefox 4+, Safari, and Chrome. +// + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +// +// Address styling not present in IE 8/9. +// + +mark { + background: #ff0; + color: #000; +} + +// +// Address inconsistent and variable font size in all browsers. +// + +small { + font-size: 80%; +} + +// +// Prevent `sub` and `sup` affecting `line-height` in all browsers. +// + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +// Embedded content +// ========================================================================== + +// +// Remove border when inside `a` element in IE 8/9/10. +// + +img { + border: 0; +} + +// +// Correct overflow not hidden in IE 9/10/11. +// + +svg:not(:root) { + overflow: hidden; +} + +// Grouping content +// ========================================================================== + +// +// Address margin not present in IE 8/9 and Safari. +// + +figure { + margin: 1em 40px; +} + +// +// Address differences between Firefox and other browsers. +// + +hr { + box-sizing: content-box; + height: 0; +} + +// +// Contain overflow in all browsers. +// + +pre { + overflow: auto; +} + +// +// Address odd `em`-unit font size rendering in all browsers. +// + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +// Forms +// ========================================================================== + +// +// Known limitation: by default, Chrome and Safari on OS X allow very limited +// styling of `select`, unless a `border` property is set. +// + +// +// 1. Correct color not being inherited. +// Known issue: affects color of disabled elements. +// 2. Correct font properties not being inherited. +// 3. Address margins set differently in Firefox 4+, Safari, and Chrome. +// + +button, +input, +optgroup, +select, +textarea { + color: inherit; // 1 + font: inherit; // 2 + margin: 0; // 3 +} + +// +// Address `overflow` set to `hidden` in IE 8/9/10/11. +// + +button { + overflow: visible; +} + +// +// Address inconsistent `text-transform` inheritance for `button` and `select`. +// All other form control elements do not inherit `text-transform` values. +// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. +// Correct `select` style inheritance in Firefox. +// + +button, +select { + text-transform: none; +} + +// +// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` +// and `video` controls. +// 2. Correct inability to style clickable `input` types in iOS. +// 3. Improve usability and consistency of cursor style between image-type +// `input` and others. +// + +button, +html input[type="button"], // 1 +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; // 2 + cursor: pointer; // 3 +} + +// +// Re-set default cursor for disabled elements. +// + +button[disabled], +html input[disabled] { + cursor: default; +} + +// +// Remove inner padding and border in Firefox 4+. +// + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +// +// Address Firefox 4+ setting `line-height` on `input` using `!important` in +// the UA stylesheet. +// + +input { + line-height: normal; +} + +// +// It's recommended that you don't attempt to style these elements. +// Firefox's implementation doesn't respect box-sizing, padding, or width. +// +// 1. Address box sizing set to `content-box` in IE 8/9/10. +// 2. Remove excess padding in IE 8/9/10. +// + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; // 1 + padding: 0; // 2 +} + +// +// Fix the cursor style for Chrome's increment/decrement buttons. For certain +// `font-size` values of the `input`, it causes the cursor style of the +// decrement button to change from `default` to `text`. +// + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +// +// 1. Address `appearance` set to `searchfield` in Safari and Chrome. +// 2. Address `box-sizing` set to `border-box` in Safari and Chrome. +// + +input[type="search"] { + -webkit-appearance: textfield; // 1 + box-sizing: content-box; //2 +} + +// +// Remove inner padding and search cancel button in Safari and Chrome on OS X. +// Safari (but not Chrome) clips the cancel button when the search input has +// padding (and `textfield` appearance). +// + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +// +// Define consistent border, margin, and padding. +// + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +// +// 1. Correct `color` not being inherited in IE 8/9/10/11. +// 2. Remove padding so people aren't caught out if they zero out fieldsets. +// + +legend { + border: 0; // 1 + padding: 0; // 2 +} + +// +// Remove default vertical scrollbar in IE 8/9/10/11. +// + +textarea { + overflow: auto; +} + +// +// Don't inherit the `font-weight` (applied by a rule above). +// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. +// + +optgroup { + font-weight: bold; +} + +// Tables +// ========================================================================== + +// +// Remove most spacing between table cells. +// + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pager.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pager.less new file mode 100644 index 0000000..41abaaa --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pager.less @@ -0,0 +1,54 @@ +// +// Pager pagination +// -------------------------------------------------- + + +.pager { + padding-left: 0; + margin: @line-height-computed 0; + list-style: none; + text-align: center; + &:extend(.clearfix all); + li { + display: inline; + > a, + > span { + display: inline-block; + padding: 5px 14px; + background-color: @pager-bg; + border: 1px solid @pager-border; + border-radius: @pager-border-radius; + } + + > a:hover, + > a:focus { + text-decoration: none; + background-color: @pager-hover-bg; + } + } + + .next { + > a, + > span { + float: right; + } + } + + .previous { + > a, + > span { + float: left; + } + } + + .disabled { + > a, + > a:hover, + > a:focus, + > span { + color: @pager-disabled-color; + background-color: @pager-bg; + cursor: @cursor-disabled; + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pagination.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pagination.less new file mode 100644 index 0000000..31f77aa --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/pagination.less @@ -0,0 +1,89 @@ +// +// Pagination (multiple pages) +// -------------------------------------------------- +.pagination { + display: inline-block; + padding-left: 0; + margin: @line-height-computed 0; + border-radius: @border-radius-base; + + > li { + display: inline; // Remove list-style and block-level defaults + > a, + > span { + position: relative; + float: left; // Collapse white-space + padding: @padding-base-vertical @padding-base-horizontal; + line-height: @line-height-base; + text-decoration: none; + color: @pagination-color; + background-color: @pagination-bg; + border: 1px solid @pagination-border; + margin-left: -1px; + } + &:first-child { + > a, + > span { + margin-left: 0; + .border-left-radius(@border-radius-base); + } + } + &:last-child { + > a, + > span { + .border-right-radius(@border-radius-base); + } + } + } + + > li > a, + > li > span { + &:hover, + &:focus { + z-index: 2; + color: @pagination-hover-color; + background-color: @pagination-hover-bg; + border-color: @pagination-hover-border; + } + } + + > .active > a, + > .active > span { + &, + &:hover, + &:focus { + z-index: 3; + color: @pagination-active-color; + background-color: @pagination-active-bg; + border-color: @pagination-active-border; + cursor: default; + } + } + + > .disabled { + > span, + > span:hover, + > span:focus, + > a, + > a:hover, + > a:focus { + color: @pagination-disabled-color; + background-color: @pagination-disabled-bg; + border-color: @pagination-disabled-border; + cursor: @cursor-disabled; + } + } +} + +// Sizing +// -------------------------------------------------- + +// Large +.pagination-lg { + .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); +} + +// Small +.pagination-sm { + .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/panels.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/panels.less new file mode 100644 index 0000000..425eb5e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/panels.less @@ -0,0 +1,271 @@ +// +// Panels +// -------------------------------------------------- + + +// Base class +.panel { + margin-bottom: @line-height-computed; + background-color: @panel-bg; + border: 1px solid transparent; + border-radius: @panel-border-radius; + .box-shadow(0 1px 1px rgba(0,0,0,.05)); +} + +// Panel contents +.panel-body { + padding: @panel-body-padding; + &:extend(.clearfix all); +} + +// Optional heading +.panel-heading { + padding: @panel-heading-padding; + border-bottom: 1px solid transparent; + .border-top-radius((@panel-border-radius - 1)); + + > .dropdown .dropdown-toggle { + color: inherit; + } +} + +// Within heading, strip any `h*` tag of its default margins for spacing. +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: ceil((@font-size-base * 1.125)); + color: inherit; + + > a, + > small, + > .small, + > small > a, + > .small > a { + color: inherit; + } +} + +// Optional footer (stays gray in every modifier class) +.panel-footer { + padding: @panel-footer-padding; + background-color: @panel-footer-bg; + border-top: 1px solid @panel-inner-border; + .border-bottom-radius((@panel-border-radius - 1)); +} + + +// List groups in panels +// +// By default, space out list group content from panel headings to account for +// any kind of custom content between the two. + +.panel { + > .list-group, + > .panel-collapse > .list-group { + margin-bottom: 0; + + .list-group-item { + border-width: 1px 0; + border-radius: 0; + } + + // Add border top radius for first one + &:first-child { + .list-group-item:first-child { + border-top: 0; + .border-top-radius((@panel-border-radius - 1)); + } + } + + // Add border bottom radius for last one + &:last-child { + .list-group-item:last-child { + border-bottom: 0; + .border-bottom-radius((@panel-border-radius - 1)); + } + } + } + > .panel-heading + .panel-collapse > .list-group { + .list-group-item:first-child { + .border-top-radius(0); + } + } +} +// Collapse space between when there's no additional content. +.panel-heading + .list-group { + .list-group-item:first-child { + border-top-width: 0; + } +} +.list-group + .panel-footer { + border-top-width: 0; +} + +// Tables in panels +// +// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and +// watch it go full width. + +.panel { + > .table, + > .table-responsive > .table, + > .panel-collapse > .table { + margin-bottom: 0; + + caption { + padding-left: @panel-body-padding; + padding-right: @panel-body-padding; + } + } + // Add border top radius for first one + > .table:first-child, + > .table-responsive:first-child > .table:first-child { + .border-top-radius((@panel-border-radius - 1)); + + > thead:first-child, + > tbody:first-child { + > tr:first-child { + border-top-left-radius: (@panel-border-radius - 1); + border-top-right-radius: (@panel-border-radius - 1); + + td:first-child, + th:first-child { + border-top-left-radius: (@panel-border-radius - 1); + } + td:last-child, + th:last-child { + border-top-right-radius: (@panel-border-radius - 1); + } + } + } + } + // Add border bottom radius for last one + > .table:last-child, + > .table-responsive:last-child > .table:last-child { + .border-bottom-radius((@panel-border-radius - 1)); + + > tbody:last-child, + > tfoot:last-child { + > tr:last-child { + border-bottom-left-radius: (@panel-border-radius - 1); + border-bottom-right-radius: (@panel-border-radius - 1); + + td:first-child, + th:first-child { + border-bottom-left-radius: (@panel-border-radius - 1); + } + td:last-child, + th:last-child { + border-bottom-right-radius: (@panel-border-radius - 1); + } + } + } + } + > .panel-body + .table, + > .panel-body + .table-responsive, + > .table + .panel-body, + > .table-responsive + .panel-body { + border-top: 1px solid @table-border-color; + } + > .table > tbody:first-child > tr:first-child th, + > .table > tbody:first-child > tr:first-child td { + border-top: 0; + } + > .table-bordered, + > .table-responsive > .table-bordered { + border: 0; + > thead, + > tbody, + > tfoot { + > tr { + > th:first-child, + > td:first-child { + border-left: 0; + } + > th:last-child, + > td:last-child { + border-right: 0; + } + } + } + > thead, + > tbody { + > tr:first-child { + > td, + > th { + border-bottom: 0; + } + } + } + > tbody, + > tfoot { + > tr:last-child { + > td, + > th { + border-bottom: 0; + } + } + } + } + > .table-responsive { + border: 0; + margin-bottom: 0; + } +} + + +// Collapsable panels (aka, accordion) +// +// Wrap a series of panels in `.panel-group` to turn them into an accordion with +// the help of our collapse JavaScript plugin. + +.panel-group { + margin-bottom: @line-height-computed; + + // Tighten up margin so it's only between panels + .panel { + margin-bottom: 0; + border-radius: @panel-border-radius; + + + .panel { + margin-top: 5px; + } + } + + .panel-heading { + border-bottom: 0; + + + .panel-collapse > .panel-body, + + .panel-collapse > .list-group { + border-top: 1px solid @panel-inner-border; + } + } + + .panel-footer { + border-top: 0; + + .panel-collapse .panel-body { + border-bottom: 1px solid @panel-inner-border; + } + } +} + + +// Contextual variations +.panel-default { + .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border); +} +.panel-primary { + .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border); +} +.panel-success { + .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border); +} +.panel-info { + .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border); +} +.panel-warning { + .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border); +} +.panel-danger { + .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/popovers.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/popovers.less new file mode 100644 index 0000000..3a62a64 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/popovers.less @@ -0,0 +1,131 @@ +// +// Popovers +// -------------------------------------------------- + + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: @zindex-popover; + display: none; + max-width: @popover-max-width; + padding: 1px; + // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + .reset-text(); + font-size: @font-size-base; + + background-color: @popover-bg; + background-clip: padding-box; + border: 1px solid @popover-fallback-border-color; + border: 1px solid @popover-border-color; + border-radius: @border-radius-large; + .box-shadow(0 5px 10px rgba(0,0,0,.2)); + + // Offset the popover to account for the popover arrow + &.top { margin-top: -@popover-arrow-width; } + &.right { margin-left: @popover-arrow-width; } + &.bottom { margin-top: @popover-arrow-width; } + &.left { margin-left: -@popover-arrow-width; } +} + +.popover-title { + margin: 0; // reset heading margin + padding: 8px 14px; + font-size: @font-size-base; + background-color: @popover-title-bg; + border-bottom: 1px solid darken(@popover-title-bg, 5%); + border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +// Arrows +// +// .arrow is outer, .arrow:after is inner + +.popover > .arrow { + &, + &:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + } +} +.popover > .arrow { + border-width: @popover-arrow-outer-width; +} +.popover > .arrow:after { + border-width: @popover-arrow-width; + content: ""; +} + +.popover { + &.top > .arrow { + left: 50%; + margin-left: -@popover-arrow-outer-width; + border-bottom-width: 0; + border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-top-color: @popover-arrow-outer-color; + bottom: -@popover-arrow-outer-width; + &:after { + content: " "; + bottom: 1px; + margin-left: -@popover-arrow-width; + border-bottom-width: 0; + border-top-color: @popover-arrow-color; + } + } + &.right > .arrow { + top: 50%; + left: -@popover-arrow-outer-width; + margin-top: -@popover-arrow-outer-width; + border-left-width: 0; + border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-right-color: @popover-arrow-outer-color; + &:after { + content: " "; + left: 1px; + bottom: -@popover-arrow-width; + border-left-width: 0; + border-right-color: @popover-arrow-color; + } + } + &.bottom > .arrow { + left: 50%; + margin-left: -@popover-arrow-outer-width; + border-top-width: 0; + border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-bottom-color: @popover-arrow-outer-color; + top: -@popover-arrow-outer-width; + &:after { + content: " "; + top: 1px; + margin-left: -@popover-arrow-width; + border-top-width: 0; + border-bottom-color: @popover-arrow-color; + } + } + + &.left > .arrow { + top: 50%; + right: -@popover-arrow-outer-width; + margin-top: -@popover-arrow-outer-width; + border-right-width: 0; + border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback + border-left-color: @popover-arrow-outer-color; + &:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: @popover-arrow-color; + bottom: -@popover-arrow-width; + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/print.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/print.less new file mode 100644 index 0000000..66e54ab --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/print.less @@ -0,0 +1,101 @@ +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ + +// ========================================================================== +// Print styles. +// Inlined to avoid the additional HTTP request: h5bp.com/r +// ========================================================================== + +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; // Black prints faster: h5bp.com/s + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + // Don't show links that are fragment identifiers, + // or use the `javascript:` pseudo protocol + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; // h5bp.com/t + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + // Bootstrap specific changes start + + // Bootstrap components + .navbar { + display: none; + } + .btn, + .dropup > .btn { + > .caret { + border-top-color: #000 !important; + } + } + .label { + border: 1px solid #000; + } + + .table { + border-collapse: collapse !important; + + td, + th { + background-color: #fff !important; + } + } + .table-bordered { + th, + td { + border: 1px solid #ddd !important; + } + } + + // Bootstrap specific changes end +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/progress-bars.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/progress-bars.less new file mode 100644 index 0000000..8868a1f --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/progress-bars.less @@ -0,0 +1,87 @@ +// +// Progress bars +// -------------------------------------------------- + + +// Bar animations +// ------------------------- + +// WebKit +@-webkit-keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + +// Spec and IE10+ +@keyframes progress-bar-stripes { + from { background-position: 40px 0; } + to { background-position: 0 0; } +} + + +// Bar itself +// ------------------------- + +// Outer container +.progress { + overflow: hidden; + height: @line-height-computed; + margin-bottom: @line-height-computed; + background-color: @progress-bg; + border-radius: @progress-border-radius; + .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); +} + +// Bar of progress +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: @font-size-small; + line-height: @line-height-computed; + color: @progress-bar-color; + text-align: center; + background-color: @progress-bar-bg; + .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); + .transition(width .6s ease); +} + +// Striped bars +// +// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the +// `.progress-bar-striped` class, which you just add to an existing +// `.progress-bar`. +.progress-striped .progress-bar, +.progress-bar-striped { + #gradient > .striped(); + background-size: 40px 40px; +} + +// Call animation for the active one +// +// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the +// `.progress-bar.active` approach. +.progress.active .progress-bar, +.progress-bar.active { + .animation(progress-bar-stripes 2s linear infinite); +} + + +// Variations +// ------------------------- + +.progress-bar-success { + .progress-bar-variant(@progress-bar-success-bg); +} + +.progress-bar-info { + .progress-bar-variant(@progress-bar-info-bg); +} + +.progress-bar-warning { + .progress-bar-variant(@progress-bar-warning-bg); +} + +.progress-bar-danger { + .progress-bar-variant(@progress-bar-danger-bg); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-embed.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-embed.less new file mode 100644 index 0000000..080a511 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-embed.less @@ -0,0 +1,35 @@ +// Embeds responsive +// +// Credit: Nicolas Gallagher and SUIT CSS. + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; + + .embed-responsive-item, + iframe, + embed, + object, + video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; + } +} + +// Modifier class for 16:9 aspect ratio +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} + +// Modifier class for 4:3 aspect ratio +.embed-responsive-4by3 { + padding-bottom: 75%; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-utilities.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-utilities.less new file mode 100644 index 0000000..b1db31d --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/responsive-utilities.less @@ -0,0 +1,194 @@ +// +// Responsive: Utility classes +// -------------------------------------------------- + + +// IE10 in Windows (Phone) 8 +// +// Support for responsive views via media queries is kind of borked in IE10, for +// Surface/desktop in split view and for Windows Phone 8. This particular fix +// must be accompanied by a snippet of JavaScript to sniff the user agent and +// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at +// our Getting Started page for more information on this bug. +// +// For more information, see the following: +// +// Issue: https://github.com/twbs/bootstrap/issues/10497 +// Docs: http://getbootstrap.com/getting-started/#support-ie10-width +// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ +// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ + +@-ms-viewport { + width: device-width; +} + + +// Visibility utilities +// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0 +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + .responsive-invisibility(); +} + +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} + +.visible-xs { + @media (max-width: @screen-xs-max) { + .responsive-visibility(); + } +} +.visible-xs-block { + @media (max-width: @screen-xs-max) { + display: block !important; + } +} +.visible-xs-inline { + @media (max-width: @screen-xs-max) { + display: inline !important; + } +} +.visible-xs-inline-block { + @media (max-width: @screen-xs-max) { + display: inline-block !important; + } +} + +.visible-sm { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + .responsive-visibility(); + } +} +.visible-sm-block { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + display: block !important; + } +} +.visible-sm-inline { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + display: inline !important; + } +} +.visible-sm-inline-block { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + display: inline-block !important; + } +} + +.visible-md { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + .responsive-visibility(); + } +} +.visible-md-block { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + display: block !important; + } +} +.visible-md-inline { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + display: inline !important; + } +} +.visible-md-inline-block { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + display: inline-block !important; + } +} + +.visible-lg { + @media (min-width: @screen-lg-min) { + .responsive-visibility(); + } +} +.visible-lg-block { + @media (min-width: @screen-lg-min) { + display: block !important; + } +} +.visible-lg-inline { + @media (min-width: @screen-lg-min) { + display: inline !important; + } +} +.visible-lg-inline-block { + @media (min-width: @screen-lg-min) { + display: inline-block !important; + } +} + +.hidden-xs { + @media (max-width: @screen-xs-max) { + .responsive-invisibility(); + } +} +.hidden-sm { + @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { + .responsive-invisibility(); + } +} +.hidden-md { + @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { + .responsive-invisibility(); + } +} +.hidden-lg { + @media (min-width: @screen-lg-min) { + .responsive-invisibility(); + } +} + + +// Print utilities +// +// Media queries are placed on the inside to be mixin-friendly. + +// Note: Deprecated .visible-print as of v3.2.0 +.visible-print { + .responsive-invisibility(); + + @media print { + .responsive-visibility(); + } +} +.visible-print-block { + display: none !important; + + @media print { + display: block !important; + } +} +.visible-print-inline { + display: none !important; + + @media print { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; + + @media print { + display: inline-block !important; + } +} + +.hidden-print { + @media print { + .responsive-invisibility(); + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/scaffolding.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/scaffolding.less new file mode 100644 index 0000000..1929bfc --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/scaffolding.less @@ -0,0 +1,161 @@ +// +// Scaffolding +// -------------------------------------------------- + + +// Reset the box-sizing +// +// Heads up! This reset may cause conflicts with some third-party widgets. +// For recommendations on resolving such conflicts, see +// http://getbootstrap.com/getting-started/#third-box-sizing +* { + .box-sizing(border-box); +} +*:before, +*:after { + .box-sizing(border-box); +} + + +// Body reset + +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0,0,0,0); +} + +body { + font-family: @font-family-base; + font-size: @font-size-base; + line-height: @line-height-base; + color: @text-color; + background-color: @body-bg; +} + +// Reset fonts for relevant elements +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + + +// Links + +a { + color: @link-color; + text-decoration: none; + + &:hover, + &:focus { + color: @link-hover-color; + text-decoration: @link-hover-decoration; + } + + &:focus { + .tab-focus(); + } +} + + +// Figures +// +// We reset this here because previously Normalize had no `figure` margins. This +// ensures we don't break anyone's use of the element. + +figure { + margin: 0; +} + + +// Images + +img { + vertical-align: middle; +} + +// Responsive images (ensure images don't scale beyond their parents) +.img-responsive { + .img-responsive(); +} + +// Rounded corners +.img-rounded { + border-radius: @border-radius-large; +} + +// Image thumbnails +// +// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`. +.img-thumbnail { + padding: @thumbnail-padding; + line-height: @line-height-base; + background-color: @thumbnail-bg; + border: 1px solid @thumbnail-border; + border-radius: @thumbnail-border-radius; + .transition(all .2s ease-in-out); + + // Keep them at most 100% wide + .img-responsive(inline-block); +} + +// Perfect circle +.img-circle { + border-radius: 50%; // set radius in percents +} + + +// Horizontal rules + +hr { + margin-top: @line-height-computed; + margin-bottom: @line-height-computed; + border: 0; + border-top: 1px solid @hr-border; +} + + +// Only display content to screen readers +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// Credit: HTML5 Boilerplate + +.sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} + + +// iOS "clickable elements" fix for role="button" +// +// Fixes "clickability" issue (and more generally, the firing of events such as focus as well) +// for traditionally non-focusable elements with role="button" +// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +[role="button"] { + cursor: pointer; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tables.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tables.less new file mode 100644 index 0000000..2242c03 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tables.less @@ -0,0 +1,234 @@ +// +// Tables +// -------------------------------------------------- + + +table { + background-color: @table-bg; +} +caption { + padding-top: @table-cell-padding; + padding-bottom: @table-cell-padding; + color: @text-muted; + text-align: left; +} +th { + text-align: left; +} + + +// Baseline styles + +.table { + width: 100%; + max-width: 100%; + margin-bottom: @line-height-computed; + // Cells + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + padding: @table-cell-padding; + line-height: @line-height-base; + vertical-align: top; + border-top: 1px solid @table-border-color; + } + } + } + // Bottom align for column headings + > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid @table-border-color; + } + // Remove top border from thead by default + > caption + thead, + > colgroup + thead, + > thead:first-child { + > tr:first-child { + > th, + > td { + border-top: 0; + } + } + } + // Account for multiple tbody instances + > tbody + tbody { + border-top: 2px solid @table-border-color; + } + + // Nesting + .table { + background-color: @body-bg; + } +} + + +// Condensed table w/ half padding + +.table-condensed { + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + padding: @table-condensed-cell-padding; + } + } + } +} + + +// Bordered version +// +// Add borders all around the table and between all the columns. + +.table-bordered { + border: 1px solid @table-border-color; + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + border: 1px solid @table-border-color; + } + } + } + > thead > tr { + > th, + > td { + border-bottom-width: 2px; + } + } +} + + +// Zebra-striping +// +// Default zebra-stripe styles (alternating gray and transparent backgrounds) + +.table-striped { + > tbody > tr:nth-of-type(odd) { + background-color: @table-bg-accent; + } +} + + +// Hover effect +// +// Placed here since it has to come after the potential zebra striping + +.table-hover { + > tbody > tr:hover { + background-color: @table-bg-hover; + } +} + + +// Table cell sizing +// +// Reset default table behavior + +table col[class*="col-"] { + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) + float: none; + display: table-column; +} +table { + td, + th { + &[class*="col-"] { + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) + float: none; + display: table-cell; + } + } +} + + +// Table backgrounds +// +// Exact selectors below required to override `.table-striped` and prevent +// inheritance to nested tables. + +// Generate the contextual variants +.table-row-variant(active; @table-bg-active); +.table-row-variant(success; @state-success-bg); +.table-row-variant(info; @state-info-bg); +.table-row-variant(warning; @state-warning-bg); +.table-row-variant(danger; @state-danger-bg); + + +// Responsive tables +// +// Wrap your tables in `.table-responsive` and we'll make them mobile friendly +// by enabling horizontal scrolling. Only applies <768px. Everything above that +// will display normally. + +.table-responsive { + overflow-x: auto; + min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837) + + @media screen and (max-width: @screen-xs-max) { + width: 100%; + margin-bottom: (@line-height-computed * 0.75); + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid @table-border-color; + + // Tighten up spacing + > .table { + margin-bottom: 0; + + // Ensure the content doesn't wrap + > thead, + > tbody, + > tfoot { + > tr { + > th, + > td { + white-space: nowrap; + } + } + } + } + + // Special overrides for the bordered tables + > .table-bordered { + border: 0; + + // Nuke the appropriate borders so that the parent can handle them + > thead, + > tbody, + > tfoot { + > tr { + > th:first-child, + > td:first-child { + border-left: 0; + } + > th:last-child, + > td:last-child { + border-right: 0; + } + } + } + + // Only nuke the last row's bottom-border in `tbody` and `tfoot` since + // chances are there will be only one `tr` in a `thead` and that would + // remove the border altogether. + > tbody, + > tfoot { + > tr:last-child { + > th, + > td { + border-bottom: 0; + } + } + } + + } + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/theme.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/theme.less new file mode 100644 index 0000000..8371872 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/theme.less @@ -0,0 +1,291 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// +// Load core variables and mixins +// -------------------------------------------------- + +@import "variables.less"; +@import "mixins.less"; + + +// +// Buttons +// -------------------------------------------------- + +// Common styles +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0,0,0,.2); + @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075); + .box-shadow(@shadow); + + // Reset the shadow + &:active, + &.active { + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + .box-shadow(none); + } + + .badge { + text-shadow: none; + } +} + +// Mixin for generating new styles +.btn-styles(@btn-color: #555) { + #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%)); + .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620 + background-repeat: repeat-x; + border-color: darken(@btn-color, 14%); + + &:hover, + &:focus { + background-color: darken(@btn-color, 12%); + background-position: 0 -15px; + } + + &:active, + &.active { + background-color: darken(@btn-color, 12%); + border-color: darken(@btn-color, 14%); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &.focus, + &:active, + &.active { + background-color: darken(@btn-color, 12%); + background-image: none; + } + } +} + +// Common styles +.btn { + // Remove the gradient for the pressed/active state + &:active, + &.active { + background-image: none; + } +} + +// Apply the mixin to the buttons +.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; } +.btn-primary { .btn-styles(@btn-primary-bg); } +.btn-success { .btn-styles(@btn-success-bg); } +.btn-info { .btn-styles(@btn-info-bg); } +.btn-warning { .btn-styles(@btn-warning-bg); } +.btn-danger { .btn-styles(@btn-danger-bg); } + + +// +// Images +// -------------------------------------------------- + +.thumbnail, +.img-thumbnail { + .box-shadow(0 1px 2px rgba(0,0,0,.075)); +} + + +// +// Dropdowns +// -------------------------------------------------- + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%)); + background-color: darken(@dropdown-link-hover-bg, 5%); +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%)); + background-color: darken(@dropdown-link-active-bg, 5%); +} + + +// +// Navbar +// -------------------------------------------------- + +// Default navbar +.navbar-default { + #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg); + .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered + border-radius: @navbar-border-radius; + @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); + .box-shadow(@shadow); + + .navbar-nav > .open > a, + .navbar-nav > .active > a { + #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%)); + .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); +} + +// Inverted navbar +.navbar-inverse { + #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg); + .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257 + border-radius: @navbar-border-radius; + .navbar-nav > .open > a, + .navbar-nav > .active > a { + #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%)); + .box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); + } + + .navbar-brand, + .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + } +} + +// Undo rounded corners in static and fixed navbars +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} + +// Fix active state of dropdown items in collapsed mode +@media (max-width: @grid-float-breakpoint-max) { + .navbar .navbar-nav .open .dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: #fff; + #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%)); + } + } +} + + +// +// Alerts +// -------------------------------------------------- + +// Common styles +.alert { + text-shadow: 0 1px 0 rgba(255,255,255,.2); + @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05); + .box-shadow(@shadow); +} + +// Mixin for generating new styles +.alert-styles(@color) { + #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%)); + border-color: darken(@color, 15%); +} + +// Apply the mixin to the alerts +.alert-success { .alert-styles(@alert-success-bg); } +.alert-info { .alert-styles(@alert-info-bg); } +.alert-warning { .alert-styles(@alert-warning-bg); } +.alert-danger { .alert-styles(@alert-danger-bg); } + + +// +// Progress bars +// -------------------------------------------------- + +// Give the progress background some depth +.progress { + #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg) +} + +// Mixin for generating new styles +.progress-bar-styles(@color) { + #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%)); +} + +// Apply the mixin to the progress bars +.progress-bar { .progress-bar-styles(@progress-bar-bg); } +.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); } +.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); } +.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); } +.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); } + +// Reset the striped class because our mixins don't do multiple gradients and +// the above custom styles override the new `.progress-bar-striped` in v3.2.0. +.progress-bar-striped { + #gradient > .striped(); +} + + +// +// List groups +// -------------------------------------------------- + +.list-group { + border-radius: @border-radius-base; + .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 darken(@list-group-active-bg, 10%); + #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%)); + border-color: darken(@list-group-active-border, 7.5%); + + .badge { + text-shadow: none; + } +} + + +// +// Panels +// -------------------------------------------------- + +// Common styles +.panel { + .box-shadow(0 1px 2px rgba(0,0,0,.05)); +} + +// Mixin for generating new styles +.panel-heading-styles(@color) { + #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%)); +} + +// Apply the mixin to the panel headings only +.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); } +.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); } +.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); } +.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); } +.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); } +.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); } + + +// +// Wells +// -------------------------------------------------- + +.well { + #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg); + border-color: darken(@well-bg, 10%); + @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1); + .box-shadow(@shadow); +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/thumbnails.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/thumbnails.less new file mode 100644 index 0000000..0713e67 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/thumbnails.less @@ -0,0 +1,36 @@ +// +// Thumbnails +// -------------------------------------------------- + + +// Mixin and adjust the regular image class +.thumbnail { + display: block; + padding: @thumbnail-padding; + margin-bottom: @line-height-computed; + line-height: @line-height-base; + background-color: @thumbnail-bg; + border: 1px solid @thumbnail-border; + border-radius: @thumbnail-border-radius; + .transition(border .2s ease-in-out); + + > img, + a > img { + &:extend(.img-responsive); + margin-left: auto; + margin-right: auto; + } + + // Add a hover state for linked versions only + a&:hover, + a&:focus, + a&.active { + border-color: @link-color; + } + + // Image captions + .caption { + padding: @thumbnail-caption-padding; + color: @thumbnail-caption-color; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tooltip.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tooltip.less new file mode 100644 index 0000000..b48d63e --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/tooltip.less @@ -0,0 +1,101 @@ +// +// Tooltips +// -------------------------------------------------- + + +// Base class +.tooltip { + position: absolute; + z-index: @zindex-tooltip; + display: block; + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + .reset-text(); + font-size: @font-size-small; + + .opacity(0); + + &.in { .opacity(@tooltip-opacity); } + &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; } + &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; } + &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; } + &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; } +} + +// Wrapper for the tooltip content +.tooltip-inner { + max-width: @tooltip-max-width; + padding: 3px 8px; + color: @tooltip-color; + text-align: center; + background-color: @tooltip-bg; + border-radius: @border-radius-base; +} + +// Arrows +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1 +.tooltip { + &.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width 0; + border-top-color: @tooltip-arrow-color; + } + &.top-left .tooltip-arrow { + bottom: 0; + right: @tooltip-arrow-width; + margin-bottom: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width 0; + border-top-color: @tooltip-arrow-color; + } + &.top-right .tooltip-arrow { + bottom: 0; + left: @tooltip-arrow-width; + margin-bottom: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width 0; + border-top-color: @tooltip-arrow-color; + } + &.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0; + border-right-color: @tooltip-arrow-color; + } + &.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -@tooltip-arrow-width; + border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width; + border-left-color: @tooltip-arrow-color; + } + &.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -@tooltip-arrow-width; + border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; + border-bottom-color: @tooltip-arrow-color; + } + &.bottom-left .tooltip-arrow { + top: 0; + right: @tooltip-arrow-width; + margin-top: -@tooltip-arrow-width; + border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; + border-bottom-color: @tooltip-arrow-color; + } + &.bottom-right .tooltip-arrow { + top: 0; + left: @tooltip-arrow-width; + margin-top: -@tooltip-arrow-width; + border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; + border-bottom-color: @tooltip-arrow-color; + } +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/type.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/type.less new file mode 100644 index 0000000..0d4fee4 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/type.less @@ -0,0 +1,302 @@ +// +// Typography +// -------------------------------------------------- + + +// Headings +// ------------------------- + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-family: @headings-font-family; + font-weight: @headings-font-weight; + line-height: @headings-line-height; + color: @headings-color; + + small, + .small { + font-weight: normal; + line-height: 1; + color: @headings-small-color; + } +} + +h1, .h1, +h2, .h2, +h3, .h3 { + margin-top: @line-height-computed; + margin-bottom: (@line-height-computed / 2); + + small, + .small { + font-size: 65%; + } +} +h4, .h4, +h5, .h5, +h6, .h6 { + margin-top: (@line-height-computed / 2); + margin-bottom: (@line-height-computed / 2); + + small, + .small { + font-size: 75%; + } +} + +h1, .h1 { font-size: @font-size-h1; } +h2, .h2 { font-size: @font-size-h2; } +h3, .h3 { font-size: @font-size-h3; } +h4, .h4 { font-size: @font-size-h4; } +h5, .h5 { font-size: @font-size-h5; } +h6, .h6 { font-size: @font-size-h6; } + + +// Body text +// ------------------------- + +p { + margin: 0 0 (@line-height-computed / 2); +} + +.lead { + margin-bottom: @line-height-computed; + font-size: floor((@font-size-base * 1.15)); + font-weight: 300; + line-height: 1.4; + + @media (min-width: @screen-sm-min) { + font-size: (@font-size-base * 1.5); + } +} + + +// Emphasis & misc +// ------------------------- + +// Ex: (12px small font / 14px base font) * 100% = about 85% +small, +.small { + font-size: floor((100% * @font-size-small / @font-size-base)); +} + +mark, +.mark { + background-color: @state-warning-bg; + padding: .2em; +} + +// Alignment +.text-left { text-align: left; } +.text-right { text-align: right; } +.text-center { text-align: center; } +.text-justify { text-align: justify; } +.text-nowrap { white-space: nowrap; } + +// Transformation +.text-lowercase { text-transform: lowercase; } +.text-uppercase { text-transform: uppercase; } +.text-capitalize { text-transform: capitalize; } + +// Contextual colors +.text-muted { + color: @text-muted; +} +.text-primary { + .text-emphasis-variant(@brand-primary); +} +.text-success { + .text-emphasis-variant(@state-success-text); +} +.text-info { + .text-emphasis-variant(@state-info-text); +} +.text-warning { + .text-emphasis-variant(@state-warning-text); +} +.text-danger { + .text-emphasis-variant(@state-danger-text); +} + +// Contextual backgrounds +// For now we'll leave these alongside the text classes until v4 when we can +// safely shift things around (per SemVer rules). +.bg-primary { + // Given the contrast here, this is the only class to have its color inverted + // automatically. + color: #fff; + .bg-variant(@brand-primary); +} +.bg-success { + .bg-variant(@state-success-bg); +} +.bg-info { + .bg-variant(@state-info-bg); +} +.bg-warning { + .bg-variant(@state-warning-bg); +} +.bg-danger { + .bg-variant(@state-danger-bg); +} + + +// Page header +// ------------------------- + +.page-header { + padding-bottom: ((@line-height-computed / 2) - 1); + margin: (@line-height-computed * 2) 0 @line-height-computed; + border-bottom: 1px solid @page-header-border-color; +} + + +// Lists +// ------------------------- + +// Unordered and Ordered lists +ul, +ol { + margin-top: 0; + margin-bottom: (@line-height-computed / 2); + ul, + ol { + margin-bottom: 0; + } +} + +// List options + +// Unstyled keeps list items block level, just removes default browser padding and list-style +.list-unstyled { + padding-left: 0; + list-style: none; +} + +// Inline turns list items into inline-block +.list-inline { + .list-unstyled(); + margin-left: -5px; + + > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; + } +} + +// Description Lists +dl { + margin-top: 0; // Remove browser default + margin-bottom: @line-height-computed; +} +dt, +dd { + line-height: @line-height-base; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; // Undo browser default +} + +// Horizontal description lists +// +// Defaults to being stacked without any of the below styles applied, until the +// grid breakpoint is reached (default of ~768px). + +.dl-horizontal { + dd { + &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present + } + + @media (min-width: @dl-horizontal-breakpoint) { + dt { + float: left; + width: (@dl-horizontal-offset - 20); + clear: left; + text-align: right; + .text-overflow(); + } + dd { + margin-left: @dl-horizontal-offset; + } + } +} + + +// Misc +// ------------------------- + +// Abbreviations and acronyms +abbr[title], +// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257 +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted @abbr-border-color; +} +.initialism { + font-size: 90%; + .text-uppercase(); +} + +// Blockquotes +blockquote { + padding: (@line-height-computed / 2) @line-height-computed; + margin: 0 0 @line-height-computed; + font-size: @blockquote-font-size; + border-left: 5px solid @blockquote-border-color; + + p, + ul, + ol { + &:last-child { + margin-bottom: 0; + } + } + + // Note: Deprecated small and .small as of v3.1.0 + // Context: https://github.com/twbs/bootstrap/issues/11660 + footer, + small, + .small { + display: block; + font-size: 80%; // back to default font-size + line-height: @line-height-base; + color: @blockquote-small-color; + + &:before { + content: '\2014 \00A0'; // em dash, nbsp + } + } +} + +// Opposite alignment of blockquote +// +// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0. +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid @blockquote-border-color; + border-left: 0; + text-align: right; + + // Account for citation + footer, + small, + .small { + &:before { content: ''; } + &:after { + content: '\00A0 \2014'; // nbsp, em dash + } + } +} + +// Addresses +address { + margin-bottom: @line-height-computed; + font-style: normal; + line-height: @line-height-base; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/utilities.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/utilities.less new file mode 100644 index 0000000..7a8ca27 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/utilities.less @@ -0,0 +1,55 @@ +// +// Utility classes +// -------------------------------------------------- + + +// Floats +// ------------------------- + +.clearfix { + .clearfix(); +} +.center-block { + .center-block(); +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} + + +// Toggling content +// ------------------------- + +// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + .text-hide(); +} + + +// Hide from screenreaders and browsers +// +// Credit: HTML5 Boilerplate + +.hidden { + display: none !important; +} + + +// For Affix plugin +// ------------------------- + +.affix { + position: fixed; +} diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/variables.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/variables.less new file mode 100644 index 0000000..b057ef5 --- /dev/null +++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/variables.less @@ -0,0 +1,869 @@ +// +// Variables +// -------------------------------------------------- + + +//== Colors +// +//## Gray and brand colors for use across Bootstrap. + +@gray-base: #000; +@gray-darker: lighten(@gray-base, 13.5%); // #222 +@gray-dark: lighten(@gray-base, 20%); // #333 +@gray: lighten(@gray-base, 33.5%); // #555 +@gray-light: lighten(@gray-base, 46.7%); // #777 +@gray-lighter: lighten(@gray-base, 93.5%); // #eee + +@brand-primary: darken(#428bca, 6.5%); // #337ab7 +@brand-success: #5cb85c; +@brand-info: #5bc0de; +@brand-warning: #f0ad4e; +@brand-danger: #d9534f; + + +//== Scaffolding +// +//## Settings for some of the most global styles. + +//** Background color for ``. +@body-bg: #fff; +//** Global text color on ``. +@text-color: @gray-dark; + +//** Global textual link color. +@link-color: @brand-primary; +//** Link hover color set via `darken()` function. +@link-hover-color: darken(@link-color, 15%); +//** Link hover decoration. +@link-hover-decoration: underline; + + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. + +@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif; +@font-family-serif: Georgia, "Times New Roman", Times, serif; +//** Default monospace fonts for ``, ``, and `
`.
+@font-family-monospace:   Menlo, Monaco, Consolas, "Courier New", monospace;
+@font-family-base:        @font-family-sans-serif;
+
+@font-size-base:          14px;
+@font-size-large:         ceil((@font-size-base * 1.25)); // ~18px
+@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
+
+@font-size-h1:            floor((@font-size-base * 2.6)); // ~36px
+@font-size-h2:            floor((@font-size-base * 2.15)); // ~30px
+@font-size-h3:            ceil((@font-size-base * 1.7)); // ~24px
+@font-size-h4:            ceil((@font-size-base * 1.25)); // ~18px
+@font-size-h5:            @font-size-base;
+@font-size-h6:            ceil((@font-size-base * 0.85)); // ~12px
+
+//** Unit-less `line-height` for use in components like buttons.
+@line-height-base:        1.428571429; // 20/14
+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+@line-height-computed:    floor((@font-size-base * @line-height-base)); // ~20px
+
+//** By default, this inherits from the ``.
+@headings-font-family:    inherit;
+@headings-font-weight:    500;
+@headings-line-height:    1.1;
+@headings-color:          inherit;
+
+
+//== Iconography
+//
+//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.
+
+//** Load fonts from this directory.
+@icon-font-path:          "../fonts/";
+//** File name for all font files.
+@icon-font-name:          "glyphicons-halflings-regular";
+//** Element ID within SVG icon file.
+@icon-font-svg-id:        "glyphicons_halflingsregular";
+
+
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+
+@padding-base-vertical:     6px;
+@padding-base-horizontal:   12px;
+
+@padding-large-vertical:    10px;
+@padding-large-horizontal:  16px;
+
+@padding-small-vertical:    5px;
+@padding-small-horizontal:  10px;
+
+@padding-xs-vertical:       1px;
+@padding-xs-horizontal:     5px;
+
+@line-height-large:         1.3333333; // extra decimals for Win 8.1 Chrome
+@line-height-small:         1.5;
+
+@border-radius-base:        4px;
+@border-radius-large:       6px;
+@border-radius-small:       3px;
+
+//** Global color for active items (e.g., navs or dropdowns).
+@component-active-color:    #fff;
+//** Global background color for active items (e.g., navs or dropdowns).
+@component-active-bg:       @brand-primary;
+
+//** Width of the `border` for generating carets that indicator dropdowns.
+@caret-width-base:          4px;
+//** Carets increase slightly in size for larger components.
+@caret-width-large:         5px;
+
+
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
+
+//** Padding for ``s and ``s.
+@table-cell-padding:            8px;
+//** Padding for cells in `.table-condensed`.
+@table-condensed-cell-padding:  5px;
+
+//** Default background color used for all tables.
+@table-bg:                      transparent;
+//** Background color used for `.table-striped`.
+@table-bg-accent:               #f9f9f9;
+//** Background color used for `.table-hover`.
+@table-bg-hover:                #f5f5f5;
+@table-bg-active:               @table-bg-hover;
+
+//** Border color for table and cell borders.
+@table-border-color:            #ddd;
+
+
+//== Buttons
+//
+//## For each of Bootstrap's buttons, define text, background and border color.
+
+@btn-font-weight:                normal;
+
+@btn-default-color:              #333;
+@btn-default-bg:                 #fff;
+@btn-default-border:             #ccc;
+
+@btn-primary-color:              #fff;
+@btn-primary-bg:                 @brand-primary;
+@btn-primary-border:             darken(@btn-primary-bg, 5%);
+
+@btn-success-color:              #fff;
+@btn-success-bg:                 @brand-success;
+@btn-success-border:             darken(@btn-success-bg, 5%);
+
+@btn-info-color:                 #fff;
+@btn-info-bg:                    @brand-info;
+@btn-info-border:                darken(@btn-info-bg, 5%);
+
+@btn-warning-color:              #fff;
+@btn-warning-bg:                 @brand-warning;
+@btn-warning-border:             darken(@btn-warning-bg, 5%);
+
+@btn-danger-color:               #fff;
+@btn-danger-bg:                  @brand-danger;
+@btn-danger-border:              darken(@btn-danger-bg, 5%);
+
+@btn-link-disabled-color:        @gray-light;
+
+// Allows for customizing button radius independently from global border radius
+@btn-border-radius-base:         @border-radius-base;
+@btn-border-radius-large:        @border-radius-large;
+@btn-border-radius-small:        @border-radius-small;
+
+
+//== Forms
+//
+//##
+
+//** `` background color
+@input-bg:                       #fff;
+//** `` background color
+@input-bg-disabled:              @gray-lighter;
+
+//** Text color for ``s
+@input-color:                    @gray;
+//** `` border color
+@input-border:                   #ccc;
+
+// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
+//** Default `.form-control` border radius
+// This has no effect on ``s in CSS.
+@input-border-radius:            @border-radius-base;
+//** Large `.form-control` border radius
+@input-border-radius-large:      @border-radius-large;
+//** Small `.form-control` border radius
+@input-border-radius-small:      @border-radius-small;
+
+//** Border color for inputs on focus
+@input-border-focus:             #66afe9;
+
+//** Placeholder text color
+@input-color-placeholder:        #999;
+
+//** Default `.form-control` height
+@input-height-base:              (@line-height-computed + (@padding-base-vertical * 2) + 2);
+//** Large `.form-control` height
+@input-height-large:             (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
+//** Small `.form-control` height
+@input-height-small:             (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
+
+//** `.form-group` margin
+@form-group-margin-bottom:       15px;
+
+@legend-color:                   @gray-dark;
+@legend-border-color:            #e5e5e5;
+
+//** Background color for textual input addons
+@input-group-addon-bg:           @gray-lighter;
+//** Border color for textual input addons
+@input-group-addon-border-color: @input-border;
+
+//** Disabled cursor for form controls and buttons.
+@cursor-disabled:                not-allowed;
+
+
+//== Dropdowns
+//
+//## Dropdown menu container and contents.
+
+//** Background for the dropdown menu.
+@dropdown-bg:                    #fff;
+//** Dropdown menu `border-color`.
+@dropdown-border:                rgba(0,0,0,.15);
+//** Dropdown menu `border-color` **for IE8**.
+@dropdown-fallback-border:       #ccc;
+//** Divider color for between dropdown items.
+@dropdown-divider-bg:            #e5e5e5;
+
+//** Dropdown link text color.
+@dropdown-link-color:            @gray-dark;
+//** Hover color for dropdown links.
+@dropdown-link-hover-color:      darken(@gray-dark, 5%);
+//** Hover background for dropdown links.
+@dropdown-link-hover-bg:         #f5f5f5;
+
+//** Active dropdown menu item text color.
+@dropdown-link-active-color:     @component-active-color;
+//** Active dropdown menu item background color.
+@dropdown-link-active-bg:        @component-active-bg;
+
+//** Disabled dropdown menu item background color.
+@dropdown-link-disabled-color:   @gray-light;
+
+//** Text color for headers within dropdown menus.
+@dropdown-header-color:          @gray-light;
+
+//** Deprecated `@dropdown-caret-color` as of v3.1.0
+@dropdown-caret-color:           #000;
+
+
+//-- Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+//
+// Note: These variables are not generated into the Customizer.
+
+@zindex-navbar:            1000;
+@zindex-dropdown:          1000;
+@zindex-popover:           1060;
+@zindex-tooltip:           1070;
+@zindex-navbar-fixed:      1030;
+@zindex-modal-background:  1040;
+@zindex-modal:             1050;
+
+
+//== Media queries breakpoints
+//
+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
+
+// Extra small screen / phone
+//** Deprecated `@screen-xs` as of v3.0.1
+@screen-xs:                  480px;
+//** Deprecated `@screen-xs-min` as of v3.2.0
+@screen-xs-min:              @screen-xs;
+//** Deprecated `@screen-phone` as of v3.0.1
+@screen-phone:               @screen-xs-min;
+
+// Small screen / tablet
+//** Deprecated `@screen-sm` as of v3.0.1
+@screen-sm:                  768px;
+@screen-sm-min:              @screen-sm;
+//** Deprecated `@screen-tablet` as of v3.0.1
+@screen-tablet:              @screen-sm-min;
+
+// Medium screen / desktop
+//** Deprecated `@screen-md` as of v3.0.1
+@screen-md:                  992px;
+@screen-md-min:              @screen-md;
+//** Deprecated `@screen-desktop` as of v3.0.1
+@screen-desktop:             @screen-md-min;
+
+// Large screen / wide desktop
+//** Deprecated `@screen-lg` as of v3.0.1
+@screen-lg:                  1200px;
+@screen-lg-min:              @screen-lg;
+//** Deprecated `@screen-lg-desktop` as of v3.0.1
+@screen-lg-desktop:          @screen-lg-min;
+
+// So media queries don't overlap when required, provide a maximum
+@screen-xs-max:              (@screen-sm-min - 1);
+@screen-sm-max:              (@screen-md-min - 1);
+@screen-md-max:              (@screen-lg-min - 1);
+
+
+//== Grid system
+//
+//## Define your custom responsive grid.
+
+//** Number of columns in the grid.
+@grid-columns:              12;
+//** Padding between columns. Gets divided in half for the left and right.
+@grid-gutter-width:         30px;
+// Navbar collapse
+//** Point at which the navbar becomes uncollapsed.
+@grid-float-breakpoint:     @screen-sm-min;
+//** Point at which the navbar begins collapsing.
+@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
+
+
+//== Container sizes
+//
+//## Define the maximum width of `.container` for different screen sizes.
+
+// Small screen / tablet
+@container-tablet:             (720px + @grid-gutter-width);
+//** For `@screen-sm-min` and up.
+@container-sm:                 @container-tablet;
+
+// Medium screen / desktop
+@container-desktop:            (940px + @grid-gutter-width);
+//** For `@screen-md-min` and up.
+@container-md:                 @container-desktop;
+
+// Large screen / wide desktop
+@container-large-desktop:      (1140px + @grid-gutter-width);
+//** For `@screen-lg-min` and up.
+@container-lg:                 @container-large-desktop;
+
+
+//== Navbar
+//
+//##
+
+// Basics of a navbar
+@navbar-height:                    50px;
+@navbar-margin-bottom:             @line-height-computed;
+@navbar-border-radius:             @border-radius-base;
+@navbar-padding-horizontal:        floor((@grid-gutter-width / 2));
+@navbar-padding-vertical:          ((@navbar-height - @line-height-computed) / 2);
+@navbar-collapse-max-height:       340px;
+
+@navbar-default-color:             #777;
+@navbar-default-bg:                #f8f8f8;
+@navbar-default-border:            darken(@navbar-default-bg, 6.5%);
+
+// Navbar links
+@navbar-default-link-color:                #777;
+@navbar-default-link-hover-color:          #333;
+@navbar-default-link-hover-bg:             transparent;
+@navbar-default-link-active-color:         #555;
+@navbar-default-link-active-bg:            darken(@navbar-default-bg, 6.5%);
+@navbar-default-link-disabled-color:       #ccc;
+@navbar-default-link-disabled-bg:          transparent;
+
+// Navbar brand label
+@navbar-default-brand-color:               @navbar-default-link-color;
+@navbar-default-brand-hover-color:         darken(@navbar-default-brand-color, 10%);
+@navbar-default-brand-hover-bg:            transparent;
+
+// Navbar toggle
+@navbar-default-toggle-hover-bg:           #ddd;
+@navbar-default-toggle-icon-bar-bg:        #888;
+@navbar-default-toggle-border-color:       #ddd;
+
+
+//=== Inverted navbar
+// Reset inverted navbar basics
+@navbar-inverse-color:                      lighten(@gray-light, 15%);
+@navbar-inverse-bg:                         #222;
+@navbar-inverse-border:                     darken(@navbar-inverse-bg, 10%);
+
+// Inverted navbar links
+@navbar-inverse-link-color:                 lighten(@gray-light, 15%);
+@navbar-inverse-link-hover-color:           #fff;
+@navbar-inverse-link-hover-bg:              transparent;
+@navbar-inverse-link-active-color:          @navbar-inverse-link-hover-color;
+@navbar-inverse-link-active-bg:             darken(@navbar-inverse-bg, 10%);
+@navbar-inverse-link-disabled-color:        #444;
+@navbar-inverse-link-disabled-bg:           transparent;
+
+// Inverted navbar brand label
+@navbar-inverse-brand-color:                @navbar-inverse-link-color;
+@navbar-inverse-brand-hover-color:          #fff;
+@navbar-inverse-brand-hover-bg:             transparent;
+
+// Inverted navbar toggle
+@navbar-inverse-toggle-hover-bg:            #333;
+@navbar-inverse-toggle-icon-bar-bg:         #fff;
+@navbar-inverse-toggle-border-color:        #333;
+
+
+//== Navs
+//
+//##
+
+//=== Shared nav styles
+@nav-link-padding:                          10px 15px;
+@nav-link-hover-bg:                         @gray-lighter;
+
+@nav-disabled-link-color:                   @gray-light;
+@nav-disabled-link-hover-color:             @gray-light;
+
+//== Tabs
+@nav-tabs-border-color:                     #ddd;
+
+@nav-tabs-link-hover-border-color:          @gray-lighter;
+
+@nav-tabs-active-link-hover-bg:             @body-bg;
+@nav-tabs-active-link-hover-color:          @gray;
+@nav-tabs-active-link-hover-border-color:   #ddd;
+
+@nav-tabs-justified-link-border-color:            #ddd;
+@nav-tabs-justified-active-link-border-color:     @body-bg;
+
+//== Pills
+@nav-pills-border-radius:                   @border-radius-base;
+@nav-pills-active-link-hover-bg:            @component-active-bg;
+@nav-pills-active-link-hover-color:         @component-active-color;
+
+
+//== Pagination
+//
+//##
+
+@pagination-color:                     @link-color;
+@pagination-bg:                        #fff;
+@pagination-border:                    #ddd;
+
+@pagination-hover-color:               @link-hover-color;
+@pagination-hover-bg:                  @gray-lighter;
+@pagination-hover-border:              #ddd;
+
+@pagination-active-color:              #fff;
+@pagination-active-bg:                 @brand-primary;
+@pagination-active-border:             @brand-primary;
+
+@pagination-disabled-color:            @gray-light;
+@pagination-disabled-bg:               #fff;
+@pagination-disabled-border:           #ddd;
+
+
+//== Pager
+//
+//##
+
+@pager-bg:                             @pagination-bg;
+@pager-border:                         @pagination-border;
+@pager-border-radius:                  15px;
+
+@pager-hover-bg:                       @pagination-hover-bg;
+
+@pager-active-bg:                      @pagination-active-bg;
+@pager-active-color:                   @pagination-active-color;
+
+@pager-disabled-color:                 @pagination-disabled-color;
+
+
+//== Jumbotron
+//
+//##
+
+@jumbotron-padding:              30px;
+@jumbotron-color:                inherit;
+@jumbotron-bg:                   @gray-lighter;
+@jumbotron-heading-color:        inherit;
+@jumbotron-font-size:            ceil((@font-size-base * 1.5));
+@jumbotron-heading-font-size:    ceil((@font-size-base * 4.5));
+
+
+//== Form states and alerts
+//
+//## Define colors for form feedback states and, by default, alerts.
+
+@state-success-text:             #3c763d;
+@state-success-bg:               #dff0d8;
+@state-success-border:           darken(spin(@state-success-bg, -10), 5%);
+
+@state-info-text:                #31708f;
+@state-info-bg:                  #d9edf7;
+@state-info-border:              darken(spin(@state-info-bg, -10), 7%);
+
+@state-warning-text:             #8a6d3b;
+@state-warning-bg:               #fcf8e3;
+@state-warning-border:           darken(spin(@state-warning-bg, -10), 5%);
+
+@state-danger-text:              #a94442;
+@state-danger-bg:                #f2dede;
+@state-danger-border:            darken(spin(@state-danger-bg, -10), 5%);
+
+
+//== Tooltips
+//
+//##
+
+//** Tooltip max width
+@tooltip-max-width:           200px;
+//** Tooltip text color
+@tooltip-color:               #fff;
+//** Tooltip background color
+@tooltip-bg:                  #000;
+@tooltip-opacity:             .9;
+
+//** Tooltip arrow width
+@tooltip-arrow-width:         5px;
+//** Tooltip arrow color
+@tooltip-arrow-color:         @tooltip-bg;
+
+
+//== Popovers
+//
+//##
+
+//** Popover body background color
+@popover-bg:                          #fff;
+//** Popover maximum width
+@popover-max-width:                   276px;
+//** Popover border color
+@popover-border-color:                rgba(0,0,0,.2);
+//** Popover fallback border color
+@popover-fallback-border-color:       #ccc;
+
+//** Popover title background color
+@popover-title-bg:                    darken(@popover-bg, 3%);
+
+//** Popover arrow width
+@popover-arrow-width:                 10px;
+//** Popover arrow color
+@popover-arrow-color:                 @popover-bg;
+
+//** Popover outer arrow width
+@popover-arrow-outer-width:           (@popover-arrow-width + 1);
+//** Popover outer arrow color
+@popover-arrow-outer-color:           fadein(@popover-border-color, 5%);
+//** Popover outer arrow fallback color
+@popover-arrow-outer-fallback-color:  darken(@popover-fallback-border-color, 20%);
+
+
+//== Labels
+//
+//##
+
+//** Default label background color
+@label-default-bg:            @gray-light;
+//** Primary label background color
+@label-primary-bg:            @brand-primary;
+//** Success label background color
+@label-success-bg:            @brand-success;
+//** Info label background color
+@label-info-bg:               @brand-info;
+//** Warning label background color
+@label-warning-bg:            @brand-warning;
+//** Danger label background color
+@label-danger-bg:             @brand-danger;
+
+//** Default label text color
+@label-color:                 #fff;
+//** Default text color of a linked label
+@label-link-hover-color:      #fff;
+
+
+//== Modals
+//
+//##
+
+//** Padding applied to the modal body
+@modal-inner-padding:         15px;
+
+//** Padding applied to the modal title
+@modal-title-padding:         15px;
+//** Modal title line-height
+@modal-title-line-height:     @line-height-base;
+
+//** Background color of modal content area
+@modal-content-bg:                             #fff;
+//** Modal content border color
+@modal-content-border-color:                   rgba(0,0,0,.2);
+//** Modal content border color **for IE8**
+@modal-content-fallback-border-color:          #999;
+
+//** Modal backdrop background color
+@modal-backdrop-bg:           #000;
+//** Modal backdrop opacity
+@modal-backdrop-opacity:      .5;
+//** Modal header border color
+@modal-header-border-color:   #e5e5e5;
+//** Modal footer border color
+@modal-footer-border-color:   @modal-header-border-color;
+
+@modal-lg:                    900px;
+@modal-md:                    600px;
+@modal-sm:                    300px;
+
+
+//== Alerts
+//
+//## Define alert colors, border radius, and padding.
+
+@alert-padding:               15px;
+@alert-border-radius:         @border-radius-base;
+@alert-link-font-weight:      bold;
+
+@alert-success-bg:            @state-success-bg;
+@alert-success-text:          @state-success-text;
+@alert-success-border:        @state-success-border;
+
+@alert-info-bg:               @state-info-bg;
+@alert-info-text:             @state-info-text;
+@alert-info-border:           @state-info-border;
+
+@alert-warning-bg:            @state-warning-bg;
+@alert-warning-text:          @state-warning-text;
+@alert-warning-border:        @state-warning-border;
+
+@alert-danger-bg:             @state-danger-bg;
+@alert-danger-text:           @state-danger-text;
+@alert-danger-border:         @state-danger-border;
+
+
+//== Progress bars
+//
+//##
+
+//** Background color of the whole progress component
+@progress-bg:                 #f5f5f5;
+//** Progress bar text color
+@progress-bar-color:          #fff;
+//** Variable for setting rounded corners on progress bar.
+@progress-border-radius:      @border-radius-base;
+
+//** Default progress bar color
+@progress-bar-bg:             @brand-primary;
+//** Success progress bar color
+@progress-bar-success-bg:     @brand-success;
+//** Warning progress bar color
+@progress-bar-warning-bg:     @brand-warning;
+//** Danger progress bar color
+@progress-bar-danger-bg:      @brand-danger;
+//** Info progress bar color
+@progress-bar-info-bg:        @brand-info;
+
+
+//== List group
+//
+//##
+
+//** Background color on `.list-group-item`
+@list-group-bg:                 #fff;
+//** `.list-group-item` border color
+@list-group-border:             #ddd;
+//** List group border radius
+@list-group-border-radius:      @border-radius-base;
+
+//** Background color of single list items on hover
+@list-group-hover-bg:           #f5f5f5;
+//** Text color of active list items
+@list-group-active-color:       @component-active-color;
+//** Background color of active list items
+@list-group-active-bg:          @component-active-bg;
+//** Border color of active list elements
+@list-group-active-border:      @list-group-active-bg;
+//** Text color for content within active list items
+@list-group-active-text-color:  lighten(@list-group-active-bg, 40%);
+
+//** Text color of disabled list items
+@list-group-disabled-color:      @gray-light;
+//** Background color of disabled list items
+@list-group-disabled-bg:         @gray-lighter;
+//** Text color for content within disabled list items
+@list-group-disabled-text-color: @list-group-disabled-color;
+
+@list-group-link-color:         #555;
+@list-group-link-hover-color:   @list-group-link-color;
+@list-group-link-heading-color: #333;
+
+
+//== Panels
+//
+//##
+
+@panel-bg:                    #fff;
+@panel-body-padding:          15px;
+@panel-heading-padding:       10px 15px;
+@panel-footer-padding:        @panel-heading-padding;
+@panel-border-radius:         @border-radius-base;
+
+//** Border color for elements within panels
+@panel-inner-border:          #ddd;
+@panel-footer-bg:             #f5f5f5;
+
+@panel-default-text:          @gray-dark;
+@panel-default-border:        #ddd;
+@panel-default-heading-bg:    #f5f5f5;
+
+@panel-primary-text:          #fff;
+@panel-primary-border:        @brand-primary;
+@panel-primary-heading-bg:    @brand-primary;
+
+@panel-success-text:          @state-success-text;
+@panel-success-border:        @state-success-border;
+@panel-success-heading-bg:    @state-success-bg;
+
+@panel-info-text:             @state-info-text;
+@panel-info-border:           @state-info-border;
+@panel-info-heading-bg:       @state-info-bg;
+
+@panel-warning-text:          @state-warning-text;
+@panel-warning-border:        @state-warning-border;
+@panel-warning-heading-bg:    @state-warning-bg;
+
+@panel-danger-text:           @state-danger-text;
+@panel-danger-border:         @state-danger-border;
+@panel-danger-heading-bg:     @state-danger-bg;
+
+
+//== Thumbnails
+//
+//##
+
+//** Padding around the thumbnail image
+@thumbnail-padding:           4px;
+//** Thumbnail background color
+@thumbnail-bg:                @body-bg;
+//** Thumbnail border color
+@thumbnail-border:            #ddd;
+//** Thumbnail border radius
+@thumbnail-border-radius:     @border-radius-base;
+
+//** Custom text color for thumbnail captions
+@thumbnail-caption-color:     @text-color;
+//** Padding around the thumbnail caption
+@thumbnail-caption-padding:   9px;
+
+
+//== Wells
+//
+//##
+
+@well-bg:                     #f5f5f5;
+@well-border:                 darken(@well-bg, 7%);
+
+
+//== Badges
+//
+//##
+
+@badge-color:                 #fff;
+//** Linked badge text color on hover
+@badge-link-hover-color:      #fff;
+@badge-bg:                    @gray-light;
+
+//** Badge text color in active nav link
+@badge-active-color:          @link-color;
+//** Badge background color in active nav link
+@badge-active-bg:             #fff;
+
+@badge-font-weight:           bold;
+@badge-line-height:           1;
+@badge-border-radius:         10px;
+
+
+//== Breadcrumbs
+//
+//##
+
+@breadcrumb-padding-vertical:   8px;
+@breadcrumb-padding-horizontal: 15px;
+//** Breadcrumb background color
+@breadcrumb-bg:                 #f5f5f5;
+//** Breadcrumb text color
+@breadcrumb-color:              #ccc;
+//** Text color of current page in the breadcrumb
+@breadcrumb-active-color:       @gray-light;
+//** Textual separator for between breadcrumb elements
+@breadcrumb-separator:          "/";
+
+
+//== Carousel
+//
+//##
+
+@carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6);
+
+@carousel-control-color:                      #fff;
+@carousel-control-width:                      15%;
+@carousel-control-opacity:                    .5;
+@carousel-control-font-size:                  20px;
+
+@carousel-indicator-active-bg:                #fff;
+@carousel-indicator-border-color:             #fff;
+
+@carousel-caption-color:                      #fff;
+
+
+//== Close
+//
+//##
+
+@close-font-weight:           bold;
+@close-color:                 #000;
+@close-text-shadow:           0 1px 0 #fff;
+
+
+//== Code
+//
+//##
+
+@code-color:                  #c7254e;
+@code-bg:                     #f9f2f4;
+
+@kbd-color:                   #fff;
+@kbd-bg:                      #333;
+
+@pre-bg:                      #f5f5f5;
+@pre-color:                   @gray-dark;
+@pre-border-color:            #ccc;
+@pre-scrollable-max-height:   340px;
+
+
+//== Type
+//
+//##
+
+//** Horizontal offset for forms and lists.
+@component-offset-horizontal: 180px;
+//** Text muted color
+@text-muted:                  @gray-light;
+//** Abbreviations and acronyms border color
+@abbr-border-color:           @gray-light;
+//** Headings small color
+@headings-small-color:        @gray-light;
+//** Blockquote small color
+@blockquote-small-color:      @gray-light;
+//** Blockquote font size
+@blockquote-font-size:        (@font-size-base * 1.25);
+//** Blockquote border color
+@blockquote-border-color:     @gray-lighter;
+//** Page header border color
+@page-header-border-color:    @gray-lighter;
+//** Width of horizontal description list titles
+@dl-horizontal-offset:        @component-offset-horizontal;
+//** Point at which .dl-horizontal becomes horizontal
+@dl-horizontal-breakpoint:    @grid-float-breakpoint;
+//** Horizontal line color.
+@hr-border:                   @gray-lighter;
diff --git a/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/wells.less b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/wells.less
new file mode 100644
index 0000000..15d072b
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/bootstrap-3.3.5/wells.less
@@ -0,0 +1,29 @@
+//
+// Wells
+// --------------------------------------------------
+
+
+// Base class
+.well {
+  min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: @well-bg;
+  border: 1px solid @well-border;
+  border-radius: @border-radius-base;
+  .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
+  blockquote {
+    border-color: #ddd;
+    border-color: rgba(0,0,0,.15);
+  }
+}
+
+// Sizes
+.well-lg {
+  padding: 24px;
+  border-radius: @border-radius-large;
+}
+.well-sm {
+  padding: 9px;
+  border-radius: @border-radius-small;
+}
diff --git a/static/fork-awesome/src/doc/assets/less/gandy-grid/grid.less b/static/fork-awesome/src/doc/assets/less/gandy-grid/grid.less
new file mode 100644
index 0000000..7aca7db
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/gandy-grid/grid.less
@@ -0,0 +1,43 @@
+.gg { .gg(); }
+.gg-fixed { table-layout: fixed; }
+.gg-col { .gg-col(); }
+.gg-row { display: table-row; }
+.gg-min-width { width: 1%; }
+
+.gg-top    { vertical-align: top; }
+.gg-middle { vertical-align: middle; }
+.gg-bottom { vertical-align: bottom; }
+
+.gg-padded {
+  margin-left: -1rem;
+  margin-right: -1rem;
+  .gg { border-spacing: 1rem 0; }
+}
+
+.gg-col-1,
+.gg-col-2,
+.gg-col-3,
+.gg-col-4,
+.gg-col-5,
+.gg-col-6,
+.gg-col-7,
+.gg-col-8,
+.gg-col-9,
+.gg-col-10,
+.gg-col-11,
+.gg-col-12 {
+  .gg-col();
+}
+
+.gg-col-1  { .gg-make-col(1,12); }
+.gg-col-2  { .gg-make-col(2,12); }
+.gg-col-3  { .gg-make-col(3,12); }
+.gg-col-4  { .gg-make-col(4,12); }
+.gg-col-5  { .gg-make-col(5,12); }
+.gg-col-6  { .gg-make-col(6,12); }
+.gg-col-7  { .gg-make-col(7,12); }
+.gg-col-8  { .gg-make-col(8,12); }
+.gg-col-9  { .gg-make-col(9,12); }
+.gg-col-10 { .gg-make-col(10,12); }
+.gg-col-11 { .gg-make-col(11,12); }
+.gg-col-12 { .gg-make-col(12,12); }
diff --git a/static/fork-awesome/src/doc/assets/less/gandy-grid/mixins.less b/static/fork-awesome/src/doc/assets/less/gandy-grid/mixins.less
new file mode 100644
index 0000000..49c7749
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/gandy-grid/mixins.less
@@ -0,0 +1,18 @@
+.gg {
+  display: table;
+  width: 100%;
+  vertical-align: middle;
+}
+
+.gg-col {
+  display: table-cell;
+  vertical-align: inherit;
+}
+
+.gg-vertical-align(@align) {
+  vertical-align: @align;
+}
+
+.gg-make-col(@column-width, @total-columns) {
+  width: (100% / @total-columns * @column-width);
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site.less b/static/fork-awesome/src/doc/assets/less/site.less
new file mode 100644
index 0000000..c3cbb13
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site.less
@@ -0,0 +1,37 @@
+---
+---
+@import "bootstrap-{{ site.bootstrap.version }}/bootstrap";
+
+@import "gandy-grid/mixins";
+@import "gandy-grid/grid";
+
+@import "site/bootstrap/variables";
+@import "site/bootstrap/navbar";
+@import "site/bootstrap/buttons";
+@import "site/bootstrap/jumbotron";
+@import "site/bootstrap/wells";
+@import "site/bootstrap/labels";
+@import "site/bootstrap/type";
+@import "site/bootstrap/alerts";
+@import "site/bootstrap/tooltip";
+@import "site/bootstrap/panels";
+@import "site/bootstrap/modals";
+
+@import "site/layout";
+@import "site/print";
+@import "site/social-buttons";
+@import "site/jumbotron-carousel";
+@import "site/fontawesome-icon-list";
+@import "site/feature-list";
+@import "site/example-rating";
+@import "site/footer";
+@import "site/lazy";
+@import "site/textured-bg";
+
+@import "site/views";
+
+@import "site/responsive/screen-lg";
+@import "site/responsive/screen-md";
+@import "site/responsive/screen-sm";
+@import "site/responsive/screen-sm-up";
+@import "site/responsive/screen-xs";
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/alerts.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/alerts.less
new file mode 100644
index 0000000..db79469
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/alerts.less
@@ -0,0 +1,5 @@
+.alert-link { text-decoration: underline; }
+
+.alert-default  { .alert-variant(@alert-default-bg, @alert-default-border, @alert-default-text); }
+.alert-well     { .alert-variant(@alert-well-bg, @alert-well-border, @alert-well-text); }
+.alert-well-alt { .alert-variant(@well-bg, @table-border-color, mix(@text-muted,@text-color,50%)); }
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/buttons.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/buttons.less
new file mode 100644
index 0000000..b61fea7
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/buttons.less
@@ -0,0 +1,3 @@
+.btn { box-shadow: inset 0 1px 0 rgba(255,255,255,0.2); }
+.btn-default { text-shadow: 0 1px 0 #fff; }
+.btn-primary, .btn-success, .btn-warning, .btn-danger, .btn-info { text-shadow: 0 1px 0 rgba(0,0,0,0.2); }
\ No newline at end of file
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/jumbotron.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/jumbotron.less
new file mode 100644
index 0000000..a04420b
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/jumbotron.less
@@ -0,0 +1,87 @@
+.jumbotron {
+  background-color: lighten(@jumbotron-bg, 2%);
+  border-top: 1px solid mix(@jumbotron-bg, @jumbotron-color, 90%);
+  border-bottom: 1px solid @jumbotron-border;
+  margin-bottom: 0;
+  &, h1 { color: @jumbotron-color; }
+  padding: 50px 0 40px;
+
+  h1 {
+    font-size: 80px;
+    letter-spacing: -2px;
+    line-height: 1;
+    margin: 0 0 15px;
+  }
+  p {
+    font-family: @font-family-alt;
+    margin-top: 15px;
+    margin-bottom: 15px;
+    font-size: 24px;
+    line-height: 1.3;
+    font-weight: lighter;
+  }
+
+  .list-group-item {
+    border-color: mix(@jumbotron-color, @fa-green, 15%);
+    background: transparent;
+  }
+
+  .text-muted {
+    color: mix(@jumbotron-color, @fa-green, 45%);
+  }
+}
+
+.jumbotron-ad, .jumbotron-carousel {
+  h1 {
+    text-shadow: 4px 3px 0px @jumbotron-bg, 9px 8px 0px rgba(0,0,0,0.15); // double text shadow
+  }
+  p {
+    color: mix(@jumbotron-color, @jumbotron-bg, 75%);
+    text-shadow: 0 1px 0 rgba(0,0,0,0.15);
+  }
+}
+
+.jumbotron-icon {
+  padding: 30px 0 25px;
+  background-color: @gray-lighter;
+  color: @gray-darker;
+  &, h1 { text-shadow: 0 1px 0 #fff; }
+  border-bottom-color: mix(@gray-light, @gray-lighter, 25%);
+  border-top-color: mix(#fff, @gray-lighter, 50%);
+  h1 {
+    color: @gray-darker;
+    margin-top: @buffer-lg;
+    small {
+      letter-spacing: normal;
+      font-family: @font-family-sans-serif;
+      font-size: @font-size-base;
+      margin-left: 20px;
+    }
+  }
+
+  .info-icons {
+    font-size: @font-size-base;
+  }
+  .info-details {
+    float: left;
+    p {
+      margin: 25px 0;
+      font-weight: bold;
+    }
+    .dl-horizontal {
+      dt { width: @component-offset-horizontal - 100; }
+      dd { margin-left: @component-offset-horizontal - 85; }
+    }
+  }
+  .fa-2 { font-size: 2em; }
+  .fa-3 { font-size: 4em; }
+  .fa-4 { font-size: 7em; }
+  .fa-5 { font-size: 12em; }
+  .fa-6 { font-size: 20em; }
+
+  .fa-1, .fa-2, .fa-3, .fa-4, .fa-5, .fa-6 { margin-right: 1/14em; }
+}
+
+h1.info-class {
+  font-size: 30px;
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/labels.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/labels.less
new file mode 100644
index 0000000..d0d12dc
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/labels.less
@@ -0,0 +1,21 @@
+// reset
+.label {
+  padding: .3em .6em;
+}
+
+// new types of labels
+.label-brand {
+  .label-variant(@label-brand-bg);
+}
+
+.label-dark {
+  .label-variant(@label-dark-bg);
+}
+
+// labels inside of headings
+h1, h2, h3, h4, h5, h6 {
+
+  .label {
+    font-family: @font-family-sans-serif;
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/modals.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/modals.less
new file mode 100644
index 0000000..275e40c
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/modals.less
@@ -0,0 +1,6 @@
+
+// Scale up the modal
+@media (min-width: @screen-sm-min) {
+  // Modal sizes
+  .modal-md { width: ((@modal-md + @modal-sm) / 2); }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/navbar.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/navbar.less
new file mode 100644
index 0000000..3216727
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/navbar.less
@@ -0,0 +1,179 @@
+// SITE SPECIFIC NAVBAR STYLES
+
+.navbar { margin-bottom: 0; }
+.navbar-inverse { background-color: lighten(@fa-green, 2%); }
+.navbar-brand {
+  font-family: @font-family-serif;
+  font-weight: 300;
+  font-size: 20px;
+  i {
+    font-size: 23px;
+    padding-right: 3px;
+    line-height: .75;
+  }
+}
+.navbar-nav > li > a { padding: 11px 10px 9px; }
+
+// makes dropdowns closer for split dropdown
+.navbar-nav > li {
+  &.dropdown-split-right > a { padding-left: 7px; }
+  &.dropdown-split-left > a { padding-right: 0; }
+}
+
+.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: @jumbotron-border; }
+
+.navbar-inverse .navbar-toggle {
+  color: @jumbotron-color;
+  text-shadow: 0 1px 0 rgba(0,0,0,0.15);
+  padding: 4px 10px;
+  margin-top: 5px;
+  margin-bottom: 5px;
+  &:hover {
+    background-color: mix(@jumbotron-color, @jumbotron-bg, 95%);
+    border-color: mix(@jumbotron-color, @jumbotron-bg, 95%);
+    color: @jumbotron-bg;
+    text-shadow: 0 -1px 0 @jumbotron-color;
+  }
+}
+
+.navbar-nav.navbar-right:last-child { margin-right: -10px; }
+
+
+//
+// FORT AWESOME ORG NAVBAR
+// --------------------
+//
+.navbar-org {
+  background-color: @navbar-inverse-link-active-bg;
+  border-color: mix(#000, @fa-green, 20%);
+  padding: 0;
+
+  .ficon-logo-flag, .ficon-log-fort { vertical-align: baseline; }
+
+  .navbar-text {
+    color: mix(#fff, @fa-green, 60%);
+    margin-top: 12px;
+    margin-right: 30px;
+  }
+
+  .navbar-nav {
+    margin-right: -10px;
+
+    > li + li { margin-left: 15px; }
+    > li > a {
+      color: mix(#fff, @navbar-inverse-bg, 75%);
+
+      &:hover,
+      &:focus {
+        color: mix(#fff, @fa-green, 100%);
+        background-color: transparent;
+        border-bottom: solid 2px mix(#fff, @fa-green, 90%);
+      }
+    }
+    > .active > a {
+      &,
+      &:hover,
+      &:focus {
+        color: mix(#fff, @navbar-inverse-bg, 75%);
+        background-color: transparent;
+        border-radius: 0;
+        border-bottom: solid 2px mix(#fff, @navbar-inverse-bg, 65%);
+      }
+    }
+    > .disabled > a {
+      &,
+      &:hover,
+      &:focus {
+        color: @navbar-inverse-link-disabled-color;
+        background-color: @navbar-inverse-link-disabled-bg;
+      }
+    }
+  }
+
+  // Darken the responsive nav toggle
+  .navbar-toggle {
+    border-color: @navbar-inverse-toggle-border-color;
+    &:hover,
+    &:focus {
+      background-color: @navbar-inverse-toggle-hover-bg;
+    }
+    .icon-bar {
+      background-color: @navbar-inverse-toggle-icon-bar-bg;
+    }
+  }
+
+  .navbar-collapse,
+  .navbar-form {
+    border-color: darken(@navbar-inverse-bg, 7%);
+  }
+
+  // Dropdowns
+  .navbar-nav {
+    > .open > a {
+      &,
+      &:hover,
+      &:focus {
+        background-color: @navbar-inverse-link-active-bg;
+        color: @navbar-inverse-link-active-color;
+      }
+    }
+
+    @media (max-width: @grid-float-breakpoint-max) {
+      // Dropdowns get custom display
+      .open .dropdown-menu {
+        > .dropdown-header {
+          border-color: @navbar-inverse-border;
+        }
+        .divider {
+          background-color: @navbar-inverse-border;
+        }
+        > li > a {
+          color: @navbar-inverse-link-color;
+          &:hover,
+          &:focus {
+            color: @navbar-inverse-link-hover-color;
+            background-color: @navbar-inverse-link-hover-bg;
+          }
+        }
+        > .active > a {
+          &,
+          &:hover,
+          &:focus {
+            color: @navbar-inverse-link-active-color;
+            background-color: @navbar-inverse-link-active-bg;
+          }
+        }
+        > .disabled > a {
+          &,
+          &:hover,
+          &:focus {
+            color: @navbar-inverse-link-disabled-color;
+            background-color: @navbar-inverse-link-disabled-bg;
+          }
+        }
+      }
+    }
+  }
+
+  .navbar-link {
+    color: @navbar-inverse-link-color;
+    &:hover {
+      color: @navbar-inverse-link-hover-color;
+    }
+  }
+
+  .btn-link {
+    color: @navbar-inverse-link-color;
+    &:hover,
+    &:focus {
+      color: @navbar-inverse-link-hover-color;
+    }
+    &[disabled],
+    fieldset[disabled] & {
+      &:hover,
+      &:focus {
+        color: @navbar-inverse-link-disabled-color;
+      }
+    }
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/panels.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/panels.less
new file mode 100644
index 0000000..f2dc210
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/panels.less
@@ -0,0 +1,15 @@
+.panel {
+  .box-shadow(none);
+}
+
+.panel-heading {
+  margin: -1px;
+  border-bottom-width: 0;
+  padding: 11px 15px;
+}
+
+.panel-default .panel-heading {
+  margin: 0;
+  border-bottom-width: 1px;
+  padding: 10px 15px;
+}
\ No newline at end of file
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/tooltip.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/tooltip.less
new file mode 100644
index 0000000..5a70871
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/tooltip.less
@@ -0,0 +1,8 @@
+.tooltip {
+  font-size: @font-size-base;
+}
+
+// Wrapper for the tooltip content
+.tooltip-inner {
+  padding: 5px 10px;
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/type.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/type.less
new file mode 100644
index 0000000..b7d5f9b
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/type.less
@@ -0,0 +1,26 @@
+.small-caps {
+  font-family: @font-family-alt;
+}
+
+.hr {
+  position: relative;
+  text-align: center;
+  font-size: @font-size-base;
+  z-index: 1;
+  min-height: 20px;
+
+  &:after {
+    content: " ";
+    position: absolute;
+    top: 50%;
+    left: 0;
+    right: 0;
+    border-top: 2px solid @hr-border;
+    z-index: -1;
+  }
+  .hr-text {
+    display: inline-block;
+    background-color: #fff;
+    padding: 0 .5em;
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/variables.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/variables.less
new file mode 100644
index 0000000..98b7f1b
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/variables.less
@@ -0,0 +1,171 @@
+---
+---
+// SITE VARIABLES
+// --------------
+
+// Blues
+@blue-darker:           #003366;
+@blue-dark:             #005f9b; // Pantone 3015 C
+@blue:                  #009add; // Pantone 2925 C
+@blue-light:            #b8dcf2;
+@blue-lighter:          #f0f9ff;
+
+// Greens
+@green-darker:          #41683b;
+@green-dark:            #678943;
+@green:                 #95bf52;
+@green-light:           #ddefbd;
+@green-lighter:         #f3f9e8;
+
+// Reds
+@red-darker:            #702222;
+@red-dark:              #ba4a4a;
+@red:                   #dd7373;
+@red-light:             #f2adb1;
+@red-lighter:           #fff0f0;
+
+// Yellows
+@yellow-darker:         #6f4215;
+@yellow-dark:           #db8400;
+@yellow:                #f9e27d;
+@yellow-light:          #fff5bd;
+@yellow-lighter:        #fffcee;
+
+// Oranges
+@orange-darker:         #8c3900;
+@orange-dark:           #cc5d11;
+@orange:                #f4914e;
+@orange-light:          #ffd0a6;
+@orange-lighter:        #fff4e6;
+
+// Purples
+@purple-darker:         #4a226d;
+@purple-dark:           #7457ad;
+@purple:                #9780d6;
+@purple-light:          #c3b8f4;
+@purple-lighter:        #fbf5ff;
+
+@fa-green:              #1616e5;
+@fa-green-dark:         darken(@fa-green, 10%);
+
+@jumbotron-border:      mix(@fa-green, @fa-green-dark, 75%);
+@font-family-alt:       proxima-nova-sc, "Helvetica Neue", Helvetica, Arial, sans-serif;
+
+
+// BOOTSTRAP OVERRIDES
+// -------------------
+
+// Brand colors
+@brand-success:         @fa-green;
+
+
+// Links
+@link-color:            lighten(@fa-green, 5%);
+@link-hover-color:      darken(@fa-green, 5%);
+
+
+// Typography
+@font-family-sans-serif:  proxima-nova, "Helvetica Neue", Helvetica, Arial, sans-serif;
+@font-family-serif:       museo-slab, Georgia, "Times New Roman", Times, serif;
+@headings-font-family:    @font-family-serif;
+
+
+// Components
+@component-active-bg:            @fa-green;
+
+
+// Labels
+@label-brand-bg:                    @fa-green;
+@label-dark-bg:                     @gray-dark;
+
+// Navbar
+@navbar-height:                     40px;
+@navbar-inverse-brand-color:        #fff;
+
+// Reset inverted navbar basics
+@navbar-inverse-color:                      mix(@fa-green, #fff, 50%);
+@navbar-inverse-bg:                         @fa-green;
+@navbar-inverse-border:                     @jumbotron-border;
+
+// Inverted navbar links
+@navbar-inverse-link-color:                 mix(@fa-green, #fff, 35%);
+@navbar-inverse-link-hover-color:           #fff;
+@navbar-inverse-link-active-bg:             @navbar-inverse-border;
+
+// Inverted navbar toggle
+@navbar-inverse-toggle-hover-bg:            @jumbotron-color;
+@navbar-inverse-toggle-border-color:        mix(@jumbotron-color, @fa-green, 75%);
+
+
+// Jumbotron
+@jumbotron-color:               #fff;
+@jumbotron-bg:                  @fa-green;
+
+
+// Form states and alerts
+@state-success-text:            @fa-green;
+@state-success-bg:              mix(@fa-green, #fff, 6%);
+@state-success-border:          darken(spin(@state-success-bg, -10), 5%);
+
+@state-info-text:               mix(@blue-dark, @blue, 50%);
+@state-info-bg:                 @blue-lighter;
+@state-info-border:             darken(spin(@state-info-bg, -10), 7%);
+
+  @state-danger-text:              @brand-danger;
+@state-danger-bg:                mix(@state-danger-text,#fff,10%);
+@state-danger-border:            darken(spin(@state-danger-bg, -10), 5%);
+
+
+// Carousel
+@carousel-text-shadow:          0 1px 0 rgba(255,255,255,0.25);
+
+@carousel-control-color:        @fa-green-dark;
+@carousel-control-font-size:    30px;
+
+
+// Code
+@pre-border-color:              #eee;
+
+
+// Sections
+@section-emphasized-bg:       #fff;
+
+//== Type
+//** Text muted color
+@text-muted:                  mix(@gray-light,@gray-lighter,50%);
+
+
+@alert-well-bg:               @panel-default-heading-bg;
+@alert-well-text:             @text-color;
+@alert-well-border:           @panel-default-border;
+
+@alert-default-bg:            transparent;
+@alert-default-text:          @text-color;
+@alert-default-border:        mix(#fff,@panel-default-border,40%);
+
+
+
+
+//@panel-default-text:          @gray-dark;
+//@panel-default-border:        @panel-default-heading-bg;
+//@panel-default-heading-bg:    #f5f5f5;
+
+@panel-primary-text:          #fff;
+@panel-primary-border:        mix(#fff,@brand-primary,50%);
+@panel-primary-heading-bg:    @brand-primary;
+
+@panel-success-text:          #fff;
+@panel-success-border:        mix(#fff,@brand-success,50%);
+@panel-success-heading-bg:    @brand-success;
+
+@panel-info-text:             #fff;
+@panel-info-border:           mix(#fff,@brand-info,50%);
+@panel-info-heading-bg:       @brand-info;
+
+@panel-warning-text:          #fff;
+@panel-warning-border:        mix(#fff,@brand-warning,50%);
+@panel-warning-heading-bg:    @brand-warning;
+
+@panel-danger-text:           #fff;
+@panel-danger-border:         mix(#fff,@brand-danger,50%);
+@panel-danger-heading-bg:     @brand-danger;
diff --git a/static/fork-awesome/src/doc/assets/less/site/bootstrap/wells.less b/static/fork-awesome/src/doc/assets/less/site/bootstrap/wells.less
new file mode 100644
index 0000000..cd2b24e
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/bootstrap/wells.less
@@ -0,0 +1,10 @@
+.well-transparent { background-color: transparent; }
+
+.well-lg {
+  padding: @buffer-xl;
+  font-size: @font-size-large + 3;
+  h1 { font-size: 3em; }
+  h2 { font-size: 2em; }
+  h1, h2 { margin-top: 0; }
+  p { margin-bottom: 30px; }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/example-rating.less b/static/fork-awesome/src/doc/assets/less/site/example-rating.less
new file mode 100644
index 0000000..188b7da
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/example-rating.less
@@ -0,0 +1,25 @@
+.rating {
+  unicode-bidi: bidi-override;
+  direction: rtl;
+
+  font-size: 30px;
+  span.star {
+    font-family: ForkAwesome;
+    font-weight: normal;
+    font-style: normal;
+    display: inline-block;
+    &:hover {
+      cursor: pointer;
+    }
+  }
+  span.star:before {
+    content: "\f006"; // empty star
+    padding-right: 5px;
+    color: @gray-light;
+  }
+
+  span.star:hover:before, span.star:hover ~ span.star:before {
+    content: "\f005"; // solid star
+    color: #e3cf7a;
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/feature-list.less b/static/fork-awesome/src/doc/assets/less/site/feature-list.less
new file mode 100644
index 0000000..e8d4fef
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/feature-list.less
@@ -0,0 +1,19 @@
+.feature-list {
+  .col-md-4 { margin-bottom: 22px; }
+  h4 {
+    .fa:before {
+      vertical-align: -10%;
+      font-size: 28px;
+      display: inline-block;
+      width: 30/28em;
+      text-align: center;
+      margin-right: 5px;
+      //      color: mix(@grayLight, @grayLighter, 70%);
+
+      // Gradient on the icons
+      //      background: -webkit-linear-gradient(mix(@grayLight, @grayLighter, 50%), mix(@gray, @grayLight, 50%));
+      //      -webkit-background-clip: text;
+      //      -webkit-text-fill-color: transparent;
+    }
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/fontawesome-icon-list.less b/static/fork-awesome/src/doc/assets/less/site/fontawesome-icon-list.less
new file mode 100644
index 0000000..49dc1b0
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/fontawesome-icon-list.less
@@ -0,0 +1,33 @@
+.fontawesome-icon-list {
+  margin-top: 22px;
+  .fa-hover {
+    a {
+      .text-ellipsis;
+      display: block;
+      color: @gray-darker;
+      line-height: 32px;
+      height: 32px;
+      padding-left: 10px;
+      border-radius: @border-radius-base;
+
+      .fa {
+        width: 32px;
+        font-size: 14px;
+        display: inline-block;
+        text-align: right;
+        margin-right: 10px;
+      }
+
+      &:hover {
+        background-color: @fa-green;
+        color: @jumbotron-color;
+        text-decoration: none;
+        .fa {
+          font-size: 28px;
+          vertical-align: -6px;
+        }
+        .text-muted { color: mix(@jumbotron-color, @fa-green, 70%); }
+      }
+    }
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/footer.less b/static/fork-awesome/src/doc/assets/less/site/footer.less
new file mode 100644
index 0000000..bf895b3
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/footer.less
@@ -0,0 +1,55 @@
+#footer {
+  background-color: lighten(@fa-green, 2%);
+  border-top: 1px solid @jumbotron-border;
+  color: mix(@jumbotron-color, @fa-green, 60%);
+  text-shadow: 0 1px 0 rgba(0,0,0,0.15);
+  margin-top: 60px;
+  a {
+    color: mix(@jumbotron-color, @fa-green, 80%);
+    border-bottom: dotted 1px mix(@jumbotron-color, @fa-green, 60%);
+    &:hover {
+      color: @jumbotron-color;
+      text-decoration: none;
+      border-bottom: solid 1px @jumbotron-color;
+    }
+  }
+  .container {
+    padding-top: 50px;
+    padding-bottom: 55px;
+  }
+  .project { margin-top: 10px; }
+
+  #inventory {
+    a {
+      width: 220px;
+      overflow: hidden;
+      display: inline-block;
+      border-bottom: inherit;
+      margin: 0 15px 20px;
+
+    }
+    #CVADP2Y { display: inline; }
+  }
+}
+
+
+// Sticky Footer Styles
+// --------------------
+
+//html, body { height: 100%; }
+//
+//#wrap {
+//  min-height: 100%;
+//  height: auto !important;
+//  height: 100%;
+//}
+//
+//.sticky-footer();
+//
+//.sticky-footer(@footer-height: 356px, @footer-margin: 60px) {
+//  #wrap {
+//    margin: 0 auto -(@footer-height);
+//    padding: 0 0 (@footer-height + @footer-margin);
+//  }
+//  #footer { height: @footer-height; }
+//}
diff --git a/static/fork-awesome/src/doc/assets/less/site/jumbotron-carousel.less b/static/fork-awesome/src/doc/assets/less/site/jumbotron-carousel.less
new file mode 100644
index 0000000..9bd2808
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/jumbotron-carousel.less
@@ -0,0 +1,75 @@
+@size: 220px;
+#icon-carousel {
+  margin-top: @buffer-sm;
+  font-size: @size;
+  text-align: center;
+  line-height: @size + 30;
+  text-shadow: 0 2px 0 rgba(0,0,0,0.15);
+}
+
+.carousel-control {
+  top: @size + 10px;
+  .square(30px);
+  border-width: 0;
+  font-size: 30px;
+  line-height: 25px;
+  left: 300/2 - 36px;
+  &.right {
+    left: auto;
+    right: 300/2 - 36px;
+  }
+  &.right, &.left {
+    background-image: none;
+    filter: none;
+  }
+}
+
+.jumbotron-carousel {
+  padding-top: 40px;
+  .btn {
+    margin-top: @buffer-lg;
+    font-family: @font-family-serif;
+    font-size: 24px;
+    padding: 17px 30px;
+    color: @jumbotron-color;
+    border-color: mix(@jumbotron-color, @jumbotron-bg, 75%);
+    background-color: transparent;
+    text-shadow: 0 1px 0 rgba(0,0,0,0.15);
+    &:hover {
+      background-color: mix(@jumbotron-color, @jumbotron-bg, 95%);
+      border-color: mix(@jumbotron-color, @jumbotron-bg, 95%);
+      color: @jumbotron-bg;
+      text-shadow: 0 -1px 0 @jumbotron-color;
+    }
+  }
+  .shameless-self-promotion {
+    margin-top: @buffer-lg;
+    font-size: @font-size-base;
+    line-height: @line-height-base;
+    color: mix(@jumbotron-color, @jumbotron-bg, 60%);
+    text-shadow: 0 1px 0 rgba(0,0,0,0.15);
+    a {
+      color: mix(@jumbotron-color, @jumbotron-bg, 80%);
+      border-bottom: dotted 1px mix(@jumbotron-color, @jumbotron-bg, 50%);
+      &:hover {
+        color: @jumbotron-color;
+        text-decoration: none;
+        border-bottom: solid 1px @jumbotron-color;
+      }
+    }
+  }
+  a {
+    color: mix(@jumbotron-color, @fa-green, 70%);
+
+    // STATE: hover, focus, active
+    &:hover, &:focus, &:active {
+      border-color: @fa-green-dark;
+      background: @fa-green-dark;
+      color: @jumbotron-color;
+    }
+
+    &.carousel-control:hover {
+        background: none;
+    }
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/layout.less b/static/fork-awesome/src/doc/assets/less/site/layout.less
new file mode 100644
index 0000000..69cc0b4
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/layout.less
@@ -0,0 +1 @@
+section { margin-top: 40px; }
diff --git a/static/fork-awesome/src/doc/assets/less/site/lazy.less b/static/fork-awesome/src/doc/assets/less/site/lazy.less
new file mode 100644
index 0000000..5f6461d
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/lazy.less
@@ -0,0 +1,113 @@
+@buffer-none:         0px;
+@buffer-sm:           5px;
+@buffer-md:           10px;
+@buffer-lg:           22px;
+@buffer-xl:           40px;
+
+.padding-none         { padding: @buffer-none !important; }
+.padding              { padding: @buffer-md !important; }
+.padding-sm           { padding: @buffer-sm !important; }
+.padding-lg           { padding: @buffer-lg !important; }
+.padding-xl           { padding: @buffer-xl !important; }
+
+.padding-top-none     { padding-top: @buffer-none !important; }
+.padding-top          { padding-top: @buffer-md !important; }
+.padding-top-sm       { padding-top: @buffer-sm !important; }
+.padding-top-lg       { padding-top: @buffer-lg !important; }
+.padding-top-xl       { padding-top: @buffer-xl !important; }
+
+.padding-right-none   { padding-right: @buffer-none !important; }
+.padding-right        { padding-right: @buffer-md !important; }
+.padding-right-sm     { padding-right: @buffer-sm !important; }
+.padding-right-lg     { padding-right: @buffer-lg !important; }
+.padding-right-xl     { padding-right: @buffer-xl !important; }
+
+.padding-bottom-none  { padding-bottom: @buffer-none !important; }
+.padding-bottom       { padding-bottom: @buffer-md !important; }
+.padding-bottom-sm    { padding-bottom: @buffer-sm !important; }
+.padding-bottom-lg    { padding-bottom: @buffer-lg !important; }
+.padding-bottom-xl    { padding-bottom: @buffer-xl !important; }
+
+.padding-left-none    { padding-left: @buffer-none !important; }
+.padding-left         { padding-left: @buffer-md !important; }
+.padding-left-sm      { padding-left: @buffer-sm !important; }
+.padding-left-lg      { padding-left: @buffer-lg !important; }
+.padding-left-xl      { padding-left: @buffer-xl !important; }
+
+.margin-none          { margin: @buffer-none !important; }
+.margin               { margin: @buffer-md !important; }
+.margin-sm            { margin: @buffer-sm !important; }
+.margin-lg            { margin: @buffer-lg !important; }
+.margin-xl            { margin: @buffer-xl !important; }
+
+.margin-top-none      { margin-top: @buffer-none !important; }
+.margin-top           { margin-top: @buffer-md !important; }
+.margin-top-sm        { margin-top: @buffer-sm !important; }
+.margin-top-lg        { margin-top: @buffer-lg !important; }
+.margin-top-xl        { margin-top: @buffer-xl !important; }
+
+.margin-right-none    { margin-right: @buffer-none !important; }
+.margin-right         { margin-right: @buffer-md !important; }
+.margin-right-sm      { margin-right: @buffer-sm !important; }
+.margin-right-lg      { margin-right: @buffer-lg !important; }
+.margin-right-xl      { margin-right: @buffer-xl !important; }
+
+.margin-bottom-none   { margin-bottom: @buffer-none !important; }
+.margin-bottom        { margin-bottom: @buffer-md !important; }
+.margin-bottom-sm     { margin-bottom: @buffer-sm !important; }
+.margin-bottom-lg     { margin-bottom: @buffer-lg !important; }
+.margin-bottom-xl     { margin-bottom: @buffer-xl !important; }
+
+.margin-left-none     { margin-left: @buffer-none !important; }
+.margin-left          { margin-left: @buffer-md !important; }
+.margin-left-sm       { margin-left: @buffer-sm !important; }
+.margin-left-lg       { margin-left: @buffer-lg !important; }
+.margin-left-xl       { margin-left: @buffer-xl !important; }
+
+.border-left-none     { border-left: none !important; }
+.border-right-none    { border-right: none !important; }
+.border-bottom-none   { border-bottom: none !important; }
+.border-top-none      { border-top: none !important; }
+
+.text-sm              { font-size: @font-size-small !important; }
+.text-base            { font-size: @font-size-base !important; }
+.text-md              { font-size: @font-size-base + 2 !important; }
+.text-lg              { font-size: @font-size-large !important; }
+
+
+.display-block { display: block; } // use to swap an anchor tag to span a whole row to make click target larger
+.no-underline { text-decoration: none !important; }
+.clickable { cursor: pointer; }
+.strong { font-weight: bold; }
+.em { font-style: italic; }
+.small { font-size: 85%; } // Ex: 14px base font * 85% = about 12px
+.no-link { color: @gray-dark; }
+
+.text-sans-serif { font-family: @font-family-sans-serif; }
+.text-ellipsis { .text-overflow(); } // truncates text to a single line with an ellipsis at the end
+.text-default {
+  font-family: @font-family-base;
+  font-size: @font-size-base;
+  line-height: @line-height-base;
+  font-weight: normal;
+}
+.text-color-default {
+  color: @text-color;
+}
+.text-hilite {
+  color: @link-color;
+  &:hover {
+    color: @link-hover-color;
+    text-decoration: underline;
+  }
+}
+.text-strike { text-decoration: line-through; }
+.text-upper { text-transform: uppercase; }
+.text-lower { text-transform: lowercase; }
+
+#no-search-results {
+  display: none;
+}
+
+.valign-baseline { vertical-align: baseline !important; }
+.valign-middle { vertical-align: middle !important; }
diff --git a/static/fork-awesome/src/doc/assets/less/site/print.less b/static/fork-awesome/src/doc/assets/less/site/print.less
new file mode 100644
index 0000000..5ebe6a8
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/print.less
@@ -0,0 +1,5 @@
+@media print {
+  .col-print-4 {
+    .make-xs-column(4);
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/responsive/screen-lg.less b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-lg.less
new file mode 100644
index 0000000..ae404bb
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-lg.less
@@ -0,0 +1,58 @@
+@media (min-width: @screen-lg) {
+  #icon-carousel {
+    @size: 240px;
+    font-size: @size;
+    line-height: @size + 35;
+    margin-top: @buffer-lg;
+  }
+
+  .carousel-control {
+    top: @size + 35px;
+    .square(40px);
+    font-size: 40px;
+    line-height: 40px;
+    left: 370/2 - 52px;
+    &.right {
+      right: 370/2 - 52px;
+    }
+  }
+
+  .jumbotron-ad {
+    padding: 50px 0;
+    h1 {
+      margin-top: 25px;
+      font-size: 90px;
+    }
+    p {
+      font-size: 28px;
+      margin: 35px 0 20px;
+    }
+  }
+
+  .jumbotron-carousel {
+    padding: 50px 0;
+    h1 { font-size: 100px; }
+    p {
+      font-size: 32px;
+      margin: 20px 0;
+    }
+    .btn-large {
+      font-size: 30px;
+      padding: 21px 35px;
+    }
+  }
+
+  .stripe-ad .lead { padding-top: 0; }
+
+  .lead {
+    font-size: 26px;
+    line-height: 36px;
+  }
+
+  .fort-awesome {
+    .tagline {  }
+    .action { width: 18%; }
+  }
+
+  .hide-lg { display: none; }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/responsive/screen-md.less b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-md.less
new file mode 100644
index 0000000..bc46917
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-md.less
@@ -0,0 +1,3 @@
+@media (min-width: @screen-md) and (max-width: @screen-md-max) {
+  .hide-md { display: none; }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm-up.less b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm-up.less
new file mode 100644
index 0000000..5bc078f
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm-up.less
@@ -0,0 +1,17 @@
+@media (min-width: @screen-sm) {
+  .signup-input {
+    padding-right: 0;
+    input {
+      border-top-right-radius: 0;
+      border-bottom-right-radius: 0;
+      border-right-width: 0;
+    }
+  }
+  .signup-button {
+    padding-left: 0;
+    .btn {
+      border-top-left-radius: 0;
+      border-bottom-left-radius: 0;
+    }
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm.less b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm.less
new file mode 100644
index 0000000..676b2d6
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-sm.less
@@ -0,0 +1,48 @@
+@media (min-width: @screen-sm) and (max-width: @screen-sm-max) {
+  #icon-carousel {
+    @size: 200px;
+    font-size: @size;
+    line-height: @size + 30;
+  }
+  .carousel-control {
+    top: @size - 10px;
+    .square(30px);
+    left: 228/2 - 36px;
+    &.right {
+      right: 228/2 - 36px;
+    }
+  }
+
+  .jumbotron-carousel {
+    padding: 50px 0;
+    h1 { font-size: 65px; }
+    p { font-size: 23px; }
+    .shameless-self-promotion { font-size: 12px; }
+  }
+
+  .jumbotron-ad {
+    p { font-size: 24px; }
+  }
+
+  .jumbotron-icon {
+    h1 small {
+      display: block;
+      margin-top: 15px;
+      margin-left: 0;
+      line-height: 20px;
+    }
+  }
+
+  .stripe-ad .lead {
+    margin: 0;
+    padding-top: 0;
+    font-size: 19px;
+  }
+
+  .fort-awesome {
+    .action { width: 33%; }
+  }
+
+  .hide-sm { display: none; }
+  .v-get-started .get-started-cdn { padding: 5px 22px 22px 22px; }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/responsive/screen-xs.less b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-xs.less
new file mode 100644
index 0000000..da5030d
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/responsive/screen-xs.less
@@ -0,0 +1,94 @@
+@media (max-width: @screen-xs-max) {
+  #icon-carousel {
+    @size: 180px;
+    font-size: @size;
+    line-height: @size + 30;
+    width: 280px;
+    margin: 30px auto 0;
+  }
+  .carousel-control {
+    top: 40%;
+    .square(44px);
+    font-size: 44px;
+    line-height: 44px;
+    left: -7px;
+    &.right { right: -7px; }
+  }
+
+  .jumbotron-carousel {
+    h1 { font-size: 58px; }
+    p { font-size: 24px; }
+    .btn-large {
+      font-size: 20px;
+      padding: 14px 26px;
+    }
+    .shameless-self-promotion { font-size: 12px; }
+  }
+
+  .jumbotron-ad {
+    h1 { font-size: 39px; }
+    p {
+      font-size: 20px;
+      margin-bottom: 20px;
+    }
+  }
+
+  .jumbotron-icon {
+    .fa-1, .fa-2, .fa-3, .fa-4, .fa-5, .fa-6 { margin-right: 0; }
+    .fa-6 { font-size: 16em; }
+    h1 small {
+      display: block;
+      margin-top: 15px;
+      margin-left: 0;
+      line-height: 20px;
+    }
+  }
+
+  .stripe-ad .lead {
+    margin-top: @buffer-lg;
+    padding: 0;
+  }
+
+  #fusionads {
+    float: none;
+    display: block;
+    margin-left: 0;
+    .clearfix();
+  }
+
+  .vertical-ad #fusionads {
+    width: 300px;
+    .fusion-img {
+      float: left;
+      padding-right: 10px;
+    }
+  }
+
+
+  .fonticons {
+    padding: 15px 0;
+    .tagline, .action { display: block; }
+    .tagline { margin-bottom: 10px; }
+  }
+
+  .hide-xs { display: none; }
+
+  .block-xs { display: block; }
+
+  .modal-footer .block-xs + .block-xs {
+    margin-left: 0;
+    margin-top: 10px;
+  }
+
+
+  .navbar-org { display: none; }
+  #banner {
+    text-align: center;
+    .message-container, .tagline, .action { display: block; }
+    .tagline { padding-right: 0; }
+    .btn-primary { margin-top: 10px; }
+  }
+
+  .signup-button .btn { white-space: normal; }
+  .v-get-started .get-started-cdn { padding: 5px 22px 22px 22px; }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/social-buttons.less b/static/fork-awesome/src/doc/assets/less/site/social-buttons.less
new file mode 100644
index 0000000..aaf2426
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/social-buttons.less
@@ -0,0 +1,48 @@
+#social-buttons {
+  ul.list-inline { margin-bottom: 0; }
+
+  padding: 22px 0 17px;
+  text-align: center;
+  background-color: #f5f5f5;
+  border-top: 1px solid #fff;
+  border-bottom: 1px solid #eee;
+}
+
+#subscribe {
+  padding: 22px 0 17px;
+  text-align: center;
+}
+
+label.error {
+  color: @state-danger-text;
+  margin-top: 5px;
+}
+
+/* Get those Github and Twitter Buttons to behave */
+.list-inline li iframe {
+  position: relative !important;
+  display: inline;
+  top: 6px;
+}
+
+/* Federation Share buttons */
+
+.share {
+  .btn-xs {
+    line-height: 1.3;
+    padding-left: 6px;
+    padding-right: 6px;
+  }
+  label,
+  label:hover {
+    color: #fff;
+  }
+  .twitter {
+    color: #fff;
+    background-color: #1b95e0;
+  }
+  .twitter:hover {
+    color: #fff;
+    background-color: #0c7abf;
+  }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/stripe-ad.less b/static/fork-awesome/src/doc/assets/less/site/stripe-ad.less
new file mode 100644
index 0000000..cef0aa0
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/stripe-ad.less
@@ -0,0 +1,4 @@
+.stripe-ad {
+  margin-bottom: 22px;
+  .lead { padding-top: 5px; }
+}
diff --git a/static/fork-awesome/src/doc/assets/less/site/textured-bg.less b/static/fork-awesome/src/doc/assets/less/site/textured-bg.less
new file mode 100644
index 0000000..046b2db
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/textured-bg.less
@@ -0,0 +1,20 @@
+.jumbotron, .navbar-inverse, .navbar-inverse .navbar-nav > li.active > a, .navbar-org, #footer, .content-underlay {
+  position: relative;
+  &:after {
+    content: '';
+    display: block;
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    opacity: .15;
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAABGdBTUEAALGPC/xhBQAAAaRQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMalYaAAAAIx0Uk5TlhaTG6WwoBqyCx6sopscnacgq5cfmR2UkZwhlY4li5IjIiYpjYmQJ4iPJIyHhooog4WBfoSCKyx9gCotf3wuMjEwezN6L3l4NnI1dXd0djc4NHNwOXFvO2o8bjptPWw+aD9mQGtEZWlnQUJDRmNiZEVfYWBLXVxIV0lHTk9KXlJWWFlVVFtNTFpTUVCkyaWwAAAfsklEQVQYGQXBg6JsWYIg0Bh7WlVdVjrz5bN17Ygbto5t2977p3utXhseb5cOkcQlMSvlwcK1KN+kXuZFtaw8UKWGHiFOjR+F43DFHF/nyis8PMwvzc7QdS2qjnykhpWRQjtpLDpQTFUQhrP972J3uIwc3/WaHJF73IT3EHONyQqnTVQIxOGvt7JaF3K5XOM7dyDI1VQv1c0xv3T0lzAQ86iJX3cdkg41x1QCweVIKUGI1bm1XhO1cR+L/oaFys6joNLUSBbURm9bwK9yySmu+6MqCJ24VqSu5NofdmOlOGCp1ci5Ob8EObh89le18MLgAWbH/9ZUCR47kyJmcIUArlxGN2Ugzj/bN6fR9qJeC61niRtk516BTEF7QdOmB60uSSfTQ0TwrYLTiq/CFPBE+2AKf2eiGYkrWyQy44z/1CRs35oHxM4U8tBPNVTAGu4X0dq/5tcZs2TlDO7VVRolsSLyzO9t/aNh2FVvlJJQfLpVr0/qY6o37q0Yo3PxdGKWsibL6V8HxMcYGUev9C5qlrp/cDR1Llr8F8r4oToXReV3Rt8KA32bZwZ/4+38bTq5nqTPOmBjNJ8QK8KWQK8uxdyoNFxrle3Snen1ioqasN3qh+JNVdbGiid0Sbl2/TKfJQ+/cQuOMKw4mtKRN9TBhR1RtF67xTGJGQ8DnuKCq9mhpJgLJWqg9VfSb49kr3W0+DWjGaSSw0vQaapjdCyJoHEQykmbfVGDR90u41jAHpbuNfywT+mt6XpgJFeH4i4U0xRxm6Zu/rHSQv/+9+sG4rSnLJ2zrm75c33ohrzas+eJeBA8D2DBSWPsVGOIq5AsfEzUuNWD52wCbXh2XQyZENdvxrWzzCQk04N7slLfLyj+QZfCsixMS05gcNQwxfJZlkBiPZgC7zhVCjMOtV4weO994s/mVikag3ZnelFcdKVUb2kWMoJ1075OTiv4Wq/wlvvAnMFCN6Ic7MIujcr8b/NDQpaGbX78QR/GUFaTeQIK3OGkm9yxClW8FZvGsXs1Tpcz5WtNSdlDZbV6nglu6YZIfXoucMX99Me+/mYqMBEm4X2YhzRrhMbdL2i7YhttHXwOqWSb55ITmIXscoZzj76Kfa8rrZ0Ay/vhUKErGPfKlBRSyJfcWIidwlfoKnAevyxpUGpikcWZqnz6nDvZIxjGULjGmV+E5QscXHwX4I6MYHYsbEJgxPY6I3Y865Wwfl00a6TQHNPNF2d3k1Ztql4EciNK8/SVIf1+7sxkj5RM23h3nipnfF4U3X62c7VIVQk/twKoDTVwWB+nvlfLCa1bj3J+V3gn6SRqj4EqWOtwjYebhAph8NjHX+Db9mq75Hofkv9fsnrmLc+Cxthn1njneZNPdgfO4hnRGppVsqT/tAn2le397e3fN9E9ovzlL9e5DhdsFPACnKb5gYEZ7zDbrH5EufdFxxs/yxqX+DlXmmMq1HrLKs/z5H/pKj3NLfzhuHCCqg8liB0+vNGn7Sf+tChHoxPOP4cu/362qAtC0kNra8dVyzLP4Mgpf/Y3yAOeb5IyqSMRCXy3+mN2v9Flta4Yn1vBXimEZV/V1I3fRlU8Ed0q0/LQaNn2DOJlB45M5X0aajILyO0k9FJZA2o5ie+V1VwDGdgFebF1vrlT4ry4zQcedHIKBXkeVhsvkxsT8jW97S073GTf22Wm2yBN2TRDVaEldhl15MfHpDOllhIavGPJ+OB5Yje71SlEkGVz/6VEBT+fV9lFh9Od2xxK+a5ry0lU3yjQtcRPiCDSF0smi6c9ZDqbZso6afHA8L3Apl0LJJ7whAq3tY6+ZwkxYArATbCsYfe8U+9KNLtlW98Mbacuu7NR6NhOFzOcQKsA55FD15JuR7xsCCmuI7IO7qlDjxlLRmy02bpLxfoBncftvmGHUu6SYDOK+srqYwklx5dIjqUroTweFRrmQZZGiE5Z2eK2iXy/rD8d/+l5kcylD0Yht2mrdNmqDdgKURofrZWefrnJsVQsWnL48VGOY+AhZTf3qJpc6qhxYWyCNHrLCMnqPBgMulqj5CjaGH4/VajHzFIOK18eaVcu0XC/Cp148YVasVmi4zO9rTMjKhSAZmVvZ3l7bBVVvuQI0rP6XTudT24ZBVosD5PrR8nFMVEKPIJ/3K0qvq3TlG7ZFqkfWccRrGr7t5nGZleYH69t+yLaBKwEj7LtTHZRJkiDN9Kdt0J6BlOZeZh71maSHj4FikgDqcRmsUOsy3ZJhqFehZjNYgrd8utMC3KjYCOTICBQ7MQUILu3aDdxeVFOCNpVUcIX76jEKN9nSWYQ2PNTN3vdC8Qydo/dEWRi6OqW1ZxTNcYrgpeb09MHTZ3njxofDbBQtb6SDnL99QtwslhXy8jqLD8STMoTsbYdTxWwqSXJVmTAp0rZComyl7i6QY6a0iOaVIeBh0Zga4TzYmHN4hYY3Yw2jrNMdLya+rhdUHXkyJnXVfW+qQqbKCq7P8jbs82yX+OrVvKc31RBNPv6WNUiq32h13InyQrUcnlty4rTA3Z6N2nkK6NR+E91Q9tCtg19amUtZFPlF+GzJHj3Ew5TnswP6sFQNo0NK9aPNB1nBpGGRALr1PiN10oUIWfvVgXc1Mgd9ehTEh2MqiwtF1rvq9WMhZAeGx9okMJrWfPEkGkbpAuM6zRXEjcr/DY111+hvsdjXEawhkkcy6n0/z3urraN3gBE1+q2epXs+WTbTVMz44yqw/YZKBq8C2uT74W6H5MlaNZN6ibfZ8W+UCpSoaVl51TVo414nslTf5d3RC23QXov+keW33UzjztU0XFwjWAPrjZOQ1JrePpttq2T2AA89Yh+sVGtqmvPzoOm9+Adb2M1qAP0WHIcSPwkVkM+/pIqwZcWoI69l0UOo8LB2g7t9Tv3Vi3fMNdkZOWthWeVAe17/l9qUvWn60ZQm62fZtZLuVx+hCVRthL+Muadnt9VW91Zog+XeQXDQvNayj+JWgMDO1FMA104HNr7p4YZTs65g+PmYTMPSOMgWw44DVJF2qYv5WXfMCjj3WDXPSTC4rFsuyYfT3Y7Sl2YZaNoveCawhtnnR9MrfXS7GgTxLHrQvfndBk8GyTdKDDRZcYQiv1iL0nQ1tXtbUFxQdDySZRaEXYN+BtDeFt48raTnC6v7lrJqqyqTCuptqGjxv1el2eOOi/XUl6HVeXfyDZfJYVzWUbBIgpC6g1gaxgSIwqLpsJoYfnCGOyVg+ElTZfY98e7Tqq+P/DVpOqcZcIpbR5vfDLd3d5slkyodpDL7nuWrYcvdCOVeeXLg8n73rhuW+NaKOS4UjXHaaiSoW9e2RcL9fMnGvJck56aF3WAWOs8XWFVh3VQKBbG9PisEjmoWyy+ydXEtkmvwFu1nSFzuicrZbJT/1HCg5w3+MwWFFwyjbH26I0Tc6NJ20OXqEZKkeWjb2ceG7s0HTZ8Z0mLpEZhM9tZV5kEsM1macd4p47U9p1ppbLDpX57NPLlo5D0Bls7cNTPNpOgaxuD3cd/M0Mh0qrBFyPyqZd9o4FpHjQZpzhq0NXN3MtayO1duT3th/CC3ZY5cXnH7JWsKY15pFX4i8DeLuJ7PeJ3VhXtvKnS88Lvihto5BF0I2Dw2QF05HazFyxddvOH95draC9Ykfxr7uYyLKO62Yq//rYbCFYJjwJ3F7GHQiuOjAtJjbvk9ZQ1oiOKQCplBUtFjgodM07PqXd2/i6uujasmXTUNkE2NoESofFpdQxYC1Cla/hR0KjrrPqldoN8RJnjYvcQ3nmFATeVQ8c3L10K3u9RoVb2RbBCuIpLOe4Kb/xFdsSbtidaxfTO1O/L3Sqgp1HSiTHIVpKZZUX6hvnMXVSBV7hamutlu/VMikQ//HUi9+FWkpfJ8p6uxmJV1Cr/cJ5btknmghJbOTG35fUVXlgpzeyEpleuvU4/3iED30sCQ94PfrhPHSflunakZn2HKhh6HizLefn3ksOyCze6BfSwav6BgHi7AQtekhN2VGL+b09tw8jI+oqMcNDZTTxdPSd/qOafWHjS+9rmka+VpmC1rKOyCZwI9R/exB3NpeX/2XdjwY2ZQ7NuvrhXthcFxmfKlB+d6PiFVTcLfCmFo/jYDgKnDvYGaCYl49g1vCOHEPslDZJ4S30oux6cYQgox+mbtaaQsK2SomOSjYu0cGl2d1hQDmvNMy35ofp5SAQlS1Jd3XjWY+S/TKg2dD652JYjItaMg3m35fMdsSu7u01d123Z/kmxGTJlesmqCFxXn6n8bpcFEsE8EhwV2Yf7yjRqjC3moDUzr7yJVjnkE/vLgjJsKTPh1rltI75F72/xirBylLxyJS573DJZ6ThJQSuTokUK33+ItnXPCkoBVaJb3+FDw8OurIrjm5qbXq21n3zfRP3IOJJ3asbzU9/FVElp2KRUY4mCA5894qXzDj4qmXPgknUbcQcHzZmbom2ybBmqNZfav7Yw7RWGjFoRy4V1EYK2pXmE1pKUpokwPVCspoACXvIHRbtHNe2mbrCFvIOB437CUsaxk/ejf/2/mN9WtqfGfEWWgzQimpaDGsZXQl03cXTg6rL3zIy8K7FQaMOg0BjcA1H039QE5dJSLFV27t0XaDn9YX9QixC4puw9PEUTtpMf28y6DA3ol/xVQborN+2YnKxgg+Pawk+n/7ZOG7SCkyba5D0n5/Jnnk/HkV2wRWwfwYt3YTuxkn1pzvJMBGxM04w/3taOPYu9ff2DJZ7fBZXuHoO8DUCXJjtdeuDW8kqoxduypFa7MXAm1yPiUkrD1WB4HPaeJ7kp1Y5naGEgOKioLDM/IA19kxzSPPWkue8f9MYb8zfKzFKrKHSMhcQGAoQFMUyk9WvyYG6sBtzvw4EUnmPr2ze3bDztQONFUg0lO1LL3g80L0KtpPP4nK+xIo7q4NMozilxiwQGY1zc5T50ilRjMju+A1/r7N0wofxC2H1uMD11+L4hZyeP5/9u6nIjX20amyz05d2B2ueHcW757vJ3xHlv/D4z0AW4w99+VSop2VnZUtFAURmUMn0r4ofoHg+3bKoaKQlOK7rBfRavPwf17Gem8/ysQynXTvuQ2JdobPfnokPR/l1z/2Wf5PdiIMRJoMDeJfKNwMiU6JoKdHGzs9Qm1U34BbEx5GwUuXvmj5/CWu4gPB0xFyko4BhGVFtbfF12WKx+Bv/9mPhc48MA5Ll6jE72OVON6vFlxoXr268rtmB6MtprC39GGm6UdYcMCK6P4j/9mBKuY+60Yrs/0W/dztduFSdN932r3ej6dqG+uao23pd4kbIEGjsQfjPzn39k/VI2D/cL46Gv49v/mb8CuwwKftmT7rIQrXhXDmusMzvYlHGqz1wDg3/+aP0r5/kAWAvXPm4O0TJ4FcLZYkXYtrkOHXFDxSklG01Mj+rV0nqdQs7rAptbGcUg3Vd32tfQfp0Bmu9V7Gs8aUUxT8FwUeTV/kPu/dLJVVOzlO+Rqc18lknhD4NFHjasnIOpVobONhqTVRHV6p4efQDB9jYBlXZ9XBxfaYStOVhYFKoZFoeJ5yU8/rRXSQEGbQYWwgTGKvy4v072XqWo2ryFSudx8Of3J4sBmo8gP3fDhoClaNnATI9erIzx6h0H0gbbBxOc1fQs2DpwmPgF0RTxW4WKC5KzpVLrSedYV6rQvmqYWXIdMhH0z/LM9GOTAi0wvbKJLQJ7p4b3gUuzh3dpwG0s2GKH89Rso4NXRMmkfMRZbuRQQK0gDAt9G6TfZ+3Bp0lylA3Vspcw8syxSV+3qwSh6RUNbjxNkbiv/wyU1Y/JC/aPOv/4OL8gjarztqbD3dNTO0E5GUuCGiRSbl810vV1qt2I/FIUjxn2UTqdp0RNw1YH4mGeSGUvva6ZLsuiKm/2m4Of2nkHUSjM89JYXpEAOM/XElkoJIZFWHPVCfwTJPIgiremFnfDDp+YXfd4EO+PpbNZPhnV07oypat/Iiu7L9uauJoksdSrwq7RynZ9VhjA8qvaOR+X0n5d/+XsfNyyxy/7/xxfIlXjiPxV0t1IFLzcK12n4iu21d+JGX0kR+heWRNCVY2hQ1ZyYR4OyNmpXXzatE1zb4gF0fvVfoNVF9Z3lPOPT5KcVEFhbLTs5KEdoORurGYcYp+9O0Sv4peGU6MQT3lGk38+LDqyKeLSfD/5x2b/LxvWLnbQMk0sLHkGgtdh5we1knMAr1tJ7Xmry7uVyvWfLHA9hZ0WTwSf3aINPZp7TrN8y5tMUmxNxhRCPHDfJmI+H4fJDtRwWKAtKZNGE3pyEjNZ61NmmcqWhQtYsmKZutGyrXAJQ7uXFrv8A8Na47oObg0/216aUz0AwZ3i5vnj9nOOfTuXedNP9FVUrpsH82+2mIq/GiFU4jH4qaFxyTaVTACM2fongb/ErQE1tyNvtKtDO9U+h4nZw0JOrTdysbvDiLnHacLBrC+FV3mYvf1nGNYqBDjJJOaZZdWwZZUX2jVWKp05ttKzRs6Q/wJpsitdOTGsGrdvSQ3e1cqt081eSdeVjVLN4wUV9KQqEbISaTopru4VW8qlRhPPp/R0qtGqPsDl/gYkYodqgicd1Y2IG/jXx1hyvZuSX2htu1KtZkDe1XVDgQjuRPebUB/IqJUWTXcq8KHvAKtn+G3DtgilAZfNJl+tHDE1uXSeTPmohUluVGFf5FWnTty8+GnrRi7X5S7qLgrow2x+ZN8WMr2GlJh5XrKQbtYomRw/Y+a9+fGWd8QkeFr4jz1C3dsO0mqO7lnZgo04WGVpcXY3HPApZXmfrC8qt8iT5g128NLAjfXQgMKvbcMbfTQax0Q0WtUV75+Wvu5ELodhF2+7SyjyoRjFj2gfJCmm9KokrA4J08dqVLeEUdiVIzEczC8tRDzbe27Wr67tB0zRuwokD6n+lo0vjhpo9nYFuKX5QuILNjFor7zZ5lGHzhp42l/Y3b+7UDSjZBuUTZpJPcxS8qs1P1eZo0ZMAa8tj/IXvBPkxzpZa7Lg/oN5NFkt5j2zwaIms84KiohaPnKE49NWzLTTvXi3szrbiY3EPHn4c6ciJsqnljA4xldB39K9sBcFzyBC5BKIVxFE6/rRaWrWi4ykIjZuEajL68gw85TWyFZ9ilbvzuNCJ5QaIZ6nCfstuZ8d97umloSvnJFffD8zk1mq3afkh4GkjzwYfE3BEuvR3oUmX1S4HyStriBxrobRijsIJvMBeJau9P1a3YWaVQI0hg6o10CTO+TRl28syU/dkYd81f7chuBI3aJNSpTfyaNTUu7mqwVMim5yJ4B91os3hndehiP2C1HMwJufLt+a3ut8CoUZ9W350oljULvbX1SyYPg2FSDHsF5+ld8buR1ceDmHLfRdZBgdQLzXE/E+iZsTK5GCT1xXiIpINMXmp5jvpTdoOcxVrzCizDkX9aJTlgAhHXEoU0h5oTedbdEWb3nVh9IeP/0AC616ro5MZjDBPgNmWaM//qe0Fmv0kloLPk28i3+7XO36Yp1kGdPm+denVt7D6RHxBmlUU36IabbxluBRFktte0s7lvWV2pk3Z2GYelWbIsGfvL9zhEM0zt7lM9lcyEb4Y5zqUdRtPrdboKeub9KhECkje3rrnXN1wVCFdi71VnuwqaNcuLEsR5cwsYtosVHauaXUSaCYzr7grb9p4cv3wXP4Ak/q/Z8v/dQlrpXiO1oNJ9e8zrQfcDIXM81pXQdHMkPSBZCpnSq1yb1+ZeylXsPw/cPD6xvHWsNgCXERB0rafOt6bt7t7IHU1g5Lf5fk8QXNrXio6/9vGq9oHxQeEF2qXVbSt10EPKi82YYRY9LXYw2QqV+oyUI6dSFUKZj1DnbzRXG3hkSYHPQjKaOorUsdBw8tW+XMbg7uG8zxd3cW4NQsF3Ug7uNGL5jc+gN6HpqWeRy6WSdsVnt65uWAiwNlWDL7JPgZjcPkhf+r4B57qpmc3gnOzozM5k/TVTwL2tIS418X5eUmciP66sabjF6EPJp+b4kejrZVkp+0cYVIhE96dcJX0GNdTZbtJI8goUVh67KZ39WB1lVZBD9uHL/Xucfio79U7DDi5BPvF0SK40gvEG4+d4vB82CnWk08ccuYr6V2ls8RQ4Ac7hzfFSpa5daMZG8let59pIBSPNHuRkyp2sTZewClY9f9jym9AU/QXpW4dZqU2e1cR8LwEYndfWM2hV5P1tlcbn8+mQRFUpDZ96CV/6hK9J90Z6ElMzdfEnzV5LUTWEXWrUsAiOumitThkuAxC+77LOlkhkJpM9/rcRJi7GMOCeOBU4cdBp4FuSxbKZ6DzNaz+YPanyUuY8yDsu0sNoh16K44T0j7dHZxCysOds1J8M3qwNJ6mB0AJRBz5lUgji8b5/NBEym7aHpw2prPunQRckfDRvSY8VerSzZllUEXrA4BUk6DTG85VVAJvK22afONWEBlMFtBjHsO1DHFDYb+291tslhzU1IQxbasB8vIAI9MzCAX9Wo5vOipHaHWRtcQR/lAWsoafPINiFNEIhyTG5toHS3i0rY1FC9P61VnR9bV0G3dbplbV65cxSwC+bZtkyA3y5dv6PxtuymlhAlsd6vdcTVsi9TrVXI28pG9nZwsQXcs/WIa750ilhUxMkNm2XXs2Y8O2v+o51qiXQ8Vv+zjD3XmZfrdRs4kwuVXSCXTbver95vmOschGSrUhBnvAB/VuF6Rxa7ptXi5OBx00hflKonHi5RaPdDpJSzF7StHdcpnrDbtt9J4lww5VeECPhLsMBGq9+m95ASpFaMLNkTcxxQwqfq8VYLjeg3jwnY16YZORWRfN1bPK7SnsEmGESNQCrr7yJDEko7el9cgSMIgTUqhxFt3o95UWZiaWg1btxpFKEvqLQBoiIKcFnC3zczCbIagrlzX7fLURO2v6X4GA587rPDetvOLyCqHc6Yww2YcbG8X1aRYVCfVMdzTzM2aRqSZtnI4Lv6zdUKusbp9gf7h19TUZD/AC6JpJCaqSwF0H2roiTO0P/mWtiH/4L/rbj58rYnl9Gsv9H1vXia6XCd7sY0jzjtrKBCrH2aRSnDDsGMMfYcY7UN78avbBbqwS1IYgbij4IPq450Ud02hBFAeYVIFf/Q1Bc72B2LXn16OdipfhaXc9mItqdhEK0WxXZOVXzK+wYRPSMb1jLU10wVa10gPbIc6Owau5zKkr1e2GzZdB/+2VjJWV0PTYMIR7eL7YXuu1CEWsrFsDECmWYZbCshJ1JP0jmqobSRAcgDMHfJkOzZD95dq7ZQpS30XAImJ6qzslN1f/o7aHOrsWCaBSPjBnndHrK7f8hIfdHVk47rpfezvqrfOIyQ4HoXG0/tMrcVcjHsZOvHXnZ/V5XPQgDgMHoS0MKBbeC+MyVguwzkjy1XeDkT23uwOoTSrqpdKs2Nf/whUpvNKXrZnt5v3//UA6dPJCgtxOyrtD50ZfGfOoaEcpxTWO0lvX0zEzV2+n1i+GESda1iAZRuLgKCFVfckTh+9xi3T5g46wshk+iKR1Tre9pOFuQ8w72Q8qdj4L9ul5ePuljWHFw8qz8YM80cOorQlBLLWg8UBcMnP7Ndq9/Ug4kYWr2JzlO7atGkwbyGhSZU4QdMxydoa00Ze1MaVE2JadrtSJwGsfbrl7F0Y2YT3GdwMi3anTMMtD10ldys0b8Oovu1Fqi+Qj2yAOJaPRZrVepMVCBGVimkM8x6KArsu/Pd+ReLvS9df2OoJPffNwNaUB7Mfq7Etv9h3eZWiPjlAOSpaOBzn5KbuRZ3ZzqLQE42wZz6S3dr53KAOZtD5Cd/eLvpktUmePrphRxe2WuUL+62ySxKiWNQxAJHT5xXOU0eVDl2fHyoj0dV1nQn0l1EEKDH9cOs8z2bCA4w/n7EcleleT7aJTcV6jCmO8CO57r7fU/NJ6c8NM9WwMI8zstNVEuThtf0UcFVHiLKslx6uBcnkOHy2zLC4i+XyXOA/ez91G/M+W6f01br6VRU+/qWTIr1b7HsuXNnq2sBkpmnsA6EjYtGV6zrI6yxKyk3Ddqpbu447FTtDN0zrTE3B8L54PhXyB9aqTr3C52OtchdowMax3Uo2Q5370vt0vtCzojBTRwM9/eO0UGQRO5YHq1Nb2s9BlEHNRQ/oRtPKu/CiYBecIle1FAvZ8NUYkDy28ZHoEi/R9ZOGgvmju1FqX/M5P49uDWoPfJP6Js3uDX06qdeqZPaqzYPv73ztSe1eScFg9kCE4cMd+4WoYgTDQqPgExPNYqmSPLiKPn+LlnDT2V16zFKVDCBpzx+htzmWVhSXNTDJB9UHcmbYVqE8UFXwObMJvifnjDL9WOGaWeRsW4UEh0hHNvbvJm3/IKzF1WmWwsJMxer4kvnzWxBGmzkfzjIb/NDxCbcLuC6bujbJ41O0dVqhlY73zQoEjqHnsEQekqKzejcmAHEiEkHz7zsgatb0kH3pmoPgEk0St2AmKYip3MFk9V5Nm7q47sj8T8mIOTjTRt2LLBDp9UVFdI7Pa+p1ozeChH3WIQcar05/j8d2FhZqz1Q3kYMGQiHbLV2i1HEfw6qprmjfyGk+MI9Z3sjM2H+lg2a+q6V79RBx4qZeQi8xXOWnMsfu2tqxyqUuecL3+5ijd0F3Ff+14xx3RJSreZz2JOvYVjeyWLyCdnAp5AKRPLu/FWi9PgLhsQ9ja3bphs0nCimW6GkXEz6XFfbeFMTZxczcBwg4aQz7qDTLsv1s0VzZV+089PVDpMBF7LutaT32frEKnZSzEG40dq62Huqh8NyDBIXJv8tOa31DuRLhk7Byn+j9MByMC7Jd5EtzvXCksA0etm6TbcaQX2RzojFLZpiFebI8qMVyxaddkrvkzv4Pt7iFz9PXmP4AAAAASUVORK5CYII=);
+    background-image: none\9;
+  }
+  .container {
+    position: relative;
+    z-index: 2;
+  }
+}
+.jumbotron-icon:after { opacity: .1; }
diff --git a/static/fork-awesome/src/doc/assets/less/site/views.less b/static/fork-awesome/src/doc/assets/less/site/views.less
new file mode 100644
index 0000000..f0cd3c9
--- /dev/null
+++ b/static/fork-awesome/src/doc/assets/less/site/views.less
@@ -0,0 +1,50 @@
+// view-specific
+
+// reset background
+.v-get-started,
+.v-store,
+.v-accessibility {
+  background: @alert-well-bg; // resetting for depth
+}
+
+// get started
+.v-get-started {
+
+  .get-started-cdn {
+    background: @section-emphasized-bg;
+  }
+
+  .jumbotron {
+    border-bottom: none;
+  }
+
+  // sections
+  .get-started-cdn {
+    z-index: 2;
+    position: relative;
+    border-radius: @border-radius-base;
+    padding: @buffer-sm @buffer-xl @buffer-lg @buffer-xl;
+  }
+
+  .hr .hr-text {
+    background:  @alert-well-bg;
+    font-family: @font-family-serif;
+    font-size: (@font-size-large*1.5);
+  }
+}
+
+// accessibility
+.v-accessibility {
+
+  .accessibility-cdn {
+    background: @section-emphasized-bg;
+    border-radius: @border-radius-base;
+    padding: @buffer-lg;
+  }
+
+  .hr .hr-text {
+    background:  @alert-well-bg;
+    font-family: @font-family-serif;
+    font-size: (@font-size-large*1.5);
+  }
+}
-- 
cgit v1.2.3-54-g00ecf